.button{gap:var(--space-2);min-width:var(--tap-target);min-height:var(--tap-target);padding:var(--space-2) var(--space-4);font:inherit;font-weight:var(--font-weight-semibold);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:focus-visible{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--border-width-strong)}.button--primary{color:var(--color-on-primary);background:var(--color-primary)}.button--secondary{color:var(--color-text);border-color:var(--color-text);background:0 0}.field{gap:var(--space-1);margin-bottom:var(--space-4);display:grid}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.field__hint,.field__error{font-size:var(--font-size-sm);margin:0}.field__hint{color:var(--color-text-muted)}.field__error{font-weight:var(--font-weight-semibold);color:var(--color-danger)}.field input,.field select{width:100%;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--font-size-md);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border:var(--border-width-strong) solid var(--color-danger)}.icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none;width:24px;height:24px}.page{max-width:var(--content-max-width);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.page__bar{z-index:var(--z-sticky);gap:var(--space-2);min-height:60px;padding:max(var(--space-2), env(safe-area-inset-top)) var(--space-3) var(--space-2);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);align-items:center;display:flex;position:sticky;top:0}.page__back{min-width:var(--tap-target);min-height:var(--tap-target);color:var(--color-text);border-radius:var(--radius-full);place-items:center;display:inline-grid}.page__titles{min-width:0;padding-inline:var(--space-1);flex:1}.page__title{overflow-wrap:anywhere;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.page__subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.page__content{padding:var(--space-4);flex:1}.page__actions{gap:var(--space-3);padding:var(--space-3) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));background:var(--color-bg);display:grid;position:sticky;bottom:0}.stepper{gap:var(--space-1);margin-bottom:var(--space-4);display:grid}.stepper__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.stepper__control{gap:var(--space-2);padding:var(--space-1);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.stepper__button{min-width:var(--tap-target);min-height:var(--tap-target);color:var(--color-text);cursor:pointer;background:var(--color-surface-2);border-radius:var(--radius-sm);border:0;place-items:center;padding:0;display:grid}.stepper__button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.stepper__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.update-prompt{gap:var(--space-2);max-width:var(--content-max-width);padding:max(var(--space-2), env(safe-area-inset-top)) var(--space-4) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-2);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;align-items:center;margin:0 auto;display:flex}.update-prompt__message{font-weight:var(--font-weight-semibold);flex:12rem;margin:0}.pace-editor{display:grid}.pace-editor__intro{margin:0 0 var(--space-4);color:var(--color-text-muted)}.pace-editor__finish{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface-2);border-radius:var(--radius-md)}.pace-editor__finish-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin:0}.pace-editor__finish-window{margin:var(--space-1) 0 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.pace-editor__finish-note{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.elevation-profile{margin:0}.elevation-profile__chart{width:100%;height:80px;display:block}.elevation-profile__area{fill:var(--color-surface-2)}.elevation-profile__line{fill:none;stroke:var(--color-text);stroke-width:2px;vector-effect:non-scaling-stroke}.elevation-profile__scale{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);justify-content:space-between;display:flex}.route-editor{gap:var(--space-4);display:grid}.route-editor__heading{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin:0}.route-editor__note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.route-editor__error{padding:var(--space-3);font-weight:var(--font-weight-semibold);color:var(--color-danger);background:var(--color-surface-2);border-left:var(--border-width-strong) solid var(--color-danger);border-radius:var(--radius-sm);margin:0}.route-editor__actions{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.route-import{gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center;border:var(--border-width-strong) dashed var(--color-border-strong);border-radius:var(--radius-lg);justify-items:center;display:grid}.route-import__title{font-size:var(--font-size-lg);margin:0}.route-import__body{color:var(--color-text-muted);margin:0}.route-summary{gap:var(--space-5);flex-wrap:wrap;margin:0;display:flex}.route-summary__item dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.route-summary__item dd{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;margin:0}.file-button{position:relative}.file-button:focus-within{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--border-width-strong)}.file-button__input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.event-setup__title{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.event-setup{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.event-setup__step{color:var(--color-text);gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);align-items:center;text-decoration:none;display:flex}.event-setup__number{width:2.25rem;height:2.25rem;font-weight:var(--font-weight-bold);border:var(--border-width-strong) solid var(--color-border-strong);border-radius:var(--radius-full);flex:none;place-items:center;display:grid}.event-setup__number--done{color:var(--color-bg);background:var(--color-success);border-color:var(--color-success)}.event-setup__text{gap:var(--space-1);flex:1;display:grid}.event-setup__name{font-weight:var(--font-weight-bold)}.event-setup__status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.event-delete{margin-top:var(--space-6)}.event-delete .button{width:100%;color:var(--color-danger);border-color:var(--color-danger)}.event-delete__actions{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.event-section+.event-section{margin-top:var(--space-5)}.event-section__title{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.event-section__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.event-card{gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);align-items:center;text-decoration:none;display:flex}.event-card__text{gap:var(--space-1);flex:1;min-width:0;display:grid}.event-card__name{overflow-wrap:anywhere;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.event-card__when{font-size:var(--font-size-sm);color:var(--color-text-muted)}.empty-state{padding:var(--space-5) var(--space-4);text-align:center;background:var(--color-surface-2);border-radius:var(--radius-md)}.empty-state__title{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.empty-state__body{color:var(--color-text-muted);margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#fff;--color-surface:#fff;--color-surface-2:#f3f4f6;--color-text:#14171c;--color-text-muted:#4f5766;--color-border:#d9dde4;--color-border-strong:#8a93a3;--color-scrim:#14171c73;--color-primary:#14171c;--color-on-primary:#fff;--color-focus:#0b57d0;--color-danger:#b91c1c;--color-success:#15803d;--color-athlete:#e8470f;--color-on-athlete:#14171c;--color-athlete-text:#c2410c;--color-athlete-soft:#e8470f29;--color-you:#1a73e8;--color-you-text:#0b57d0;--color-you-soft:#1a73e82e;--map-land:#eef0eb;--map-road:#fff;--map-water:#cfe3f2;--map-park:#dcebd5;--map-route:#14171c;--map-route-casing:#fff;--map-marker:#fff;--font-sans:system-ui, -apple-system, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.15;--line-height-normal:1.45;--letter-spacing-caps:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-full:999px;--border-width:1px;--border-width-strong:2px;--tap-target:48px;--content-max-width:40rem;--shadow-1:0 1px 3px #14171c1f;--shadow-2:0 8px 24px #14171c2e;--z-sticky:10;--z-sheet:20;--z-toast:30;--duration-fast:.15s;--duration-normal:.25s;--easing-standard:cubic-bezier(.2, 0, 0, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0e1014;--color-surface:#1a1d23;--color-surface-2:#23272e;--color-text:#f2f4f7;--color-text-muted:#a9b1be;--color-border:#343a44;--color-border-strong:#5d6675;--color-scrim:#0009;--color-primary:#f2f4f7;--color-on-primary:#0e1014;--color-focus:#8ab4ff;--color-danger:#ff8a80;--color-success:#6fd99a;--color-athlete:#ff7a45;--color-on-athlete:#0e1014;--color-athlete-text:#ff8f61;--color-athlete-soft:#ff7a4533;--color-you:#6ea8ff;--color-you-text:#8ab4ff;--color-you-soft:#6ea8ff38;--map-land:#22262b;--map-road:#343a42;--map-water:#1d3346;--map-park:#243328;--map-route:#f2f4f7;--map-route-casing:#0e1014;--map-marker:#1a1d23;--shadow-1:0 1px 3px #00000080;--shadow-2:0 8px 24px #0009}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:100%;line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;margin:0}h1,h2,h3{line-height:var(--line-height-tight)}:focus-visible{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--border-width-strong)}
