:root{--gpx-lime:#99d413;--gpx-green:#137116;--gpx-violet:#7456a6;--gpx-anthracite:#2e2f33;--gpx-off-white:#f7f4ed;--gpx-sand:#e8e1d3;--gpx-white:#fffdf8;--gpx-green-dark:color-mix(in srgb, var(--gpx-green) 72%, var(--gpx-anthracite));--gpx-green-pressed:color-mix(in srgb, var(--gpx-green) 62%, var(--gpx-anthracite));--gpx-green-tint:color-mix(in srgb, var(--gpx-green) 14%, var(--gpx-off-white));--gpx-lime-tint:color-mix(in srgb, var(--gpx-lime) 22%, var(--gpx-off-white));--gpx-violet-text:color-mix(in srgb, var(--gpx-violet) 78%, var(--gpx-anthracite));--gpx-violet-tint:color-mix(in srgb, var(--gpx-violet) 16%, var(--gpx-off-white));--gpx-sand-light:color-mix(in srgb, var(--gpx-sand) 58%, var(--gpx-white));--gpx-surface-hover:var(--gpx-sand-light);--gpx-surface-selected:color-mix(in srgb, var(--gpx-green) 10%, var(--gpx-white));--gpx-near-black:var(--gpx-anthracite);--gpx-text-muted:#6e6a60;--gpx-text-inverse:var(--gpx-white);--gpx-on-primary:var(--gpx-white);--gpx-border:color-mix(in srgb, var(--gpx-sand) 78%, var(--gpx-anthracite));--gpx-border-interactive:var(--gpx-anthracite);--gpx-border-interactive-width:1.5px;--gpx-success:var(--gpx-green);--gpx-success-tint:var(--gpx-lime-tint);--gpx-danger:#c62828;--gpx-danger-tint:color-mix(in srgb, var(--gpx-danger) 14%, var(--gpx-white));--gpx-warning:color-mix(in srgb, var(--gpx-lime) 42%, var(--gpx-anthracite));--gpx-warning-text:color-mix(in srgb, var(--gpx-green) 48%, var(--gpx-anthracite));--gpx-info:var(--gpx-anthracite);--gpx-info-tint:var(--gpx-sand-light);--gpx-caution-bg:var(--gpx-sand);--gpx-caution-border:var(--gpx-anthracite);--brand-primary:var(--gpx-green);--brand-primary-hover:var(--gpx-green-dark);--brand-primary-pressed:var(--gpx-green-pressed);--brand-accent:var(--gpx-lime);--brand-violet:var(--gpx-violet);--bg-base:var(--gpx-off-white);--bg-sunken:var(--gpx-sand);--surface:var(--gpx-white);--surface-hover:var(--gpx-surface-hover);--surface-selected:var(--gpx-surface-selected);--text-strong:var(--gpx-near-black);--text-default:var(--gpx-anthracite);--text-muted:var(--gpx-text-muted);--text-inverse:var(--gpx-text-inverse);--border-default:var(--gpx-border);--border-interactive:var(--gpx-border-interactive);--border-focus:var(--gpx-green);--track-course:var(--gpx-green);--track-selected:var(--gpx-green);--track-other:var(--gpx-anthracite);--font-display:"Satoshi", "Avenir Next", "Segoe UI", sans-serif;--font-body:"Satoshi", "Avenir Next", "Segoe UI", sans-serif;--font-data:"JetBrains Mono", "Cascadia Mono", "SF Mono", Consolas, monospace;--font-note:Caveat, "Segoe Script", "Bradley Hand", cursive;--ui-h1-size:40px;--ui-h1-line:44px;--ui-h1-size-mobile:32px;--ui-h1-line-mobile:36px;--ui-h2-size:30px;--ui-h2-line:38px;--ui-h2-size-mobile:26px;--ui-h2-line-mobile:32px;--ui-h3-size:22px;--ui-h3-line:28px;--ui-h3-size-mobile:20px;--ui-h3-line-mobile:26px;--ui-body-size:16px;--ui-body-line:24px;--ui-small-size:14px;--ui-small-line:20px;--ui-label-size:13px;--ui-label-line:16px;--ui-caption-size:12px;--ui-caption-line:16px;--ui-metric-lg-size:44px;--ui-metric-lg-line:44px;--ui-metric-lg-size-mobile:34px;--ui-metric-lg-line-mobile:36px;--ui-metric-size:20px;--ui-metric-line:24px;--ui-metric-size-mobile:18px;--ui-metric-line-mobile:22px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--radius-card:20px;--radius-control:14px;--radius-panel:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--btn-h:44px;--btn-h-mobile:48px;--btn-label-size:16px;--btn-label-weight:700;--nav-h:64px;--header-height:64px;--content-max:1360px;--workspace-panel-min:300px;--workspace-panel-width:400px;--workspace-sheet-offset:0px;--workspace-sheet-peek:0px;--map-chrome-offset:3.25rem;--bug-fab-inset:.85rem;--profile-dupe:var(--gpx-green);--profile-target:var(--gpx-anthracite);--split-list:40%;--split-map:60%;--bp-lg:1200px;--bp-md:900px;--bp-sm:720px;--gpx-focus-width:3px;--gpx-focus-offset:3px;--gpx-focus-color:var(--gpx-green);--gpx-focus-ring:0 0 0 3px var(--gpx-off-white), 0 0 0 6px var(--gpx-green);--gpx-elev-0:none;--gpx-elev-1:0 4px 16px color-mix(in srgb, var(--gpx-anthracite) 8%, transparent);--gpx-elev-2:0 16px 40px color-mix(in srgb, var(--gpx-anthracite) 14%, transparent);--gpx-card-selected-border:var(--gpx-green);--gpx-card-selected-shadow:inset 0 0 0 1.5px var(--gpx-green), var(--gpx-elev-1);--duration-hover:var(--motion-fast);--duration-transition:var(--motion-normal);--easing:cubic-bezier(.2, .7, .3, 1);--brand:var(--gpx-green);--brand-dark:var(--gpx-green-dark);--bg:var(--gpx-off-white);--text:var(--gpx-anthracite);--border:var(--gpx-border);--danger:var(--gpx-danger);--shadow-active:var(--gpx-elev-1);--shadow:var(--gpx-elev-1);--surface-alt:var(--gpx-sand-light);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--motion-fast:.14s;--motion-normal:.2s;--motion-slow:.32s;--easing-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb, var(--gpx-off-white) 92%, transparent), color-mix(in srgb, var(--gpx-off-white) 92%, transparent)), url(/topographic-pattern.svg);background-repeat:repeat;background-size:1440px 960px;min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;appearance:none;background:0 0;border:0}input[type=checkbox],input[type=radio]{accent-color:var(--gpx-green)}#root{min-height:100svh}html:has(.app-shell:has(.workspace)){height:100%;max-height:100svh;overflow:hidden}html:has(.app-shell:has(.workspace)) body{height:100%;max-height:100svh;overflow:hidden}html:has(.app-shell:has(.workspace)) #root{height:100%;max-height:100svh;overflow:hidden}img{max-width:100%}h1,h2,h3{color:var(--gpx-near-black);margin:0}h1,h2{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.1}h1{font-size:var(--ui-h1-size);line-height:var(--ui-h1-line);text-transform:none}h2{font-size:var(--ui-h2-size);line-height:var(--ui-h2-line);font-weight:600}h3{font-size:var(--ui-h3-size);line-height:var(--ui-h3-line);font-weight:600}p{color:var(--text);margin:0}a{color:inherit;text-decoration:none}strong{color:var(--text)}:focus-visible{outline:var(--gpx-focus-width) solid var(--gpx-focus-color);outline-offset:var(--gpx-focus-offset)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=hidden]):not([type=image]):focus,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=hidden]):not([type=image]):focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline-offset:0;border-color:var(--gpx-green);box-shadow:none;outline:none}input[type=range]:focus-visible{outline:none}.skip-link{z-index:100;background:var(--gpx-green);color:var(--gpx-on-primary);border-radius:var(--radius-sm);padding:.55rem .9rem;font-weight:700;position:absolute;top:-6rem;left:.75rem}.skip-link:focus-visible{top:.75rem}.skip-link:focus:not(:focus-visible){top:-6rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-chrome-chip{background:color-mix(in srgb, var(--gpx-white) 92%, transparent);color:var(--gpx-anthracite);font-size:var(--ui-label-size);box-shadow:none;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:.55rem .75rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.map-chrome-chip svg{flex:none}.map-chrome-chip.is-accent{background:var(--gpx-green);color:var(--gpx-on-primary)}.map-chrome-chip.is-accent:hover{background:var(--gpx-green-dark);color:var(--gpx-on-primary)}.map-chrome-chip:not(.is-accent):hover{background:var(--gpx-white)}.container{width:min(100%, var(--content-max));margin:0 auto;padding:clamp(1.25rem,4vw,3.5rem)}.page-heading{max-width:820px;margin-bottom:clamp(1.75rem,4vw,3rem)}.page-heading p{max-width:620px;margin-top:1rem;font-size:1.06rem}.data-value{font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:0}.wizard-metric{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--ui-small-size);letter-spacing:0;color:var(--gpx-anthracite);font-weight:500;line-height:1.3}.eyebrow{color:var(--gpx-near-black);font-family:var(--font-data);font-size:var(--ui-caption-size);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem;font-weight:700;display:block}.btn{min-height:var(--btn-h);appearance:none;border-radius:var(--radius-full);padding:0 var(--space-5);font-weight:600;font-size:var(--btn-label-size,1rem);cursor:pointer;transition:transform var(--motion-fast) var(--easing), background-color var(--motion-fast) var(--easing), box-shadow var(--motion-fast) var(--easing), border-color var(--motion-fast) var(--easing);background:0 0;border:0;justify-content:center;align-items:center;gap:.55rem;display:inline-flex}a:hover,button:hover:not(:disabled),summary:hover,[role=button]:hover,[role=tab]:hover,[role=option]:hover,[role=menuitem]:hover,.btn:hover:not(:disabled){animation:gpx-wiggle .42s var(--easing)}.skip-link:hover,.skip-link:focus-visible{animation:none}.btn:active:not(:disabled){animation:none;transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--gpx-green);color:var(--gpx-on-primary);font-weight:var(--btn-label-weight,700)}.btn-primary:hover:not(:disabled){background:var(--gpx-green-dark);box-shadow:var(--shadow-active)}.btn-primary:active:not(:disabled){background:var(--gpx-green-pressed)}.btn-secondary{background:var(--gpx-white);color:var(--gpx-anthracite);border:var(--gpx-border-interactive-width) solid var(--gpx-border-interactive)}.btn-secondary:hover:not(:disabled){background:var(--gpx-surface-hover)}.btn-download{background:var(--gpx-white);color:var(--gpx-anthracite);border:var(--gpx-border-interactive-width) solid var(--gpx-border-interactive);font-weight:700}.btn-download:hover:not(:disabled){background:var(--gpx-surface-hover)}.btn-quiet{color:var(--gpx-green);background:0 0;font-weight:600}.btn-quiet:hover:not(:disabled){background:var(--gpx-surface-selected)}.btn-danger{background:var(--gpx-danger-tint);color:var(--gpx-danger);border:1.5px solid var(--gpx-danger);font-weight:700}.btn-danger:hover:not(:disabled){background:var(--gpx-danger);color:var(--gpx-on-primary)}.similarity-badge{border-radius:var(--radius-full);background:var(--gpx-green-tint);color:var(--gpx-green-dark);animation:gpx-rise var(--motion-normal) var(--easing-out);align-items:baseline;gap:.35rem;margin:0;padding:.22rem .6rem .24rem .65rem;line-height:1;display:inline-flex}.similarity-badge strong{color:var(--gpx-green-dark);font-size:1.2rem;font-weight:700}.similarity-badge span{letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:700}.btn-block{width:100%}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-5) clamp(1.25rem, 3vw, 2rem)}.field{flex-direction:column;gap:.45rem;min-width:0;max-width:100%;margin-bottom:1rem;display:flex}.field label{font-size:var(--ui-label-size);line-height:var(--ui-label-line);font-weight:500}.field input,.field select,.field textarea,.input{width:100%;min-width:0;max-width:100%;min-height:var(--btn-h);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--gpx-white);color:var(--text);transition:border-color var(--motion-fast) var(--easing), background-color var(--motion-fast) var(--easing);padding:.72rem 1rem}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.input:focus-visible{outline-offset:0;border-color:var(--gpx-green);box-shadow:none;outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true],.input[aria-invalid=true]{border-color:var(--gpx-danger);background:var(--gpx-danger-tint)}.alert{border-radius:var(--radius-control);margin:0 0 1.1rem;padding:.85rem 1rem;font-size:1rem}.alert-error{background:var(--gpx-danger-tint);color:var(--gpx-danger)}.field-error-note{color:var(--gpx-danger);margin:.35rem 0 .75rem;font-size:.92rem;font-weight:700;line-height:1.35}@media (width<=720px){:root{--header-height:56px;--btn-h:var(--btn-h-mobile);--ui-h1-size:var(--ui-h1-size-mobile);--ui-h1-line:var(--ui-h1-line-mobile);--ui-h2-size:var(--ui-h2-size-mobile);--ui-h2-line:var(--ui-h2-line-mobile);--ui-h3-size:var(--ui-h3-size-mobile);--ui-h3-line:var(--ui-h3-line-mobile)}.container{padding:1.25rem 1rem 2.5rem}}@keyframes gpx-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes gpx-spin{to{transform:rotate(360deg)}}@keyframes gpx-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.18)}}@keyframes gpx-marker-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes gpx-wiggle{0%,to{transform:translateY(-1px)rotate(0)}25%{transform:translateY(-2px)rotate(-1.1deg)}75%{transform:translateY(-1px)rotate(1.1deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.status-message{border-radius:var(--radius-control);flex-direction:column;gap:.35rem;padding:.9rem 1.05rem;font-size:1rem;display:flex}.status-message-error,.status-message-warning{margin:0 0 1rem}.status-message-level{font-family:var(--font-data);letter-spacing:.04em;text-transform:uppercase;font-size:1rem;font-weight:700}.status-message-title{color:var(--text-strong);margin:0;font-size:1.05rem;font-weight:700}.status-message-body{color:var(--text);margin:0}.status-message-error{background:var(--gpx-danger-tint);color:var(--gpx-danger)}.status-message-warning{background:var(--gpx-sand);color:var(--gpx-warning-text)}.status-message-info,.status-message-success{color:var(--gpx-anthracite);background:0 0;padding:0;font-weight:500;line-height:1.45}.status-message-info .status-message-title,.status-message-success .status-message-title{font-size:1rem;font-weight:700}.status-message-info .status-message-body,.status-message-success .status-message-body{color:inherit}.status-message-caution{background:var(--gpx-sand);color:var(--gpx-anthracite);border:1px solid var(--gpx-caution-border)}.status-with-action{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.status-with-action .status-message-error,.status-with-action .status-message-warning{width:100%;margin:0}.bug-report-dialog{background:var(--gpx-white);width:min(32rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow-active);border:0;border-radius:24px;padding:1.35rem 1.4rem 1.4rem}.bug-report-dialog::backdrop{background:#2e2f3373}.bug-report-dialog h2{text-transform:none;margin-bottom:.65rem;font-size:clamp(1.35rem,3vw,1.85rem)}.bug-report-note{font-size:var(--ui-small-size);color:var(--gpx-near-black);margin:0 0 1rem}.bug-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.4rem;display:flex}.bug-report-success{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.bug-report-success p{margin:0;font-weight:700}.bug-report-success .btn{text-decoration:none}@media (width<=520px){.bug-report-actions{flex-direction:column-reverse}.bug-report-actions .btn,.bug-report-success .btn{width:100%}}.in-app-notice{padding:.75rem clamp(1rem,3vw,2.6rem) 0}.site-footer{width:100%;color:var(--gpx-text-muted);font-family:var(--font-data);letter-spacing:.02em;text-align:center;background:0 0;flex-direction:column;align-items:center;gap:.75rem;padding:1.15rem clamp(1rem,3vw,2.6rem);font-size:.78rem;font-weight:500;display:flex}.site-footer-nav{flex-wrap:wrap;justify-content:center;gap:.85rem 1.35rem;width:100%;display:flex}.site-footer-social{justify-content:center;gap:.7rem;display:flex}.site-footer a{color:var(--gpx-text-muted);font:inherit;letter-spacing:inherit;cursor:pointer;transition:color var(--duration-hover) var(--easing);background:0 0;border:0;padding:0}.site-footer a:hover{color:var(--gpx-anthracite);text-decoration:underline}.site-footer-social a{width:2.25rem;height:2.25rem;color:var(--gpx-anthracite);justify-content:center;align-items:center;padding:0;line-height:0;text-decoration:none;display:inline-flex}.site-footer-social svg{flex:none;width:18px;height:18px;display:block;overflow:visible}.site-footer-social a:hover{color:var(--gpx-near-black)}@media (width<=720px){.site-footer{padding:1.05rem 1rem 1.35rem}.site-footer-nav{flex-direction:column;align-items:center;gap:.55rem}}.public-shell{flex-direction:column;min-height:100svh;display:flex;position:relative}.public-shell:has(.welcome):before{content:"";left:0;right:0;top:var(--header-height);z-index:0;pointer-events:none;opacity:.22;background-image:url(/topographic-pattern.svg);background-repeat:repeat;background-size:1440px 960px;position:absolute;bottom:0}.public-shell:has(.welcome)>.public-header{z-index:30}:is(.public-shell:has(.welcome)>.public-shell-body,.public-shell:has(.welcome)>.site-footer){z-index:1;position:relative}.public-header{height:var(--header-height);min-height:var(--header-height);background:var(--gpx-off-white);z-index:30;box-shadow:none;border-bottom:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2.6rem);display:flex;position:sticky;top:0}.public-header .brand-link{box-shadow:none;background:0 0;border-radius:0;flex:none;margin:0;padding:0}.public-header .brand-link img{width:auto;height:36px;display:block}.public-header-cta{flex:none;gap:.3rem;padding:0 .95rem 0 1.05rem}.public-shell-body{flex:1}.public-shell .site-footer{margin-top:auto}@media (width<=720px){.public-header .brand-link img{height:32px}.public-header .public-header-cta{height:36px;min-height:36px;font-size:var(--ui-small-size);padding:0 .8rem;font-weight:700}}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{min-height:var(--header-height);background:var(--gpx-off-white);z-index:30;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.65rem 1rem;padding:.7rem clamp(1rem,3vw,2.6rem);display:flex;position:sticky;top:0;overflow:visible}.brand-link{flex:none}.brand-link img{width:auto;height:36px;display:block}.header-tools{flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;display:flex}.credits-indicator{position:relative}.credits-pill{border-radius:var(--radius-full);background:var(--gpx-sand-light);color:var(--gpx-anthracite);min-height:42px;font-family:var(--font-body);font-size:var(--ui-small-size);letter-spacing:0;text-transform:none;cursor:pointer;transition:background-color var(--duration-hover) var(--easing), color var(--duration-hover) var(--easing);border:0;padding:.45rem .95rem;font-weight:700}.credits-pill:hover{background:var(--gpx-green-tint);color:var(--gpx-green-dark);animation:gpx-wiggle .42s var(--easing)}.credits-tip{z-index:50;border:1px solid var(--gpx-border);border-radius:var(--radius-card);background:var(--gpx-off-white);width:min(18.5rem,100vw - 2rem);box-shadow:var(--gpx-elev-1);color:var(--gpx-anthracite);font-family:var(--font-body);font-size:var(--ui-small-size);letter-spacing:0;text-transform:none;padding:.75rem .9rem;font-weight:500;line-height:1.35;position:absolute;top:calc(100% + .45rem);right:0}.credits-tip p{margin:0}.credits-tip p+p{color:var(--gpx-text-muted);margin-top:.4rem;font-weight:500}.header-logout{border-radius:var(--radius-full);cursor:pointer;width:42px;min-height:42px;color:var(--gpx-anthracite);transition:color var(--duration-hover) var(--easing);background:0 0;border:0;place-items:center;padding:0;display:grid}.header-logout:hover{color:var(--gpx-green)}.header-logout:disabled{opacity:.55;cursor:wait}.bug-report-header-btn{min-height:42px;color:var(--gpx-anthracite);font-size:var(--ui-small-size);cursor:pointer;white-space:nowrap;transition:color var(--duration-hover) var(--easing);background:0 0;border:0;align-items:center;gap:.35rem;padding:0 .15rem;font-weight:700;display:none}.bug-report-header-btn:hover{color:var(--gpx-green)}.app-main{flex:1;width:100%}.app-main-flush{flex-direction:column;min-height:0;display:flex;overflow:hidden}.app-main-flush>:last-child{flex:1;min-height:0}.storage-notice,.offline-notice,.in-app-notice{padding:.75rem clamp(1rem,3vw,2.6rem) 0}.legal-notices{max-width:760px;padding-top:.75rem;padding-bottom:2.5rem}.legal-notices h1{font-size:clamp(1.8rem,4.5vw,3.2rem)}.legal-notices h2{font-family:var(--font-body);text-transform:none;scroll-margin-top:calc(var(--header-height) + .75rem);margin:1.5rem 0 .4rem;font-size:1.02rem;font-weight:700;line-height:1.3}.legal-notices p{max-width:62ch;margin:0 0 .75rem}.legal-notices .page-heading{margin-bottom:.35rem}.legal-notices .page-heading p{margin-top:1.15rem;margin-bottom:1.35rem}.legal-notices a{color:var(--gpx-green);font-weight:700;text-decoration:underline}.bug-report-fab{z-index:35;right:var(--bug-fab-inset);left:auto;bottom:calc(var(--bug-fab-inset) + env(safe-area-inset-bottom,0px));position:fixed}.app-shell:has(.workspace){height:100%;max-height:100svh;overflow:hidden}.app-shell:has(.workspace) .app-main{min-height:0;overflow:hidden}.app-shell:has(.workspace) .site-footer{display:none}.app-shell:has(.workspace) .bug-report-fab{bottom:calc(var(--map-chrome-offset) + env(safe-area-inset-bottom,0px))}@media (width<=720px){.brand-link img{height:32px}.credits-tip{top:calc(var(--header-height) + .35rem);left:max(.75rem, env(safe-area-inset-left,0px));right:max(.75rem, env(safe-area-inset-right,0px));width:auto;max-width:none;position:fixed}.header-tools{gap:.45rem}.credits-pill{padding:.45rem .7rem}}@media (width<=900px){.app-shell:has(.workspace) .bug-report-fab{display:none}.app-shell:has(.workspace) .bug-report-header-btn{justify-content:center;width:42px;padding:0;display:inline-flex}.bug-report-header-btn span{display:none}}.loading-spinner{color:var(--gpx-anthracite)}.loading-spinner-icon{animation:1.8s linear infinite gpx-spin;display:block}.loading-spinner.is-screen{z-index:20;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.loading-spinner.is-panel{flex:1;place-items:center;width:100%;min-height:10rem;display:grid}.loading-spinner.is-inline{place-items:center;display:inline-grid}.waitlist-form{text-align:left;flex-direction:column;gap:.15rem;width:100%;max-width:32rem;display:flex}.waitlist-form.is-success,.waitlist-form.is-success .status-message{text-align:center;align-items:center}.waitlist-input-shell{background:var(--gpx-white);border:1px solid var(--gpx-border);border-radius:var(--radius-full);width:100%;transition:border-color var(--motion-fast) var(--easing), background-color var(--motion-fast) var(--easing);align-items:center;display:flex;position:relative}.waitlist-input-shell.is-invalid{border-color:var(--gpx-danger);background:var(--gpx-danger-tint)}.waitlist-input-shell input{border-radius:var(--radius-full);width:100%;min-height:3rem;color:var(--text);background:0 0;border:0;padding:.7rem 3.15rem .7rem 1.15rem}.waitlist-input-shell:focus-within{border-color:var(--gpx-green)}.waitlist-input-shell input:focus,.waitlist-input-shell input:focus-visible{box-shadow:none;outline:none}.waitlist-send{background:var(--gpx-green);width:2.4rem;height:2.4rem;color:var(--gpx-on-primary);cursor:pointer;transition:background-color var(--duration-hover) var(--easing), transform var(--duration-hover) var(--easing);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.35rem;translate:0 -50%}.waitlist-send:hover:not(:disabled){background:var(--gpx-green-dark)}.waitlist-send:active:not(:disabled){background:var(--gpx-green-pressed);transform:scale(.96)}.waitlist-send:disabled{opacity:.55;cursor:not-allowed}.waitlist-consent{border-radius:var(--radius-control);cursor:pointer;transition:border-color var(--motion-fast) var(--easing), background-color var(--motion-fast) var(--easing);border:1px solid #0000;justify-content:center;align-items:center;gap:.65rem;margin:.85rem 0 .35rem;padding:.5rem 1.15rem;font-size:.9rem;line-height:1.4;display:flex}.waitlist-consent span{white-space:nowrap}@media (width<=640px){.waitlist-consent span{white-space:normal}}.waitlist-consent.is-invalid{border-color:var(--gpx-danger);background:var(--gpx-danger-tint)}.waitlist-consent input{flex:none;width:1.15rem;height:1.15rem;margin-top:.15rem}@media (prefers-reduced-motion:reduce){.waitlist-send{transition:none}.waitlist-send:active:not(:disabled){transform:none}}.welcome{--welcome-gutter:clamp(1rem, 4vw, 3.5rem);--welcome-max:72rem;--welcome-col-gap:1.75rem;--welcome-step-gap:.4rem;--welcome-section-y:clamp(3.75rem, 7vw, 5.5rem);width:100%;margin:0;padding:0;position:relative;overflow-x:clip}.welcome-hero{isolation:isolate;flex-direction:column;align-items:stretch;min-height:0;display:flex;position:relative}.welcome-hero-stage{z-index:0;background:0 0;width:100%;height:clamp(32.5rem,58svh,38rem);position:relative;overflow:visible}.welcome-hero-headline{z-index:3;width:100%;padding:clamp(2.5rem, 8vh, 5.5rem) var(--welcome-gutter);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.05rem;margin:0;display:flex;position:absolute;inset:0}.welcome-hero h1{z-index:1;max-width:18ch;color:var(--gpx-anthracite);margin:0;font-size:clamp(1.85rem,3.6vw,3rem);line-height:1.08;position:relative}.welcome-hero-cta{z-index:1;flex:none;padding:0 1.15rem;position:relative}.welcome-scribble{font-family:var(--font-note);color:var(--gpx-violet-text);margin:0;font-size:clamp(1.2rem,2vw,1.62rem);font-weight:600;line-height:1.18}.welcome-scribble span{white-space:nowrap;display:block}.welcome-note-group{position:relative;overflow:visible}.welcome-hand{pointer-events:none;color:var(--gpx-violet-text)}.welcome-hero-identity{z-index:4;width:max-content;max-width:min(22rem, calc(100% - 2 * var(--welcome-gutter)));transform-origin:50%;text-align:left;pointer-events:none;margin:0;position:absolute;top:calc(60% + 6px);left:72%;transform:translate(-50%,-50%)rotate(-2.8deg)}.welcome-hero-identity-mark{width:6.4rem;margin:.02rem 0 0 .15rem;display:block}.welcome-how{width:100%;padding:var(--welcome-section-y) var(--welcome-gutter);text-align:center;margin:0 auto;position:relative}.welcome-how-label,.welcome-how h2,.welcome-how-grid{z-index:1;width:min(100%, var(--welcome-max));margin-inline:auto;position:relative}.welcome-how-label{color:var(--gpx-anthracite);letter-spacing:.16em;text-transform:uppercase;margin-block:0 .4rem;font-size:.78rem;font-weight:700}.welcome-how h2{margin-block:0 1rem;font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.15}.welcome-how-grid{gap:var(--welcome-col-gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-block:0;padding:0;list-style:none;display:grid}.welcome-how-item{text-align:center;align-items:center;gap:var(--welcome-step-gap);width:100%;min-width:0;animation:welcome-rise .32s var(--easing);flex-direction:column;display:flex}.welcome-how-badge{background:var(--gpx-green-tint);width:1.7rem;height:1.7rem;color:var(--gpx-anthracite);border-radius:50%;flex:none;place-items:center;margin:0;font-size:.8rem;font-weight:700;display:grid}.welcome-feature-art{object-fit:contain;background:0 0;flex:none;width:10rem;height:10rem;margin:0;display:block}.welcome-feature-art[data-illustration=gpx-import]{width:8.55rem;height:8.55rem}.welcome-how-item h3,.welcome-how-item p{text-align:center;width:100%;max-width:none;margin:0}.welcome-how-item h3{font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.25}.welcome-how-item p{color:var(--gpx-anthracite);font-size:.95rem;line-height:1.35}.welcome-how-item .welcome-note{color:var(--gpx-violet-text);font-size:clamp(1.15rem,1.7vw,1.38rem)}.welcome-beta{min-height:0;padding:calc(var(--welcome-section-y) / 2) var(--welcome-gutter) var(--welcome-section-y);flex-direction:column;align-items:center;display:flex;position:relative}.welcome-beta-copy{text-align:center;flex-direction:column;align-items:center;width:min(32rem,100%);max-width:32rem;margin-inline:auto;padding:0;display:flex}.welcome-beta-copy h2{font-size:clamp(1.75rem,3vw,2.35rem)}.welcome-beta-lead{max-width:36ch;color:var(--gpx-anthracite);margin:.5rem auto 1rem;font-size:1rem;line-height:1.4}.welcome-beta .waitlist-form{align-self:center;width:min(28rem,100%);max-width:28rem;margin-inline:auto}@media (width<=900px){.welcome-hero-stage{flex-direction:column;justify-content:center;align-items:center;gap:1.15rem;height:auto;min-height:clamp(18.75rem,56vw,24rem);padding:2.1rem 1rem 1.6rem;display:flex}.welcome-hero-headline{padding:0;position:relative;inset:auto}.welcome-hero-cta{display:none}.welcome-hero h1{font-size:clamp(1.45rem,6.4vw,2.05rem)}.welcome-hero-identity{max-width:calc(100% - 2 * var(--welcome-gutter));transform-origin:50%;position:relative;top:auto;left:auto;transform:rotate(-2.2deg)}.welcome-hero-identity .welcome-scribble{font-size:1.02rem}.welcome-how-grid{gap:var(--welcome-col-gap);grid-template-columns:1fr}.welcome-feature-art{width:9rem;height:9rem}}@media (width<=520px){.welcome-scribble{font-size:1.16rem}}@keyframes welcome-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.welcome-how-item{animation:none}}.account{place-items:start center;padding:1.25rem clamp(1.25rem,4vw,2rem) 2rem;display:grid}.account-card{width:min(100%,28rem);box-shadow:var(--shadow-active);flex-direction:column;gap:.7rem;display:flex}.account-card h1{font-size:clamp(1.8rem,4vw,2.4rem)}.account-access-note{max-width:42ch;color:var(--gpx-text-muted);font-size:var(--ui-small-size);margin:0}.account-card form{margin-top:.2rem}.account-terms{border-radius:var(--radius-control);transition:border-color var(--motion-fast) var(--easing), background-color var(--motion-fast) var(--easing);border:1px solid #0000;align-items:flex-start;gap:.65rem;margin:.35rem 0 .85rem;padding:.5rem 1rem;font-size:.9rem;line-height:1.4;display:flex}.account-terms.is-invalid{border-color:var(--gpx-danger);background:var(--gpx-danger-tint)}.account-terms input{flex:none;width:1.1rem;height:1.1rem;margin-top:.15rem}.account-terms a{color:inherit;font-weight:inherit;text-underline-offset:.12em;text-decoration:underline}@media (width>=761px){.account{place-items:center;min-height:0;padding-top:2.5rem}}.job-workspace .workspace-panel-body{gap:.55rem}.job-workspace h1{margin:0}.wait-indicator{color:var(--gpx-anthracite);flex:none;animation:1.8s linear infinite gpx-spin}.step-mark .wait-indicator{color:var(--gpx-anthracite)}.wait-target{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--gpx-anthracite);margin:0;font-size:1rem;font-weight:500;line-height:1.35;overflow:hidden}.wait-leave{color:var(--gpx-text-muted);margin:0;font-size:.95rem;line-height:1.45}.wait-long{color:var(--gpx-anthracite);font-size:var(--ui-small-size);margin:0;font-weight:500;line-height:1.35}.wait-elapsed{color:var(--gpx-text-muted);font-size:var(--ui-small-size);margin:0;font-weight:500;line-height:1.35}.analysis-steps{flex-direction:column;gap:.15rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.analysis-steps li{min-height:36px;color:var(--gpx-text-muted);transition:color var(--motion-normal) var(--easing);align-items:center;gap:.7rem;font-size:.95rem;font-weight:500;line-height:1.25;display:flex}.analysis-steps li.is-done{color:var(--gpx-text-muted);font-weight:500}.analysis-steps li.is-active{color:var(--gpx-near-black);font-weight:700}.analysis-steps li.is-next{color:var(--gpx-text-muted);font-weight:500}.step-mark{width:18px;height:18px;color:var(--gpx-green);flex:0 0 18px;place-items:center;display:grid}.step-mark.is-done svg{animation:gpx-rise var(--motion-normal) var(--easing-out)}.step-mark.is-next:after{content:"";width:8px;height:8px;box-shadow:inset 0 0 0 1.5px var(--gpx-border);border-radius:50%}.wait-abandon{animation:gpx-rise var(--motion-normal) var(--easing-out);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.15rem;display:flex}.wait-abandon p{flex:100%;margin:0;font-size:.92rem;font-weight:500}.job-workspace .btn-danger,.job-workspace .wait-stop-btn{align-self:flex-start}.job-error-timeout{border-left:4px solid var(--gpx-warning)}.job-error{grid-column:1/-1;max-width:620px;margin:0}.job-error h2{margin:0 0 .45rem}.job-error-body{color:var(--gpx-anthracite);margin:0 0 .85rem;line-height:1.45}.job-error .status-with-action .status-message,.job-error .status-with-action .btn{margin:0}@media (width<=900px){.job-workspace .workspace-panel-body{gap:.65rem}.job-workspace h1{font-size:inherit}.analysis-steps li{min-height:32px}}@media (width<=480px){.job-error .btn,.job-error .status-with-action .btn{white-space:normal;text-align:center;max-width:100%;height:auto;line-height:1.25}}.cookie-banner{z-index:80;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));border:1px solid var(--gpx-border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--gpx-white) 92%, transparent);max-width:42rem;box-shadow:var(--gpx-elev-2);flex-wrap:wrap;align-items:flex-end;gap:.85rem 1.1rem;margin-inline:auto;padding:1rem 1.1rem;display:flex;position:fixed;left:1rem;overflow:hidden}.cookie-banner:before{content:"";z-index:0;pointer-events:none;opacity:.22;background-image:url(/topographic-pattern.svg);background-repeat:repeat;background-size:1440px 960px;position:absolute;inset:0}.cookie-banner-copy{z-index:1;flex:16rem;min-width:0;position:relative}.cookie-banner-title{margin:0 0 .35rem;font-weight:700}.cookie-banner p{font-size:var(--ui-small-size);margin:0;line-height:1.4}.cookie-banner-detail{margin-top:.55rem}.cookie-banner-privacy{color:inherit;text-underline-offset:.14em;font-weight:600;text-decoration:underline}.cookie-banner-actions{z-index:1;flex-wrap:wrap;gap:.5rem;display:flex;position:relative}.cookie-choice-actions{flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;display:flex}@media (width>=720px){.cookie-banner{width:min(42rem,100vw - 2rem);left:auto}}
