:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Instrument Sans", system-ui, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font:14px/145% var(--font-ui);--surface-page:#eef1ee;--surface-panel:#fff;--surface-panel-alt:#f2f6f4;--ink-primary:#16302a;--ink-secondary:#4a5f58;--ink-muted:#85978f;--border-hairline:#16302a1a;--gridline:#16302a1f;--axis:#16302a47;--accent:#0f8f86;--accent-strong:#0b6f68;--accent-ink:#fff;--accent-soft:#0f8f861f;--accent-line:#0f8f8647;--status-good:#2f9e44;--status-warning:#f0a020;--status-serious:#dd6b20;--status-critical:#d03b3b;--danger-1:#7cc47f;--danger-2:#e8d24a;--danger-3:#f0a020;--danger-4:#d9432e;--danger-5:#5a1414;--surface-glass:#ffffffb8;--surface-glass-strong:#ffffffdb;--surface-glass-chip:#16302a0f;--surface-glass-chip-hover:#16302a1c;--border-glass:#ffffffd9;--shadow-glass:0 18px 50px -12px #14282452, inset 0 1px 0 #ffffffe6;--shadow-raised:0 8px 20px -8px #0f8f86cc;--blur-glass:blur(20px) saturate(140%);--scrim:#0a14126b;--radius-panel:18px;--radius-card:14px;--radius-control:11px;--radius-chip:999px;--rail-width:272px;--map-gutter:20px;--map-controls-clearance:64px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#12191a;--surface-panel:#16211f;--surface-panel-alt:#1c2826;--ink-primary:#eef6f4;--ink-secondary:#c9d9d6;--ink-muted:#7d918d;--border-hairline:#ffffff1a;--gridline:#ffffff1f;--axis:#ffffff4d;--accent:#5fd6cb;--accent-strong:#8ae5dc;--accent-ink:#06231f;--accent-soft:#5fd6cb29;--accent-line:#5fd6cb59;--status-good:#6bd18f;--status-warning:#ffb454;--status-serious:#ff9a5c;--status-critical:#ff7b6b;--surface-glass:#10181aa8;--surface-glass-strong:#10181ad6;--surface-glass-chip:#ffffff14;--surface-glass-chip-hover:#ffffff29;--border-glass:#ffffff17;--shadow-glass:0 18px 50px -12px #0000008c, inset 0 1px 0 #ffffff12;--shadow-raised:0 8px 20px -6px #5fd6cb80;--blur-glass:blur(20px) saturate(130%);--scrim:#040a098c}html,body,#root{height:100%;margin:0}body{background:var(--surface-page);color:var(--ink-primary);font:14px/145% var(--font-ui);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:500}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-toggle{border-radius:var(--radius-chip);background:var(--surface-glass-chip);flex:none;padding:2px;display:flex}.theme-toggle__option{border-radius:var(--radius-chip);width:26px;height:22px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.theme-toggle__option.is-active{background:var(--surface-panel);color:var(--ink-primary);box-shadow:0 1px 3px #14282429}.theme-toggle__option svg{width:13px;height:13px}.language-switcher{align-items:center;gap:6px;margin-top:auto;padding-top:14px;display:flex}.language-switcher__icon{width:16px;height:16px;color:var(--ink-muted);flex:none}.language-switcher__select-wrap{flex:auto}.language-switcher__select{box-sizing:border-box;border-radius:var(--radius-control);border:1px solid var(--border-hairline);background:var(--surface-panel);width:100%;color:var(--ink-primary);font-family:var(--font-ui);cursor:pointer;padding:10px 12px;font-size:13px}.language-switcher__select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.app-sidebar{z-index:2;top:var(--map-gutter);left:var(--map-gutter);bottom:var(--map-gutter);width:var(--rail-width);color:var(--ink-secondary);box-sizing:border-box;border-radius:var(--radius-panel);background:var(--surface-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass);flex-direction:column;padding:18px;display:flex;position:absolute;overflow-y:auto}.app-sidebar__brand{align-items:center;gap:10px;margin-bottom:18px;display:flex}.app-sidebar__brand-mark{flex:none;display:block}:root[data-theme=dark] .app-sidebar__brand-mark{filter:invert()brightness(1.6)}.app-sidebar__brand-name{letter-spacing:-.01em;color:var(--ink-primary);font-size:16px;font-weight:600}.app-sidebar__brand .theme-toggle{margin-left:auto}.app-sidebar__signed-out-hint{color:var(--ink-secondary);text-wrap:pretty;margin:0 0 14px;font-size:13px;line-height:1.5}.app-sidebar__draw{border-radius:var(--radius-card);background:var(--accent);width:100%;color:var(--accent-ink);font-family:var(--font-ui);text-align:left;cursor:pointer;box-shadow:var(--shadow-raised);border:none;align-items:center;gap:10px;margin-bottom:8px;padding:13px 14px;font-size:14px;font-weight:600;transition:background-color .15s;display:flex}.app-sidebar__draw:hover{background:var(--accent-strong)}.app-sidebar__draw svg{flex:none;width:17px;height:17px}.app-sidebar__draw-kbd{font-family:var(--font-mono);opacity:.75;margin-left:auto;font-size:11px;font-weight:500}.app-sidebar__import{border:1px dashed var(--axis);border-radius:var(--radius-card);width:100%;color:var(--ink-primary);font-family:var(--font-ui);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;margin-bottom:20px;padding:11px 14px;font-size:13px;font-weight:500;transition:border-color .15s,background-color .15s;display:flex}.app-sidebar__import:hover{border-color:var(--accent);background:var(--surface-glass-chip)}.app-sidebar__import svg{width:16px;height:16px;color:var(--ink-secondary);flex:none}.app-sidebar__import:disabled{cursor:default;opacity:.75}.app-sidebar__import-spinner{border:2px solid var(--gridline);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite app-sidebar-import-spin}@keyframes app-sidebar-import-spin{to{transform:rotate(360deg)}}.app-sidebar__section-label{margin:0 0 8px 2px}.app-sidebar__menu{flex-direction:column;gap:2px;margin-bottom:20px;display:flex}.app-sidebar__menu-item{border-radius:var(--radius-control);width:100%;min-width:0;color:var(--ink-primary);font-family:var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;font-weight:500;transition:background-color .15s;display:flex}.app-sidebar__menu-item svg{width:16px;height:16px;color:var(--ink-secondary);flex:none}.app-sidebar__menu-item:hover{background:var(--surface-glass-chip)}.app-sidebar__menu-item.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.app-sidebar__menu-item.is-active svg{color:var(--accent-strong)}.app-sidebar__menu-count{color:var(--ink-muted);margin-left:auto;font-size:11.5px;font-weight:500}.app-sidebar__menu-item.is-active .app-sidebar__menu-count{color:var(--accent-strong)}.app-sidebar__menu-badge{border-radius:var(--radius-chip);background:var(--accent);color:var(--accent-ink);margin-left:auto;padding:2px 6px;font-size:10.5px;font-weight:700}.app-sidebar__account{border-radius:var(--radius-card);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;margin-top:12px;padding:8px;transition:background-color .15s;display:flex}.app-sidebar__account:hover,.app-sidebar__account.is-active{background:var(--surface-glass-chip)}.app-sidebar__account-avatar{border-radius:var(--radius-chip);background:var(--ink-primary);width:30px;height:30px;color:var(--surface-page);object-fit:cover;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.app-sidebar__account-fields{flex-direction:column;min-width:0;display:flex}.app-sidebar__account-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-primary);font-size:12.5px;font-weight:600;overflow:hidden}.app-sidebar__account-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-muted);font-size:10.5px;overflow:hidden}.app-sidebar__account-chevron{width:14px;height:14px;color:var(--ink-muted);flex:none;margin-left:auto}.app-sidebar .language-switcher{margin-top:12px}.map-container{position:absolute;inset:0}.map-token-warning{text-align:center;color:var(--ink-secondary);background:var(--surface-panel);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.map-token-warning code{background:var(--surface-panel-alt);border-radius:4px;padding:2px 6px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:var(--map-gutter) var(--map-gutter) 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{margin:0 var(--map-gutter) var(--map-gutter) 0}.mapboxgl-ctrl-group{background:var(--surface-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-glass);border-radius:var(--radius-card);overflow:hidden}.mapboxgl-ctrl-group:not(:empty){box-shadow:var(--shadow-glass)}.mapboxgl-ctrl-group button{width:34px;height:34px;color:var(--ink-primary);background-color:#0000}.mapboxgl-ctrl-group button+button{border-top:1px solid var(--border-hairline)}.mapboxgl-ctrl button:not(:disabled):hover{background-color:var(--surface-glass-chip-hover)}:root[data-theme=dark] .mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:invert()brightness(1.8)}.mapboxgl-popup-content{background:var(--surface-glass-strong);-webkit-backdrop-filter:var(--blur-glass);color:var(--ink-primary);border:1px solid var(--border-glass);border-radius:var(--radius-panel);box-shadow:var(--shadow-glass);padding:14px 16px 16px}.mapboxgl-popup-tip{border-top-color:var(--surface-glass-strong);border-bottom-color:var(--surface-glass-strong)}.mapboxgl-popup-close-button{color:var(--ink-secondary)}.mapboxgl-ctrl-scale{background:var(--surface-glass);border-color:var(--border-glass);color:var(--ink-secondary);font-family:var(--font-mono);font-size:10px}.mapboxgl-ctrl-attrib{color:var(--ink-secondary);background:var(--surface-glass)!important}.avalanche-popup{flex-direction:column;gap:4px;min-width:160px;font-size:13px;display:flex}.avalanche-popup strong{color:var(--ink-primary);font-size:14px}.avalanche-popup__note{color:var(--ink-muted);margin-bottom:2px;font-size:11px}.avalanche-popup a{color:var(--accent)}.layers-panel-control{-webkit-backdrop-filter:none;position:relative;overflow:visible}.layers-panel-control__toggle svg{width:16px;height:16px}.layers-panel-control .mapboxgl-ctrl-icon:first-child{border-radius:var(--radius-card);justify-content:center;align-items:center;display:flex}.layers-panel{width:340px;max-height:calc(100vh - 2 * var(--map-gutter));box-sizing:border-box;border-radius:var(--radius-panel);background:var(--surface-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass);position:absolute;top:0;right:calc(100% + 8px);overflow-y:auto}.layers-panel__header{border-bottom:1px solid var(--border-hairline);align-items:center;gap:10px;padding:16px 18px 14px;display:flex}.layers-panel__title{color:var(--ink-primary);margin:0;font-size:15px;font-weight:600}.layers-panel .layers-panel__close{background:var(--surface-glass-chip);width:24px;height:24px;color:var(--ink-secondary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.layers-panel__close:hover{background:var(--surface-glass-chip-hover)}.layers-panel__close svg{width:13px;height:13px}.layers-panel__body{padding:16px 18px 18px}.layers-panel__section-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin:22px 0 10px;font-size:10px;font-weight:500}.layers-panel__section-title:first-child{margin-top:0}.layers-panel__visually-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.layers-panel__basemaps{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.layers-panel__basemap{cursor:pointer;flex-direction:column;gap:6px;display:flex}.layers-panel__swatch{aspect-ratio:4/3;border-radius:var(--radius-control);box-shadow:0 0 0 1px var(--border-hairline);transition:box-shadow .15s,transform .1s;position:relative;overflow:hidden}.layers-panel__basemap:hover .layers-panel__swatch{transform:translateY(-1px)}.layers-panel__basemap.is-selected .layers-panel__swatch{box-shadow:0 0 0 2px var(--accent), 0 0 0 4px var(--accent-soft)}.layers-panel__swatch-img{object-fit:cover;width:100%;height:100%;display:block}.layers-panel__swatch--topo{background:linear-gradient(155deg,#dcead0,#9dc47f 60%,#6d9a55)}.layers-panel__swatch--satellite{background:linear-gradient(150deg,#7d8d55,#4c5a32 55%,#26331d)}.layers-panel__swatch--winter{background:linear-gradient(155deg,#f2f8fc,#cfe2f0 55%,#93b1cf)}.layers-panel__basemap-label{color:var(--ink-primary);text-align:center;font-size:12px;font-weight:500}.layers-panel__basemap.is-selected .layers-panel__basemap-label{color:var(--accent-strong);font-weight:600}.layers-panel__rows{flex-direction:column;display:flex}.layers-panel__row{border-bottom:1px solid var(--border-hairline);cursor:pointer;align-items:center;gap:11px;padding:11px 0;display:flex}.layers-panel__row:last-child{border-bottom:none}.layers-panel__row-icon{border-radius:9px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.layers-panel__row-icon svg{width:15px;height:15px}.layers-panel__row-icon--ign{color:#5c4419;background:linear-gradient(155deg,#fbf3df,#dcc487)}.layers-panel__row-icon--trails{color:#3f6b34;background:linear-gradient(155deg,#e2f0d6,#a6cd80)}.layers-panel__row-icon--shelters{color:#6b3f16;background:linear-gradient(155deg,#fde8d2,#e8ab6d)}.layers-panel__row-icon--slopeAngle{color:#fff;background:linear-gradient(100deg,#4caf50,#ffd54f 38%,#f08c2e 62%,#d9432e 82%,#8e3a9e)}.layers-panel__row-icon--avalancheRegions{color:#fff;background:linear-gradient(155deg,#fde3d0,#e88a53)}.layers-panel__row-fields{flex-direction:column;gap:1px;min-width:0;display:flex}.layers-panel__row-label{color:var(--ink-primary);font-size:13px;font-weight:500}.layers-panel__row-sub{color:var(--ink-muted);font-size:11px}.layers-panel__switch{border-radius:var(--radius-chip);background:var(--gridline);flex:none;width:34px;height:20px;margin-left:auto;transition:background-color .15s;position:relative}.layers-panel__switch:after{content:"";border-radius:var(--radius-chip);background:var(--surface-panel);width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #1428244d}.layers-panel__row.is-on .layers-panel__switch{background:var(--accent)}.layers-panel__row.is-on .layers-panel__switch:after{transform:translate(14px)}.layers-panel__row:focus-within .layers-panel__switch{outline:2px solid var(--accent);outline-offset:2px}.layers-panel__chips{flex-wrap:wrap;gap:6px;display:flex}.layers-panel .layers-panel__chip,.layers-panel .layers-panel__chip:first-child,.layers-panel .layers-panel__chip:last-child{border-radius:var(--radius-chip);background:var(--surface-glass-chip);width:auto;height:auto;color:var(--ink-secondary);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;border:none;padding:6px 11px;font-size:12px;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.layers-panel__chip:hover:not(.is-selected){background:var(--surface-glass-chip-hover)}.layers-panel__chip.is-selected{background:var(--accent);color:var(--accent-ink);font-weight:600}.confirm-dialog__message{color:var(--ink-secondary);margin:0 0 20px;font-size:13px;line-height:1.5}.confirm-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.confirm-dialog__cancel{border:1px solid var(--border-glass);background:var(--surface-glass-chip);color:var(--ink-primary);cursor:pointer;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600}.confirm-dialog__cancel:hover{background:var(--surface-glass-strong)}.confirm-dialog__confirm{background:var(--status-critical);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600}.confirm-dialog__confirm:hover{opacity:.9}.import-dropzone{z-index:9;box-sizing:border-box;background:var(--scrim);-webkit-backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.import-dropzone__card{border-radius:var(--radius-panel);border:2px dashed var(--accent);background:var(--surface-glass-strong);text-align:center;padding:40px 56px}.import-dropzone__icon{width:28px;height:28px;color:var(--accent)}.import-dropzone__title{color:var(--ink-primary);margin:10px 0 3px;font-size:16px;font-weight:600}.import-dropzone__hint{color:var(--ink-muted);margin:0;font-size:12.5px}.import-toast{z-index:8;left:calc(var(--rail-width) + 2 * var(--map-gutter));bottom:var(--map-gutter);box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-glass-strong);max-width:420px;-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass);align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed}.import-toast__body{flex-direction:column;gap:6px;display:flex}.import-toast__summary{align-items:center;gap:14px;display:flex}.import-toast__label{color:var(--ink-primary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.import-toast__label svg{width:15px;height:15px}.import-toast__ok{color:var(--accent)}.import-toast__label--error{color:var(--status-critical)}.import-toast__errors{color:var(--ink-secondary);margin:0;padding-left:21px;font-size:11.5px;line-height:1.5}.import-toast__spinner{border-radius:var(--radius-chip);border:2px solid var(--gridline);border-top-color:var(--accent);width:15px;height:15px;animation:.7s linear infinite import-toast-spin}@keyframes import-toast-spin{to{transform:rotate(360deg)}}.app-shell{flex-direction:column;width:100%;height:100vh;display:flex;position:relative}.app-body{flex:auto;min-height:0;position:relative}.app-map{z-index:0;position:absolute;inset:0}
