html[data-tool-theme=dark]{background:var(--color-bg);color:var(--color-text);color-scheme:dark;font-family:var(--font-ui);--ink: var(--color-text);--muted: var(--color-text-muted);--surface: var(--color-surface);--line: var(--color-border);--accent: var(--color-action);--accent-dark: var(--color-action-hover)}html[data-tool-theme=dark] body{margin:0;background:var(--color-bg);color:var(--color-text)}html[data-tool-theme=dark] .app{width:100%;padding:0;background:var(--color-bg);color:var(--color-text)}html[data-tool-theme=dark] .app-header{height:64px;margin:0;padding:8px 28px;border:0;border-bottom:1px solid var(--color-surface-raised);border-radius:0;background:var(--color-bg)}.tool-bootstrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100dvh - 128px);padding:48px 16px;box-sizing:border-box}.tool-bootstrap-card{box-sizing:border-box;width:min(756px,100%);padding:28px;border-radius:16px;background:var(--color-surface-subtle);text-align:center}.tool-bootstrap-card h1{margin:0;font:700 clamp(24px,2.3vw,32px)/1.25 var(--font-heading);letter-spacing:-.04em}.tool-bootstrap-card p{margin:12px 0 0;color:var(--color-text-muted);font:400 14px/1.6 var(--font-ui)}.tool-bootstrap .related-tools{box-sizing:border-box;width:min(756px,100%);margin:20px 0 0;padding:0;border:0;text-align:center}.tool-bootstrap .related-tools strong{display:block;margin-bottom:8px;color:var(--color-text-muted);font:600 12px/1.5 var(--font-ui)}.tool-bootstrap .related-tools>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.tool-bootstrap .related-tools a{display:inline-flex;align-items:center;min-height:44px;padding:4px 12px;border-radius:12px;background:var(--color-surface-raised);color:var(--color-text);font:500 12px/1.5 var(--font-ui);text-decoration:none}.tool-bootstrap a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media(max-width:767px){html[data-tool-theme=dark] .app-header{padding-inline:12px;gap:8px}}.app-footer{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:0;flex-shrink:0;min-width:0;min-height:37px;padding:2px 24px;text-align:center;border-top:1px solid #222a3d;background:var(--color-surface-lowest);color:var(--color-text-muted);font:400 12px/1.5 var(--font-ui)}.app-footer__content{display:contents}.app-footer__content>span{min-width:0;overflow-wrap:anywhere}.app-footer a{display:inline-flex;align-items:center;min-height:32px;color:inherit;text-underline-offset:3px}.app-footer a:hover{color:var(--color-action)}.app-footer a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}@media(max-width:767px){.app-footer{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-bottom:max(2px,env(safe-area-inset-bottom))}}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html:has(.gpx-landing),body:has(.gpx-landing){min-width:0;background:var(--color-bg)}.app:has(.gpx-landing){width:100%;padding:0;color:var(--color-text);background:var(--color-bg);--ink: var(--color-text);--muted: var(--color-text-muted);--surface: var(--color-surface);--line: #283044;--accent: var(--color-action);--accent-dark: var(--color-action-hover)}.app:has(.gpx-landing) .app-header{height:64px;min-height:64px;margin:0;padding:8px 24px;border:0;border-bottom:1px solid #222a3d;border-radius:0;background:var(--color-bg);gap:24px}.app:has(.gpx-landing) .app-header__brand{gap:10px;font-size:20px;letter-spacing:-.04em}.app:has(.gpx-landing) .tool-navigation{flex:0 1 auto;gap:4px;margin-left:auto}.app:has(.gpx-landing) .tool-navigation>a{min-height:36px;padding:6px 12px;border-radius:8px;background:transparent;font:500 14px/20px var(--font-ui)}.app:has(.gpx-landing) .tool-navigation a[aria-current=page]{color:var(--color-action);background:var(--color-brand-container);box-shadow:none}.app:has(.gpx-landing) .tool-navigation__dropdown .ui-button{min-height:36px;padding:6px 12px;border:0;background:transparent;font-weight:500}.app:has(.gpx-landing) .tool-navigation__menu{z-index:20}.landing-workspace{max-width:none;padding:0;margin:0;border:0;background:transparent}.gpx-landing{font:400 14px/20px var(--font-ui);color:var(--color-text)}.gpx-landing *,.gpx-landing *:before,.gpx-landing *:after{box-sizing:border-box}.gpx-landing :focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.gpx-landing h1,.gpx-landing h2,.gpx-landing h3,.gpx-landing p{margin:0}.gpx-landing h1,.gpx-landing h2,.gpx-landing h3{color:var(--color-text);font-family:var(--font-heading)}.landing-content{width:100%;max-width:1152px;margin:0 auto;padding:32px 24px}.landing-hero{max-width:672px;margin:0 auto;text-align:center}.gpx-landing .landing-hero h1{font-size:40px;line-height:48px;font-weight:700;letter-spacing:-.03em}.landing-hero>p{margin:4px auto 0;color:var(--color-text-muted);font-size:16px;line-height:24px}.gpx-landing .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;padding:10px 20px;font:500 16px/24px var(--font-ui);text-decoration:none;box-shadow:none}.gpx-landing .ui-button svg{width:20px;height:20px;flex-shrink:0}.gpx-landing .ui-button--secondary{background:var(--color-surface-raised);color:var(--color-text);border:1px solid transparent}.gpx-landing .ui-button--primary{background:var(--color-success);color:var(--color-surface-lowest);border:1px solid transparent;font-weight:700}.gpx-landing .ui-button:hover:not(:disabled),.gpx-landing a.ui-button:hover:not([aria-disabled=true]){filter:brightness(1.09)}.gpx-landing .ui-button:disabled,.gpx-landing .ui-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.landing-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:4px;padding:4px 8px;background:var(--color-surface-raised);color:var(--color-text-muted);font:400 10px/14px var(--font-data);text-transform:uppercase;letter-spacing:.05em}.landing-chip i{width:6px;height:6px;border-radius:50%;background:var(--color-success)}.landing-privacy{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--color-text-muted);font:400 10px/14px var(--font-data)}.landing-privacy svg{width:16px;height:16px;flex-shrink:0;color:var(--color-action)}.gpx-landing .file-drop-surface{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;padding:0;border:0;border-radius:8px;background:var(--color-surface-lowest)}.gpx-landing .file-drop-surface .drop-zone__label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:0;padding:0;gap:0;cursor:pointer;text-align:center;border:0;border-radius:8px;background:transparent}.gpx-landing .drop-zone__label>strong{color:var(--color-text);font:600 16px/22px var(--font-heading)}.gpx-landing .drop-zone__label>span:not(.drop-zone__icon){margin-top:4px;color:var(--color-text-muted);font:400 12px/16px var(--font-ui)}.gpx-landing .file-drop-surface .drop-zone__icon{display:grid;place-items:center;width:56px;height:56px;margin:0 0 12px;border-radius:50%;background:var(--color-surface-raised);color:var(--color-action)}.gpx-landing .drop-zone__icon svg{width:28px;height:28px}.gpx-landing .landing-extension{color:var(--color-action);font-family:var(--font-data)}.gpx-landing .drop-zone--action-inside{padding:32px;outline:1px solid transparent}.gpx-landing .drop-zone--action-inside>.ui-button{margin-top:20px;padding:10px 32px}.gpx-landing .file-drop-surface:focus-within{outline:2px solid var(--color-action);outline-offset:3px}.gpx-landing .file-drop-surface.is-dragging{outline:2px solid var(--color-action);outline-offset:3px}.gpx-landing .file-drop-surface.is-dragging .drop-zone__label{background:var(--color-surface-raised)}.gpx-landing--viewer .landing-content{max-width:1024px}.gpx-landing--viewer .landing-hero{margin-bottom:20px}.gpx-landing--viewer .landing-hero h1{margin-top:12px}.gpx-landing--viewer .ui-button--primary{background:var(--color-action);color:var(--color-on-action);font-weight:500}.landing-upload-card{max-width:672px;width:100%;margin:0 auto;padding:20px;border-radius:12px;background:var(--color-surface-subtle);box-shadow:0 8px 20px #0000001a}.landing-upload-card__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.landing-upload-card__heading h2{display:flex;align-items:center;gap:8px;font-size:16px;line-height:22px;font-weight:600}.landing-upload-card__heading h2>span{display:grid;place-items:center;width:28px;height:28px;border-radius:4px;background:#4edea31a;color:var(--color-success)}.landing-upload-card__heading svg{width:18px;height:18px}.landing-upload-card>.landing-privacy{padding-top:12px}.landing-upload-card .ui-status{margin-top:12px}.landing-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:20px}.landing-secondary svg{color:var(--color-action)}.landing-secondary>button>svg:first-child{color:var(--color-selection)}.landing-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:896px;margin:32px auto 0}.landing-features article{padding:12px;border-radius:12px;background:var(--color-surface-subtle)}.landing-features article>span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:8px;border-radius:8px;color:var(--color-action);background:var(--color-surface-raised)}.landing-features svg{width:20px;height:20px}.landing-features article:nth-child(2)>span{color:var(--color-selection)}.landing-features h2{font-size:16px;line-height:22px;font-weight:500}.landing-features p{margin-top:4px;color:var(--color-text-muted);font-size:12px;line-height:16px}.landing-utilities{margin-top:32px}.landing-utilities h2{margin-bottom:8px;font:400 10px/14px var(--font-data);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.landing-utilities nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.landing-utilities a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px;padding:12px 8px;border-radius:8px;background:var(--color-surface-subtle);color:var(--color-text);text-decoration:none;font-size:16px;line-height:24px}.landing-utilities a:hover{background:var(--color-surface-raised)}.landing-utilities svg{width:22px;height:22px;color:var(--color-action)}.landing-faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}.landing-faq article{min-width:0;padding:20px;border-radius:12px;background:var(--color-surface);border:1px solid #40494433}.landing-faq h3{display:flex;align-items:center;gap:6px;font-size:16px;line-height:22px;font-weight:600}.landing-faq h3 svg{width:18px;height:18px;flex-shrink:0;color:var(--color-action)}.landing-faq article:last-child h3 svg{color:var(--color-selection)}.landing-faq p{margin-top:8px;color:var(--color-text-muted);font-size:12px;line-height:16px}.landing-faq a{color:var(--color-action)}.gpx-landing--viewer .landing-utilities,.gpx-landing--viewer .landing-faq,.gpx-landing--viewer .landing-more{max-width:896px;margin-inline:auto}.gpx-landing--viewer .landing-utilities h2{text-align:center}.gpx-landing--viewer .landing-utilities a{border-radius:12px}.gpx-landing--viewer .landing-utilities svg{color:var(--color-text-muted)}.gpx-landing--viewer .landing-faq article{padding:12px;border:0;background:var(--color-surface-subtle)}.landing-more{margin-top:16px;color:var(--color-text-muted)}.landing-more>summary{display:list-item;width:fit-content;padding:12px 0;min-height:44px;cursor:pointer;font-size:12px}.landing-more .related-tools a{color:var(--color-text);background:var(--color-surface-raised)}.gpx-landing--editor .landing-hero h1{margin-top:12px}.landing-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}.landing-entry{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-width:0;padding:32px;border:1px solid #4049444d;border-radius:12px;background:var(--color-surface-subtle);box-shadow:0 20px 25px -5px #0000001a}.landing-entry:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#4edea3aa,transparent)}.landing-entry--edit:before{background:linear-gradient(90deg,#ffb690aa,transparent)}.landing-entry__body{display:flex;flex-direction:column;gap:12px}.landing-entry__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-entry__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#4edea31a;color:var(--color-success)}.landing-entry--edit .landing-entry__icon{color:var(--color-selection);background:#ffb6901a}.landing-entry .landing-chip{background:var(--color-surface-lowest)}.landing-entry h2{font-size:28px;line-height:36px;font-weight:600;letter-spacing:-.02em}.landing-entry p{margin-top:4px;color:var(--color-text-muted);font-size:14px;line-height:20px}.landing-entry>.ui-button,.landing-entry .drop-zone>.ui-button{width:100%;min-height:50px;margin-top:20px}.landing-entry--create>.ui-button{box-shadow:0 4px 14px #4edea31a}.landing-track-art{position:relative;height:176px;overflow:hidden;background:var(--color-surface-lowest);border:1px solid #40494433;border-radius:8px}.landing-track-art>svg{width:100%;height:100%}.landing-track-art>span{position:absolute;padding:4px 6px;border-radius:3px;font:400 9px/12px var(--font-data)}.landing-track-art__node{top:8px;right:8px;background:#222a3de6;color:var(--color-text-muted)}.landing-track-art__start{left:12px;bottom:12px;color:var(--color-success);background:#06402a99}.landing-track-art__distance{right:12px;bottom:12px;color:var(--color-text-muted);background:#222a3dcc}.gpx-landing .drop-zone--action-after{margin-top:12px;background:transparent}.gpx-landing .drop-zone--action-after>.drop-zone__label{height:176px;border:2px dashed #40494466;background:var(--color-surface-lowest);padding:24px}.gpx-landing .drop-zone--action-after .drop-zone__icon{width:40px;height:40px;margin-bottom:4px;background:none;color:#89938d}.gpx-landing .drop-zone--action-after .drop-zone__icon svg{width:40px;height:40px}.gpx-landing .drop-zone--action-after .landing-extension{color:inherit;font-family:inherit}.gpx-landing .drop-zone--action-after>.ui-button{border-color:#4049444d}.landing-support{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:32px;padding:12px;border-radius:12px;background:var(--color-surface-lowest)}.landing-support>.ui-button{padding:0;min-height:36px;font-size:14px;line-height:20px;color:var(--color-action);text-decoration:underline;text-underline-offset:3px;background:transparent;border:0}.landing-support .landing-privacy{padding:8px 12px;border-radius:8px;background:var(--color-surface-subtle)}.gpx-landing--editor .landing-support .landing-privacy{font:400 12px/16px var(--font-ui)}.landing-capabilities{display:flex;gap:12px;color:var(--color-text-muted);font:400 10px/14px var(--font-data)}.landing-capabilities>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.landing-capabilities>span{padding:4px 8px;border:1px solid #40494433;border-radius:3px;background:var(--color-surface-raised)}.gpx-landing--editor .landing-faq p{line-height:20px}.gpx-landing--editor .landing-utilities a{border:1px solid #40494433}.landing-capabilities svg{width:12px;height:12px;color:var(--color-action)}@media(max-width:1023px){.landing-entry{padding:24px}.landing-support{justify-content:center}.landing-entry h2{font-size:24px}}@media(max-width:767px){.landing-content{padding:24px 20px}.landing-entry-grid{grid-template-columns:1fr;margin-top:24px}.gpx-landing--editor .landing-hero h1{margin-top:0}.gpx-landing .landing-hero h1{font-size:32px;line-height:40px}.landing-hero>p{font-size:14px;line-height:22px}.landing-desktop-break{display:none}.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-utilities nav{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-faq{grid-template-columns:1fr}.app:has(.gpx-landing) .app-header{padding-inline:16px;gap:12px}.app:has(.gpx-landing) .tool-navigation{gap:4px}.landing-support{flex-direction:column;gap:8px}}@media(max-width:420px){.app:has(.gpx-landing) .app-header__brand{font-size:17px;gap:6px}.app:has(.gpx-landing) .tool-navigation>a,.app:has(.gpx-landing) .tool-navigation__dropdown .ui-button{padding-inline:8px;font-size:12px}.landing-content{padding-inline:16px}.landing-upload-card{padding:16px}.gpx-landing .drop-zone--action-inside{padding:24px 12px}.landing-upload-card__heading .landing-chip{font-size:8px;padding-inline:4px}.landing-secondary{flex-direction:column}.landing-secondary>.ui-button{width:100%}.landing-entry{padding:20px}.landing-entry h2{font-size:24px;line-height:32px}.landing-capabilities{flex-wrap:wrap;justify-content:center;gap:8px}.landing-support .landing-privacy{padding:8px}}.workspace-profile-panel{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;background:var(--color-surface-lowest)}.workspace-profile-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 44px;height:44px;padding:0 12px;box-sizing:border-box;background:var(--color-surface-subtle);color:var(--color-text);font:500 12px/1.3 var(--font-ui)}.workspace-profile-panel__title{display:grid;min-width:0;gap:2px}.workspace-profile-panel__title strong,.workspace-profile-panel__title>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace-profile-panel__title>span{color:var(--color-text-muted);font-size:10px}.workspace-profile-panel__actions,.workspace-profile-panel__navigation{display:flex;flex-shrink:0;align-items:center;gap:6px}.workspace-profile-panel__navigation[hidden],.workspace-profile-panel__separator[hidden],.workspace-profile-panel__body[hidden]{display:none}.workspace-profile-panel__separator{align-self:center;flex:0 0 1px;height:24px;margin-inline:6px;background:var(--color-border)}.workspace-profile-panel .workspace-profile-panel__header button{min-width:44px;min-height:44px;height:44px;padding:6px}.workspace-profile-panel .workspace-profile-panel__header .workspace-profile-panel__toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 12px;white-space:nowrap;font:500 12px/1.4 var(--font-ui)}.workspace-profile-panel__toggle svg{display:block;flex:0 0 18px}.workspace-profile-panel__toggle>span{color:inherit;line-height:1}.workspace-profile-panel__body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.workspace-profile-panel__body>.split-profile-gallery,.workspace-profile-panel__body>.merge-profile-gallery{flex:1}@media(min-width:1024px){.ws-map-workspace:has(.workspace-profile-panel[data-collapsed=true]){--workspace-profile-size: 44px}.workspace-profile-panel[data-collapsed=true]{height:44px}.workspace-profile-panel[data-collapsed=true] .workspace-profile-panel__title>span{display:none}.viewer-page .workspace-profile-panel,.editor-page--loaded .workspace-profile-panel{height:auto}}.workspace-sheet,.workspace-sheet__body{display:contents}.workspace-sheet [hidden],.workspace-sheet__header[hidden]{display:none!important}@media(max-width:1023px){.ws-map-workspace .workspace-sheet{position:absolute;z-index:5;inset:auto 0 var(--workspace-sheet-bottom, 0px);display:flex;flex-direction:column;height:var(--workspace-sheet-full-height);min-height:0;min-width:0;overflow:hidden;transform:translate3d(0,calc(var(--workspace-sheet-full-height) - var(--workspace-sheet-height)),0);border:1px solid #35425a;border-bottom:0;border-radius:20px 20px 0 0;background:var(--color-surface-lowest);box-shadow:0 -8px 32px #02061755}.ws-map-workspace .workspace-sheet[data-dragging=true],.workspace-sheet[data-moving=true]{will-change:transform}.ws-map-workspace .workspace-sheet__header{position:relative;flex:0 0 auto;height:var(--workspace-sheet-header-height)}.ws-map-workspace .workspace-sheet__drag-surface{position:relative;height:80px;padding:28px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.ws-map-workspace .workspace-sheet[data-dragging=true] .workspace-sheet__drag-surface{cursor:grabbing}.ws-map-workspace .workspace-sheet__handle{position:absolute;top:0;left:calc(50% - 32px);display:grid;place-items:center;width:64px;height:28px;border-radius:12px;touch-action:none;cursor:inherit}.ws-map-workspace .workspace-sheet__handle>span{width:40px;height:4px;border-radius:99px;background:#94a3b8}.ws-map-workspace .workspace-sheet__handle:focus-visible{outline-offset:-3px}.ws-map-workspace .workspace-sheet__summary{display:flex;flex-direction:column;justify-content:center;min-width:0;height:40px}.ws-map-workspace .workspace-sheet__summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px/1.4 var(--font-ui)}.ws-map-workspace .workspace-sheet__summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font:12px/1.5 var(--font-data)}.ws-map-workspace .workspace-sheet__navigation{display:flex;gap:8px;height:48px;padding:0 max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left));opacity:var(--workspace-sheet-expansion)}.ws-map-workspace .workspace-sheet__navigation[aria-hidden=true]{visibility:hidden}.ws-map-workspace .workspace-sheet__navigation>div{display:flex;width:100%;gap:8px}.ws-map-workspace .workspace-sheet__navigation .ui-button{flex:1;min-height:44px}.ws-map-workspace .workspace-sheet__header .ui-button[aria-pressed=true]{color:var(--color-action);background:#193b35;border-color:#95d3ba99}.ws-map-workspace .workspace-sheet__body{display:flex;flex:0 0 auto;height:max(0px,calc(var(--workspace-sheet-height) - var(--workspace-sheet-header-height)));min-height:0;min-width:0;overflow:hidden}.ws-map-workspace .workspace-sheet__body>div{flex:1;position:static;min-width:0;min-height:0;max-height:none;overflow:auto;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#43506a #060e20}.ws-map-workspace .workspace-sheet__body>.ws-map-workspace__sidebar[data-scroll-top=true]{touch-action:pan-down pinch-zoom}.ws-map-workspace .workspace-sheet .ws-sidebar{height:auto;max-height:none;padding:12px 16px 24px;border:0;overflow:visible}.ws-map-workspace .workspace-sheet .ws-sidebar__content{display:grid;max-height:none;overflow:visible;gap:16px}.ws-map-workspace .workspace-sheet .activity-profile{height:100%;min-height:196px;padding:12px;border:0;touch-action:pan-y}.ws-map-workspace .workspace-sheet .section-heading{display:contents}.ws-map-workspace .workspace-sheet .section-heading>div{grid-column:1;grid-row:1}.ws-map-workspace .workspace-sheet .section-heading output{grid-column:1 / -1;grid-row:4}.ws-map-workspace .workspace-sheet .profile-selector-row{grid-column:2;grid-row:1}.ws-map-workspace .workspace-sheet .profile-mode span{min-height:44px;min-width:44px;padding-inline:6px;font-size:12px}.ws-map-workspace .workspace-sheet__unavailable{padding:16px;color:var(--color-text-muted)}}@media(min-width:600px)and (max-width:1023px){.ws-map-workspace .workspace-sheet{width:min(680px,calc(100% - 32px));margin-inline:auto}}@media(min-width:600px)and (max-width:1023px)and (max-height:500px){.ws-map-workspace .workspace-sheet__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ws-map-workspace .workspace-sheet__drag-surface{position:static}.ws-map-workspace .workspace-sheet__navigation{height:80px;align-items:center;padding-top:28px;padding-bottom:8px}}@media(prefers-reduced-motion:reduce){.workspace-sheet{transition:none!important}}.elevation-panel{margin-top:18px;padding:22px 24px 14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.section-heading output{color:var(--accent-dark);font-weight:760}.elevation-chart{display:block;width:100%;height:auto;min-height:180px;margin-top:12px;overflow:visible;touch-action:none}.elevation-chart text{fill:var(--muted);font-size:12px}.chart-grid{stroke:#dfe7e0;stroke-width:1;stroke-dasharray:4 5}.chart-area{fill:url(#elevation-fill)}.chart-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-crosshair{stroke:#496057;stroke-width:1;stroke-dasharray:4 4}.chart-dot{fill:#17291f;stroke:#fff;stroke-width:3}@media(max-width:640px){.elevation-panel{padding:18px 12px 8px}.elevation-chart{min-height:160px}}.chart-line--speed{stroke:#157aa5}.chart-line--grade{stroke:#b04a35}.chart-singleton{fill:#fff;stroke:var(--accent);stroke-width:3;opacity:.82}.chart-singleton--speed{stroke:#157aa5}.chart-singleton--grade{stroke:#b04a35}.chart-zero{stroke:#68736c;stroke-width:1.5;stroke-dasharray:6 5}.profile-selector-row{display:grid;gap:7px;width:fit-content;margin-top:18px}.profile-selector-label{color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:.06em}.profile-mode{min-width:0;margin:0;padding:3px;border:1px solid #b7c6ba;border-radius:10px;background:#f5f8f5}.profile-mode-options{display:flex;align-items:center;gap:5px}.profile-mode label{position:relative}.profile-mode input{position:absolute;opacity:0}.profile-mode span{min-height:34px;display:grid;place-items:center;padding:0 12px;border-radius:7px;font-size:.78rem;font-weight:720;cursor:pointer}.profile-mode input:checked+span{color:#fff;background:var(--accent)}.profile-mode input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.profile-mode input:disabled+span{color:#879389;cursor:not-allowed;opacity:.58}.profile-limitation{max-width:620px;margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}@media(max-width:640px){.section-heading{align-items:flex-start;flex-direction:column}.profile-selector-row,.profile-mode,.profile-mode-options{width:100%}.profile-mode label{flex:1}.profile-mode span{padding-inline:5px}}.chart-removed-range{fill:#d28a8f;opacity:.12;pointer-events:none}.chart-selected-range{fill:#ffb690;opacity:.2;pointer-events:none}.chart-removed-line{fill:none;stroke:#e9a0a5;stroke-width:3;stroke-dasharray:6 6;opacity:.92;pointer-events:none}.chart-boundary{pointer-events:none}.chart-boundary line{stroke:#ffbd91;stroke-width:1.5;stroke-dasharray:4 3}.chart-boundary[data-active=true] line{stroke-width:3;stroke-dasharray:none}.profile-boundary-plot{position:relative}.profile-boundary-badges{position:absolute;inset:0;overflow:hidden;pointer-events:none}.profile-boundary-badge{position:absolute;display:grid;place-items:center;box-sizing:border-box;border:1px solid #ffbd91;border-radius:6px;background:#162233;color:#ffbd91;font:700 13px/1 var(--font-data)}.profile-boundary-badge[data-active=true]{background:#ffbd91;color:#111a29;border-color:#fff;box-shadow:0 0 0 2px #ffbd9180}.activity-profile[data-selection-kind] .chart-line{stroke:#62dfb4}.activity-profile[data-selection-kind=original] .chart-line{stroke:#90c7f1}.chart-part2-line{fill:none;stroke:#b9a3ec;stroke-width:3;stroke-linecap:round;pointer-events:none}.activity-profile[data-retained-preview=true] .chart-line{stroke:#b9a3ec}.chart-retained-sample{fill:#62dfb4;stroke:#081b29;stroke-width:1.5;pointer-events:none}.activity-profile[data-retained-preview=true] .chart-dot{fill:#62dfb4;stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 0 3px #62dfb480)}.chart-retained-sample[data-active=true]{stroke:#fff;stroke-width:2.5}html:has(.viewer-page),body:has(.viewer-page){min-width:0;background:var(--color-bg)}.app:has(.viewer-page){width:100%;padding:0;background:var(--color-bg);color:var(--color-text);--ink: var(--color-text);--muted: var(--color-text-muted);--surface: var(--color-surface);--line: #283044;--accent: var(--color-action);--accent-dark: var(--color-action-hover)}.app:has(.viewer-page) .app-header{height:64px;margin:0;padding:8px 28px;border:0;border-bottom:1px solid #222a3d;border-radius:0;background:var(--color-bg)}.app:has(.viewer-page) .app-header__brand{font-size:20px;letter-spacing:-.04em;gap:10px}.app:has(.viewer-page) .tool-navigation{gap:4px}.app:has(.viewer-page) .tool-navigation>a{min-height:36px;padding:6px 14px;font-size:14px}.app:has(.viewer-page) .tool-navigation a[aria-current=page]{box-shadow:none}.app:has(.viewer-page) .tool-navigation__dropdown>button{min-height:36px;border-color:transparent;background:var(--color-surface);font-weight:500}.viewer-page{font-family:var(--font-ui)}.viewer-page :focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.viewer-page .tool-workspace{max-width:none}.viewer-page .ws-map-workspace{grid-template-columns:clamp(340px,26.5vw,424px) minmax(0,1fr);grid-template-areas:"sidebar map" "sidebar profile" "status status" "actions actions";grid-template-rows:minmax(0,1fr) auto auto auto;gap:0;padding:0;border-radius:0;border-bottom:1px solid #222a3d}.viewer-page .ws-map-workspace>div{min-width:0;min-height:0}.viewer-page .ws-map-workspace__sidebar,.viewer-page .ws-map-workspace__map{overflow:hidden}.viewer-page .ws-sidebar{height:100%;max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;border:0;border-right:1px solid #222a3d;border-radius:0;padding:24px 18px;background:var(--color-surface-lowest);scrollbar-width:thin;scrollbar-color:#283044 transparent}.viewer-page .ws-sidebar__content{gap:20px}.viewer-document{margin:0;padding:0 0 16px;border-bottom:1px solid #222a3d;background:transparent;min-width:0}.viewer-document .loaded-title{margin:24px 0 8px;overflow-wrap:anywhere;color:var(--color-text);font:700 22px/1.35 var(--font-heading);letter-spacing:-.02em}.viewer-page .eyebrow{color:var(--color-action);font:600 12px/1.5 var(--font-ui);letter-spacing:.01em}.viewer-document__status{display:flex;align-items:center;gap:10px}.viewer-document__status:before{content:"";width:10px;height:10px;border-radius:50%;background:#2dd4a0;box-shadow:0 0 0 1px #ffffff18}.viewer-document .file-name{margin:0 0 8px;color:var(--color-text-muted);font:400 12px/1.5 var(--font-data);overflow-wrap:anywhere}.viewer-document .document-structure{margin:0;color:var(--color-text-muted);font:400 12px/1.5 var(--font-ui)}.viewer-metadata{margin-top:12px;color:var(--color-text-muted);font-size:12px}.viewer-metadata summary{min-height:36px;cursor:pointer;padding-block:8px}.viewer-metadata p{overflow-wrap:anywhere}.viewer-page .activity-selector{margin:0;padding:0;border:0}.viewer-page .activity-selector label,.viewer-page .visibility-controls legend{color:var(--color-text-muted);font-size:12px}.viewer-page .activity-selector select{appearance:none;-webkit-appearance:none;min-width:0;max-width:100%;min-height:var(--control-height);padding:var(--space-2) 40px var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background-color:var(--color-surface-lowest);color:var(--color-text);color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23bfc9c3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-size:16px;background-repeat:no-repeat;font:500 13px/1.45 var(--font-ui);text-overflow:ellipsis}.viewer-page .activity-selector select:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.viewer-page .activity-selector select:disabled{opacity:.5;cursor:not-allowed}.viewer-page .activity-selector option{background:var(--color-surface-lowest);color:var(--color-text)}.viewer-page .visibility-controls{margin:0;border-color:#283044;background:var(--color-surface-subtle)}.viewer-page .visibility-controls label{min-height:36px}.viewer-page .visibility-controls input{accent-color:var(--color-action)}.viewer-page .metric-group{margin-top:24px}.viewer-page .metric-group:first-child{margin-top:0}.viewer-page .metric-group h3{margin:0 0 10px;color:var(--color-action);font:650 14px/1.45 var(--font-heading);letter-spacing:0;text-transform:none;border-top:1px solid #283044;padding-top:12px}.viewer-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.viewer-page .stats-card{display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;padding:12px;border:1px solid #ffffff12;border-radius:16px;background:#101829;box-shadow:none}.viewer-page .stats-card dt{color:var(--color-text-muted);font:500 13px/1.45 var(--font-ui)}.viewer-page .stats-card dd{margin:0;color:var(--color-text);text-align:left;font:600 17px/1.4 var(--font-heading);letter-spacing:normal;word-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.viewer-page .stats-card--wide{grid-column:1 / -1}.viewer-page .viewer-featured-stats .stats-card{display:flex;flex-direction:column;justify-content:space-between;min-height:80px;padding:12px}.viewer-page .viewer-featured-stats dt{font-size:13px}.viewer-page .viewer-featured-stats dd{font-size:17px;font-weight:700}.viewer-page .viewer-featured-stats [data-metric="Minimum / maximum"] dd{font-size:16px}.viewer-page .viewer-featured-stats [data-metric="Moving time"] dd{font-size:17px;white-space:nowrap}.viewer-featured-stats [data-metric="Elevation gain"] dd{color:#2dd4a0}.viewer-featured-stats [data-metric="Elevation loss"] dd{color:#facc15}.viewer-featured-stats [data-metric="Minimum / maximum"] dd{color:#ff9d4a}.viewer-page .analysis-limitations{margin-top:20px;padding:12px;border:1px solid #283044;border-radius:10px;background:var(--color-surface-subtle)}.viewer-page .analysis-limitations p{color:var(--color-text-muted);font:400 12px/1.6 var(--font-ui)}.viewer-page .ws-map-workspace__toolbar{grid-area:map;align-self:start;z-index:3;pointer-events:none}.viewer-page .ui-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:12px;padding:20px;border:0;border-radius:0;background:none;pointer-events:none}.viewer-page .ui-toolbar>.ui-button{grid-column:1;grid-row:1}.viewer-page .ui-toolbar>.track-color-control{grid-column:2;grid-row:1;justify-self:end}.viewer-page .ui-toolbar>.gradient-legend{grid-column:2;grid-row:2;justify-self:end;width:220px}.viewer-page .ui-toolbar>:not(input){pointer-events:auto;box-shadow:0 4px 20px #02061720}.viewer-page .ui-toolbar>.ui-button{min-height:44px;border:1px solid #45516a;border-radius:999px;padding:8px 16px;background:#060e20ed;color:var(--color-text);font-size:14px;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.viewer-page .ui-toolbar>.ui-button:before{content:"+";font-size:21px;line-height:1;color:var(--color-action)}.viewer-page .track-color-control{flex:0 1 auto;position:relative;min-width:0;margin:0;padding:4px 6px 4px 94px;border:1px solid #45516a;border-radius:14px;background:#060e20ed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.viewer-page .track-color-control legend{position:absolute;top:18px;left:12px;margin:0;color:var(--color-text-muted);font:600 13px/1 var(--font-ui);letter-spacing:0;text-transform:none}.viewer-page .track-color-options{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%;padding:0;border:0;background:none}.viewer-page .track-color-options span{min-height:40px;padding:0 10px;color:var(--color-text-muted);white-space:nowrap;font:500 14px/1.4 var(--font-ui)}.viewer-page .track-color-options label.is-selected span{background:#193b35;color:#b0f0d6;box-shadow:inset 0 0 0 1px #95d3ba99}.viewer-page .track-color-options label:hover input:not(:disabled)+span{color:var(--color-action);background:var(--color-surface-raised)}.viewer-page .track-color-options input:disabled+span{color:#a3adbf;opacity:.7}.viewer-page .track-color-help{max-width:32em;margin:6px 0 4px;color:var(--color-text-muted);font-size:12px;line-height:1.5}.viewer-page .gradient-legend{flex:0 0 220px;margin:0 0 0 auto;padding:10px 12px;border:1px solid #45516a;background:#060e20ed;color:var(--color-text);border-radius:14px;font-size:12px}.viewer-page .gradient-legend__bar{height:6px}.viewer-page .gradient-legend__hints{color:var(--color-text-muted)}.viewer-page .map-shell:not(:fullscreen):not(.map-shell--fullscreen-fallback),.viewer-page .map-loading{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.viewer-page .map-shell:not(:fullscreen):not(.map-shell--fullscreen-fallback) .map{height:100%;min-height:0;border-radius:0}.viewer-page .map-loading{display:grid;place-content:center;gap:12px;padding:24px;background:var(--color-surface-lowest);color:var(--color-text-muted);text-align:center}.viewer-page .map-fullscreen-control{top:auto;bottom:48px;left:auto;right:var(--map-control-inset);background:#060e20ed;color:var(--color-action);border-color:#ffffff20}.viewer-page .maplibregl-ctrl-top-right{inset:auto auto 36px 16px}.viewer-page .maplibregl-ctrl-group{background:#060e20ed;border:1px solid #ffffff16;border-radius:12px;overflow:hidden}.viewer-page .maplibregl-ctrl-group button{width:40px;height:40px;border-color:#ffffff12}.viewer-page .maplibregl-ctrl-icon{filter:invert(1)}.viewer-page .maplibregl-ctrl-group button:hover{background-color:#222a3d}.viewer-page .map-fullscreen-legend,.viewer-page .maplibregl-popup-content{background:var(--color-surface);color:var(--color-text)}.viewer-page .maplibregl-popup-close-button{color:var(--color-text);min-width:32px;min-height:32px}.viewer-page .activity-profile{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:8px 12px;height:clamp(180px,20dvh,220px);min-height:0;margin:0;padding:10px 16px 12px;border:0;border-top:1px solid #222a3d;border-radius:0;box-shadow:none;background:var(--color-surface-lowest)}.viewer-page .section-heading{align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:12px;min-width:0}.viewer-page .section-heading h2{font:650 15px/1.4 var(--font-ui)}.viewer-page .section-heading .eyebrow{display:none}.viewer-page .section-heading output{color:var(--color-selection);font:500 12px/1.5 var(--font-data);overflow-wrap:anywhere}.viewer-page .profile-selector-row{display:flex;align-items:center;margin:0}.viewer-page .profile-selector-label{display:none}.viewer-page .profile-mode{background:var(--color-surface-subtle);border-color:#283044}.viewer-page .profile-mode-options{gap:2px}.viewer-page .profile-mode span{min-height:36px;color:var(--color-text-muted);font:500 13px/1.4 var(--font-ui)}.viewer-page .profile-mode input:checked+span{background:var(--color-surface-raised);color:var(--color-action);box-shadow:inset 0 0 0 1px #95d3ba66}.viewer-page .profile-mode input:disabled+span{color:var(--color-text-muted);opacity:.7}.viewer-page .profile-limitation{grid-column:1 / -1;margin:0;color:var(--color-text-muted);font-size:12px}.viewer-page .elevation-chart{grid-column:1 / -1;grid-row:2;width:100%;height:100%;min-height:0;max-height:none;margin:0}.viewer-page .profile-plot{position:relative;grid-column:1 / -1;grid-row:2;min-width:0;min-height:0}.viewer-page .profile-plot .elevation-chart text{visibility:hidden}.profile-plot__labels{position:absolute;inset:0;pointer-events:none;color:var(--color-text-muted);font:500 12px/1.3 var(--font-data)}.profile-plot__labels span{position:absolute;white-space:nowrap}.profile-plot__maximum,.profile-plot__minimum{right:87.3%;transform:translateY(-50%)}.profile-plot__maximum{top:12.15%}.profile-plot__minimum{top:82.85%}.profile-plot__start,.profile-plot__distance{bottom:0}.profile-plot__start{left:13.75%}.profile-plot__distance{right:6.6%}.viewer-page .elevation-chart text{fill:var(--color-text-muted);font:400 19px var(--font-data)}.viewer-page .chart-grid{stroke:#283044}.viewer-page .chart-line{stroke:var(--color-action);stroke-width:3;vector-effect:non-scaling-stroke}.viewer-page .chart-line--speed,.viewer-page .chart-singleton--speed{stroke:#7dd3fc}.viewer-page .chart-line--grade,.viewer-page .chart-singleton--grade{stroke:var(--color-selection)}.viewer-page .chart-crosshair{stroke:var(--color-selection);vector-effect:non-scaling-stroke;stroke-width:1.5}.viewer-page .chart-dot{fill:var(--color-selection);stroke:var(--color-surface-lowest)}.viewer-page .chart-zero{stroke:var(--color-text-muted)}.viewer-page .ws-map-workspace__status:not([hidden]){padding:12px}@media(min-width:768px)and (max-width:1100px){.viewer-page .ws-map-workspace{grid-template-columns:300px minmax(0,1fr)}.viewer-page .ui-toolbar{padding:12px}.viewer-page .ui-toolbar>.track-color-control{grid-column:1 / -1;grid-row:2}.viewer-page .ui-toolbar>.gradient-legend{grid-column:1 / -1;grid-row:3}.viewer-page .track-color-control{margin-left:auto}.viewer-page .track-color-options span{padding-inline:6px}.viewer-page .viewer-featured-stats .stats-card{padding:12px}.viewer-page .viewer-featured-stats dt{font-size:13px}}@media(max-width:767px){.app:has(.viewer-page) .app-header{padding-inline:12px;gap:8px}.app:has(.viewer-page) .app-header__brand{font-size:17px;gap:6px}.app:has(.viewer-page) .tool-navigation>a{padding-inline:8px;font-size:12px}.app:has(.viewer-page) .tool-navigation__dropdown>button{padding-inline:10px;font-size:12px}.viewer-page .ui-toolbar{display:flex;padding:12px;gap:10px;background:var(--color-surface-lowest)}.viewer-page .track-color-control{margin-left:auto}.viewer-page .track-color-options span{min-height:40px;padding-inline:10px;font-size:12px}.viewer-page .gradient-legend{flex-basis:100%;border-radius:14px;font-size:12px}.viewer-page .section-heading{flex-direction:row;align-items:center}.viewer-page .section-heading h2{font-size:14px}.viewer-page .section-heading output{font-size:12px}.viewer-page .profile-selector-row,.viewer-page .profile-mode{width:auto}.viewer-page .profile-mode span{padding-inline:8px;font-size:12px}.viewer-page .elevation-chart text{font-size:24px}.viewer-page .viewer-featured-stats dd{font-size:17px}.viewer-page.viewer-page--empty .drop-zone__label{min-height:260px;padding:24px 12px}.viewer-page.viewer-page--empty .drop-zone__label strong{font-size:17px}}@media(max-width:380px){.viewer-page .track-color-control{padding-left:86px}.viewer-page .track-color-control legend{left:8px;font-size:12px}.viewer-page .track-color-options span{padding-inline:6px;font-size:12px}.viewer-page .stats-card,.viewer-page .viewer-featured-stats .stats-card{padding:10px}.viewer-page .viewer-featured-stats dd{font-size:17px}.viewer-page .viewer-featured-stats [data-metric="Minimum / maximum"]{grid-column:1 / -1}}@media(min-width:768px)and (min-height:601px){.viewer-page:not(.viewer-page--empty){display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.viewer-page:not(.viewer-page--empty) .tool-workspace{width:100%;min-height:0}.viewer-page:not(.viewer-page--empty) .ws-map-workspace{height:100%}.viewer-page .ws-sidebar{padding:16px}.viewer-page .ws-sidebar__content{gap:14px}.viewer-document .loaded-title{margin:10px 0 6px;font-size:20px}.viewer-document .file-name{margin-bottom:6px}.viewer-page .stats-grid{gap:8px}.viewer-page .stats-card{padding:10px;border-radius:12px}.viewer-page .stats-card dd{margin-top:0;font-size:17px}.viewer-page .viewer-featured-stats .stats-card{min-height:76px;padding:12px}.viewer-page .viewer-featured-stats dt{font-size:13px}.viewer-page .viewer-featured-stats dd{font-size:17px}.viewer-page .viewer-featured-stats [data-metric="Minimum / maximum"] dd{font-size:16px}.viewer-page .viewer-featured-stats [data-metric="Moving time"] dd{font-size:17px}.viewer-page .metric-group{margin-top:16px}.viewer-page .metric-group h3{margin-bottom:6px;border-top:1px solid #283044;padding-top:12px}.viewer-page .activity-profile{height:clamp(180px,25dvh,200px)}.viewer-page .ui-toolbar{padding:12px;gap:8px}}.viewer-page .ws-sidebar,.viewer-page .ws-sidebar__content{scrollbar-width:thin;scrollbar-color:#43506a #060e20}.viewer-page .ws-sidebar::-webkit-scrollbar,.viewer-page .ws-sidebar__content::-webkit-scrollbar{width:6px}.viewer-page .ws-sidebar::-webkit-scrollbar-track,.viewer-page .ws-sidebar__content::-webkit-scrollbar-track{background:#060e20}.viewer-page .ws-sidebar::-webkit-scrollbar-thumb,.viewer-page .ws-sidebar__content::-webkit-scrollbar-thumb{background:#43506a;border:1px solid #060e20;border-radius:999px}.viewer-page .track-color-options input:focus-visible+span,.viewer-page .profile-mode input:focus-visible+span{outline:2px solid #b0f0d6;outline-offset:-2px}.viewer-page .gradient-legend__labels,.viewer-page .gradient-legend__hints{font-size:12px}@media(max-width:767px){.viewer-page .track-color-options span,.viewer-page .profile-mode span{min-height:44px;min-width:44px}.viewer-page .track-color-control{padding-left:86px}.viewer-page .track-color-control legend{font-size:12px}.viewer-page .track-color-options span{padding-inline:6px;font-size:12px}.viewer-page .profile-mode span{padding-inline:6px}}@media(min-width:768px)and (max-width:1100px){.viewer-page .viewer-featured-stats [data-metric="Minimum / maximum"]{grid-column:1 / -1}}@media(max-width:1100px){.viewer-page .activity-profile{grid-template-rows:auto minmax(0,1fr) auto auto}.viewer-page .activity-profile .section-heading{display:contents}.viewer-page .activity-profile .section-heading>div{grid-column:1;grid-row:1;align-self:center}.viewer-page .activity-profile .section-heading output{grid-column:1 / -1;grid-row:4}.viewer-page .activity-profile .profile-selector-row{grid-column:2;grid-row:1}}.viewer-page .ws-sidebar,.viewer-page .ws-sidebar__content{overflow-x:hidden}.viewer-page:not(.viewer-page--empty){display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.viewer-page:not(.viewer-page--empty) .tool-workspace{width:100%;height:100%;min-height:0}.viewer-page:not(.viewer-page--empty) .ws-map-workspace{height:100%;min-height:0;overflow:hidden}.viewer-page .ws-map-workspace__inspector,.viewer-color-panel{display:contents}.viewer-color-toggle{display:none}.viewer-page .ui-toolbar .track-color-control{grid-column:2;grid-row:1;justify-self:end}.viewer-page .ui-toolbar .gradient-legend{grid-column:2;grid-row:2;justify-self:end;width:220px}@media(min-width:768px)and (max-width:1100px){.viewer-page .ui-toolbar .track-color-control{grid-column:1 / -1;grid-row:2}.viewer-page .ui-toolbar .gradient-legend{grid-column:1 / -1;grid-row:3}}@media(max-width:1023px){.app:has(.viewer-page:not(.viewer-page--empty)) .app-header{height:calc(56px + env(safe-area-inset-top));padding:max(6px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left))}.viewer-page:not(.viewer-page--empty) .ws-map-workspace{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"map";grid-template-rows:minmax(0,1fr);border:0;--workspace-sheet-height: 100px;--workspace-sheet-full-height: calc(100% - 144px) ;--workspace-sheet-expansion: 0;--workspace-sheet-header-height: 128px}.viewer-page .ws-map-workspace__map{grid-area:map;min-height:0}.viewer-page .ws-map-workspace__toolbar{grid-area:map;z-index:4;position:relative;height:100%;pointer-events:none}.viewer-page .ws-map-workspace>.ws-map-workspace__profile{display:none}.viewer-page .ws-map-workspace__status:not([hidden]){position:absolute;top:112px;left:12px;right:12px;z-index:6}.viewer-page .map-shell:not(:fullscreen):not(.map-shell--fullscreen-fallback),.viewer-page .map-loading{height:100%;min-height:0}.viewer-page .ui-toolbar{display:flex;flex-wrap:wrap;align-items:start;gap:8px;padding:12px 72px 0 12px;background:none;pointer-events:none}.viewer-page .ui-toolbar>.ui-button{min-height:44px;padding:8px 10px;font-size:12px}.viewer-page .ui-toolbar>.viewer-color-toggle{display:block;min-height:44px;padding:8px 10px;border:1px solid #45516a;border-radius:14px;background:#060e20ed;color:var(--color-text);font:600 12px var(--font-ui);cursor:pointer}.viewer-page .viewer-color-panel{display:grid;gap:8px;position:absolute;top:116px;left:12px;right:12px;max-height:calc(100% - 232px);overflow-y:auto;padding:8px;border:1px solid #45516a;border-radius:14px;background:var(--color-surface-lowest)}.viewer-page .viewer-color-panel[data-open=false]{display:none}.viewer-page .viewer-color-panel .track-color-control{grid-column:1;grid-row:auto;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none}.viewer-page .viewer-color-panel .track-color-control legend{position:static;padding:4px 0}.viewer-page .viewer-color-panel .track-color-options{width:100%}.viewer-page .viewer-color-panel .track-color-options label{flex:1}.viewer-page .viewer-color-panel .track-color-options span{min-height:44px;padding-inline:6px;font-size:12px}.viewer-page .viewer-color-panel .gradient-legend{grid-column:1;grid-row:auto;width:100%;margin:0}.viewer-page .basemap-control{top:12px!important;right:12px!important}.viewer-page .basemap-control__trigger{width:44px;min-height:44px;padding:10px;justify-content:center}.viewer-page .basemap-control__trigger>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.viewer-page .basemap-control__trigger>svg:last-child{display:none}.viewer-page .basemap-control__menu{top:104px;right:0;max-height:max(44px,min(320px,calc(var(--workspace-sheet-full-height) - 160px)))}.viewer-page .maplibregl-ctrl-top-right{inset:64px auto auto 12px}.viewer-page .maplibregl-ctrl-top-right .maplibregl-ctrl{margin:0}.viewer-page .maplibregl-ctrl-group{display:flex}.viewer-page .maplibregl-ctrl-group button{width:44px;height:44px}.viewer-page .map-fullscreen-control{inset:64px auto auto 112px;width:44px;height:44px}.viewer-page .map-shell:not(:fullscreen):not(.map-shell--fullscreen-fallback) .maplibregl-ctrl-bottom-right{bottom:4px;transform:translate3d(0,calc(-1 * var(--workspace-sheet-height)),0)}.viewer-page .map-shell .maplibregl-ctrl-attrib{box-sizing:border-box;max-width:calc(100vw - 184px)}.viewer-page .maplibregl-ctrl-attrib-button{min-width:32px;min-height:32px}.viewer-page .map-shell:fullscreen .basemap-control__menu,.viewer-page .map-shell--fullscreen-fallback .basemap-control__menu{max-height:var(--basemap-menu-height)}}@media(min-width:600px)and (max-width:1023px)and (max-height:500px){.viewer-page:not(.viewer-page--empty) .ws-map-workspace{--workspace-sheet-header-height: 80px}}@media(prefers-reduced-motion:reduce){.viewer-page .viewer-sheet,.viewer-page .maplibregl-ctrl-bottom-right{transition:none!important}}.viewer-page .ws-map-workspace{grid-template-columns:340px minmax(0,1fr)}.viewer-page .ws-sidebar{padding:14px 14px 16px}.viewer-page .viewer-document{margin:0;padding:16px;background:var(--color-surface-subtle)}.viewer-page .viewer-statistics{min-width:0}.viewer-page .viewer-secondary-metrics{border-top:1px solid var(--color-border)}.viewer-page .viewer-secondary-metrics>summary{font-weight:600}.viewer-page .viewer-waypoints{border-top:1px solid var(--color-border)}.viewer-page .viewer-waypoints summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:var(--color-text-muted);font:600 12px/1.5 var(--font-ui)}.viewer-page .viewer-waypoints summary:before{content:"›";color:var(--color-action)}.viewer-page .viewer-waypoints[open] summary:before{content:"⌄"}.viewer-page .viewer-waypoints summary span{margin-left:auto;font:11px var(--font-data)}.viewer-page .viewer-waypoints ul{display:grid;gap:8px;margin:0;padding:0 0 8px;list-style:none}.viewer-page .viewer-waypoints li{display:flex;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-subtle);font:12px/1.5 var(--font-ui)}.viewer-page .viewer-waypoints li>svg{flex-shrink:0;color:var(--color-warning)}.viewer-page .viewer-waypoints li>div{min-width:0}.viewer-page .viewer-waypoints strong{display:block;overflow-wrap:anywhere}.viewer-page .viewer-waypoints small,.viewer-page .viewer-waypoints p{margin:2px 0 0;color:var(--color-text-muted);overflow-wrap:anywhere}.viewer-page .viewer-document .loaded-title{margin:8px 0 6px;font-size:18px}.viewer-page .viewer-document__status{margin:0;font-size:11px}.viewer-page .ws-sidebar__content{gap:14px}.viewer-page .analysis-summary--compact{gap:8px;margin-top:0}.viewer-page .viewer-document .loaded-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.viewer-page .viewer-document .file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.viewer-explorer{min-width:0;color:var(--color-text)}.viewer-explorer>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;font:600 12px/1.5 var(--font-ui)}.viewer-explorer>summary:before{content:"›";color:var(--color-action)}.viewer-explorer[open]>summary:before{content:"⌄"}.viewer-explorer>summary span{margin-left:auto;color:var(--color-text-muted);font-weight:400}.viewer-explorer__items{display:grid;gap:6px}.viewer-explorer__activity{min-width:0}.viewer-explorer__row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px;align-items:center}.viewer-page .viewer-explorer__inspect,.viewer-page .viewer-explorer__segment{display:grid;justify-content:stretch;justify-items:start;gap:2px;width:100%;min-width:0;min-height:44px;padding:7px 8px;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-subtle);color:var(--color-text);font:600 12px/1.5 var(--font-ui)}.viewer-page .viewer-explorer__inspect{position:relative;padding:10px 22px 10px 20px}.viewer-page .viewer-explorer__inspect:before,.viewer-page .viewer-explorer__segment:before{content:"";position:absolute;inset:12px auto 12px 9px;width:4px;border-radius:3px;background:var(--color-action)}.viewer-page .viewer-explorer__inspect[aria-pressed=true]:before,.viewer-page .viewer-explorer__segment[aria-pressed=true]:before{background:var(--color-selection)}.viewer-page .viewer-explorer__inspect:after{content:"›";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:18px}.viewer-explorer__name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.viewer-explorer small{color:var(--color-text-muted);font:11px/1.4 var(--font-ui)}.viewer-page .viewer-explorer [aria-pressed=true]:not(.viewer-explorer__visibility){border-color:var(--color-action);background:color-mix(in srgb,var(--color-brand-container) 36%,var(--color-surface-lowest));color:var(--color-action)}.viewer-explorer__row[data-hovered=true] .viewer-explorer__inspect,.viewer-page .viewer-explorer__segment[data-hovered=true]{outline:1px solid var(--color-selection);outline-offset:-2px}.viewer-page .viewer-explorer__visibility{width:44px;height:44px;padding:10px;border:0;background:none;color:var(--color-action)}.viewer-page .viewer-explorer__visibility[aria-pressed=false]{color:var(--color-text-muted)}.viewer-explorer__segments{margin:2px 0 6px 10px;padding-left:8px;border-left:1px solid var(--color-border)}.viewer-explorer__segments summary{min-height:36px;padding-block:8px;cursor:pointer;color:var(--color-text-muted);font:11px/1.4 var(--font-ui);overflow-wrap:anywhere}.viewer-page .viewer-explorer__segment{position:relative;margin-top:6px;display:grid;gap:3px;padding:9px 10px 9px 20px;min-height:56px}.viewer-explorer__hidden,.viewer-selection-hidden{margin:4px 0;color:var(--color-text-muted);font:11px/1.5 var(--font-ui)}.viewer-page .viewer-explorer__overview{width:100%;min-height:36px;font-size:12px}.viewer-page .profile-inspection-tooltip{position:absolute;z-index:2;top:4px;width:max-content;max-width:min(212px,calc(100% - 16px));padding:6px 8px;border:1px solid var(--color-selection);border-radius:var(--radius-control);background:var(--color-surface-lowest);color:var(--color-text);font:11px/1.5 var(--font-data);pointer-events:none}.viewer-page .activity-profile__summary{color:var(--color-text-muted);font:11px/1.4 var(--font-ui);overflow-wrap:anywhere}.viewer-page .analysis-summary--compact .viewer-featured-stats{position:relative;gap:10px;margin-bottom:6px}.viewer-page .analysis-summary--compact .viewer-featured-stats .stats-card{min-height:86px;padding:12px;border-radius:var(--radius-panel);gap:10px;background:var(--color-surface-subtle)}.viewer-page .analysis-summary--compact .viewer-featured-stats dt{display:flex;justify-content:space-between;align-items:center;gap:4px;font:500 12px/1.4 var(--font-ui)}.viewer-page .analysis-summary--compact .viewer-featured-stats dd{font:700 21px/1.3 var(--font-heading);letter-spacing:-.03em;white-space:normal;overflow-wrap:anywhere}.viewer-page .analysis-summary--compact .viewer-featured-stats [data-metric="Elevation Gain"] dd{color:var(--color-success)}.viewer-page .analysis-summary--compact .viewer-featured-stats [data-metric="Elevation Loss"] dd{color:#facc15}.viewer-page .analysis-summary--compact .viewer-featured-stats [data-metric="Max Altitude"] dd,.viewer-page .analysis-summary--compact .viewer-featured-stats [data-metric="Max Altitude"] .stats-card__icon{color:#ff9d4a}.viewer-page .viewer-kpi-unavailable{display:flex;width:100%;align-items:center;justify-content:space-between;color:var(--color-text-muted)}.viewer-page .viewer-kpi-info>button{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:8px;border:0;background:transparent;color:var(--color-text-muted)}.viewer-page .viewer-kpi-info__reason{position:absolute;z-index:5;left:8px;right:8px;transform:translateY(34px);padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:0 4px 16px #02061755;background:var(--color-surface-lowest);color:var(--color-text);font:400 11px/1.5 var(--font-ui);letter-spacing:normal;text-align:left}.viewer-page .viewer-kpi-info__reason[hidden]{display:none}@media(pointer:coarse){.viewer-page .viewer-kpi-info>button{min-width:44px;min-height:44px}}.viewer-page .analysis-summary--compact .viewer-featured-stats [data-metric="Elevation Loss"] .stats-card__icon{color:#facc15}.viewer-page .analysis-summary--compact .viewer-featured-stats [data-metric="Elevation Gain"] .stats-card__icon{color:var(--color-success)}.viewer-page .analysis-summary--compact .metric-group{margin-top:0}.viewer-page .analysis-summary--compact .metric-group h3{font:600 12px/1.5 var(--font-ui);margin-bottom:4px;padding-top:8px;color:var(--color-text-muted)}.viewer-page .analysis-summary--compact .stats-grid--rows{display:block}.viewer-page .analysis-summary--compact .stats-grid--rows .stats-card{display:flex;flex-direction:row;align-items:baseline;gap:12px;min-height:28px;padding:4px 0;border:0;border-radius:0;background:none}.viewer-page .analysis-summary--compact .stats-grid--rows dt{font:400 12px/1.5 var(--font-ui)}.viewer-page .analysis-summary--compact .stats-grid--rows dd{font:500 12px/1.5 var(--font-data);text-align:right;white-space:normal}.viewer-page .analysis-summary--compact .analysis-limitations{margin-top:12px;padding:8px 10px}.viewer-page .analysis-summary--compact details summary{min-height:36px;padding-block:8px;cursor:pointer;font:500 12px/1.5 var(--font-ui);color:var(--color-text-muted)}.viewer-page .viewer-time-help{margin-top:4px}.viewer-page .viewer-time-help p{margin:6px 0;color:var(--color-text-muted);font:12px/1.5 var(--font-ui)}.viewer-page .viewer-map-toolbar{display:flex;align-items:center;gap:8px;min-width:0}.viewer-page .viewer-map-toolbar>.viewer-edit{display:inline-flex;align-items:center;justify-content:center;gap:6px}.viewer-page .viewer-map-toolbar>.ui-button,.viewer-page .viewer-map-toolbar>.viewer-color-toggle{min-height:44px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-lowest);color:var(--color-text);font:500 12px/1.5 var(--font-ui);white-space:nowrap}.viewer-page .viewer-map-toolbar>.viewer-fit{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px}.viewer-page .viewer-map-toolbar>.viewer-color-toggle{display:block;cursor:pointer;margin-left:auto}.viewer-page .viewer-color-current{color:var(--color-action);font-weight:500}.viewer-page .viewer-map-toolbar .viewer-color-panel{display:grid;gap:8px;position:absolute;z-index:6;top:calc(100% + 8px);left:12px;right:auto;width:min(420px,calc(100% - 24px));max-height:min(360px,calc(100dvh - 240px));overflow-y:auto;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-lowest)}.viewer-page .viewer-map-toolbar .viewer-color-panel[data-open=false]{display:none}.viewer-page .viewer-map-toolbar .track-color-control{margin:0;padding:0;width:100%;border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.viewer-page .viewer-map-toolbar .track-color-control legend{position:static;padding:0 0 8px;font:500 12px var(--font-ui)}.viewer-page .viewer-map-toolbar .track-color-options{width:100%;flex-wrap:nowrap}.viewer-page .viewer-map-toolbar .track-color-options label{flex:1}.viewer-page .viewer-map-toolbar .track-color-options span{min-height:44px;padding-inline:6px;font-size:12px}.viewer-page .viewer-map-toolbar .gradient-legend{width:100%;margin:0;border:0;padding:8px 0 0;background:none}.viewer-page .map-fullscreen-control{top:var(--map-control-top);bottom:auto;left:var(--map-control-inset);right:auto;width:44px;height:44px;border:1px solid var(--color-border);border-radius:var(--radius-control)}.viewer-page .maplibregl-ctrl-top-right{top:var(--map-control-row-top);bottom:auto;right:var(--map-control-inset);left:auto}.viewer-page .maplibregl-ctrl-top-right .maplibregl-ctrl{margin:0}.viewer-page .map-toolbar[data-active=true]{border:0;background:none;padding-block:10px}.viewer-page .map-toolbar[data-active=true]>.basemap-control{position:relative;inset:auto!important}.viewer-page .activity-profile .section-heading h2{font:600 13px/1.5 var(--font-ui)}.viewer-page .activity-profile .profile-mode span{min-height:32px;font-size:12px}@media(min-width:1024px){.viewer-page .workspace-profile-panel__header{background:var(--color-surface-subtle);border-top:1px solid var(--color-border)}.viewer-page .activity-profile{height:clamp(180px,21dvh,220px);border-top:0;padding-top:6px}.viewer-page .activity-profile .section-heading h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.viewer-page .activity-profile .section-heading{min-height:32px}}.viewer-page .chart-grid{stroke-dasharray:3 4;opacity:.7}.viewer-page .chart-line{stroke-width:2.5}.viewer-page .elevation-chart:focus:not(:focus-visible),.viewer-page .elevation-chart:focus[data-pointer-focus=true]{outline:none}.viewer-page .elevation-chart:focus-visible:not([data-pointer-focus=true]){outline:2px solid var(--color-focus);outline-offset:-2px}.viewer-page .profile-plot linearGradient stop:first-child{stop-opacity:.4}@media(max-width:1023px){.viewer-page .ws-map-workspace{grid-template-columns:minmax(0,1fr)}.viewer-page .ws-sidebar{padding:14px}.viewer-page .viewer-map-toolbar>.viewer-fit{width:44px;flex:0 0 44px;padding:10px}.viewer-page .viewer-fit>span{display:none}.viewer-page .viewer-map-toolbar>.ui-button:not(.viewer-fit){width:44px;padding:8px;font-size:0}.viewer-page .viewer-map-toolbar>.ui-button:not(.viewer-fit):before{content:"+";color:var(--color-action);font:22px/1 var(--font-ui)}.viewer-page .viewer-map-toolbar>.viewer-edit:before{display:none}.viewer-page .viewer-edit>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.viewer-page .viewer-map-toolbar>.viewer-color-toggle{margin-left:0;padding-inline:8px}.viewer-page .viewer-color-current{display:none}.viewer-page .viewer-map-toolbar .viewer-color-panel{max-height:max(44px,min(360px,calc(var(--workspace-sheet-full-height) - 160px)))}.viewer-page .maplibregl-ctrl-top-right{left:64px;right:auto}.viewer-page .basemap-control__menu{top:52px}}.app{width:min(1440px,100%);min-height:100vh;margin:auto;padding:0 clamp(18px,4vw,64px)}.eyebrow{margin:0 0 9px;color:var(--accent);font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.drop-zone{padding:10px;border:1px solid var(--line);border-radius:24px;background:#fff9;transition:border-color .2s,transform .2s}.drop-zone.is-dragging{border-color:var(--accent);transform:translateY(-2px)}.drop-zone__label{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1.5px dashed #9eb4a5;border-radius:17px;background:var(--surface);cursor:pointer}.drop-zone__label strong{font-size:clamp(1rem,2vw,1.2rem)}.drop-zone__label>span:last-child{color:var(--muted);font-size:.86rem}.drop-zone__icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:6px;border-radius:50%;color:#fff;background:var(--accent);font-size:1.4rem}.privacy-note{display:flex;justify-content:center;align-items:center;gap:8px;margin:17px 0 0;color:var(--muted);font-size:.84rem}.privacy-note span{color:var(--accent);font-weight:900}.secondary-button,.primary-button{min-height:42px;padding:0 18px;border:1px solid #b7c6ba;border-radius:999px;color:var(--ink);background:#fff;font-weight:720}.secondary-button:hover{border-color:var(--accent);color:var(--accent)}.primary-button{border-color:var(--accent);color:#fff;background:var(--accent)}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.file-name{margin:12px 0 0;color:var(--muted);font-size:.86rem}.metadata-description{max-width:720px;margin:10px 0 0;color:var(--muted);line-height:1.5}.document-structure,.metadata-details{margin:7px 0 0;color:var(--muted);font-size:.78rem}.map-loading{min-height:560px;display:grid;place-items:center;border:1px solid var(--line);border-radius:20px;color:var(--muted);background:#e8eee8}.elevation-panel{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.elevation-panel h2{margin:0;font-size:1.25rem;letter-spacing:-.03em}.activity-selector{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid #e3eae4}.activity-selector label{display:block;margin-bottom:7px;color:var(--muted);font-size:.76rem;font-weight:760;text-transform:uppercase;letter-spacing:.08em}.activity-selector select{width:100%;min-height:44px;padding:0 34px 0 11px;border:1px solid #b7c6ba;border-radius:10px;color:var(--ink);background:#fff;font-weight:680}.selected-activity-name{margin:7px 0 0;color:var(--muted);font-size:.85rem;line-height:1.4}.overview-note{padding-top:3px}.overview-note p:last-child{margin:12px 0 0;color:var(--muted);font-size:.9rem;line-height:1.55}.stats-grid{display:grid;gap:0;margin:18px 0 0}.stat{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #edf1ed}.stat dt{color:var(--muted);font-size:.83rem}.stat dd{margin:0;font-weight:760;text-align:right}.error-message{display:flex;gap:8px 20px;flex-wrap:wrap;max-width:800px;margin:16px auto;padding:14px 18px;border:1px solid #e6b9b9;border-radius:12px;color:var(--danger);background:#fff5f5}.tool-intro{max-width:800px;margin:clamp(35px,7vh,80px) auto 30px;text-align:center}.tool-intro h1{margin:0;font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.065em}.tool-intro__subtitle{margin:13px 0 0;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:750}.tool-intro__summary{max-width:620px;margin:12px auto;color:var(--muted);line-height:1.6}.tool-workspace{max-width:1180px;margin:0 auto}.tool-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.control-card{margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.tool-grid>.control-card{margin-top:0}.control-card h2{margin:0 0 18px;letter-spacing:-.03em}.control-card input[type=text],.control-card input[type=number],.control-card>input:not([type]){width:100%;min-height:44px;padding:0 11px;border:1px solid #b7c6ba;border-radius:9px}.field-label{display:block;margin-bottom:7px;color:var(--muted);font-size:.78rem;font-weight:750}.loaded-file-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.loaded-file-bar div{min-width:0}.loaded-file-bar strong,.loaded-file-bar span{display:block;overflow-wrap:anywhere}.loaded-file-bar span{margin-top:4px;color:var(--muted);font-size:.82rem}.file-list{display:grid;gap:10px;margin:18px 0}.file-card{padding:14px;border:1px solid var(--line);border-radius:12px}.file-card strong,.file-card span{display:block;overflow-wrap:anywhere}.file-card>div:first-child span{margin-top:3px;color:var(--muted);font-size:.78rem}.row-actions{display:flex;gap:6px;margin-top:10px}.row-actions button,.nested-item button,.structure-track button,.preset-row button{min-height:34px;border:1px solid #c7d2c9;border-radius:7px;background:#fff}.nested-item{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #edf1ed;font-size:.8rem}.nested-actions{display:flex!important;gap:4px;flex-shrink:0}.structure-track{padding:16px 0;border-top:1px solid var(--line)}.structure-track>div,.structure-track li{display:flex;justify-content:space-between;align-items:center;gap:12px}.structure-track ul{display:grid;gap:7px;padding-left:22px}.structure-track li{color:var(--muted)}.check-list{display:grid;gap:8px}.check-list label{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:10px}.check-list span,.check-list small{display:block}.check-list small{margin-top:2px;color:var(--muted)}.advanced{margin:18px 0;padding:12px;border-radius:10px;background:#f5f8f5}.advanced summary{cursor:pointer;font-weight:700}.toggle-row{display:flex;gap:8px;margin-top:12px}.advanced p{color:var(--muted);font-size:.82rem;line-height:1.5}.advanced .warning{color:#8a4a16}.preset-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 18px}.preset-row button.is-active{color:#fff;border-color:var(--accent);background:var(--accent)}.before-after{display:grid;gap:0}.before-after div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.before-after dd{margin:0;font-weight:750}.comparison-labels{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--muted);font-size:.8rem;font-weight:700}.format-grid{display:grid;gap:10px;margin-bottom:18px}.format-option{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:13px;border:1px solid var(--line);border-radius:11px}.format-option input{grid-row:1 / 3}.format-option span{color:var(--muted);font-size:.82rem;line-height:1.4}.format-option.is-selected{border-color:var(--accent);background:#f2faf7}.format-explanation{margin-bottom:18px;padding:16px;border-radius:12px;background:#f2f7f3}.format-explanation p{margin:6px 0 0;color:var(--muted)}.related-tools{max-width:1180px;margin:36px auto 0;padding:22px;border-top:1px solid var(--line)}.related-tools>strong{display:block;margin-bottom:12px}.related-tools div{display:flex;flex-wrap:wrap;gap:8px}.related-tools a{padding:8px 11px;border-radius:8px;color:var(--accent-dark);background:#fff;text-decoration:none;font-size:.83rem;font-weight:700}.tool-help{max-width:980px;margin:48px auto 0;padding-top:30px;border-top:1px solid var(--line)}.tool-help>h2{margin:0 0 20px;font-size:1.4rem;letter-spacing:-.035em}.tool-help__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.tool-help article{min-width:0}.tool-help h3{margin:0 0 8px;font-size:1rem}.tool-help p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}.publisher-name{color:var(--ink);font-weight:700;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);text-underline-offset:2px}.publisher-name:hover{color:var(--accent-dark);text-decoration-color:currentColor}.waypoint-count{margin-top:18px;color:var(--muted);font-size:.85rem}.not-found{max-width:600px;margin:15vh auto;text-align:center}.trim-workspace{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:18px;align-items:start}.trim-controls{margin-top:0}.trim-controls>select{width:100%;min-height:44px;padding:0 11px;border:1px solid #b7c6ba;border-radius:9px;background:#fff}.trim-editing{display:grid;gap:3px;margin:16px 0;padding:13px;border-radius:11px;background:#f2f7f3;overflow-wrap:anywhere}.trim-editing span,.trim-note,.trim-instruction,.trim-preview p,.trim-result p{color:var(--muted);font-size:.82rem;line-height:1.5}.trim-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0;border:0}.trim-modes legend,.trim-direction legend{margin-bottom:8px;color:var(--muted);font-size:.76rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.trim-modes button{min-height:40px;border:1px solid #b7c6ba;border-radius:9px;background:#fff;font-weight:700}.trim-modes button.is-active{color:#fff;border-color:var(--accent);background:var(--accent)}.trim-modes button:disabled{opacity:.45;cursor:not-allowed}.trim-direction{margin:16px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--line)}.trim-direction--segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.trim-direction legend{width:100%}.trim-direction--segmented label{position:relative;min-width:0}.trim-direction--segmented input{position:absolute;opacity:0;pointer-events:none}.trim-direction--segmented span{min-height:40px;display:grid;place-items:center;padding:0 10px;border:1px solid #b7c6ba;border-radius:9px;background:#fff;font-size:.84rem;font-weight:700;cursor:pointer}.trim-direction--segmented .is-selected span{color:#fff;border-color:var(--accent);background:var(--accent)}.trim-direction--segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.trim-selection-actions{display:grid;margin-top:12px}.trim-selection-actions .trim-reset{width:100%;min-height:40px}.trim-preview{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.trim-preview h3,.trim-result h2,.trim-parts h3{margin:0}.trim-preview .primary-button,.trim-result>button{margin-top:12px}.trim-original-note{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line)}.trim-parts{display:grid;gap:10px;margin:14px 0}.trim-parts article{padding:13px;border:1px solid var(--line);border-radius:10px}.trim-map{min-width:0;position:sticky;top:14px}.repair-layout{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:18px;align-items:start}.repair-health{margin:0 0 18px;border-left:4px solid var(--accent)}.repair-health h2{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.repair-health>p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.repair-recommendations{margin:0 0 18px}.repair-recommendations h2{margin:0;font-size:1.3rem}.repair-recommendation-list{display:grid;gap:12px;margin-top:14px}.repair-recommendation{padding:16px;border:1px solid var(--line);border-left:4px solid #789285;border-radius:12px;background:#fbfcfb}.repair-recommendation--integrity-review,.repair-recommendation--guided-spike{border-left-color:#d08a2d}.repair-recommendation--safe-duplicate-cleanup{border-left-color:var(--accent)}.repair-recommendation h3{margin:0;font-size:1rem}.repair-recommendation>p{margin:7px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.repair-recommendation .repair-aggregate__actions{display:flex;flex-wrap:wrap;gap:8px}.repair-confirmation{margin-top:12px;padding:12px;border:1px solid #e2bc84;border-radius:10px;background:#fff8ec}.repair-confirmation p{margin:0;font-size:.82rem;line-height:1.45}.repair-advanced{min-width:0}.repair-advanced>summary{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:750;cursor:pointer}.repair-advanced[open]>summary{margin-bottom:14px}.repair-primary-actions,.repair-advanced-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.repair-activity-summary{display:grid;gap:6px;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--line);list-style:none;color:var(--muted);font-size:.82rem}.repair-activity-summary strong{color:var(--ink)}.repair-sections{display:grid;gap:14px}.repair-section{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.repair-section--critical{border-left:4px solid var(--danger)}.repair-section--review{border-left:4px solid #d08a2d}.repair-section--safe-cleanup{border-left:4px solid var(--accent)}.repair-section--information{border-left:4px solid #789285}.repair-section__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.repair-section__heading h2{margin:0;font-size:1.16rem}.repair-section__heading span{min-width:30px;padding:4px 8px;border-radius:999px;color:var(--muted);background:#edf2ee;text-align:center;font-size:.75rem;font-weight:800}.repair-aggregate{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.repair-aggregate h3{margin:0;font-size:.96rem}.repair-aggregate>p{margin:6px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.repair-aggregate__actions{margin-top:10px}.repair-aggregate__actions button{min-height:36px;padding-inline:12px;font-size:.76rem}.repair-findings{margin-top:12px}.repair-fatal{max-width:760px;margin:18px auto 0;padding:24px;border:1px solid #e6b9b9;border-left:4px solid var(--danger);border-radius:16px;background:#fff5f5}.repair-fatal h2{margin:0;color:var(--danger)}.repair-fatal p:not(.eyebrow){margin:9px 0 0;line-height:1.5}.repair-analysis{margin-top:0;max-height:680px;overflow:auto}.repair-summary,.repair-result{display:flex;align-items:center;justify-content:space-between;gap:18px}.repair-summary h2,.repair-result h2{margin:0}.repair-summary>span{color:var(--muted);font-size:.78rem;text-align:right}.repair-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.repair-actions button{min-height:38px;padding-inline:13px}.repair-groups{display:grid;gap:20px}.repair-group h3{margin:0 0 8px;font-size:1rem}.repair-issue{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb}.repair-issue+.repair-issue{margin-top:8px}.repair-issue--warning{border-left:3px solid #d08a2d}.repair-issue--notice{border-left:3px solid #789285}.repair-issue__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.repair-issue__header button{border:0;color:var(--accent-dark);background:transparent;font-size:.75rem;font-weight:700;cursor:pointer}.repair-badge{color:#74501c;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.repair-context,.repair-measurements{color:var(--muted);font-size:.75rem}.repair-issue p{margin:7px 0 0;line-height:1.45}.repair-fix{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line);font-size:.82rem;font-weight:700;cursor:pointer}.repair-fix input{margin-top:2px}.repair-map{position:sticky;top:14px;min-width:0}.repair-result{margin-top:18px}.repair-result ul{display:grid;gap:5px;margin:10px 0 0;padding-left:20px;color:var(--muted)}.visibility-controls{display:grid;gap:7px;margin:0 0 20px;padding:12px;border:1px solid var(--line);border-radius:10px}.visibility-controls legend{padding:0 5px;color:var(--muted);font-size:.76rem;font-weight:750}.visibility-controls label{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;font-size:.82rem}.track-swatch{width:14px;height:4px;border-radius:3px;background:#e8492f}.track-swatch--1{background:#157aa5}.track-swatch--2{background:#8d55a5}.track-swatch--3{background:#d18b21}.track-swatch--4{background:#0b7755}.track-swatch--5{background:#c64f85}.track-swatch--6{background:#6d7334}.track-swatch--7{background:#5669b3}.track-swatch--8{background:#764c35}.track-color-control{min-width:0;margin:0 0 20px;padding:0 0 20px;border:0;border-bottom:1px solid #e3eae4}.track-color-control legend{margin-bottom:8px;color:var(--muted);font-size:.76rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.track-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid #b7c6ba;border-radius:10px;background:#f5f8f5}.track-color-options label{min-width:0}.track-color-options input{position:absolute;opacity:0;pointer-events:none}.track-color-options span{min-height:34px;display:grid;place-items:center;padding:0 5px;border-radius:7px;font-size:.75rem;font-weight:720;cursor:pointer}.track-color-options label.is-selected span{color:#fff;background:var(--accent)}.track-color-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.track-color-options input:disabled+span{color:#879389;cursor:not-allowed;opacity:.64}.track-color-help{margin:8px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}.gradient-legend{min-width:0;margin:0 0 20px;padding:13px;border:1px solid #e3eae4;border-radius:11px;background:#f8faf8}.gradient-legend>strong{display:block;margin-bottom:8px;font-size:.82rem}.gradient-legend__labels,.gradient-legend__hints{display:flex;justify-content:space-between;gap:10px;font-size:.72rem}.gradient-legend__labels{font-weight:730}.gradient-legend__bar{height:10px;margin:6px 0 4px;border:1px solid rgb(23 41 31 / 18%);border-radius:999px}.gradient-legend__hints{color:var(--muted);font-size:.66rem;text-transform:lowercase}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.tool-grid,.repair-layout,.trim-workspace{grid-template-columns:1fr}.repair-analysis{max-height:none}.repair-map,.trim-map{position:static;grid-row:1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}@media(max-width:640px){.app{padding-inline:14px}.drop-zone__label{min-height:170px;padding:24px 16px}.drop-zone__label>span:last-child{max-width:260px}.stats-grid{grid-template-columns:1fr}.loaded-file-bar{align-items:flex-start;flex-direction:column}.loaded-file-bar .secondary-button,.primary-button,.repair-actions button,.repair-primary-actions button,.repair-advanced-actions button,.repair-result .primary-button{width:100%}.control-card,.repair-section{padding:18px 14px}.repair-summary,.repair-result{align-items:flex-start;flex-direction:column}.repair-summary>span{text-align:left}.structure-track>div,.structure-track li{align-items:flex-start;flex-direction:column}.tool-help__grid{grid-template-columns:1fr;gap:22px}.related-tools{padding-inline:4px}}.track-color-options{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-summary{display:grid;gap:18px;margin-top:16px}.metric-group h3{margin:0;color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.metric-group .stats-grid{margin-top:6px}.metric-secondary{color:var(--muted);font-weight:680}.analysis-limitations{padding:11px 12px;border-radius:10px;background:#f4f7f4}.analysis-limitations p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.analysis-limitations p+p{margin-top:6px}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);max-width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-text);font:600 var(--text-label)/1.4 var(--font-ui);text-align:center;overflow-wrap:anywhere;transition:background-color var(--motion-short),border-color var(--motion-short)}.ui-segmented{min-width:0;margin:0;padding:0;border:0}.ui-segmented legend{margin-bottom:var(--space-2);color:var(--color-text-muted);font:600 12px var(--font-ui)}.ui-segmented>div{display:flex;gap:6px}.ui-segmented label{position:relative;flex:1;min-width:0}.ui-segmented input{position:absolute;opacity:0}.ui-segmented span{display:grid;place-items:center;min-height:var(--control-height);padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);text-align:center;cursor:pointer;font:500 12px/1.4 var(--font-ui)}.ui-segmented input:checked+span{border-color:var(--color-action);background:var(--color-brand-container);color:var(--color-action)}.ui-segmented input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:2px}.ui-segmented input:disabled+span{opacity:.45;cursor:not-allowed}.ui-button:hover:not(:disabled){border-color:var(--color-action);background:var(--color-surface)}.ui-button--primary{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}.ui-button--primary:hover:not(:disabled){background:var(--color-action-hover)}.ui-button--danger{background:var(--color-danger-surface);color:var(--color-danger);border-color:var(--color-danger)}.ui-button--ghost{background:transparent;border-color:transparent}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-icon-button{min-width:var(--control-height);padding:var(--space-2)}.ui-button:focus-visible,.ui-input:focus-visible,.file-drop-surface input:focus-visible+label{outline:3px solid var(--color-focus);outline-offset:3px}.ui-panel{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-text);font-family:var(--font-ui);box-shadow:var(--shadow-panel)}.ui-panel__heading{margin:0 0 var(--space-4);font:600 var(--text-heading)/1.3 var(--font-heading)}.ui-field{display:grid;gap:var(--space-2);min-width:0;font:400 var(--text-label)/1.45 var(--font-ui);color:var(--color-text)}.ui-field>label{font-weight:600}.ui-field .ui-input{min-width:0;width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-lowest);color:var(--color-text);font:inherit;color-scheme:dark}.ui-input[aria-invalid=true]{border-color:var(--color-danger)}.ui-field__hint{color:var(--color-text-muted)}.ui-field__error{color:var(--color-danger)}.ui-status{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:400 var(--text-label)/1.5 var(--font-ui);overflow-wrap:anywhere}.ui-status--success{border-color:var(--color-success)}.ui-status--warning{background:var(--color-warning-surface);color:var(--color-warning)}.ui-status--error{background:var(--color-danger-surface);color:var(--color-danger)}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-lowest);color:var(--color-text)}.ui-toolbar .ui-button[aria-pressed=true]{background:var(--color-brand-container);border-color:var(--color-action);color:var(--color-action)}.ui-export-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.file-drop-surface{background:var(--color-surface-subtle);border-color:var(--color-border);border-radius:var(--radius-panel)}.file-drop-surface .drop-zone__label{padding:var(--space-5);background:var(--color-surface-lowest);color:var(--color-text);border-color:var(--color-border);border-radius:var(--radius-control);font-family:var(--font-ui)}.file-drop-surface .drop-zone__label>span:last-child{color:var(--color-text-muted)}.file-drop-surface .drop-zone__icon{background:var(--color-brand-container);color:var(--color-action)}.drop-zone__action{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;padding:var(--space-2) var(--space-6);border-radius:var(--radius-control);background:var(--color-action);color:var(--color-on-action);font:600 var(--text-label)/1.5 var(--font-data)}.file-drop-surface.is-dragging{border-color:var(--color-action)}.file-drop-surface:has(input:disabled) .drop-zone__label{cursor:not-allowed;opacity:.65}@media(prefers-reduced-motion:reduce){.ui-button{transition:none}}.stats-card__icon{display:inline-flex;flex:0 0 16px;color:var(--color-action)}.stats-card__unit{color:var(--color-text-muted);font:500 12px/1.4 var(--font-ui);letter-spacing:normal}.stats-card__annotated-value{display:flex;align-items:center;justify-content:space-between;gap:4px}.analysis-elevation-quality{margin:0;color:var(--color-text-muted);font:12px/1.5 var(--font-ui)}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:var(--layer-skip-link);transform:translateY(-200%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--color-action);color:var(--color-on-action);font-weight:700}.skip-link:focus{transform:none}.app-header{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-3);margin-block:var(--space-3) var(--space-4);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-lowest);color:var(--color-text);font-family:var(--font-ui)}.app-header__brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);font:700 1.125rem/1.4 var(--font-heading);text-decoration:none;white-space:nowrap}.app-header__mark{display:block;flex:0 0 32px;width:32px;height:32px;border:0;background:transparent}.tool-navigation{display:flex;flex:1 1 0;min-width:0;gap:var(--space-1);align-items:center;max-width:100%}.tool-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-text-muted);text-decoration:none;white-space:nowrap;font-size:var(--text-label);font-weight:600}.tool-navigation a:hover{background:var(--color-surface-raised);color:var(--color-text)}.tool-navigation a[aria-current=page]{background:var(--color-brand-container);color:var(--color-action);box-shadow:inset 0 -2px var(--color-action)}.app-header a:focus-visible,.app-header button:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.tool-navigation__dropdown{position:relative;margin-left:auto}.app:has(.viewer-page,.editor-page--loaded) .tool-navigation{flex:0 1 auto;margin-left:auto}.app:has(.viewer-page,.editor-page--loaded) .tool-navigation__dropdown{margin-left:0}.tool-navigation__dropdown .ui-button{white-space:nowrap}.tool-navigation__dropdown .ui-button[data-active=true]{border-color:var(--color-action);color:var(--color-action)}.tool-navigation__panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:40;display:grid;min-width:220px;max-width:calc(100vw - 24px);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-lowest);box-shadow:var(--shadow-panel)}.tool-navigation__panel[hidden]{display:none}.tool-navigation__panel a{justify-content:flex-start}@media(max-width:767px){.app-header{padding:var(--space-2) var(--space-3)}.tool-navigation>a{padding-inline:var(--space-2)}.tool-navigation__dropdown .ui-button{padding-inline:var(--space-3)}}@media(max-width:360px){.app-header__name{display:none}}.app[data-layout=page]{display:flex;flex-direction:column;min-height:100dvh}.app[data-layout=page]>main{flex:1 0 auto;min-width:0}.app[data-layout=workspace]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:var(--app-viewport-height, 100dvh);min-height:0;padding:0;overflow:hidden}.app[data-layout=workspace]>main{min-width:0;min-height:0;overflow:hidden}html:has(.app[data-layout=workspace]),body:has(.app[data-layout=workspace]){height:100dvh;min-height:0;overflow:clip}.ws-map-workspace{display:grid;grid-template-columns:minmax(280px,var(--workspace-sidebar-width)) minmax(0,1fr);grid-template-areas:"toolbar toolbar" "sidebar map" "sidebar profile" "status status" "actions actions";gap:var(--space-4);min-width:0;padding:var(--space-4);border-radius:var(--radius-panel);background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui)}.ws-map-workspace[data-has-sidebar=false]{grid-template-columns:minmax(0,1fr);grid-template-areas:"toolbar" "map" "profile" "status" "actions"}.ws-map-workspace>[hidden]{display:none}.ws-map-workspace>div{min-width:0}.ws-map-workspace__toolbar{grid-area:toolbar}.ws-map-workspace__sidebar{grid-area:sidebar}.ws-map-workspace__map{grid-area:map;min-height:clamp(320px,50dvh,720px)}.ws-map-workspace__profile{grid-area:profile}.ws-map-workspace__status{grid-area:status}.ws-map-workspace__actions{grid-area:actions}.ws-sidebar{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-subtle);color:var(--color-text)}.ws-sidebar__toggle{display:none}.ws-sidebar__content{display:grid;min-width:0;gap:var(--space-4)}@media(min-width:768px)and (max-width:1023px){.ws-map-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}}@media(max-width:1023px){.ws-sidebar__toggle{display:block}.ws-sidebar__toggle .ui-button{width:100%}.ws-sidebar[data-controlled=true][data-expanded=false]>.ws-sidebar__content{display:none}.ws-sidebar[data-expanded=true]>.ws-sidebar__toggle{margin-bottom:var(--space-3)}}@media(max-width:767px){.ws-map-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"toolbar" "map" "sidebar" "profile" "status" "actions";gap:var(--space-3);padding:var(--space-3)}.ws-map-workspace__sidebar{position:sticky;bottom:0;z-index:var(--layer-dock)}.ws-sidebar{border-radius:var(--radius-sheet) var(--radius-sheet) var(--radius-panel) var(--radius-panel);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.ws-sidebar[data-controlled=true] .ws-sidebar__content{max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}}@media(max-height:600px){.ws-map-workspace__sidebar{position:static}.ws-sidebar .ws-sidebar__content{max-height:none;overflow:visible}}:root{--map-control-inset: 12px;--map-control-size: 44px;--map-control-gap: 8px;--map-toolbar-height: 56px;--color-bg: #0b1326;--color-surface-lowest: #060e20;--color-surface-subtle: #131b2e;--color-surface: #171f33;--color-surface-raised: #222a3d;--color-text: #dae2fd;--color-text-muted: #bfc9c3;--color-border: #404944;--color-action: #95d3ba;--color-action-hover: #b0f0d6;--color-on-action: #003829;--color-brand-container: #064e3b;--color-focus: #95d3ba;--color-selection: #ffb690;--color-success: #4edea3;--color-warning: #ffb690;--color-warning-surface: #341100;--color-danger: #ffb4ab;--color-danger-surface: #690005;--font-heading: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-data: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--text-small: .75rem;--text-label: .875rem;--text-body: 1rem;--text-heading: 1.25rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-control: 8px;--radius-panel: 16px;--radius-sheet: 24px;--control-height: 44px;--workspace-sidebar-width: 360px;--content-max: 1440px;--shadow-panel: 0 8px 32px -4px rgb(2 6 23 / 45%);--motion-short: .14s;--layer-dock: 5;--layer-skip-link: 100;--legacy-color-bg: #f4f7f3;--legacy-color-text: #18251d;--legacy-color-muted: #627067;--legacy-color-surface: #ffffff;--legacy-color-border: #dbe4dc;--legacy-color-action: #0b7755;--legacy-color-action-hover: #075e43;--legacy-color-danger: #a22f2f;--legacy-shadow: 0 18px 55px rgb(30 56 39 / 10%)}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--legacy-color-text);background:var(--legacy-color-bg);font-synthesis:none;text-rendering:optimizeLegibility;--ink: var(--legacy-color-text);--muted: var(--legacy-color-muted);--surface: var(--legacy-color-surface);--line: var(--legacy-color-border);--accent: var(--legacy-color-action);--accent-dark: var(--legacy-color-action-hover);--danger: var(--legacy-color-danger);--shadow: var(--legacy-shadow)}*{box-sizing:border-box}html{min-width:320px;background:#f4f7f3}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid #67c6a7;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
