:root{color-scheme:light dark;--c-bg: #f5f6f4;--c-surface: #ffffff;--c-surface-2: #f0f2ef;--c-surface-3: #e6e9e4;--c-text: #17201a;--c-text-2: #56615a;--c-text-3: #838c86;--c-border: #e2e6e1;--c-border-strong: #cdd3cc;--c-accent: #2e6b3f;--c-accent-hover: #255a34;--c-accent-soft: #e5f0e7;--c-on-accent: #ffffff;--c-focus: #2e6b3f;--c-scrim: rgba(17, 22, 18, .45);--c-easy: #2f7d4a;--c-moderate: #2f63a8;--c-hard: #1c1f1d;--c-ok: #2f7d4a;--c-caution: #a86a00;--c-caution-soft: #fdf3dc;--c-danger: #b3261e;--c-danger-soft: #fbe9e7;--c-star: #e0a100;--c-map-line: #d6471f;--c-map-line-casing: #ffffff;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--t-xs: 12px;--t-sm: 13px;--t-base: 15px;--t-md: 17px;--t-lg: 20px;--t-xl: 24px;--t-2xl: 30px;--t-3xl: 36px;--lh-tight: 1.2;--lh-base: 1.45;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--sh-1: 0 1px 2px rgba(20, 30, 22, .06), 0 1px 1px rgba(20, 30, 22, .04);--sh-2: 0 2px 8px rgba(20, 30, 22, .08), 0 1px 2px rgba(20, 30, 22, .06);--sh-3: 0 8px 28px rgba(20, 30, 22, .14), 0 2px 6px rgba(20, 30, 22, .06);--sh-sheet: 0 -4px 24px rgba(20, 30, 22, .12);--touch: 44px;--tabbar-h: 56px;--header-h: 64px;--list-w: 440px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--ease: cubic-bezier(.2, .8, .2, 1)}@media(prefers-color-scheme:dark){:root{--c-bg: #0f1411;--c-surface: #171d19;--c-surface-2: #1e2620;--c-surface-3: #27302a;--c-text: #eef2ee;--c-text-2: #a9b3ac;--c-text-3: #7c867f;--c-border: #29322c;--c-border-strong: #3a453d;--c-accent: #5fb37a;--c-accent-hover: #74c28c;--c-accent-soft: #1d3324;--c-on-accent: #0c1a10;--c-focus: #74c28c;--c-scrim: rgba(0, 0, 0, .6);--c-easy: #62c083;--c-moderate: #74a7ea;--c-hard: #e8ece9;--c-ok: #62c083;--c-caution: #f0b545;--c-caution-soft: #34290f;--c-danger: #ff8a80;--c-danger-soft: #3a1714;--sh-1: 0 1px 2px rgba(0, 0, 0, .4);--sh-2: 0 2px 8px rgba(0, 0, 0, .45);--sh-3: 0 8px 28px rgba(0, 0, 0, .55);--sh-sheet: 0 -4px 24px rgba(0, 0, 0, .5)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--t-base);line-height:var(--lh-base);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--t-2xl);line-height:var(--lh-tight);font-weight:var(--w-bold);letter-spacing:-.01em}h2{font-size:var(--t-lg);line-height:var(--lh-tight);font-weight:var(--w-bold);letter-spacing:-.005em}h3{font-size:var(--t-md);line-height:var(--lh-tight);font-weight:var(--w-semibold)}a{color:var(--c-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:6px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.muted{color:var(--c-text-2)}.subtle{color:var(--c-text-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--touch);padding:0 var(--s-5);border-radius:var(--r-pill);border:1px solid transparent;font-size:var(--t-base);font-weight:var(--w-semibold);line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .12s var(--ease),border-color .12s var(--ease),transform .12s var(--ease);-webkit-tap-highlight-color:transparent}.btn:hover{text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn--primary{background:var(--c-accent);color:var(--c-on-accent)}.btn--primary:hover:not(:disabled){background:var(--c-accent-hover)}.btn--secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--c-surface-2)}.btn--ghost{background:transparent;color:var(--c-text)}.btn--ghost:hover:not(:disabled){background:var(--c-surface-2)}.btn--block{width:100%}.btn--lg{min-height:52px;font-size:var(--t-md)}.btn svg{flex:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);flex:none;border-radius:var(--r-pill);border:0;background:transparent;color:var(--c-text);cursor:pointer;-webkit-tap-highlight-color:transparent}.icon-btn:hover{background:var(--c-surface-2)}.icon-btn--float{background:var(--c-surface);box-shadow:var(--sh-2)}.icon-btn--float:hover{background:var(--c-surface)}.action-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--s-2)}.action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:var(--s-2);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--c-text);cursor:pointer;text-decoration:none}.action:hover{background:var(--c-surface-2);text-decoration:none}.action[aria-pressed=true]{color:var(--c-accent);border-color:var(--c-accent);background:var(--c-accent-soft)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.card--pad{padding:var(--s-4)}.card--raised{border-color:transparent;box-shadow:var(--sh-2)}.card__title{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.card__title h3{font-size:var(--t-md)}.section{padding:var(--s-6) 0;border-top:1px solid var(--c-border)}.section:first-child{border-top:0}.section>h2{margin-bottom:var(--s-4)}.section__foot{margin-top:var(--s-3);font-size:var(--t-xs);color:var(--c-text-3)}.stats{display:grid;grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr))}.stat{padding:0 var(--s-3);border-left:1px solid var(--c-border);min-width:0}.stat:first-child{padding-left:0;border-left:0}.stat__label{font-size:var(--t-xs);color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat__value{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--t-lg);font-weight:var(--w-semibold);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat__value small{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--c-text-2);margin-left:2px}.stats--lg .stat__value{font-size:var(--t-xl)}@media(max-width:599px){.stats:not(.stats--lg){grid-template-columns:repeat(min(var(--cols, 4),2),minmax(0,1fr));row-gap:var(--s-3)}.stats:not(.stats--lg) .stat:nth-child(odd){padding-left:0;border-left:0}}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:3px;gap:2px;border-radius:var(--r-pill);background:var(--c-surface-2);border:1px solid var(--c-border)}.seg__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 var(--s-3);border:0;border-radius:var(--r-pill);background:transparent;color:var(--c-text-2);font-size:var(--t-sm);font-weight:var(--w-semibold);cursor:pointer;white-space:nowrap;min-width:0;-webkit-tap-highlight-color:transparent}.seg__label{min-width:0;overflow:hidden;text-overflow:ellipsis}.seg__btn[aria-checked=true]{background:var(--c-surface);color:var(--c-text);box-shadow:var(--sh-1)}.seg--float{background:var(--c-surface);box-shadow:var(--sh-2);border-color:transparent}.seg--float .seg__btn[aria-checked=true]{background:var(--c-accent);color:var(--c-on-accent);box-shadow:none}.row{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:72px;padding:var(--s-3) var(--s-4);background:transparent;border:0;text-align:left;color:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.row:hover{background:var(--c-surface-2);text-decoration:none}.row--static{cursor:default}.row--static:hover{background:transparent}.row+.row{border-top:1px solid var(--c-border)}.row__media{flex:none;width:88px;height:66px;border-radius:var(--r-md);overflow:hidden;background:var(--c-surface-2);display:flex;align-items:center;justify-content:center;color:var(--c-text-3)}.row__media img{width:100%;height:100%;object-fit:cover}.row__media--icon{width:44px;height:44px;border-radius:var(--r-pill);background:var(--c-accent-soft);color:var(--c-accent)}.row__body{flex:1;min-width:0}.row__title{font-size:var(--t-base);font-weight:var(--w-semibold);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.row__meta{margin-top:2px;font-size:var(--t-sm);color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__meta+.row__meta{margin-top:0}.row__trail{flex:none;color:var(--c-text-3)}.diff{display:inline-flex;align-items:center;gap:5px;font-weight:var(--w-medium)}.diff:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.diff--easy{color:var(--c-easy)}.diff--moderate{color:var(--c-moderate)}.diff--hard{color:var(--c-hard)}.rating{display:inline-flex;align-items:center;gap:3px;color:var(--c-text);font-weight:var(--w-medium)}.rating svg{color:var(--c-star);fill:var(--c-star)}.dot-sep:before{content:"·";margin:0 6px;color:var(--c-text-3)}.badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-text-2);font-size:var(--t-xs);font-weight:var(--w-semibold);white-space:nowrap}.badge--accent{background:var(--c-accent-soft);color:var(--c-accent)}.badge--caution{background:var(--c-caution-soft);color:var(--c-caution)}.badge--danger{background:var(--c-danger-soft);color:var(--c-danger)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-10) var(--s-6)}.empty__icon{width:56px;height:56px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;background:var(--c-accent-soft);color:var(--c-accent)}.empty h3{font-size:var(--t-md)}.empty p{color:var(--c-text-2);max-width:34ch}.skel{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--c-surface-2) 0%,var(--c-surface-3) 50%,var(--c-surface-2) 100%);background-size:200% 100%;animation:skel 1.4s ease-in-out infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skel{animation:none}}.toasts{position:fixed;left:50%;transform:translate(-50%);z-index:100;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--s-4));display:flex;flex-direction:column;gap:var(--s-2);width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--c-text);color:var(--c-bg);box-shadow:var(--sh-3);font-size:var(--t-sm);font-weight:var(--w-medium);pointer-events:auto;animation:toast-in .2s var(--ease)}.toast--error{background:var(--c-danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media(min-width:1024px){.toasts{bottom:var(--s-6)}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--c-surface);border-top:1px solid var(--c-border)}.tabbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--c-text-3);font-size:11px;font-weight:var(--w-semibold);text-decoration:none;-webkit-tap-highlight-color:transparent}.tabbar__item:hover{text-decoration:none;color:var(--c-text-2)}.tabbar__item[aria-current=page]{color:var(--c-accent)}.topbar{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--header-h);display:flex;align-items:center;gap:var(--s-8);padding:0 var(--s-6);background:var(--c-surface);border-bottom:1px solid var(--c-border)}.brand{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--c-text);letter-spacing:-.01em;text-decoration:none}.brand:hover{text-decoration:none}.brand__mark{width:32px;height:32px;border-radius:9px;background:var(--c-accent);color:var(--c-on-accent);display:inline-flex;align-items:center;justify-content:center}.topbar__nav{display:flex;gap:var(--s-1);height:100%}.topbar__item{display:inline-flex;align-items:center;gap:var(--s-2);height:100%;padding:0 var(--s-4);color:var(--c-text-2);font-weight:var(--w-semibold);text-decoration:none;border-bottom:2px solid transparent}.topbar__item:hover{color:var(--c-text);text-decoration:none}.topbar__item[aria-current=page]{color:var(--c-text);border-bottom-color:var(--c-accent)}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:20;display:flex;flex-direction:column;background:var(--c-surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-sheet);will-change:transform;touch-action:none}.sheet--anim{transition:transform .28s var(--ease)}.sheet__grab{flex:none;padding:var(--s-2) 0 var(--s-1);cursor:grab;touch-action:none}.sheet__handle{width:40px;height:5px;margin:0 auto;border-radius:var(--r-pill);background:var(--c-border-strong)}.sheet__head{flex:none;padding:0 var(--s-4) var(--s-2);touch-action:none}.sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.sheet--peek .sheet__body{overflow:hidden}.modal-scrim{position:fixed;inset:0;z-index:60;background:var(--c-scrim);animation:fade .16s ease}@keyframes fade{0%{opacity:0}}.modal{position:fixed;z-index:61;left:0;right:0;bottom:0;max-height:88vh;display:flex;flex-direction:column;background:var(--c-surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-3);padding-bottom:var(--safe-bottom);animation:modal-up .24s var(--ease)}@keyframes modal-up{0%{transform:translateY(24px);opacity:0}}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-2) var(--s-3) var(--s-5);border-bottom:1px solid var(--c-border)}.modal__body{flex:1;overflow-y:auto;padding:var(--s-2) var(--s-5) var(--s-4)}.modal__foot{display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-5) var(--s-4);border-top:1px solid var(--c-border)}@media(min-width:1024px){.modal{inset:50% auto auto 50%;width:480px;transform:translate(-50%,-50%);border-radius:var(--r-xl);animation:fade .16s ease}}.field{padding:var(--s-4) 0;border-bottom:1px solid var(--c-border)}.field:last-child{border-bottom:0}.field__label{display:block;margin-bottom:var(--s-3);font-size:var(--t-base);font-weight:var(--w-semibold)}.choice-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.choice{min-height:40px;padding:0 var(--s-4);border-radius:var(--r-pill);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);font-size:var(--t-sm);font-weight:var(--w-semibold);cursor:pointer}.choice[aria-pressed=true]{background:var(--c-text);color:var(--c-surface);border-color:var(--c-text)}.search{display:flex;align-items:center;gap:var(--s-2);height:48px;padding:0 var(--s-1) 0 var(--s-4);border-radius:var(--r-pill);background:var(--c-surface);border:1px solid var(--c-border)}.search--float{border-color:transparent;box-shadow:var(--sh-2)}.search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--c-text);font:inherit;font-size:16px}.search input::placeholder{color:var(--c-text-3)}.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search svg{flex:none;color:var(--c-text-2)}.search__filter{position:relative}.search__count{position:absolute;top:6px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--c-accent);color:var(--c-on-accent);font-size:10px;font-weight:var(--w-bold);line-height:16px;text-align:center}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:var(--touch)}.switch{position:relative;width:50px;height:30px;flex:none;border-radius:var(--r-pill);border:0;background:var(--c-surface-3);cursor:pointer;transition:background .16s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--sh-1);transition:transform .16s var(--ease)}.switch[aria-checked=true]{background:var(--c-accent)}.switch[aria-checked=true]:after{transform:translate(20px)}.app__main{position:fixed;inset:0 0 calc(var(--tabbar-h) + var(--safe-bottom)) 0;overflow:hidden}@media(min-width:1024px){.app__main{inset:var(--header-h) 0 0 0}}.page-loading{height:100%;background:var(--c-bg)}.page{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--c-surface)}.page__inner{max-width:1180px;margin:0 auto;padding:0 var(--s-4) var(--s-12)}.page__head{padding:calc(var(--safe-top) + var(--s-6)) 0 var(--s-4)}.page__head h1{font-size:var(--t-2xl)}.page__sub{margin-top:var(--s-1);color:var(--c-text-2)}@media(min-width:1024px){.page__inner{padding:0 var(--s-8) var(--s-16)}.page__head{padding-top:var(--s-8)}}.map{position:relative;width:100%;height:100%;background:#e8ebe4;overflow:hidden}.map__canvas{width:100%;height:100%}.map__controls{position:absolute;right:var(--s-3);bottom:var(--s-3);z-index:2;display:grid;gap:var(--s-2);justify-items:end}.map-menu{position:absolute;right:calc(var(--touch) + var(--s-2));bottom:0;z-index:3;width:260px;padding:var(--s-2);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-3)}.map-menu__title{padding:var(--s-1) var(--s-2) var(--s-2);font-size:var(--t-xs);font-weight:var(--w-semibold);color:var(--c-text-2);text-transform:uppercase;letter-spacing:.04em}.map-menu__item{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:52px;padding:var(--s-2);border:0;border-radius:var(--r-md);background:transparent;text-align:left;font-weight:var(--w-semibold);cursor:pointer;color:var(--c-text)}.map-menu__item:hover{background:var(--c-surface-2)}.map-menu__item small{display:block;font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--c-text-2)}.map-menu__item[aria-checked=true]{color:var(--c-accent)}.map-menu__swatch{width:40px;height:40px;flex:none;border-radius:var(--r-sm);border:1px solid var(--c-border)}.map-menu__swatch--outdoors{background:linear-gradient(135deg,#cfe2c0 0 45%,#f6f4ee 45% 60%,#9ebdff 60%)}.map-menu__swatch--satellite{background:radial-gradient(circle at 30% 30%,#7d8a5a,#3f4a2f 55%,#8c7a5c)}.map-callout .maplibregl-popup-content{padding:6px 10px;border-radius:var(--r-sm);font:600 var(--t-sm)/1.3 var(--font);color:var(--c-text);box-shadow:var(--sh-2)}.map-menu__swatch--topo{background:repeating-linear-gradient(160deg,#efe9d6 0 6px,#c9a77a 6px 7px),#efe9d6}.maplibregl-ctrl-attrib{font-size:10px}.maplibregl-ctrl-bottom-right{right:64px}.explore,.explore__map{position:absolute;inset:0}.explore__top{position:absolute;z-index:10;left:0;right:0;top:0;padding:calc(var(--safe-top) + var(--s-3)) var(--s-3) var(--s-3);display:grid;gap:var(--s-2);pointer-events:none}.explore__top>*{pointer-events:auto}.explore .map__controls{bottom:auto;top:calc(var(--safe-top) + 128px)}.explore .map-menu{bottom:auto;top:0}.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding:var(--s-1) 0 var(--s-2)}.list-head h2{font-size:var(--t-md)}.list-head__count{font-size:var(--t-sm);color:var(--c-text-2)}.list-note{padding:var(--s-4);color:var(--c-text-2);font-size:var(--t-sm);text-align:center}@media(min-width:1024px){.explore{display:grid;grid-template-columns:var(--list-w) 1fr}.explore__panel{position:relative;z-index:5;display:flex;flex-direction:column;min-height:0;background:var(--c-surface);border-right:1px solid var(--c-border)}.explore__panel-head{padding:var(--s-4) var(--s-4) var(--s-2);display:grid;gap:var(--s-3);border-bottom:1px solid var(--c-border)}.explore__list{flex:1;min-height:0;overflow-y:auto}.explore__map{position:relative;inset:auto}.explore .map__controls{top:var(--s-4);bottom:auto}}.detail{background:var(--c-surface)}.hero{position:relative;height:280px;background:var(--c-surface-2);overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover}.hero__credit{position:absolute;right:var(--s-3);bottom:var(--s-3);padding:2px 8px;border-radius:var(--r-pill);background:#00000080;color:#fff;font-size:11px}.hero--carousel{overflow:hidden}.carousel{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.carousel img{flex:none;width:100%;scroll-snap-align:center}.detail__nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + var(--s-2)) var(--s-2) var(--s-2)}.detail__nav--over{position:absolute;left:0;right:0;top:0}.detail__nav--bar{background:var(--c-surface);border-bottom:1px solid var(--c-border)}.back-btn{display:inline-flex;align-items:center;gap:6px;min-height:var(--touch);padding:0 var(--s-4) 0 var(--s-3);border:1px solid var(--c-border-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font:inherit;font-weight:var(--w-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent}.back-btn:hover{background:var(--c-surface-2)}.back-btn--float{border-color:transparent;box-shadow:var(--sh-2)}.detail__title{padding:var(--s-5) 0 var(--s-4)}.detail__title h1{font-size:var(--t-2xl)}.detail__meta{display:flex;flex-wrap:wrap;align-items:center;margin-top:var(--s-2);color:var(--c-text-2);font-size:var(--t-sm)}.detail__stats{padding:var(--s-4) 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.detail__actions{display:grid;gap:var(--s-3);padding:var(--s-5) 0}.detail__map{height:340px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border)}.map-note{margin-top:var(--s-2);font-size:var(--t-xs);color:var(--c-text-3)}.detail__body{min-width:0}.detail__aside{display:none}.stars{position:relative;display:inline-block;height:20px;flex:none}.stars__row{display:inline-flex;gap:2px;position:absolute;left:0;top:0}.stars__row svg{flex:none}.stars__row--base svg{color:var(--c-border-strong, var(--c-border));fill:var(--c-border-strong, var(--c-border))}.stars__row--on svg{color:var(--c-star);fill:var(--c-star)}.stars__clip{position:absolute;left:0;top:0;height:100%;overflow:hidden}.rating-head{margin-top:var(--s-3)}.rating-head__main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3)}.rating-head__value{font-size:var(--t-2xl);font-weight:var(--w-semibold);line-height:1}.rating-head__count{color:var(--c-text-2);font-size:var(--t-sm)}.rating-head__src{margin-top:var(--s-1);color:var(--c-text-2);font-size:var(--t-xs)}.rating-bars{display:grid;gap:var(--s-2);max-width:420px}.rating-bars__row{display:grid;grid-template-columns:30px minmax(0,1fr) 52px;align-items:center;gap:var(--s-3);font-size:var(--t-sm);color:var(--c-text-2)}.rating-bars__star{display:inline-flex;align-items:center;gap:2px}.rating-bars__star svg{color:var(--c-star);fill:var(--c-star)}.rating-bars__n{text-align:right}.choice__rating{display:inline-flex;align-items:center;gap:2px}.choice__rating svg{fill:currentColor}.at-note{margin-top:var(--s-4)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4) var(--s-6)}.fact__label{font-size:var(--t-xs);color:var(--c-text-2)}.fact__value{font-weight:var(--w-medium)}.prose{color:var(--c-text);max-width:68ch;white-space:pre-line}.source-line{margin-top:var(--s-3);font-size:var(--t-xs);color:var(--c-text-3)}@media(min-width:1024px){.hero{height:420px;max-width:1180px;margin:var(--s-6) auto 0;border-radius:var(--r-xl)}.detail__nav,.detail__nav--over,.detail__nav--bar{position:static;max-width:1180px;margin:0 auto;padding:var(--s-5) var(--s-8) 0;background:none;border:0}.detail__nav .back-btn--float{background:var(--c-surface);box-shadow:none;border:1px solid var(--c-border-strong)}.detail__nav .icon-btn--float{box-shadow:none;border:1px solid var(--c-border-strong)}.detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-10);align-items:start}.detail__aside{display:block;position:sticky;top:var(--s-6);padding-top:var(--s-6)}.detail__aside .detail__map{height:calc(100vh - var(--header-h) - 64px);min-height:420px}.detail__body .detail__map--inline{display:none}.detail__title{padding-top:var(--s-8)}.detail__title h1{font-size:var(--t-3xl)}.detail__actions{grid-template-columns:200px 1fr;align-items:center}.crumbs{padding-top:var(--s-6);font-size:var(--t-sm);color:var(--c-text-2)}}@media(max-width:1023px){.crumbs{display:none}}.elev{position:relative;-webkit-user-select:none;user-select:none;touch-action:pan-y}.elev svg{display:block;width:100%;overflow:visible}.elev__readout{display:flex;gap:var(--s-4);min-height:22px;margin-bottom:var(--s-2);font-size:var(--t-sm);color:var(--c-text-2)}.elev__readout strong{color:var(--c-text);font-weight:var(--w-semibold)}.elev__axis{font-size:11px;fill:var(--c-text-3);font-family:var(--font-num)}.wx-now{display:flex;align-items:center;gap:var(--s-4)}.wx-now__temp{font-family:var(--font-num);font-size:56px;font-weight:var(--w-semibold);line-height:1;letter-spacing:-.03em}.wx-now__icon{color:var(--c-text-2)}.wx-hours{display:flex;gap:var(--s-1);overflow-x:auto;padding-bottom:var(--s-2);scrollbar-width:thin}.wx-hour{flex:none;width:56px;display:grid;justify-items:center;gap:6px;padding:var(--s-2) 0;border-radius:var(--r-md);font-size:var(--t-sm)}.wx-hour--storm{background:var(--c-caution-soft)}.wx-hour__t{font-family:var(--font-num);font-weight:var(--w-semibold);font-size:var(--t-base)}.wx-hour__p{font-size:11px;color:var(--c-moderate);min-height:14px}.wx-days{display:grid}.wx-day{display:grid;grid-template-columns:52px 28px 44px 1fr 44px 64px;align-items:center;gap:var(--s-2);min-height:48px;border-top:1px solid var(--c-border);font-size:var(--t-base)}.wx-day:first-child{border-top:0}.wx-day__name{font-weight:var(--w-semibold)}.wx-day__lo{color:var(--c-text-2);text-align:right;font-family:var(--font-num)}.wx-day__hi{font-family:var(--font-num);font-weight:var(--w-semibold)}.wx-day__bar{height:6px;border-radius:var(--r-pill);background:var(--c-surface-2);position:relative}.wx-day__bar i{position:absolute;top:0;bottom:0;border-radius:var(--r-pill);background:linear-gradient(90deg,#6aa7d8,#e3b04b)}.wx-day__extra{font-size:var(--t-xs);color:var(--c-text-2);text-align:right;line-height:1.3}.risk{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4);border-radius:var(--r-lg)}.risk+.risk{margin-top:var(--s-2)}.risk--ok{background:var(--c-surface-2)}.risk--caution{background:var(--c-caution-soft)}.risk--danger{background:var(--c-danger-soft)}.risk__icon{flex:none;margin-top:1px}.risk--ok .risk__icon{color:var(--c-ok)}.risk--caution .risk__icon{color:var(--c-caution)}.risk--danger .risk__icon{color:var(--c-danger)}.risk h3{font-size:var(--t-base)}.risk p{font-size:var(--t-sm);color:var(--c-text-2);margin-top:2px}.sources{display:grid;gap:4px;font-size:var(--t-xs);color:var(--c-text-3)}.weather-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.weather-map{height:220px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border)}@media(min-width:1024px){.weather-layout{grid-template-columns:minmax(0,1fr) 380px;gap:var(--s-8);align-items:start}.weather-side{position:sticky;top:var(--s-6);display:grid;gap:var(--s-4)}.weather-map{height:300px}}.pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.pair__col{padding:var(--s-4);border-radius:var(--r-lg);background:var(--c-surface-2);min-width:0}.pair__label{font-size:var(--t-xs);color:var(--c-text-2);font-weight:var(--w-semibold);text-transform:uppercase;letter-spacing:.04em}.pair__elev{font-size:var(--t-xs);color:var(--c-text-3)}.pair__temp{font-family:var(--font-num);font-size:var(--t-2xl);font-weight:var(--w-semibold);margin-top:var(--s-2);display:flex;align-items:center;gap:var(--s-2)}.pair__rows{margin-top:var(--s-2);display:grid;gap:2px;font-size:var(--t-sm);color:var(--c-text-2)}.record{position:absolute;inset:0;display:flex;flex-direction:column}.record__map{flex:1;min-height:0;position:relative}.record__panel{flex:none;padding:var(--s-4) var(--s-4) var(--s-5);background:var(--c-surface);border-top:1px solid var(--c-border);display:grid;gap:var(--s-4)}.record__status{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-sm);color:var(--c-text-2)}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--c-text-3)}.rec-dot--on{background:var(--c-danger);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}@media(min-width:1024px){.record{flex-direction:row}.record__panel{order:-1;width:var(--list-w);border-top:0;border-right:1px solid var(--c-border);align-content:start;padding:var(--s-6)}}.settings-list .row{min-height:56px}.route-card{position:absolute;z-index:25;left:var(--s-3);right:var(--s-3);bottom:126px;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-3);animation:modal-up .22s var(--ease)}.route-card__link{display:flex;gap:var(--s-3);padding:var(--s-3);padding-right:48px;color:inherit;text-decoration:none}.route-card__link:hover{text-decoration:none}.route-card__media{flex:none;width:92px;height:92px;border-radius:var(--r-md);overflow:hidden;background:var(--c-accent-soft);color:var(--c-accent);display:flex;align-items:center;justify-content:center}.route-card__media img{width:100%;height:100%;object-fit:cover}.route-card__body{min-width:0;display:grid;gap:2px;align-content:center}.route-card__title{font-weight:var(--w-bold);font-size:var(--t-md);line-height:1.25}.route-card__cta{display:inline-flex;align-items:center;gap:2px;margin-top:4px;color:var(--c-accent);font-weight:var(--w-semibold);font-size:var(--t-sm)}.route-card__close{position:absolute;top:4px;right:4px}@media(min-width:1024px){.route-card{left:calc(var(--list-w) + var(--s-6));right:auto;bottom:var(--s-6);width:420px}}.fullmap{position:fixed;inset:0;z-index:70;background:var(--c-bg)}.fullmap .map{height:100%}.fullmap__bar{position:absolute;top:calc(var(--safe-top) + var(--s-3));left:var(--s-3);right:72px;display:flex;align-items:center;gap:var(--s-3);pointer-events:none}.fullmap__bar>*{pointer-events:auto}.fullmap__title{padding:8px 14px;border-radius:var(--r-pill);background:var(--c-surface);box-shadow:var(--sh-2);font-weight:var(--w-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fullmap .map__controls{top:calc(var(--safe-top) + var(--s-3));bottom:auto}.fullmap .map-menu{top:0;bottom:auto}.chip-clear{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 var(--s-3);border:1px solid var(--c-accent);border-radius:var(--r-pill);background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--t-sm);font-weight:var(--w-semibold);cursor:pointer}.list-head{flex-wrap:wrap}.startby{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4);border-radius:var(--r-lg);background:var(--c-surface-2)}.startby--caution{background:var(--c-caution-soft)}.startby--danger{background:var(--c-danger-soft)}.startby__icon{flex:none;margin-top:2px;color:var(--c-ok)}.startby--caution .startby__icon{color:var(--c-caution)}.startby--danger .startby__icon{color:var(--c-danger)}.startby__body{min-width:0}.startby h3{font-size:var(--t-md);line-height:1.3}.startby p{margin-top:var(--s-1);font-size:var(--t-sm);color:var(--c-text)}.startby .startby__meta{font-size:var(--t-xs);color:var(--c-text-2)}.map-menu__title--sep{margin-top:var(--s-1);padding-top:var(--s-3);border-top:1px solid var(--c-border)}.map-menu__item--sm{min-height:48px}.map--hud .map__controls{bottom:auto;top:var(--s-3)}.wxhud,.wxcell{position:absolute;z-index:3;left:var(--s-3);right:var(--s-3);bottom:var(--wx-bottom, var(--s-3));display:grid;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-3);font-size:var(--t-sm)}.wxcell{bottom:calc(var(--wx-bottom, var(--s-3)) + 150px)}@media(min-width:1024px){.wxhud,.wxcell{left:var(--s-4);right:auto;width:360px}.explore .wxhud{bottom:var(--s-4)}}.wxhud__row{display:flex;align-items:center;gap:var(--s-2)}.wxhud__row strong{font-size:var(--t-base)}.wxhud__stamp{flex:1;text-align:right;color:var(--c-text-2);font-size:var(--t-xs)}.wxhud__seg{margin-left:auto;display:inline-flex;padding:2px;border-radius:var(--r-pill);background:var(--c-surface-2)}.wxhud__seg button{min-height:32px;padding:0 var(--s-3);border:0;border-radius:var(--r-pill);background:transparent;font:inherit;font-size:var(--t-xs);font-weight:var(--w-semibold);color:var(--c-text-2);cursor:pointer}.wxhud__seg button[aria-pressed=true]{background:var(--c-surface);color:var(--c-text);box-shadow:var(--sh-1)}.wxhud__x{margin-left:auto;width:32px;height:32px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:var(--c-surface-2);color:var(--c-text);cursor:pointer}.wxhud__seg+.wxhud__x,.wxhud__stamp+.wxhud__x{margin-left:0}.wxhud__slider{display:grid;gap:2px}.wxhud__hour{font-weight:var(--w-semibold)}.wxhud__slider input[type=range]{width:100%;height:36px;accent-color:var(--c-accent)}.wxhud__legend{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);color:var(--c-text-2);font-size:var(--t-xs)}.wxhud__legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.wxhud__src{margin:0;color:var(--c-text-2);font-size:var(--t-xs)}.wxcell__bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;height:76px;align-items:end}.wxcell__b{display:grid;grid-template-rows:12px 1fr 12px;justify-items:center;height:100%}.wxcell__bar{width:70%;height:100%;display:flex;align-items:flex-end;background:var(--c-surface-2);border-radius:3px;overflow:hidden}.wxcell__bar i{display:block;width:100%;min-height:1px}.wxcell__b--on .wxcell__bar{outline:2px solid var(--c-text)}.wxcell__z{color:#6d28b8;line-height:12px}.wxcell__h{font-size:10px;color:var(--c-text-3);line-height:12px}.weather-col{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4);min-width:0;align-content:start}.weather-map{height:340px}.map .maplibregl-ctrl-bottom-right{right:64px}.map--hud .maplibregl-ctrl-bottom-right,.map--hud .maplibregl-ctrl-bottom-left{display:none}.nowhero{display:grid;gap:var(--s-4)}.nowhero__main{display:flex;align-items:center;gap:var(--s-4)}.nowhero__icon{color:var(--c-text-2);flex:none}.nowhero__temp{font-family:var(--font-num);font-size:64px;font-weight:var(--w-semibold);line-height:1;letter-spacing:-.03em}.nowhero__temp small{display:inline-block;vertical-align:top;margin:6px 0 0 2px;font-size:var(--t-lg);font-weight:var(--w-medium);color:var(--c-text-2);letter-spacing:0}.nowhero__cond{margin-top:6px;font-size:var(--t-md);font-weight:var(--w-semibold)}.nowhero__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4);margin:0;padding-top:var(--s-3);border-top:1px solid var(--c-border)}.nowhero__facts dt{font-size:var(--t-xs);color:var(--c-text-2)}.nowhero__facts dd{margin:0;font-weight:var(--w-semibold)}.wx-hour__bar{width:8px;height:34px;border-radius:4px;background:var(--c-surface-3);display:flex;align-items:flex-end;overflow:hidden}.wx-hour__bar i{display:block;width:100%;background:var(--c-moderate);min-height:0}.wx-hour--risk{background:var(--c-caution-soft)}.wx-hour--storm .wx-hour__bar i,.wx-hour--risk .wx-hour__bar i{background:var(--c-caution)}.wx-hour__z{min-height:14px;color:#6d28b8}.storm{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;height:28px;margin-top:var(--s-3)}.storm__h{border-radius:4px;background:var(--c-surface-2)}.storm__h--1{background:#f6e29a}.storm__h--2{background:#f4a64c}.storm__h--3{background:#dc4a3d}.storm__h--past{opacity:.45}.storm__h--now{outline:2px solid var(--c-text);outline-offset:1px}.storm__axis{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-top:4px;font-size:10px;color:var(--c-text-3)}.storm__axis span{white-space:nowrap;overflow:visible}.storm__legend{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);margin-top:var(--s-3);font-size:var(--t-xs);color:var(--c-text-2)}.storm__legend i{display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:-2px}.agree__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);margin:var(--s-2) 0 0}.agree__cols dt{font-size:var(--t-xs);color:var(--c-text-2)}.agree__cols dd{margin:0;font-weight:var(--w-semibold);font-size:var(--t-sm)}.import-gpx{display:grid;gap:var(--s-2)}.import-gpx__err{margin:0;color:var(--c-danger);font-size:var(--t-sm)}.map-menu{max-height:calc(100dvh - 330px);overflow-y:auto;overscroll-behavior:contain}@media(min-width:1024px){.map-menu{max-height:calc(100dvh - 200px)}}.banner{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--c-surface-2);color:var(--c-text);font-size:var(--t-sm);line-height:1.4}.banner__icon{flex:none;margin-top:1px}.banner__body{flex:1;min-width:0}.banner__title{font-weight:var(--w-bold);font-size:var(--t-base)}.banner__action{flex:none;align-self:center}.banner--info .banner__icon{color:var(--c-text-2)}.banner--ok{background:var(--c-accent-soft)}.banner--ok .banner__icon{color:var(--c-accent)}.banner--caution{background:var(--c-caution-soft)}.banner--caution .banner__icon{color:var(--c-caution)}.banner--danger{background:var(--c-danger);color:#fff}.banner--danger .banner__icon{color:#fff}.banner--soft-danger{background:var(--c-danger-soft)}.banner--soft-danger .banner__icon{color:var(--c-danger)}.textfield{display:grid;gap:var(--s-1)}.textfield__label{font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--c-text-2)}.textfield input{height:48px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);font:inherit;font-size:16px;outline:0}.textfield input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}.progress{height:8px;border-radius:var(--r-pill);background:var(--c-surface-3);overflow:hidden}.progress>i{display:block;height:100%;border-radius:inherit;background:var(--c-accent)}.btn--danger{background:var(--c-surface);color:var(--c-danger);border-color:var(--c-danger)}.btn--danger:hover:not(:disabled){background:var(--c-danger-soft)}.btn--danger-solid{background:var(--c-danger);color:#fff}.btn--danger-solid:hover:not(:disabled){filter:brightness(.92)}.tab-icon{position:relative;display:inline-flex}.tab-icon__rec{position:absolute;top:-2px;right:-4px;width:9px;height:9px;border-radius:50%;background:var(--c-danger);border:2px solid var(--c-surface);box-sizing:content-box;animation:rec-pulse 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.tab-icon__rec{animation:none}}.slider{padding:var(--s-1) 0 var(--s-2)}.slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.slider__head .field__label{margin:0}.slider__value{font-weight:var(--w-semibold);color:var(--c-text);font-size:var(--t-base)}.slider__track{position:relative;height:44px;margin:0 14px}.slider__track:before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:2px;background:var(--c-surface-3)}.slider__track:after{content:"";position:absolute;top:50%;height:4px;margin-top:-2px;border-radius:2px;background:var(--c-accent);left:var(--lo, 0%);right:calc(100% - var(--hi, 100%))}.slider__track input[type=range]{position:absolute;left:-14px;width:calc(100% + 28px);top:0;height:44px;margin:0;padding:0;z-index:1;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;touch-action:pan-y}.slider__track input[type=range]::-webkit-slider-runnable-track{background:transparent;height:44px}.slider__track input[type=range]::-moz-range-track{background:transparent;height:44px}.slider__track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;cursor:grab;width:44px;height:44px;border-radius:50%;border:10px solid transparent;background:var(--c-surface);background-clip:padding-box;box-shadow:0 0 0 1.5px var(--c-accent) inset,var(--sh-2)}.slider__track input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:grab;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--c-accent);background:var(--c-surface);box-shadow:var(--sh-2)}.slider__track input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--c-accent-soft),0 0 0 4.5px var(--c-accent) inset,var(--sh-2)}.slider__track input[type=range]:focus-visible::-moz-range-thumb{outline:3px solid var(--c-accent-soft)}.slider__track input[type=range]:disabled{opacity:.5}.draw{position:absolute;inset:0;z-index:4;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#17201a0f}.draw__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.draw__shape{fill:color-mix(in srgb,var(--c-accent) 18%,transparent);stroke:var(--c-accent);stroke-width:3;stroke-linejoin:round;stroke-dasharray:8 6}.draw__vertex{fill:var(--c-surface);stroke:var(--c-accent);stroke-width:3}.draw__bar{position:absolute;left:var(--s-3);right:var(--s-3);bottom:var(--s-3);display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--sh-3);cursor:default;touch-action:manipulation}.draw__text{flex:1;min-width:0;font-size:var(--t-sm);font-weight:var(--w-medium)}@media(min-width:1024px){.draw__bar{left:50%;right:auto;transform:translate(-50%);bottom:var(--s-6);width:max-content;max-width:calc(100% - 48px)}}.map__controls .icon-btn--active{background:var(--c-accent);color:var(--c-on-accent)}.map__controls .icon-btn--active:hover{background:var(--c-accent-hover)}
