:root{--radius:.75rem;--primary:#4f46e5;--primary-foreground:#fff;--primary-ink:#4f46e5;--secondary:#7c3aed;--secondary-foreground:#fff;--accent:#4f46e5;--accent-foreground:#fff;--background:#fafafe;--foreground:#0f172a;--card:#ffffffd9;--card-foreground:#0f172a;--popover:#fffffff2;--popover-foreground:#0f172a;--muted:#f1f5f9;--muted-foreground:#475569;--destructive:#cf2222;--destructive-foreground:#fff;--destructive-ink:#b91c1c;--border:#4f46e538;--input:#4f46e526;--ring:#4f46e5;--chart-1:#4f46e5;--chart-2:#7c3aed;--chart-3:#6366f1;--chart-4:#e2e8f0;--chart-5:#0f172a;--sidebar:#ffffffe6;--sidebar-foreground:#0f172a;--sidebar-primary:#4f46e5;--sidebar-primary-foreground:#fff;--sidebar-accent:#4f46e50d;--sidebar-accent-foreground:#4f46e5;--sidebar-border:#4f46e51a;--sidebar-ring:#4f46e5;--app-bg-start:#eef2ff;--app-bg-middle:#fafafe;--app-bg-end:#fdf2f8;--toast-top-offset:var(--toast-top-offset-desktop);--toast-top-offset-desktop:1rem;--toast-top-offset-mobile-min:1rem;--toast-top-offset-mobile-fluid:8svh;--toast-top-offset-mobile-max:1.5rem}.dark{--background:#1a1a1a;--foreground:#f5f5f5;--card:#2d2d2d;--card-foreground:#f5f5f5;--popover:#2d2d2d;--popover-foreground:#f5f5f5;--primary:#6a5acd;--primary-foreground:#fff;--primary-ink:#a5b4fc;--secondary:#9370db;--secondary-foreground:#fff;--accent:#4f46e5;--accent-foreground:#fff;--muted:#404040;--muted-foreground:#a9a9a9;--destructive:#7f1d1d;--destructive-foreground:#f5f5f5;--destructive-ink:#fca5a5;--border:#404040;--input:#404040;--ring:#9370db;--chart-1:#6a5acd;--chart-2:#9370db;--chart-3:#818cf8;--chart-4:#404040;--chart-5:#f5f5f5;--sidebar:#2d2d2db8;--sidebar-foreground:#f5f5f5;--sidebar-primary:#6a5acd;--sidebar-primary-foreground:#fff;--sidebar-accent:#404040;--sidebar-accent-foreground:#f5f5f5;--sidebar-border:#404040;--sidebar-ring:#9370db;--app-bg-start:#030712;--app-bg-middle:#111827;--app-bg-end:#030712}:root,.share-light-surface{--gc-sky:#e8f3ff;--gc-sky-edge:#c4ddf7;--gc-sky-chip:#d3e8ff;--gc-sky-ink:#1d5fb4;--gc-cream:#fff4dc;--gc-cream-edge:#f1d8a1;--gc-cream-chip:#fde6b3;--gc-cream-ink:#8a5600;--gc-mint:#e5f6ec;--gc-mint-edge:#bce3cc;--gc-mint-chip:#cdeedb;--gc-mint-ink:#17744a;--gc-lilac:#efeafe;--gc-lilac-edge:#d6cbf7;--gc-lilac-chip:#e0d6fc;--gc-lilac-ink:#5b3cc4;--gc-peach:#ffebe0;--gc-peach-edge:#f6cdb8;--gc-peach-chip:#ffd9c6;--gc-peach-ink:#a9431a;--gc-tile:#ffffffc7}.dark{--gc-sky:#172a3d;--gc-sky-edge:#27466a;--gc-sky-chip:#1f3a58;--gc-sky-ink:#8cc4ff;--gc-cream:#302819;--gc-cream-edge:#554627;--gc-cream-chip:#463920;--gc-cream-ink:#f5ce7a;--gc-mint:#152c21;--gc-mint-edge:#285040;--gc-mint-chip:#1d4130;--gc-mint-ink:#80daa9;--gc-lilac:#241e3a;--gc-lilac-edge:#3f3464;--gc-lilac-chip:#342b56;--gc-lilac-ink:#c2b2ff;--gc-peach:#35231b;--gc-peach-edge:#5e3b2d;--gc-peach-chip:#4d3024;--gc-peach-ink:#ffab86;--gc-tile:#00000038}:root{--mascot-shadow:#0f172a1a;--mascot-body:#fffbeb;--mascot-roof:#fb923c;--mascot-trim:#f97316;--mascot-window:#bae6fd;--mascot-glint:#ffffff80;--mascot-ink:#1e293b;--mascot-cheek:#fda4afb3;--mascot-cheek-worried:#fda4af66;--mascot-tongue:#fb7185;--mascot-puff:#ffffffe6;--mascot-paper:#fff;--mascot-paper-edge:#7dd3fc;--mascot-sky:#38bdf8;--mascot-zzz:#94a3b8;--mascot-cloud:#cbd5e1}.dark{--mascot-shadow:#00000059;--mascot-body:#f5f5f4;--mascot-roof:#f97316;--mascot-trim:#ea580c;--mascot-window:#7dd3fc;--mascot-puff:#e2e8f0cc;--mascot-paper:#f1f5f9;--mascot-paper-edge:#0ea5e9;--mascot-zzz:#cbd5e1;--mascot-cloud:#64748b}@supports (color:oklch(0% 0 0)) and (color:color-mix(in oklab, red, red)){:root{--mascot-shadow:oklab(20.8% -.00310889 -.0418848/.1);--mascot-body:oklch(98.7% .022 95.277);--mascot-roof:oklch(75% .183 55.934);--mascot-trim:oklch(70.5% .213 47.604);--mascot-window:oklch(90.1% .058 230.902);--mascot-glint:oklab(100% 0 5.96046e-8/.5);--mascot-ink:oklch(27.9% .041 260.031);--mascot-cheek:oklab(81% .114595 .0236021/.7);--mascot-cheek-worried:oklab(81% .114595 .0236021/.4);--mascot-tongue:oklch(71.2% .194 13.428);--mascot-puff:oklab(100% 0 5.96046e-8/.9);--mascot-paper-edge:oklch(82.8% .111 230.318);--mascot-sky:oklch(74.6% .16 232.661);--mascot-zzz:oklch(70.4% .04 256.788);--mascot-cloud:oklch(86.9% .022 252.894)}.dark{--mascot-shadow:oklab(0% none none/.35);--mascot-body:oklch(97% .001 106.424);--mascot-roof:oklch(70.5% .213 47.604);--mascot-trim:oklch(64.6% .222 41.116);--mascot-window:oklch(82.8% .111 230.318);--mascot-puff:oklab(92.9% -.00325318 -.0125864/.8);--mascot-paper:oklch(96.8% .007 247.896);--mascot-paper-edge:oklch(68.5% .169 237.323);--mascot-zzz:oklch(86.9% .022 252.894);--mascot-cloud:oklch(55.4% .046 257.417)}}@keyframes casual-chip-in{0%{transform:translate(var(--dx), var(--dy)) scale(.85);opacity:0}15%{opacity:1}75%{opacity:1;transform:translate(0)scale(.5)}to{opacity:0;transform:translate(0)scale(.4)}}@keyframes casual-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes casual-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes casual-puff{0%{opacity:0;transform:translateY(0)scale(.6)}30%{opacity:.85}to{opacity:0;transform:translateY(-16px)scale(1.15)}}@keyframes casual-drift{0%,to{transform:translate(0)}50%{transform:translate(8px)}}.casual-anim-chip,.casual-anim-bob,.casual-anim-blink,.casual-anim-puff,.casual-anim-drift{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.casual-anim-chip{animation:3.6s ease-in-out infinite casual-chip-in}.casual-anim-bob{animation:2.6s ease-in-out infinite casual-bob}.casual-anim-blink{animation:4.2s ease-in-out infinite casual-blink}.casual-anim-puff{animation:3s ease-out infinite casual-puff}.casual-anim-drift{animation:7s ease-in-out infinite casual-drift}}.lake-fireworks{pointer-events:none;position:absolute;bottom:0;left:0}.lake-firework-shell{left:var(--shell-x);color:hsl(var(--hue) 85% 75%);display:none;position:absolute;bottom:0}[data-show=fireworks] .lake-firework-shell{display:block}.lake-firework-spark,.lake-firework-launch{opacity:0;pointer-events:none;position:absolute;bottom:0;left:0}.lake-firework-spark{background:linear-gradient(currentColor 35%,#0000);border-radius:50%;width:2px;height:5px;box-shadow:0 0 3px}.lake-firework-spark--inner{--hue:38;height:3px;color:hsl(var(--hue) 85% 75%);background:currentColor}.lake-firework-launch{background:linear-gradient(currentColor,#0000);border-radius:50%;width:2px;height:18px}[data-show=fireworks] .lake-firework-spark{animation:12s linear infinite lake-firework;animation-delay:var(--delay)}[data-show=fireworks] .lake-firework-launch{animation:12s ease-out infinite lake-launch;animation-delay:var(--delay)}@keyframes lake-launch{0%,2%{opacity:0;transform:translateY(0)scaleY(.4)}5%{opacity:.65}15%{transform:translateY(var(--shell-y)) scaleY(.7);opacity:.7}18%,to{transform:translateY(var(--shell-y)) scaleY(.2);opacity:0}}@keyframes lake-firework{0%,16%{transform:translate(0,var(--shell-y)) scale(.2);opacity:0}20%{transform:translate(calc(var(--spark-x) * .28),calc(var(--shell-y) + var(--spark-y) * .28)) scale(1);opacity:.85}30%{transform:translate(calc(var(--spark-x) * .75),calc(var(--shell-y) + var(--spark-y) * .75 + 3px));opacity:.75}43%{transform:translate(var(--spark-x),calc(var(--shell-y) + var(--spark-y) + 14px)) scale(.8);opacity:.4}59%,to{transform:translate(calc(var(--spark-x) * 1.12),calc(var(--shell-y) + var(--spark-y) + 38px)) scale(.3);opacity:0}}.lake-firework-shell--ring .lake-firework-spark{width:2px;height:3px}.lake-firework-shell--willow .lake-firework-spark{background:linear-gradient(currentColor 25%,#0000);width:1.5px;height:7px}[data-show=fireworks] .lake-firework-shell--willow .lake-firework-spark{animation-name:lake-firework-willow}@keyframes lake-firework-willow{0%,16%{transform:translate(0,var(--shell-y)) scale(.2);opacity:0}20%{transform:translate(calc(var(--spark-x) * .3),calc(var(--shell-y) + var(--spark-y) * .3)) scale(1);opacity:.9}34%{transform:translate(calc(var(--spark-x) * .85),calc(var(--shell-y) + var(--spark-y) * .8 + 12px));opacity:.8}52%{transform:translate(calc(var(--spark-x) * .95),calc(var(--shell-y) + var(--spark-y) + 48px)) scaleY(1.6);opacity:.5}70%,to{transform:translate(var(--spark-x),calc(var(--shell-y) + var(--spark-y) + 96px)) scaleY(2.2);opacity:0}}.lake-fireworks--t3 .lake-firework-spark,.lake-fireworks--t4 .lake-firework-spark{box-shadow:0 0 5px}.lake-fireworks--t4 .lake-firework-spark{width:2.5px;height:6px}.lake-fireworks--t3 .lake-firework-launch,.lake-fireworks--t4 .lake-firework-launch{height:26px}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:url(/assets/Pretendard-Regular.subset-BZqc2FCe.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:url(/assets/Pretendard-SemiBold.subset-DdMYyxPR.woff2)format("woff2")}:root{--bg:var(--background);--surface:var(--card);--map-border:var(--border);--text:var(--foreground);--text-muted:var(--muted-foreground);--map-accent:var(--primary-ink);--map-selection:#272435;--map-selection-edge:#a5b4fc8c;--map-selection-ring:#6a5acd40;--map-control-border:var(--border);--map-divider:var(--border);--map-badge-surface:var(--surface);--map-badge-fill:85%;--map-track:#0000004d;--map-track-face:#ffffff26;--map-float-shadow:0 8px 24px #00000059;--map-column-width:420px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,Malgun Gothic,sans-serif}html[data-map-fonts=ready]{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,Malgun Gothic,sans-serif}html[data-font-runtime=ios]{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif}html[data-font-runtime=android]{font-family:system-ui,Roboto,sans-serif}.maplibregl-map{font-family:inherit}@supports (color:color-mix(in srgb, black, white)){:root{--map-selection:color-mix(in srgb, var(--primary) 16%, var(--background));--map-selection-edge:color-mix(in srgb, var(--primary-ink) 55%, transparent);--map-selection-ring:color-mix(in srgb, var(--primary) 25%, transparent);--map-border:color-mix(in srgb, var(--border) 50%, transparent);--map-control-border:color-mix(in srgb, var(--border) 60%, transparent);--map-divider:color-mix(in srgb, var(--border) 35%, transparent);--map-badge-surface:color-mix(in srgb, var(--surface) var(--map-badge-fill), transparent)}}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}.shell{height:100dvh;position:relative;overflow:hidden}.shell.leaving{pointer-events:none}.shell.leaving .map{opacity:.55;transition:opacity .15s ease-out}.map-back-spinner{border:2px solid var(--map-border);border-top-color:var(--map-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite build-spin}@media (prefers-reduced-motion:reduce){.map-back-spinner{animation:none}.shell.leaving .map{transition:none}}.shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.shell :is(.card,.info-content,.place-panel,input,textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text}.shell :is(button,summary,[role=tab],label){-webkit-user-select:none;user-select:none}.map{position:absolute;inset:0}button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:var(--text);cursor:pointer}button:focus-visible,summary:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.topbar{top:max(10px,env(safe-area-inset-top));z-index:4;border:1px solid var(--map-border);background:var(--surface);border-radius:16px;grid-template-columns:36px minmax(0,1fr) 36px 36px;align-items:center;gap:6px;padding:8px;display:grid;position:absolute;left:12px;right:12px}.title{min-width:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;overflow:hidden}.ghost,.apartment-info>summary,.map-sources>summary{background:0 0;border:0;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:grid}.apartment-info>summary,.map-sources>summary{cursor:pointer;color:var(--text-muted)}summary{list-style:none}summary::-webkit-details-marker{display:none}.info-content,.legend{background:var(--popover);border:1px solid var(--map-border);max-height:50dvh;box-shadow:var(--map-float-shadow);border-radius:16px;margin:0;padding:16px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto}.info-content{z-index:2;font-size:13px;line-height:1.6}.info-content p{color:var(--text-muted);margin:6px 0 0}.radius,.map-view-modes,.legend .legend-tabs,.place-filter{background:var(--map-track);border-radius:16px;gap:2px;padding:4px;display:flex}.radius button,.map-view-modes button,.legend-tabs button,.place-filter button{min-height:36px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:12px;padding:0 10px;font-size:12px}.radius button{min-width:54px}.radius button.on,.map-view-modes button[aria-pressed=true],.legend-tabs button[aria-selected=true],.place-filter button[aria-pressed=true]{color:var(--primary-ink);background:var(--map-track-face);border-color:var(--map-border);font-weight:600}.legend{color:var(--text-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;font-size:12px;list-style:none;display:grid}.legend li{align-items:center;gap:6px;display:flex}.legend .dot{border-radius:3px;flex:none;width:10px;height:10px}.legend .legend-group{grid-column:1/-1;margin-bottom:-6px;font-size:11px;font-weight:600}.legend .legend-wide{grid-column:1/-1}.map-tip{position:relative}.map-tip:after{content:attr(data-tip);background:var(--map-badge-surface);border:1px solid var(--map-border);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;z-index:30;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.map-tip:hover:after{opacity:1}}.map-tip:focus-visible:after{opacity:1}.place-filter button{justify-content:center;align-items:center;min-width:36px;padding:0 8px;display:inline-flex}.place-filter button[aria-pressed=false] svg{opacity:.35}.filter-off-life .station-marker,.filter-off-life .station-exit,.filter-off-life .school-zone-pin{visibility:hidden}.legend-tabs button{flex:1}.nearby-list{width:100%;color:var(--text);gap:4px;display:grid}.nearby-group summary{min-height:36px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:flex}.nearby-group[open] summary{color:var(--text)}.nearby-count{color:var(--text-muted);font-weight:400}.nearby-group ul{margin:0;padding:0;list-style:none}.legend .nearby-group li{display:block}.nearby-group button{width:100%;min-height:36px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 6px;font-size:12px;display:grid}.nearby-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nearby-kind,.nearby-distance{color:var(--text-muted);font-size:11px}.nearby-chip{white-space:nowrap;height:20px;color:var(--chip);background:color-mix(in srgb, var(--chip) 16%, transparent);border-radius:999px;align-items:center;padding:0 8px;font-size:11px;display:inline-flex}.nearby-distance{font-variant-numeric:tabular-nums}.legend-glyphs{border-top:1px solid var(--map-border);width:100%;padding-top:4px}.legend-glyphs summary{min-height:36px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 6px;font-size:12px;font-weight:600;display:flex}.legend-glyphs summary>svg{flex:none}.legend-glyphs[open] summary{color:var(--text)}.legend-glyphs[open] summary>svg{transform:rotate(180deg)}.legend-glyphs ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 0;padding:0 6px 4px;list-style:none;display:grid}.legend-area{box-sizing:border-box;border:1px solid #0000;border-radius:2px;flex:none;width:16px;height:11px}.legend-point{border-radius:50%;flex:none;width:8px;height:8px}.legend-line{border-top:2px dashed;flex:none;width:16px;height:0}.legend-peak{border-bottom:8px solid;border-left:5px solid #0000;border-right:5px solid #0000;flex:none;width:0;height:0}.legend-planned{box-sizing:border-box;border:1.5px dashed #d79360;border-radius:999px;flex:none;width:18px;height:11px}.legend-infra{flex:none;align-items:center;gap:4px;display:inline-flex}.legend-icon{flex:none}.legend .legend-subway{border-bottom:1px solid var(--map-divider);flex-wrap:wrap;grid-column:1/-1;padding-bottom:12px}.bottom-dock{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:3;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.bottom-dock>*{pointer-events:auto}.controls{flex-wrap:wrap-reverse;justify-content:flex-end;align-self:flex-end;align-items:center;gap:8px;max-width:100%;display:flex}.controls>.control-group{margin-left:auto}.control,.control-group{border:1px solid var(--map-control-border);background:var(--surface);border-radius:12px}.control{justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 12px;font-size:12px;display:inline-flex}.control.recenter svg{color:var(--map-accent)}.control-group{display:flex;overflow:hidden}.control-group .control{background:0 0;border:0;border-radius:0;height:38px;padding:0}.control-group .control+.control{border-left:1px solid var(--map-control-border)}.control:hover{background:var(--muted)}.control.compass,.control.recenter{padding:0}.control.compass{touch-action:none}.compass-n{fill:var(--destructive-ink);font-size:6px;font-weight:600}.compass-north{fill:var(--destructive-ink)}.compass-north-shade{fill:var(--destructive-ink);opacity:.7}.compass-south{fill:var(--text-muted)}@media (prefers-reduced-motion:reduce){.control.compass svg{transition:none}}.walk-panel{border:1px solid var(--map-border);background:var(--surface);border-radius:16px;padding:12px}.walk-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.walk-heading>span{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.map-icon-chip{background:var(--gc-peach-chip);width:28px;height:28px;color:var(--gc-peach-ink);border-radius:12px;place-items:center;display:grid}.walk-heading small{color:var(--text-muted);font-size:11px}.walk{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.walk::-webkit-scrollbar{display:none}.walk-chip{border:1px solid var(--map-border);background:var(--background);border-radius:12px;flex-direction:column;flex:none;align-items:flex-start;gap:8px;min-width:104px;padding:10px 12px;display:flex}.walk-destination{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.walk-chip strong{font-size:20px;font-weight:700;line-height:1}.walk-chip strong small{color:var(--text-muted);margin-left:3px;font-size:11px;font-weight:400}.walk-chip.on{border-color:var(--map-selection-edge);background:var(--map-selection);box-shadow:0 0 0 2px var(--map-selection-ring)}.walk-chip .line-badge{min-width:15px;height:15px;padding:0 4px;font-size:9px}.card{border:1px solid var(--map-border);background:var(--surface);border-radius:16px;max-height:25dvh;padding:14px 48px 14px 14px;position:relative;overflow:auto}.card h2{margin:0 0 6px;font-size:14px;line-height:1.45}:is(.card,.place-sheet-content) p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.6}:is(.card,.place-sheet-content) p.walk-slope{flex-wrap:wrap;align-items:center;column-gap:10px;margin-top:6px;display:flex}.walk-slope span{align-items:center;gap:4px;display:inline-flex}.walk-slope i{border-radius:2px;width:14px;height:4px}.card-close{width:36px;height:36px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:7px;right:7px}.card-close:hover{background:var(--muted);color:var(--text)}.map-error{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.map-error p{max-width:320px;color:var(--text);word-break:keep-all;margin:0;font-size:14px;line-height:1.6}.map-error-actions{gap:8px;display:flex}.map-error-actions button{border-radius:12px;min-height:40px;padding:0 18px;font-size:13px;font-weight:600}.map-error-primary{background:var(--primary);color:var(--primary-foreground);border:0}.map-error-secondary{border:1px solid var(--map-control-border);background:var(--surface)}.map-error-secondary:hover{background:var(--muted)}@media (width>=768px){.topbar{width:var(--map-column-width);top:16px;left:16px;right:auto}.bottom-dock{width:var(--map-column-width);left:16px;right:auto;bottom:max(16px, env(safe-area-inset-bottom))}}@media (height<=600px){.walk-panel{padding:8px}.walk-chip{flex-direction:row;align-items:center;min-width:0;padding:8px}.walk-heading{margin-bottom:6px}.card{max-height:22dvh}}.station-marker{border:1px solid var(--map-border);background:var(--map-badge-surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 6px 3px 8px;font-size:12px;font-weight:600;display:inline-flex}.line-badge{color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.legend .legend-subway{border-right:0;gap:4px;margin-right:2px;padding-right:10px}.legend-subway-title{color:var(--text);margin-right:2px;font-weight:600}.legend .line-badge{border-radius:9px;width:auto;height:18px}.maplibregl-marker.station-marker{z-index:3}.station-marker{gap:4px;padding:2px 4px 2px 8px;font-size:12px;box-shadow:0 1px 6px #0000004d}.station-marker:after{content:"";background:var(--text-muted);width:1.5px;height:6px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.station-marker .line-badge{border-radius:8px;min-width:15px;height:15px;padding:0 5px;font-size:9.5px}.station-marker.planned{border:1.5px dashed #d79360;padding-right:4px;box-shadow:0 1px 4px #0000002e}.station-marker.planned .station-name{color:var(--text-muted)}.station-marker.planned:after{background:#d79360}.planned-badge{color:#d79360;background:#d793601f;border:1px solid #d79360;border-radius:8px;align-items:center;height:15px;padding:0 6px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.fountain{pointer-events:none;width:110px;height:96px;position:relative}.fountain-pool{background:radial-gradient(#a0d7ff47,#3f8fd226 70%,#0000 72%);border-radius:50%;width:80px;height:18px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.fountain-ripple{border:1px solid #bee6ffcc;border-radius:50%;width:34px;height:9px;margin-left:-17px;animation:2.2s ease-out infinite fountain-ripple;position:absolute;bottom:2px;left:50%}.fountain-ripple.late{animation-delay:1.1s}.fountain-jet{transform-origin:bottom;background:linear-gradient(#ebf8fff2,#78bef559);border-radius:3px 3px 1px 1px;width:3px;height:72px;margin-left:-1.5px;animation:1.2s ease-in-out infinite alternate fountain-jet;position:absolute;bottom:5px;left:50%;box-shadow:0 0 5px #bee6ff4d}.fountain-drop{opacity:0;background:#e6f6ff;border-radius:50%;width:2px;height:3px;margin-left:-2px;animation:1s infinite fountain-drop;position:absolute;bottom:74px;left:50%;box-shadow:0 0 2px #c8ebff59}@keyframes fountain-jet{0%{transform:scaleY(.82)}to{transform:scaleY(1)}}@keyframes fountain-drop{0%{opacity:.65;animation-timing-function:ease-out;transform:translate(0)}35%{transform:translate(calc(var(--dx) * .45), -12px);opacity:.65;animation-timing-function:ease-in}to{transform:translate(var(--dx), 68px);opacity:0}}@keyframes fountain-ripple{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.fountain-jet:before,.fountain-jet:after{content:"";background:inherit;border-radius:inherit;transform-origin:bottom;width:2px;height:78%;position:absolute;bottom:0}.fountain-jet:before{transform:rotate(-14deg)}.fountain-jet:after{transform:rotate(14deg)}.fountain-mist{pointer-events:none;background:radial-gradient(at bottom,#d2ebf538,#0000 70%);width:58px;height:28px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.fountain *{animation:none}}.infra-tag{border:1px solid var(--map-border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:3px 8px 3px 5px;font-size:11px;line-height:1.2;display:inline-flex;position:relative}.infra-tag:after{content:"";border-right:1px solid var(--map-border);border-bottom:1px solid var(--map-border);background:var(--surface);width:8px;height:8px;margin-left:-4px;position:absolute;bottom:-5px;left:50%;transform:rotate(45deg)}.infra-tag svg{fill:none;width:15px;height:15px;stroke:var(--text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.infra-tag-text{text-align:left;flex-direction:column;display:flex}.infra-tag-text b{font-weight:600}.infra-tag-text small{color:var(--text-muted);font-size:10px}.infra-smoke{pointer-events:none;width:10px;height:40px;position:absolute;bottom:100%;left:12px}.infra-smoke i{filter:blur(1px);background:#c8c8cd8c;border-radius:50%;width:10px;height:10px;animation:3s ease-out infinite infra-smoke;position:absolute;bottom:0;left:0}.infra-smoke i:nth-child(2){animation-delay:1s}.infra-smoke i:nth-child(3){animation-delay:2s}@keyframes infra-smoke{0%{opacity:.8;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(10px,-38px)scale(2.4)}}@media (prefers-reduced-motion:reduce){.infra-smoke i{opacity:.4;animation:none}}.build-progress{z-index:3;left:50%;top:var(--build-card-top,50%);max-height:calc(100dvh - var(--build-header-bottom,0px) - 20px - env(safe-area-inset-bottom));overscroll-behavior:contain;width:min(var(--map-column-width),calc(100% - 24px));border:1px solid var(--map-border);background:var(--surface);border-radius:16px;padding:16px;position:absolute;overflow:auto;transform:translate(-50%)}.build-progress summary{cursor:pointer;align-items:center;gap:10px;min-height:36px;font-size:14px;font-weight:600;display:flex}.build-icon{background:var(--muted);width:28px;height:28px;color:var(--primary-ink);border-radius:12px;flex:none;place-items:center;display:grid}.build-spinner{color:var(--map-accent);animation:1.8s linear infinite build-spin}.build-summary-copy{flex:1;min-width:0}.build-chevron{color:var(--text-muted);flex:none;transition:transform .18s}.build-progress details[open] .build-chevron{transform:rotate(180deg)}.build-open-title{display:none}.build-progress details[open] .build-open-title{display:block}.build-progress details[open] .build-stage-slot{display:none}.build-stage-slot{height:22px;line-height:22px;display:block;overflow:hidden}.build-stage-entry{text-overflow:ellipsis;white-space:nowrap;animation:.38s cubic-bezier(.2,.8,.2,1) both build-slot-in;display:block;overflow:hidden}.build-description{color:var(--text-muted);margin:12px 0 0;font-size:12px;line-height:1.6}.build-body{min-width:0}.build-stages{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px;margin:20px 0;padding:0;list-style:none;display:grid}.build-stages li{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex;position:relative}.build-stages li:not(:nth-child(4n)):not(:last-child):after{content:"";background:var(--map-border);width:calc(100% - 38px);height:1px;position:absolute;top:13px;left:calc(50% + 19px)}.build-stages li.done:after{background:var(--map-selection-edge)}.build-stages li.active{color:var(--text);font-weight:600}.build-step{border:1px solid var(--map-border);background:var(--background);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;width:27px;height:27px;font-size:11px;line-height:1;display:flex}.build-step-number{line-height:1;display:block;transform:translateY(1px)}.done .build-step{color:var(--map-accent);border-color:var(--map-selection-edge)}.active .build-step{background:var(--map-selection);border-color:var(--map-accent);color:var(--map-accent)}.build-task{border:1px solid var(--map-border);background:var(--background);border-radius:12px;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.build-task-label{flex:1;line-height:1.5}.build-state{color:var(--map-accent);flex:none;font-size:11px}.build-stat{color:var(--text-muted);align-items:center;gap:7px;padding:12px 2px 0;font-size:11px;display:flex}.build-stat strong{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px;font-weight:600}.build-stat small{color:var(--text-muted);margin-left:4px;font-size:11px;font-weight:400}.build-footer{border-top:1px solid var(--map-divider);justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.build-timer{background:var(--background);color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:flex}.build-timer strong{text-align:center;min-width:5ch;color:var(--text);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,monospace;font-size:16px;font-weight:500}.build-timer-colon{color:var(--text-muted);padding:0 1px}.build-footer-state{color:var(--text-muted);text-align:right;font-size:11px}.build-progress.preview{padding:12px}.build-stalled-list{margin:0;padding-left:18px;font-size:13px;line-height:1.7}.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}@keyframes build-spin{to{transform:rotate(360deg)}}@keyframes build-slot-in{0%{opacity:0;transform:translateY(85%)}to{opacity:1;transform:translateY(0)}}@media (width>=768px){.build-progress.preview{width:var(--map-column-width);left:16px;transform:none}}@media (prefers-reduced-motion:reduce){.build-spinner,.build-stage-entry{animation:none}.build-chevron{transition:none}}.map-boot{z-index:5;pointer-events:none;color:var(--text-muted);align-content:center;place-items:center;gap:14px;font-size:13px;font-weight:500;display:grid;position:fixed;inset:0}.map-boot-ring{border:3px solid var(--map-border);border-top-color:var(--map-accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite build-spin}@media (prefers-reduced-motion:reduce){.map-boot-ring{animation-duration:2.4s}}.routes-pending{border:1px solid var(--map-border);background:var(--surface);color:var(--text-muted);border-radius:12px;margin:0;padding:12px;font-size:12px}.ghost:hover,.apartment-info>summary:hover,.map-sources>summary:hover,.info-unmatched summary:hover,.nearby-group summary:hover,.nearby-group button:hover,.legend-glyphs summary:hover{background:var(--muted)}.station-exit{background:0 0;border:0;place-items:center;min-width:36px;height:36px;padding:4px;display:grid}.station-exit-badge{border:1px solid var(--text-muted);background:var(--surface);min-width:24px;min-height:24px;color:var(--text);white-space:nowrap;border-radius:7px;place-items:center;padding:2px 6px;font-size:12px;font-weight:600;line-height:18px;display:grid}.station-exit:hover .station-exit-badge,.station-exit:focus-visible .station-exit-badge{border-color:var(--map-accent);background:var(--muted)}.maplibregl-marker.station-exit{z-index:4}.title{align-items:center;gap:8px;display:flex}.map-mode{background:var(--map-selection);border:1px solid var(--map-selection-edge);width:30px;height:26px;color:var(--primary-ink);border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.place-panel{border:1px solid var(--map-border);background:var(--surface);border-radius:16px;overflow:hidden}.place-panel .card,.place-panel .walk-panel{background:0 0;border:0;border-radius:0}.place-panel .card+.walk-panel{border-top:1px solid var(--map-divider)}.walk-toggle{text-align:left;background:0 0;border:0;width:100%;min-height:36px;margin:0;padding:0;display:flex}.walk-summary{color:var(--text-muted);font-size:11px!important;font-weight:400!important}.walk-toggle svg{transition:transform .18s,scale .12s,color .12s}.walk-toggle:hover svg{color:var(--text)}.walk-toggle:active svg{color:var(--map-accent);scale:.8}.walk-toggle .is-open,.info-unmatched[open]>summary>svg{transform:rotate(180deg)}.walk[hidden]{display:none}.walk:not([hidden]){margin-top:8px;padding:2px 6px 2px 2px}.walk{scroll-snap-type:x proximity}.walk-chip{scroll-snap-align:start}@media (prefers-reduced-motion:reduce){.walk-toggle svg{transition:none}.walk-toggle:active svg{scale:none}}.station-exit-badge{z-index:1;position:relative}.station-exit-connector{background:var(--text-muted);transform-origin:0;pointer-events:none;height:1px;position:absolute;top:50%;left:50%}.map-view-modes{grid-column:1/-1}.map-view-modes button:disabled{opacity:.5;cursor:default}.map-view-modes button{white-space:nowrap;flex:auto}.topbar,.bottom-dock{transition:opacity .18s,transform .18s}.map-focused .topbar{opacity:0;pointer-events:none;transform:translateY(-12px)}.map-focused .bottom-dock{opacity:0;pointer-events:none;transform:translateY(12px)}.map-focused .bottom-dock *{pointer-events:none}@media (prefers-reduced-motion:reduce){.topbar,.bottom-dock{transition:none}}.map-attribution .maplibregl-ctrl-attrib-inner{color:var(--text-muted);overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.6}.map-attribution a{color:var(--text-muted)}:is(.card,.place-sheet-content) .landmark-source{cursor:pointer;min-height:36px;color:var(--primary-ink);text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:2px;margin-right:16px;padding:0;font-size:12px;text-decoration:none;display:inline-flex}:is(.card,.place-sheet-content) .landmark-source:hover{text-decoration:underline}.map-focus-toggle{border:1px solid var(--map-control-border);background:var(--surface);min-height:40px;color:var(--text-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;margin-right:auto;padding:0 10px;font-size:12px;display:flex}.map-menu-restore{z-index:8;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));border:1px solid var(--map-control-border);background:var(--surface);min-height:40px;color:var(--text);border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-size:13px;display:flex;position:absolute}.map-focus-toggle:hover,.map-menu-restore:hover{background:var(--muted)}.map-focus-toggle.report-pick{margin-right:auto}.map-focus-toggle.icon-only{min-width:40px;margin-right:0;padding:0}.map-focus-toggle.report-pick[aria-pressed=true]{border-color:var(--primary);color:var(--text)}.map-focused .topbar,.map-focused .bottom-dock{visibility:hidden}.topbar.with-share{grid-template-columns:36px minmax(0,1fr) 36px 36px 36px}a.ghost{color:var(--text);text-decoration:none}.share-button{color:var(--text-muted)}.share-button:disabled{opacity:.5;cursor:default}.title-text{flex-direction:column;min-width:0;display:flex}.share-origin{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;line-height:1.4;text-decoration:none;overflow:hidden}.share-origin:hover{color:var(--text)}.share-signup{border:1px solid var(--map-border);background:var(--surface);border-radius:16px;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.share-signup>div{flex:1;min-width:0}.share-signup strong{font-size:14px;line-height:1.4;display:block}.share-signup p{color:var(--text-muted);word-break:keep-all;margin:2px 0 0;font-size:12px;line-height:1.45}.share-related-link{min-height:36px;color:var(--primary);align-items:center;gap:2px;margin-top:2px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}:is(.card,.place-sheet-content) .complex-trades-button{background:var(--primary);min-height:40px;color:var(--primary-foreground);cursor:pointer;border:0;border-radius:12px;align-items:center;margin-top:10px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}:is(.card,.place-sheet-content) .complex-trades-button:disabled{opacity:.6;cursor:default}:is(.card,.place-sheet-content) .complex-trades-spinner{margin-right:6px;animation:1s linear infinite build-spin}:is(.card,.place-sheet-content) .complex-trades-skeleton{gap:8px;margin:8px 0 4px;display:grid}@media (prefers-reduced-motion:reduce){:is(.card,.place-sheet-content) .complex-trades-spinner{animation:none}}.share-signup-button{background:var(--primary);min-height:40px;color:var(--primary-foreground);border-radius:12px;flex:none;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}[data-sonner-toaster]{z-index:6!important}[data-sonner-toast][data-styled=true]:has([data-close-button]){padding-right:2.5rem!important}[data-sonner-toast][data-styled=true] [data-close-button]{opacity:.6;color:inherit!important;background:0 0!important;border-color:#0000!important;top:.625rem!important;left:auto!important;right:.625rem!important;transform:none!important}[data-sonner-toast][data-styled=true] [data-close-button]:hover{opacity:1;background:color-mix(in srgb, currentColor 10%, transparent)!important}.map-skel{background:var(--muted);border-radius:6px;flex:none;max-width:100%;height:12px;animation:1.6s ease-in-out infinite map-skel-pulse;display:block}.map-skel.small{height:9px}@keyframes map-skel-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.map-skel{animation:none}}.fountain-splash{opacity:.5;border:1px solid;border-radius:50%;width:12px;height:4px;margin-left:-6px;animation:1.4s ease-out infinite fountain-ripple;position:absolute;bottom:2px;left:50%}@media (prefers-reduced-motion:reduce){.fountain-splash{animation:none}}.lake-night-show{color:#e6f6ff;pointer-events:none;width:1px;height:1px;display:none;position:absolute;bottom:5px;left:50%}.lake-night>:not(.lake-night-show){visibility:hidden}.lake-night[data-show=laser] .lake-night-show,.lake-night[data-show=fireworks] .lake-night-show{display:block}.lake-laser-ray{width:2px;height:145px;color:hsl(var(--beam-hue) 85% 72%);opacity:0;transform-origin:bottom;background:linear-gradient(#0000,currentColor 55%,currentColor);display:none;position:absolute;bottom:0;left:0;box-shadow:0 0 4px}[data-show=laser] .lake-laser-ray{animation:12s ease-in-out infinite alternate lake-laser;animation-delay:calc(var(--ray) * -1.1s);display:block}@keyframes lake-laser{0%{opacity:.25;transform:rotate(-48deg)scaleY(.8)}50%{opacity:.6}to{opacity:.25;transform:rotate(48deg)scaleY(1)}}.lake-night-show--t2 .lake-laser-ray{height:calc(150px + var(--reach,0) * 1px)}[data-show=laser] .lake-night-show--t2 .lake-laser-ray:nth-of-type(2n){animation-name:lake-laser-reverse;animation-duration:9s}[data-show=laser] .lake-night-show--t2 .lake-laser-ray:nth-of-type(3n){animation-name:lake-laser-pulse;animation-duration:6s}@keyframes lake-laser-reverse{0%{opacity:.2;transform:rotate(55deg)scaleY(1)}50%{opacity:.65}to{opacity:.2;transform:rotate(-55deg)scaleY(.75)}}@keyframes lake-laser-pulse{0%,to{opacity:.1;transform:rotate(-20deg)scaleY(.6)}25%{opacity:.75}50%{opacity:.15;transform:rotate(20deg)scaleY(1.1)}75%{opacity:.7}}.lake-laser-glow{opacity:0;background:radial-gradient(closest-side,currentColor,#0000);border-radius:50%;width:120px;height:14px;display:none;position:absolute;bottom:-6px;left:-60px}[data-show=laser] .lake-laser-glow{animation:3s ease-in-out infinite alternate lake-laser-glow;display:block}@keyframes lake-laser-glow{0%{opacity:.12}to{opacity:.32}}@media (prefers-reduced-motion:reduce){.lake-night-show{display:none!important}.lake-night-show *{animation:none!important}}.map-partial-notice{border:1px solid var(--map-border);background:var(--surface);color:var(--text-muted);border-radius:12px;grid-column:1/-1;padding:8px 12px;font-size:12px;line-height:1.6}.map-partial-notice p{margin:0}.map-partial-notice p+p{margin-top:4px}.presale-hud{z-index:3;top:var(--presale-hud-top);pointer-events:none;justify-content:flex-end;display:flex;position:absolute;left:12px;right:12px}.presale-hud-card{border:1px solid color-mix(in srgb, var(--presale-fill) 28%, var(--map-border));background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--presale-fill) 10%, transparent), transparent 60%), var(--surface);pointer-events:auto;border-radius:16px;width:100%;max-width:440px;padding:4px 12px 12px;position:relative;overflow:hidden}.presale-hud-card:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--presale-fill) 85%, var(--presale-light)) 20%, transparent 85%);opacity:.8;pointer-events:none;height:1px;position:absolute;top:0;left:16px;right:16px}.presale-hud-card.is-collapsed{padding-bottom:4px}.presale-hud-head{width:100%;min-width:0;min-height:40px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.presale-hud-head strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.presale-hud-stage{border:1px solid color-mix(in srgb, var(--presale-fill) 45%, transparent);background:color-mix(in srgb, var(--presale-fill) 14%, transparent);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--presale-fill);border-radius:999px;flex:none;padding:1px 7px;font-size:11px;font-weight:600}.presale-hud-left{white-space:nowrap;align-items:baseline;gap:5px;margin-left:auto;display:flex}.presale-hud-left small{color:var(--text-muted);font-size:11px}.presale-hud-left b{font-variant-numeric:tabular-nums;color:var(--text);font-size:18px;font-weight:600;line-height:1.1}.presale-hud-chevron{color:var(--text-muted);flex:none;margin-right:-2px;transition:transform .18s}.presale-hud-card:not(.is-collapsed) .presale-hud-chevron{transform:rotate(180deg)}.presale-hud-body[hidden]{display:none}.presale-hud-meter{align-items:center;gap:10px;margin-top:4px;display:flex}.presale-hud-bar{flex:1;gap:3px;min-width:0;height:10px;display:flex}.presale-hud-cell{background:var(--map-track);min-width:6px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent);border-radius:2px;flex-basis:0;position:relative;overflow:hidden}.presale-hud-cell:before{content:"";width:var(--cell-fill);background:var(--presale-fill);position:absolute;inset:0 auto 0 0}.presale-hud-cell.is-done{box-shadow:none}.presale-hud-cell.is-active{overflow:visible}.presale-hud-cell.is-active:before{border-radius:2px 0 0 2px}.presale-hud-cell.is-active:after{content:"";top:-2px;bottom:-2px;left:var(--cell-fill);background:var(--presale-light);width:2px;box-shadow:0 0 6px var(--presale-light), 0 0 12px var(--presale-fill);border-radius:1px;margin-left:-1px;animation:1.8s ease-in-out infinite presale-hud-pulse;position:absolute}.presale-hud-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:4ch;color:var(--presale-fill);text-shadow:0 0 10px color-mix(in srgb, var(--presale-fill) 45%, transparent);flex:none;font-size:15px;font-weight:600;line-height:1}.presale-hud-pct small{color:var(--text-muted);text-shadow:none;margin-left:1px;font-size:11px}.presale-hud-foot{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:8px 0 0;font-size:11px;overflow:hidden}.presale-hud-mini{background:var(--map-track);height:2px;position:absolute;bottom:0;left:0;right:0}.presale-hud-mini:before{content:"";width:var(--presale-pct);background:var(--presale-fill);position:absolute;inset:0 auto 0 0}@keyframes presale-hud-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.presale-hud-cell.is-active:after{animation:none}.presale-hud-chevron{transition:none}}@media (width>=768px){.presale-hud{top:16px;left:calc(32px + var(--map-column-width));right:16px}}.shell.embed .topbar,.shell.embed .map-pitch,.shell.embed .map-focus-toggle,.shell.embed .bottom-dock,.shell.embed .presale-hud{display:none}.info-unmatched{margin-top:6px}.info-unmatched summary{white-space:nowrap;min-height:36px;color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:4px;margin-left:-6px;padding:0 6px;display:inline-flex}.info-unmatched summary svg{transition:transform .18s}.info-unmatched p{margin-top:0}.info-action{border:1px solid var(--map-control-border);background:0 0;border-radius:12px;align-items:center;gap:6px;min-height:36px;margin-top:10px;padding:0 12px;font-size:12px;display:inline-flex}.info-action:hover{background:var(--muted)}.info-content .landmark-report-open{margin-top:10px}.map-filter-open span{white-space:nowrap}.map-filter-sheet .map-filter-section+.map-filter-section{margin-top:18px}.map-filter-sheet h3{margin:0 0 8px;font-size:13px;font-weight:600}.map-filter-sheet .radius button{flex:1 1 0}.map-filter-sheet .place-filter{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.map-filter-sheet .place-filter button{justify-content:flex-start;gap:8px;padding:0 12px;font-size:12px}.map-filter-sheet .place-filter button[aria-pressed=false] span{opacity:.6}.map-filter-sheet .legend{box-shadow:none;background:0 0;border:0;border-radius:0;max-height:none;padding:0;position:static;overflow:visible}@media (width<=767px){.controls>.control-group{display:none}}.share-signup{position:relative}.share-signup-toggle{display:none}@media (width<=767px){.share-signup{padding:8px 8px 8px 44px}.share-signup-toggle{width:36px;height:36px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.share-signup.expanded .share-signup-toggle{top:8px;transform:none}.share-signup-toggle svg{transition:transform .18s}.share-signup.expanded .share-signup-toggle svg{transform:rotate(180deg)}.share-signup:not(.expanded) p,.share-signup:not(.expanded) .share-related-link{display:none}.share-signup:not(.expanded) strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.info-unmatched summary svg,.share-signup-toggle svg{transition:none}}.controls .map-tip:after{top:auto;bottom:calc(100% + 6px)}.place-sheet-content{gap:2px;display:grid}.place-sheet-content>p{font-size:13px}.presale-hud-mini-pct{font-variant-numeric:tabular-nums;color:var(--presale-fill);flex:none;font-size:13px;font-weight:600}.presale-hud-mini-pct small{color:var(--text-muted);font-size:11px}.bus-routes{margin:6px 0 0;font-size:12px}.bus-routes p{margin:0 0 4px}.bus-routes dl{gap:3px;margin:0;display:grid}.bus-routes dl div{align-items:flex-start;gap:8px;display:flex}.bus-routes dt{opacity:.7;white-space:nowrap;flex:0 0 56px;font-weight:500;line-height:20px}.bus-routes dd{flex-wrap:wrap;gap:4px 6px;margin:0;display:flex}.bus-route{align-items:center;gap:4px;display:inline-flex}.bus-route b{color:#fff;border-radius:4px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px;display:inline-block}.bus-route small{opacity:.7;font-size:11px}.bus-routes-skeleton{gap:5px;margin-top:6px;display:grid}.bus-routes-skeleton span{opacity:.14;background:currentColor;border-radius:4px;height:12px;display:block}.bus-routes-skeleton span:last-child{width:60%}.map>.maplibregl-canvas-container{isolation:isolate}.school-zone-pin,.walk-assigned-tag{--school-zone:#63ae8c}.school-zone-pin{flex-direction:column;align-items:center;display:flex}.maplibregl-marker.school-zone-pin{z-index:2}.school-zone-marker{border:1px solid var(--school-zone);background:color-mix(in srgb, color-mix(in srgb, var(--school-zone) 18%, var(--surface)) var(--map-badge-fill), transparent);min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:1px 8px 1px 4px;font-size:11px;font-weight:600;display:flex;box-shadow:0 1px 6px #0000004d}.school-zone-marker:focus{outline:none}.school-zone-marker:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.school-zone-marker-tag{background:var(--school-zone);color:var(--background);border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.3}.school-zone-pin-stem{background:var(--school-zone);width:1.5px;height:6px}.walk-assigned-tag{background:var(--school-zone);color:var(--background);border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.3}.walking-range-status,.bottom-dock>.map-price-note{border:1px solid var(--map-border);background:var(--surface);color:var(--text-muted);border-radius:12px;margin:0;padding:8px 12px;font-size:12px;line-height:1.5}.walking-range-status p{margin:6px 0 0}.walking-range-status button{border:1px solid var(--map-control-border);background:var(--surface);min-height:36px;color:var(--text);border-radius:999px;margin-left:4px;padding:0 12px;font-size:12px}.walking-range-status button:hover{border-color:var(--map-selection-edge);color:var(--primary-ink)}.walking-range-legend{color:var(--text);gap:16px;font-size:12px;display:flex}.walking-range-legend span{align-items:center;gap:5px;display:inline-flex}.walking-range-legend i{border:2px solid var(--walking-range-color);background:color-mix(in srgb,var(--walking-range-color) 35%,var(--surface));border-radius:3px;flex-shrink:0;width:14px;height:14px}.walking-range-skeleton .walking-range-legend span{height:18px}.walking-range-skeleton .map-skel.chip{border-radius:3px;height:14px}.walking-range-skeleton p{gap:6px;padding:3px 0;display:grid}.map-price-legend{border:1px solid var(--map-border);background:var(--surface);border-radius:12px;padding:10px 12px;font-size:11px}.map-price-legend strong{font-size:12px}.map-price-scale{margin:8px 0}.map-price-bar{gap:2px;display:flex}.map-price-bar i{border-radius:2px;flex:1;height:10px}.map-price-ticks{height:14px;margin-top:4px;position:relative}.map-price-ticks span{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;line-height:14px;position:absolute;top:0;transform:translate(-50%)}.map-price-legend p,.map-price-details p,.map-price-note{color:var(--text-muted);margin:4px 0 0;font-size:11px;line-height:1.5}.map-price-details{border-top:1px solid var(--map-divider);margin-top:10px;padding-top:10px}.map-price-details strong{color:var(--primary-ink);font-size:13px}.map-price-legend-skeleton>.map-skel:first-child{margin:2px 0 9px}.map-price-legend-skeleton .map-skel.bar{border-radius:2px;height:10px}.map-price-legend-skeleton .map-price-ticks .map-skel{position:absolute;top:3px;transform:translate(-50%)}.map-price-legend-skeleton-lines{gap:10.5px;padding:3px 0 3.5px;display:grid}.map-price-legend-skeleton-lines .map-skel{height:10px}.map-forecast{overscroll-behavior:contain;border:1px solid var(--map-border);background:var(--surface);--map-up-ink:#6ee7b7;--map-down-ink:#fda4af;--map-forecast-ink:#93c5fd;--map-forecast-edge:#3b82f633;border-radius:16px;gap:10px;max-height:58dvh;padding:12px;font-size:12px;display:grid;overflow:auto}.map-chip{border-radius:8px;flex:none;place-items:center;width:24px;height:24px;display:inline-grid}.map-chip.cream{background:var(--gc-cream-chip);color:var(--gc-cream-ink)}.map-chip.sky{background:var(--gc-sky-chip);color:var(--gc-sky-ink)}.map-chip.lilac{background:var(--gc-lilac-chip);color:var(--gc-lilac-ink)}.map-badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;padding:3px 8px 2px;font-size:10px;font-weight:600;line-height:1.4;display:inline-flex}.map-badge.emerald{color:#6ee7b7;background:#10b98126;border-color:#10b98133}.map-badge.teal{color:#5eead4;background:#14b8a626;border-color:#14b8a633}.map-badge.indigo{color:#a5b4fc;background:#6366f126;border-color:#6366f133}.map-badge.amber{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b33}.map-badge.rose{color:#fda4af;background:#f43f5e26;border-color:#f43f5e33}.map-badge.slate{color:#cbd5e1;background:#64748b26;border-color:#64748b33}.map-forecast-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-forecast-tile,.map-forecast-empty{border:1px solid var(--map-border);background:var(--background);border-radius:12px;min-width:0;padding:10px 12px}.map-forecast-tile.forecast{border-color:var(--map-forecast-edge);color:var(--map-forecast-ink)}.map-forecast-tile-title{color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.map-forecast-tile.forecast .map-forecast-tile-title{color:inherit}.map-forecast-tile>strong{letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text);flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin-top:6px;font-size:20px;font-weight:700;line-height:1.25;display:flex}.map-forecast-tile.forecast>strong{color:inherit}.map-forecast-change{color:var(--text-muted);font-size:12px;font-weight:600}.map-forecast-change.up{color:var(--map-up-ink)}.map-forecast-change.down{color:var(--map-down-ink)}.map-forecast-tile-foot{border-top:1px solid var(--map-divider);gap:2px;margin-top:8px;padding-top:6px;display:grid}.map-forecast-tile-foot>span{color:var(--text-muted);font-size:11px}.map-forecast-tile-foot>b{font-variant-numeric:tabular-nums;color:var(--text);font-size:12px;font-weight:600}.map-forecast-empty p:last-child{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.map-forecast-range{gap:4px;display:grid}.map-forecast-range-head{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:2px 6px;font-size:10px;display:flex}.map-forecast-range-bar{height:14px;margin:0 4px;position:relative}.map-forecast-range-bar:before{content:"";opacity:.15;background:currentColor;border-radius:999px;height:6px;position:absolute;top:4px;left:0;right:0}.map-forecast-range-bar:after{content:"";opacity:.4;border-left:1px solid;border-right:1px solid;position:absolute;inset:3px 0}.map-forecast-range-bar i{background:currentColor;border-radius:999px;width:4px;height:14px;position:absolute;top:0;transform:translate(-50%)}.map-forecast-range-ends{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:11px;font-weight:600;display:flex}.map-forecast-flow{border:1px solid var(--map-border);background:var(--background);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.map-forecast-flow-head{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.map-forecast-flow-head h3{margin:0;font-size:12px;font-weight:600}.map-forecast-unit{color:var(--text-muted);margin-left:auto;font-size:10px}.map-forecast-sub{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0;font-size:11px;line-height:1.5}.map-forecast-chart{width:100%;height:auto;display:block}.map-forecast-chart text{fill:var(--text-muted);font-size:8px}.map-forecast-chart .grid{stroke:var(--map-divider);stroke-width:1px}.map-forecast-chart .now{stroke:var(--text-muted);stroke-dasharray:2 2;opacity:.6}.map-forecast-chart .band{fill:var(--primary-ink);opacity:.16}.map-forecast-chart .trade{fill:var(--text-muted);opacity:.55}.map-forecast-chart .trade.dimmed{opacity:.25}.map-forecast-chart .trade.dong{fill:var(--primary-ink);opacity:1;stroke:var(--background);stroke-width:.6px}.map-forecast-chart .median{fill:none;stroke:var(--text);stroke-width:1.4px;stroke-linejoin:round}.map-forecast-chart .forecast{stroke:var(--primary-ink);stroke-width:1.8px;stroke-dasharray:4 3}.map-forecast-chart .current{fill:var(--text)}.map-forecast-chart .predicted{fill:var(--primary-ink)}.map-forecast-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 12px;font-size:10px;display:flex}.map-forecast-legend span{align-items:center;gap:5px;display:inline-flex}.map-forecast-legend .line{border-top:1.5px solid var(--text);width:14px}.map-forecast-legend .line.dashed{border-top:1.5px dashed var(--primary-ink)}.map-forecast-legend .dot{background:var(--text-muted);border-radius:50%;width:5px;height:5px}.map-forecast-dong{align-items:center;gap:6px;display:flex}.map-forecast-dong i{background:var(--primary-ink);border-radius:50%;flex:none;width:7px;height:7px}.map-forecast-facts{margin:0;display:grid}.map-forecast-facts>div{border-top:1px solid var(--map-divider);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 2px;display:flex}.map-forecast-facts>div:first-child{border-top:0}.map-forecast-facts dt{color:var(--text-muted);font-size:11px}.map-forecast-facts dd{font-variant-numeric:tabular-nums;text-align:right;align-items:baseline;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.map-forecast-facts small{color:var(--text-muted);font-size:10px;font-weight:400}.map-forecast-link{min-height:36px;color:var(--primary-ink);text-underline-offset:3px;justify-self:start;align-items:center;gap:2px;margin:-6px 0;font-size:12px;text-decoration:none;display:inline-flex}.map-forecast-link:hover{text-decoration:underline}.map-forecast-note{color:var(--text-muted);margin:0;font-size:10px;line-height:1.5}@media (height<=600px){.map-forecast-chart{max-height:84px}}.map-skel.value,.map-skel.chip{border-radius:8px;height:24px}.map-skel.chart{aspect-ratio:320/132;border-radius:8px;height:auto}.map-forecast-skeleton .map-forecast-tile>strong{margin-top:8px}.map-forecast-skeleton .map-forecast-tile-foot{gap:6px}.map-forecast-skeleton .map-forecast-legend{gap:4px 12px}.map-forecast-skeleton .map-forecast-facts>div{align-items:center;padding:8px 2px}.map-forecast-skeleton-link{height:13px;margin:5px 0}.map-forecast-skeleton-note{gap:6px;padding:2px 0;display:grid}.map-forecast-skeleton-note>.map-skel{height:10px}@media (height<=600px){.map-skel.chart{aspect-ratio:auto;height:84px}}.map-sheet-backdrop{--map-sheet-edge:var(--map-border)}@supports (color:color-mix(in srgb, black, white)){.map-sheet-backdrop{--map-sheet-edge:color-mix(in srgb, var(--text) 14%, transparent)}}.map-sheet-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);background:#020617c2;justify-content:center;align-items:flex-end;animation:.2s ease-out map-sheet-fade;display:flex;position:fixed;inset:0}.map-sheet-backdrop.light{-webkit-backdrop-filter:none;background:#02061752}.map-sheet{box-sizing:border-box;width:100%;max-height:92dvh;padding:2.5rem 20px calc(16px + env(safe-area-inset-bottom,0px));border:1px solid var(--map-sheet-edge);background:var(--surface);color:var(--text);border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;animation:.28s cubic-bezier(.32,.72,0,1) map-sheet-rise;display:flex;position:relative;box-shadow:0 -12px 32px #00000073}.map-sheet:focus{outline:none}.map-sheet-handle{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;justify-content:center;align-items:center;height:2.5rem;display:flex;position:absolute;inset:0 0 auto}.map-sheet-handle>span{background:var(--map-sheet-edge);border-radius:999px;width:40px;height:4px}.map-sheet-close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:4px;right:8px}.map-sheet-close svg{width:18px;height:18px}.map-sheet-close:focus{outline:none}.map-sheet-close:focus-visible{outline:2px solid var(--map-accent);outline-offset:2px}.map-sheet-header{border-bottom:1px solid var(--map-divider);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:none;padding-bottom:.75rem}.map-sheet-header h2{align-items:center;gap:8px;margin:0 36px 4px 0;font-size:18px;font-weight:600;line-height:1.4;display:flex}.map-sheet-description{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:13px;line-height:1.5;display:flex}.map-sheet-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 0 4px;overflow-y:auto}.map-sheet-footer{flex:none;gap:8px;padding-top:12px;display:grid}.map-sheet-primary,.map-sheet-secondary{border-radius:16px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.map-sheet-primary svg,.map-sheet-secondary svg{width:16px;height:16px}.map-sheet-primary{background:var(--primary);color:var(--primary-foreground)}button.map-sheet-primary,button.map-sheet-secondary{cursor:pointer;width:100%;font-family:inherit}button.map-sheet-primary{border:0}button.map-sheet-primary:disabled{opacity:.7;cursor:progress}.map-sheet-secondary{border:1px solid var(--map-control-border);color:var(--text);background:0 0}@media (width>=640px){.map-sheet-backdrop{align-items:center}.map-sheet{border-bottom:1px solid var(--map-sheet-edge);border-radius:24px;width:calc(100% - 2rem);max-width:512px;max-height:85dvh;padding:24px;animation:.2s ease-out map-sheet-zoom;box-shadow:0 16px 48px #0000008c}.map-sheet-handle{display:none}.map-sheet-header{cursor:auto;touch-action:auto;-webkit-user-select:auto;user-select:auto}.map-sheet-close{border-radius:8px;width:28px;height:28px;top:16px;right:16px}.map-sheet-close svg{width:16px;height:16px}}@keyframes map-sheet-fade{0%{opacity:0}}@keyframes map-sheet-rise{0%{transform:translateY(100%)}}@keyframes map-sheet-zoom{0%{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.map-sheet-backdrop,.map-sheet{animation:none}}.map-pitch{width:100%;display:none}@media (hover:hover) and (pointer:fine){.map-pitch{display:block}}.map-pitch-control{border:1px solid var(--map-control-border);background:var(--surface);height:40px;color:var(--text);border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.map-pitch-control label{flex-shrink:0}.map-pitch-control input{min-width:0;height:36px;accent-color:var(--map-accent);cursor:pointer;flex:1;margin:0}.map-pitch-control input:focus-visible{outline:2px solid var(--map-accent);outline-offset:2px}.map-pitch-control output{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:4ch}.map-pitch-hint{color:var(--text-muted);text-align:right;margin:4px 0 0;font-size:12px;line-height:16px}@media (width>=768px) and (hover:hover) and (pointer:fine){.map-pitch{right:16px;bottom:max(16px, env(safe-area-inset-bottom));width:min(360px, calc(100vw - var(--map-column-width) - 48px));position:fixed}.bottom-dock .controls{right:16px;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 60px + 8px);max-width:min(360px, calc(100vw - var(--map-column-width) - 48px));position:fixed}}.map-sun{border:1px solid var(--map-border);background:var(--surface);border-radius:16px;gap:8px;padding:12px;font-size:12px;display:grid}.map-sun-head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;display:flex}.map-sun-head strong{color:var(--text);font-size:14px;font-weight:600}.map-sun-head span{color:var(--text-muted)}.map-sun-track{background:var(--map-track);border-radius:16px;gap:2px;padding:4px;display:flex}.map-sun-track button{min-width:0;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex:1;padding:0 2px;font-size:12px}.map-sun-track button[aria-pressed=true]{color:var(--primary-ink);background:var(--map-track-face);border-color:var(--map-border);font-weight:600}.map-sun-note{color:var(--text-muted);margin:0;font-size:11px;line-height:1.5}.dong-sun{border-top:1px solid var(--map-divider);gap:4px;margin-top:8px;padding-top:8px;display:grid}:is(.card,.place-sheet-content) p.dong-sun-title{color:var(--text);font-weight:600}.dong-sun ul{gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.dong-sun li{justify-content:space-between;gap:12px;display:flex}.dong-sun li span{color:var(--text-muted)}.dong-sun li strong{font-variant-numeric:tabular-nums;font-weight:600}:is(.card,.place-sheet-content) p.dong-sun-note{font-size:11px;line-height:1.5}:is(.card,.place-sheet-content) p.dong-sun-empty{margin-top:8px}.unit-layout{--unit-c0:#4e79a7;--unit-c1:#f28e2b;--unit-c2:#59a14f;--unit-c3:#e15759;--unit-c4:#b07aa1;--unit-c5:#edc948;--unit-c6:#76b7b2;--unit-c7:#ff9da7;margin-top:8px}.card:has(.unit-layout.is-open){max-height:60dvh}.unit-layout-toggle{border:1px solid var(--map-border);min-height:36px;color:var(--map-accent);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:4px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.unit-layout-body{gap:8px;margin-top:8px;display:grid}.unit-layout-skeleton{background:var(--map-track-face);border-radius:12px;height:120px;animation:1.4s ease-in-out infinite unit-layout-pulse}@keyframes unit-layout-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.unit-layout-skeleton{animation:none}}:is(.card,.place-sheet-content) p.unit-layout-note,:is(.card,.place-sheet-content) p.unit-layout-source{font-size:11px}.unit-layout-areas{flex-wrap:wrap;gap:6px;display:flex}.unit-area-chip{--unit-color:var(--unit-c0);border:1px solid color-mix(in srgb, var(--unit-color) 70%, transparent);background:color-mix(in srgb, var(--unit-color) 18%, transparent);min-height:32px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.unit-area-chip.is-active{background:color-mix(in srgb, var(--unit-color) 45%, transparent);outline:2px solid var(--unit-color);outline-offset:1px}.unit-layout-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--map-border);border-radius:12px;overflow-x:auto}.unit-layout-grid{border-collapse:separate;border-spacing:2px;min-width:100%;font-size:11px}.unit-layout-grid th{color:var(--text-muted);white-space:nowrap;background:var(--surface);padding:4px 6px;font-weight:600;position:sticky;top:0}.unit-layout-grid tbody th{text-align:right;position:sticky;left:0}.unit-cell{--unit-color:transparent;text-align:center;white-space:nowrap;background:color-mix(in srgb, var(--unit-color) 30%, transparent);min-width:52px;color:var(--text);border-radius:6px;padding:3px 5px;transition:opacity .15s}.unit-cell .unit-ho{color:var(--text-muted);font-size:10px;display:block}.unit-cell .unit-area{font-variant-numeric:tabular-nums;font-weight:600}.unit-cell.is-dim,.unit-extra.is-dim{opacity:.2}.unit-cell.is-unknown{color:var(--text-muted);border:1px dashed var(--map-border)}.unit-cell.is-none{background:0 0}.unit-extras{text-align:left}.unit-extra{--unit-color:transparent;background:color-mix(in srgb, var(--unit-color) 30%, transparent);border-radius:4px;margin:1px;padding:1px 4px;display:inline-block}.unit-c0{--unit-color:var(--unit-c0)}.unit-c1{--unit-color:var(--unit-c1)}.unit-c2{--unit-color:var(--unit-c2)}.unit-c3{--unit-color:var(--unit-c3)}.unit-c4{--unit-color:var(--unit-c4)}.unit-c5{--unit-color:var(--unit-c5)}.unit-c6{--unit-color:var(--unit-c6)}.unit-c7{--unit-color:var(--unit-c7)}@media (prefers-reduced-motion:reduce){.unit-cell{transition:none}}.roof-area-host{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.roof-wing-label,.roof-wing-caption{white-space:nowrap;visibility:hidden;position:absolute;top:0;left:0}.roof-wing-label{color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 0 2px var(--surface), 0 0 2px var(--surface), 0 0 4px var(--surface);align-items:baseline;gap:3px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.roof-wing-line{font-weight:400}.roof-wing-short{visibility:hidden;color:var(--text);white-space:nowrap;text-shadow:0 0 2px var(--surface), 0 0 2px var(--surface), 0 0 4px var(--surface);font-size:11px;font-weight:600;line-height:1.3;position:absolute;top:0;left:0}.roof-wing-caption{color:var(--text-muted);text-shadow:0 0 2px var(--surface), 0 0 2px var(--surface), 0 0 4px var(--surface);font-size:11px;line-height:1.3}.nearby-sheet-distance{border:1px solid var(--map-divider);background:var(--background);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;display:inline-flex}.nearby-sheet h3{margin:0 0 6px;font-size:13px;font-weight:600}.nearby-sheet-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.6}.nearby-sheet-skeleton{gap:8px;display:grid}.nearby-sheet-skeleton span{background:var(--map-track-face);border-radius:8px;height:18px;animation:1.4s ease-in-out infinite nearby-pulse}.nearby-sheet-skeleton span:nth-child(2){width:70%}.nearby-sheet-skeleton span:nth-child(3){width:50%}.nearby-sheet-facts{border:1px solid var(--map-divider);background:var(--background);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.nearby-sheet-facts>div{text-align:center;min-width:0;padding:10px 8px}.nearby-sheet-facts>div+div{border-left:1px solid var(--map-divider)}.nearby-sheet-facts dt{color:var(--text-muted);font-size:11px}.nearby-sheet-facts dd{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:14px;font-weight:700;overflow:hidden}.nearby-sheet-section{margin-top:18px}.nearby-sheet-bands{gap:12px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.nearby-sheet-band-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.nearby-sheet-band-name{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;font-size:15px;font-weight:700;display:flex}.nearby-sheet-band-range{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.nearby-sheet-band-count{font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:600}.nearby-sheet-band-count span{color:var(--text-muted);margin-left:4px;font-weight:400}.nearby-sheet-band-bar{background:var(--map-track-face);border-radius:999px;height:6px;margin-top:6px;display:block;overflow:hidden}.nearby-sheet-band-bar span{background:var(--map-accent);border-radius:999px;height:100%;display:block}.nearby-sheet-detail{margin-bottom:6px}.nearby-sheet-detail summary{min-height:32px;color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.nearby-sheet-detail summary svg{width:14px;height:14px;transition:transform .15s}.nearby-sheet-detail[open] summary svg{transform:rotate(180deg)}.nearby-sheet-types{font-variant-numeric:tabular-nums;margin:0 0 6px;padding:0;font-size:12px;list-style:none;display:grid}.nearby-sheet-types li{border-bottom:1px solid var(--map-divider);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.nearby-sheet-types span{color:var(--text-muted)}.nearby-sheet-spinner{animation:1s linear infinite nearby-spin}.nearby-sheet-missing{border:1px solid var(--map-divider);background:var(--background);border-radius:16px;gap:4px;padding:12px 14px;display:grid}.nearby-sheet-missing-title{align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;display:flex}.nearby-sheet-missing-title svg{width:16px;height:16px;color:var(--text-muted);flex:none}@keyframes nearby-pulse{50%{opacity:.5}}@keyframes nearby-spin{to{transform:rotate(360deg)}}.nearby-sheet-external{width:13px;height:13px}@media (prefers-reduced-motion:reduce){.nearby-sheet-skeleton span,.nearby-sheet-spinner{animation:none}}.card.report-card{max-height:55dvh}.landmark-report{flex-direction:column;gap:10px;display:flex}.landmark-report h2{margin:0}.landmark-report-issues{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.landmark-report-issues legend{color:var(--text-muted);margin-bottom:6px;padding:0;font-size:12px}.landmark-report-issues label{border:1px solid var(--map-border);min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.landmark-report-issues label.on{border-color:var(--primary);color:var(--text);background:var(--muted)}.landmark-report-issues input{opacity:0;pointer-events:none;position:absolute}.landmark-report-issues label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.landmark-report-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.landmark-report-field input,.landmark-report-field textarea{box-sizing:border-box;border:1px solid var(--map-border);background:var(--background);width:100%;min-height:40px;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:8px 10px;font-size:14px}.landmark-report-field input:focus-visible,.landmark-report-field textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}:is(.card,.place-sheet-content) p.landmark-report-result{color:var(--text)}:is(.card,.place-sheet-content) p.landmark-report-result.is-error{color:var(--destructive-ink)}.landmark-report-submit{background:var(--primary);min-height:40px;color:var(--primary-foreground);cursor:pointer;border:0;border-radius:12px;align-self:flex-start;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.landmark-report-submit:disabled{opacity:.6;cursor:default}:is(.card,.place-sheet-content) .landmark-report-open{margin-top:6px}:is(.card,.place-sheet-content) p.landmark-report-point{color:var(--text)}.landmark-report-point-actions{flex-wrap:wrap;display:flex}.landmark-report-pin{background:var(--primary);border:3px solid var(--background);width:14px;height:14px;box-shadow:0 0 0 1px var(--primary);pointer-events:none;border-radius:50%}
