.lst{width:100%;container-type:inline-size;display:flex;flex-direction:column;gap:var(--s-4)}.lst__head{justify-content:space-between;gap:var(--s-4)}.lst__head,.lst__heading{display:flex;align-items:center;flex-wrap:wrap}.lst__heading{gap:var(--s-2);min-width:0}.lst__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lst__count{flex:none;font-weight:var(--fw-medium);color:var(--muted);padding:3px var(--s-2);border-radius:var(--r-pill);background:var(--surface-3)}.lst__count,.lst__via{font-size:var(--fs-xs)}.lst__via{color:var(--faint)}.lst__toggle{display:inline-flex;align-items:center;gap:var(--tabs-gap);padding:var(--tabs-pad);border:1px solid var(--tabs-border);border-radius:calc(var(--tabs-h)/2 + var(--tabs-pad));background:var(--tabs-track)}@supports (corner-shape:squircle){.lst__toggle{corner-shape:squircle;border-radius:calc(var(--tabs-h)*.53 + var(--tabs-pad))}}.lst__toggle{position:relative;flex:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lst__thumb{background:var(--tabs-knob);box-shadow:var(--tabs-knob-shadow);color:var(--ink);position:absolute;top:var(--tabs-pad);left:0;height:var(--tabs-h);pointer-events:none;border-radius:calc(var(--tabs-h)/2);transition:transform var(--dur-base) var(--ease-spring),width var(--dur-base) var(--ease-spring)}@supports (corner-shape:squircle){.lst__thumb{corner-shape:squircle;border-radius:calc(var(--tabs-h)*.53)}}.lst__seg{outline:none}.lst__seg:focus-visible{outline:var(--ring-w) solid var(--ring);outline-offset:var(--ring-offset)}.lst__seg{display:inline-flex;align-items:center;justify-content:center;height:var(--tabs-h);padding:0 var(--tabs-px);border:0;border-radius:calc(var(--tabs-h)/2);font-size:var(--tabs-fs);font-weight:var(--tabs-fw);line-height:1;white-space:nowrap}@supports (corner-shape:squircle){.lst__seg{corner-shape:squircle;border-radius:calc(var(--tabs-h)*.53)}}.lst__seg{position:relative;z-index:1;gap:5px;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--dur-base) var(--ease-out)}.lst__seg:hover{color:var(--ink-soft)}.lst__seg.is-active{color:var(--ink)}.lst__seg-ic{width:13px;height:13px;flex:none}.lst__empty{padding:var(--s-6);text-align:center;color:var(--muted);font-size:var(--fs-sm);border:1px dashed var(--border);border-radius:var(--r-lg)}.lst__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-3)}.lst__table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);scrollbar-width:none;-ms-overflow-style:none}.lst__table-wrap::-webkit-scrollbar{display:none}.lst__table{width:100%;min-width:560px;border-collapse:collapse;font-size:var(--fs-sm)}.lst__table td,.lst__table th{padding:var(--s-3) var(--s-4);text-align:start;white-space:nowrap;border-bottom:1px solid var(--border)}.lst__table td{color:var(--ink)}.lst__table th{font-weight:var(--fw-semibold);color:var(--ink-soft);background:var(--surface-2)}.lst__table tbody tr:last-child td{border-bottom:none}.lst__table tbody tr:hover td{background:var(--accent-soft)}.lst__table .is-num{text-align:end}.lst__check{margin-block-start:2px}.lst__table-link{outline:none}.lst__table-link:focus-visible{outline:var(--ring-w) solid var(--ring);outline-offset:var(--ring-offset)}.lst__table-link{color:var(--ink);font-weight:var(--fw-medium);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.lst__table-link:hover{color:var(--accent)}.lst__foot{display:flex;justify-content:flex-start}.lst__foot-ic{transform:rotate(-90deg)}@container (max-width: 420px){.lst__head{flex-direction:column;align-items:flex-start}.lst__toggle{align-self:stretch;justify-content:center}}@media(max-width:480px){.lst__head{flex-direction:column;align-items:flex-start}.lst__toggle{align-self:stretch;justify-content:center}}@media(prefers-reduced-motion:reduce){.lst__thumb{transition:none}}.rb{container-type:inline-size}.rb__head{margin-bottom:var(--s-6)}.rb__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.rb__subtitle{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug);margin:3px 0 0}.rb__viz{position:relative;padding:0 4px}.rb__row{position:relative;height:38px}.rb__track{position:relative;height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--surface-3),color-mix(in srgb,var(--accent) 24%,var(--surface-3)))}.rb__cap{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--surface)}.rb__cap,.rb__tick{position:absolute;top:50%;transform:translate(-50%,-50%)}.rb__tick{width:2px;height:20px;background:var(--ink);border-radius:2px;transition:opacity var(--dur-slow) var(--ease-out)}.rb__tick.is-soft{background:var(--muted);height:15px}.rb__mk{position:absolute;transform:translate(-50%);text-align:center;white-space:nowrap}.rb__mk--edge-l{left:0;transform:none;text-align:left}.rb__mk--edge-r{right:0;left:auto;transform:none;text-align:right}.rb__row--above .rb__mk{bottom:3px}.rb__row--below .rb__mk{top:3px}.rb__mk-name{display:block;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.rb__mk-val{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.rb__legend{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4);margin:var(--s-5) 0 0;padding-top:var(--s-4);border-top:1px solid var(--border)}.rb__legend-item{min-width:0}.rb__legend-item dt{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.rb__legend-item dd{margin:2px 0 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.rb__key{flex:none;width:2px;height:10px;border-radius:2px;background:var(--ink)}.rb__key.is-soft{background:var(--muted)}.rb__key--cap{width:8px;height:8px;border-radius:50%;background:var(--accent)}@container (max-width: 440px){.rb__row{height:var(--s-2)}.rb__row .rb__mk{display:none}.rb__legend{display:grid}}.roi__head{margin-bottom:var(--s-4)}.roi__title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.roi__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3);margin-bottom:var(--s-5)}.roi__stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-4) var(--s-2);border-radius:var(--r-md);background:var(--surface-3);text-align:center;will-change:transform;transition:transform var(--dur-base) var(--ease-spring)}.roi__stat:hover{transform:translateY(-3px) scale(1.02)}.roi__stat--accent{background:var(--accent-soft)}.roi__stat--accent .roi__stat-val{color:var(--accent)}.roi__stat-val{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight)}.roi__stat-val small{font-size:var(--fs-sm);font-weight:var(--fw-medium);margin-inline-start:2px}.roi__stat-label{font-size:var(--fs-xs);color:var(--muted)}.roi__rows{display:flex;flex-direction:column}.roi__row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.roi__row:last-child{border-bottom:none}.roi__row-label{font-size:var(--fs-sm);color:var(--ink-soft)}.roi__row-val{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.roi__row-val.is-pos{color:var(--success)}.roi__row-val.is-neg{color:var(--danger)}.roi__assumptions{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--border)}.roi__assumptions-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--faint)}.roi__assumptions ul{margin-top:var(--s-2);display:flex;flex-direction:column;gap:var(--s-1)}.roi__assumptions li{position:relative;padding-inline-start:var(--s-4);font-size:var(--fs-sm);color:var(--muted)}.roi__assumptions li:before{content:"";position:absolute;inset-inline-start:4px;top:8px;width:4px;height:4px;border-radius:50%;background:var(--faint)}@media(max-width:480px){.roi__stat{padding:var(--s-3) var(--s-1)}.roi__stat-val{font-size:var(--fs-lg)}}.radial{position:fixed;inset:0;z-index:calc(var(--z-overlay, 1000) + 5);pointer-events:none}.radial__catch{inset:0}.radial__catch,.radial__scrim{position:fixed;pointer-events:auto}.radial__scrim{background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),rgba(6,6,8,.04) 90px,rgba(6,6,8,.3) 320px,rgba(6,6,8,.46) 640px);backdrop-filter:blur(4px) saturate(115%);-webkit-backdrop-filter:blur(4px) saturate(115%)}.radial__wheel{--wedge-fill:rgba(18,18,22,.62);--wedge-fill-hot:rgba(30,30,36,.74);--wedge-stroke:hsla(0,0%,100%,.09);--hub-bg:rgba(12,12,15,.78);--hub-stroke:hsla(0,0%,100%,.1);--glyph:hsla(0,0%,100%,.82);--glyph-hot:#fff;--a-share:#2e8bff;--a-search:#26d07c;--a-chart:#9a7bff;position:absolute;width:240px;height:240px;margin:0;transform:translate(-50%,-50%);transform-origin:center;outline:none;pointer-events:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5)) drop-shadow(0 4px 12px rgba(0,0,0,.34))}.radial__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.radial__wedge{cursor:pointer;animation:radial-wedge-in var(--dur-expand) var(--ease-spring) both;animation-delay:calc(var(--i)*60ms + 30ms)}.radial__wedge,.radial__wedge-lift{transform-box:view-box;transform-origin:120px 120px}.radial__wedge-lift{transform:translate(0);transition:transform var(--dur-base) var(--ease-spring)}.radial__wedge.is-hot .radial__wedge-lift{transform:translate(calc(var(--lx)*8px),calc(var(--ly)*8px))}.radial__wedge-fill{fill:var(--wedge-fill);stroke:var(--wedge-stroke);stroke-width:1;stroke-linejoin:round;transition:fill var(--dur-fast) var(--ease-out),stroke var(--dur-fast) var(--ease-out)}.radial__wedge-arc{fill:none;stroke:var(--wedge-accent,transparent);stroke-width:2.4;stroke-linecap:round;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.radial__wedge.is-share{--wedge-accent:var(--a-share)}.radial__wedge.is-search{--wedge-accent:var(--a-search)}.radial__wedge.is-chart{--wedge-accent:var(--a-chart)}.radial__wedge.is-hot .radial__wedge-fill{fill:color-mix(in srgb,var(--wedge-accent) 24%,var(--wedge-fill-hot));stroke:color-mix(in srgb,var(--wedge-accent) 55%,transparent)}.radial__wedge.is-hot .radial__wedge-arc{opacity:.9;filter:drop-shadow(0 0 6px var(--wedge-accent))}.radial__icon{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;padding:0;border:0;background:none;color:var(--glyph);cursor:pointer;display:grid;place-items:center;animation:radial-glyph-in var(--dur-base) var(--ease-spring) both;animation-delay:calc(var(--i)*60ms + .13s);transition:color var(--dur-base) var(--ease-out)}.radial__icon.is-hot{color:var(--glyph-hot);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--wedge-accent,#fff) 60%,transparent))}.radial__icon.is-share{--wedge-accent:var(--a-share)}.radial__icon.is-search{--wedge-accent:var(--a-search)}.radial__icon.is-chart{--wedge-accent:var(--a-chart)}.radial__glyph{transition:transform var(--dur-base) var(--ease-spring)}.radial__glyph,.radial__glyph svg{display:block;width:100%;height:100%}.radial__icon.is-hot .radial__glyph{transform:translate(calc(var(--lx)*8px),calc(var(--ly)*8px)) scale(1.08)}.radial__hub{position:absolute;left:50%;top:50%;width:88px;height:88px;transform:translate(-50%,-50%);border-radius:50%;background:var(--hub-bg);border:1px solid var(--hub-stroke);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;text-align:center;padding:0 12px;box-shadow:inset 0 1px #ffffff0f;animation:radial-hub-in var(--dur-base) var(--ease-spring) both}.radial__hub-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:var(--tracking-snug);color:var(--ink,#ededed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.radial__ripple{position:absolute;left:50%;top:50%;width:96px;height:96px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid hsla(0,0%,100%,.35);pointer-events:none;animation:radial-ripple var(--dur-slow) var(--ease-out) both}.radial__mini{--mini-glow:#37b4ff;--mini-line:#eaf4ff;--mini-fill:#4fb0ff;position:fixed;z-index:2;pointer-events:none;width:176px;display:flex;flex-direction:column;gap:11px;padding:12px;border-radius:16px;background:#000;border:1px solid var(--border);box-shadow:0 20px 48px #0000008c;transform-origin:center;animation:radial-mini-in var(--dur-expand) var(--ease-spring) both;animation-delay:60ms}.radial__mini-frame{position:relative;width:100%;aspect-ratio:1;border-radius:10px;overflow:hidden}.radial__mini-svg{display:block;width:100%;height:100%;overflow:visible}.radial__mini-fill{fill:color-mix(in srgb,var(--mini-fill) 18%,transparent);stroke:none}.radial__mini-glow{fill:none;stroke:var(--mini-glow);stroke-width:4;stroke-linejoin:round;stroke-linecap:round;filter:blur(3px);opacity:.7;animation:radial-mini-breathe 2.4s var(--ease-standard) infinite}.radial__mini-line{fill:none;stroke:var(--mini-line);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--mini-glow));stroke-dasharray:100;animation:radial-mini-draw var(--dur-slow) var(--ease-out) both;animation-delay:.12s}.radial__mini-info{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px;min-width:0}.radial__mini-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:#8b8b93}.radial__mini-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-snug);line-height:1.25;color:#f2f4f8}.radial__mini-meta,.radial__mini-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radial__mini-meta{font-size:var(--fs-xs);color:#8b8b93;font-variant-numeric:tabular-nums}[data-theme=light] .radial__scrim{background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),hsla(0,0%,100%,.04) 90px,hsla(0,0%,100%,.26) 320px,rgba(248,250,255,.44) 640px)}[data-theme=light] .radial__wheel{--wedge-fill:hsla(0,0%,100%,.72);--wedge-fill-hot:hsla(0,0%,100%,.9);--wedge-stroke:rgba(0,0,0,.06);--hub-bg:hsla(0,0%,100%,.86);--hub-stroke:rgba(0,0,0,.06);--glyph:rgba(24,24,28,.7);--glyph-hot:#111;filter:drop-shadow(0 18px 40px rgba(0,0,0,.22)) drop-shadow(0 4px 12px rgba(0,0,0,.14))}[data-theme=light] .radial__hub-label{color:var(--ink,#171717)}[data-theme=light] .radial__ripple{border-color:#00000038}.radial-enter-active .radial__scrim{transition:opacity var(--dur-base) var(--ease-out)}.radial-leave-active .radial__scrim{transition:opacity var(--dur-fast) var(--ease-out)}.radial-enter-from .radial__scrim,.radial-leave-to .radial__scrim{opacity:0}.radial-enter-active .radial__wheel{transition:transform var(--dur-expand) var(--ease-spring),opacity var(--dur-fast) var(--ease-out)}.radial-leave-active .radial__wheel{transition:transform var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-out)}.radial-enter-from .radial__wheel,.radial-leave-to .radial__wheel{transform:translate(-50%,-50%) scale(.35);opacity:0}@keyframes radial-wedge-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes radial-glyph-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes radial-hub-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes radial-ripple{0%{opacity:.6;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}@keyframes radial-mini-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes radial-mini-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes radial-mini-breathe{0%,to{opacity:.55}50%{opacity:.9}}.radial-swap-enter-active,.radial-swap-leave-active{transition:opacity var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.radial-swap-enter-from{opacity:0;transform:translateY(4px)}.radial-swap-leave-to{opacity:0;transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.radial__hub,.radial__icon,.radial__mini,.radial__mini-glow,.radial__ripple,.radial__wedge{animation:none}.radial__mini-line{animation:none;stroke-dasharray:none}.radial__glyph,.radial__icon,.radial__wedge-lift{transition:none}.radial-enter-active .radial__wheel,.radial-leave-active .radial__wheel{transition:opacity var(--dur-fast) var(--ease-out)}.radial-enter-from .radial__wheel,.radial-leave-to .radial__wheel{transform:translate(-50%,-50%) scale(1);opacity:0}}.choro-map{--map-accent:var(--viz-accent,#1b5dff)}.choro-map__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);flex-wrap:wrap}.choro-map__title{display:flex;flex-direction:column;gap:1px}.choro-map__h{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--ink)}.choro-map__sub{font-size:var(--fs-xs);color:var(--muted)}.choro-map__hotcold{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.choro-map__cold,.choro-map__hot{color:var(--ink)}.choro-map__cold i,.choro-map__hot i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-inline-end:5px;vertical-align:middle}.choro-map__lenses{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-2) var(--s-4) var(--s-3);border-bottom:1px solid var(--border)}.choro-map__seg{display:inline-flex;align-items:center;gap:var(--tabs-gap);padding:var(--tabs-pad);border:1px solid var(--tabs-border);border-radius:calc(var(--tabs-h)/2 + var(--tabs-pad));background:var(--tabs-track)}@supports (corner-shape:squircle){.choro-map__seg{corner-shape:squircle;border-radius:calc(var(--tabs-h)*.53 + var(--tabs-pad))}}.choro-map__seg-opt{display:inline-flex;align-items:center;justify-content:center;height:var(--tabs-h);padding:0 var(--tabs-px);border:0;border-radius:calc(var(--tabs-h)/2);font-size:var(--tabs-fs);font-weight:var(--tabs-fw);line-height:1;white-space:nowrap}@supports (corner-shape:squircle){.choro-map__seg-opt{corner-shape:squircle;border-radius:calc(var(--tabs-h)*.53)}}.choro-map__seg-opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.choro-map__seg-opt:hover{color:var(--ink)}.choro-map__seg-opt.is-active{background:var(--tabs-knob);box-shadow:var(--tabs-knob-shadow);color:var(--ink)}.choro-map__seg-sub{font-size:var(--fs-xs);color:var(--muted);margin-inline-start:var(--s-1)}.choro-map__live{position:relative;aspect-ratio:16/10;width:100%}.choro-map__journey{position:absolute;z-index:4;top:92px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 32px);padding:6px 10px;border:1px solid var(--glass-border,var(--border));border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);font-size:10px;line-height:1.3;white-space:nowrap;pointer-events:none}.choro-map__journey-dot{width:6px;height:6px;border-radius:50%;background:var(--viz-accent,#37b4ff);box-shadow:0 0 0 4px color-mix(in srgb,var(--viz-accent,#37b4ff) 20%,transparent);animation:choro-journey-pulse 1.2s ease-in-out infinite}.choro-map__journey-dot .maplibregl-ctrl-bottom-right{inset-inline-end:6px;bottom:6px}.choro-map__journey-dot .maplibregl-ctrl-attrib.maplibregl-compact{min-height:20px;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:none}.choro-map__journey-dot .maplibregl-ctrl-attrib-button{width:20px;height:20px;opacity:.5;transition:opacity .15s ease}.choro-map__journey-dot .maplibregl-ctrl-attrib-button:hover{opacity:1}.choro-map__journey-dot .maplibregl-ctrl-attrib-inner{font-size:10px;color:var(--muted)}.choro-map__tip{position:absolute;z-index:4;pointer-events:none;display:flex;flex-direction:column;gap:2px;min-width:130px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px #0000002e;font-size:var(--fs-xs)}.choro-map__tip-label{font-weight:var(--fw-semibold);color:var(--ink);margin-bottom:2px}.choro-map__tip-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.choro-map__tip-k{color:var(--muted)}.choro-map__tip-v{color:var(--ink);font-variant-numeric:tabular-nums}.choro-map__legend{position:absolute;inset-inline-start:var(--s-3);bottom:var(--s-3);z-index:3;display:flex;align-items:center;gap:var(--s-2);padding:5px var(--s-3);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted)}.choro-map__legend-ramp{width:96px;height:8px;border-radius:var(--r-pill)}.choro-map__legend-k{font-variant-numeric:tabular-nums}.choro-map__legend-lc{display:inline-flex;align-items:center;gap:4px;padding-inline-start:var(--s-2);border-inline-start:1px solid var(--border)}.choro-map__legend-lc-sw{width:10px;height:10px;border-radius:2px;border:1px solid var(--border);opacity:.45;background:var(--muted)}.choro-map__legend-ask{display:inline-flex;align-items:center;gap:4px;padding-inline-start:var(--s-2);border-inline-start:1px solid var(--border)}.choro-map__legend-ask-sw{width:10px;height:10px;border-radius:2px;border:1px dashed var(--text,currentColor);opacity:.7}.choro-map__legend-nd{display:inline-flex;align-items:center;gap:4px;padding-inline-start:var(--s-2);border-inline-start:1px solid var(--border)}.choro-map__legend-nd i{width:10px;height:10px;border-radius:3px;display:inline-block}.choro-map__marker{position:absolute;z-index:6;transform:translate(-50%,-100%);transform-origin:bottom center;padding:0;border:0;background:none;cursor:pointer;color:#fff;animation:choro-marker-drop var(--dur-expand,.42s) var(--ease-spring,cubic-bezier(.2,.9,.25,1)) both;filter:drop-shadow(0 3px 5px rgba(0,0,0,.5));-webkit-tap-highlight-color:transparent}.choro-map__marker-pin{position:relative;display:block;animation:choro-marker-bob 2.6s ease-in-out infinite;transition:transform var(--dur-fast,.16s) var(--ease-out,ease)}.choro-map__marker:hover .choro-map__marker-pin{transform:scale(1.12)}.choro-map__marker-ico{display:block;width:34px;height:34px}.choro-map__marker-x{position:absolute;top:-3px;inset-inline-end:-5px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--danger,#e5484d);color:#fff;opacity:0;transform:scale(.5);transition:opacity var(--dur-fast,.16s) var(--ease-out,ease),transform var(--dur-fast,.16s) var(--ease-spring,ease)}.choro-map__marker-x svg{width:9px;height:9px}.choro-map__marker:focus-visible .choro-map__marker-x,.choro-map__marker:hover .choro-map__marker-x{opacity:1;transform:scale(1)}.choro-map__marker-shadow{position:absolute;left:50%;bottom:-3px;width:15px;height:5px;transform:translate(-50%);border-radius:50%;background:#0006;filter:blur(2px);animation:choro-marker-shadow 2.6s ease-in-out infinite}[data-theme=light] .choro-map__marker{color:#111;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}[data-theme=light] .choro-map__marker-shadow{background:#00000047}@keyframes choro-marker-drop{0%{opacity:0;transform:translate(-50%,-190%) scale(.5)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes choro-marker-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes choro-marker-shadow{0%,to{transform:translate(-50%) scale(1);opacity:.4}50%{transform:translate(-50%) scale(.68);opacity:.2}}@keyframes choro-journey-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.choro-map__journey-dot,.choro-map__marker,.choro-map__marker-pin,.choro-map__marker-shadow{animation:none}}.map{--map-accent:var(--viz-accent,#1b5dff);--map-accent-ink:#fff}.map__bldg-metric select{width:100%;margin-top:var(--s-1);padding:var(--s-1) var(--s-2);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xs)}.map__bldg-tally{margin-top:var(--s-2);font-size:.78rem;line-height:1.45;opacity:.85}.map__bar{align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.map__bar,.map__stats{display:flex;flex-wrap:wrap}.map__stats{align-items:baseline;row-gap:var(--s-1)}.map__stat{display:inline-flex;align-items:baseline;gap:5px}.map__stat+.map__stat{margin-inline-start:var(--s-3);padding-inline-start:var(--s-3);border-inline-start:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.map__stat-v{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--ink);font-variant-numeric:tabular-nums}.map__stat-k{font-size:11px;font-weight:var(--fw-medium);color:var(--faint);text-transform:uppercase;letter-spacing:.05em}.map__stats:has(.map__stat--focus){min-width:0}.map__stat--focus{min-width:0}.map__stat--focus .map__stat-v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map__head-right{display:flex;align-items:center;gap:var(--s-2)}.map__viewtag{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.map__save{display:grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--r-pill);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.map__save svg{width:15px;height:15px}.map__save:focus-visible,.map__save:hover{outline:none;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 26%,transparent)}.map__save.is-on{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 30%,transparent)}.map__save.is-on svg path{fill:currentColor}.map__d3{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 10px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.03em;cursor:pointer;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.map__d3 svg{width:15px;height:15px}.map__d3:focus-visible,.map__d3:hover{outline:none;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 26%,transparent)}.map__d3.is-on{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 45%,transparent)}.map__live{position:relative;aspect-ratio:16/9;width:100%;background:var(--surface-2)}.map__legend{position:absolute;left:var(--s-3);bottom:var(--s-3);z-index:2;display:flex;align-items:center;gap:var(--s-2);padding:6px var(--s-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.map__legend-k{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.map__legend-bar{width:84px;height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,#3b82f6,#22d3ee,#34d399,#facc15,#f97316,#ef4444)}.map__dir{position:absolute;left:var(--s-3);top:var(--s-3);z-index:3;width:200px;max-width:calc(100% - var(--s-3)*2);max-height:calc(100% - var(--s-3)*2);overflow-y:auto;padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-1);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.map__dir--wide{width:232px}.map__3d-toggle{position:absolute;left:var(--s-3);top:var(--s-3);z-index:3;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--ink);cursor:pointer;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-spring)}.map__3d-toggle svg{width:18px;height:18px}.map__3d-toggle:hover{color:var(--map-accent);border-color:var(--map-accent);transform:scale(1.06)}.map__dir-x{margin-inline-start:auto;display:grid;place-items:center;width:22px;height:22px;border:none;background:transparent;color:var(--muted);border-radius:var(--r-sm);cursor:pointer}.map__dir-x svg{width:14px;height:14px}.map__dir-x:hover{color:var(--ink);background:var(--surface-3)}.map__dir-route{display:flex;align-items:center;gap:var(--s-2)}.map__dir-dot{flex:none;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px var(--surface)}.map__dir-dot--a{background:#1b5dff}.map__dir-dot--b{background:#ef4444}.map__dir-line{width:2px;height:12px;margin-inline-start:4px;background:var(--border)}.map__dir-from{flex:1;min-width:0}.map__dir-from .smenu__btn{width:100%;justify-content:space-between;height:auto;padding:2px 4px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.map__dir-from .smenu__btn:hover:not(:disabled){background:var(--surface-3)}.map__dir-from .smenu__menu{min-width:220px}.map__dir-from .smenu__item{white-space:normal}.map__dir-to{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.map__dir-modes{display:flex;align-items:center;gap:4px;margin-top:var(--s-2)}.map__dir-mode{display:grid;place-items:center;width:38px;height:30px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--muted);cursor:pointer;transition:color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.map__dir-mode svg{width:18px;height:18px}.map__dir-mode:hover{color:var(--ink-soft)}.map__dir-mode.is-active{color:#fff;background:var(--map-accent);border-color:var(--map-accent)}.map__dir-badge{margin-inline-start:auto;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.map__dir-eta{display:flex;flex-direction:column;margin-top:var(--s-2)}.map__dir-eta--load{color:var(--muted);font-size:var(--fs-sm)}.map__dir-time{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}.map__dir-dist{font-size:var(--fs-xs);color:var(--muted)}.map__dir-alts{display:flex;flex-direction:column;gap:4px;margin-top:var(--s-2)}.map__dir-alt{display:flex;align-items:baseline;gap:var(--s-2);padding:5px var(--s-2);border:1px solid transparent;border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;text-align:start;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.map__dir-alt:hover{background:var(--surface-3)}.map__dir-alt.is-active{border-color:var(--map-accent);background:color-mix(in srgb,var(--map-accent) 12%,var(--surface-2))}.map__dir-alt-time{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.map__dir-alt-dist{font-size:var(--fs-xs);color:var(--muted)}.map__dir-alt-tag{margin-inline-start:auto;font-size:var(--fs-xs);color:var(--map-accent);font-weight:var(--fw-medium)}.map__reach{display:flex;flex-direction:column;gap:5px;margin-top:var(--s-2)}.map__reach-row{display:flex;align-items:center;gap:var(--s-2)}.map__reach-sw{flex:none;width:12px;height:12px;border-radius:3px}.map__reach-min{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.map__reach-cnt{margin-inline-start:auto;font-size:var(--fs-xs);color:var(--muted)}.map__walk{display:flex;align-items:baseline;gap:var(--s-2);margin-top:var(--s-2)}.map__walk-score{font-size:var(--fs-xxl,28px);font-weight:var(--fw-bold);color:var(--map-accent);line-height:1;font-variant-numeric:tabular-nums}.map__walk-k{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.map__cats{display:flex;flex-direction:column;gap:2px;margin-top:var(--s-2)}.map__cat{display:flex;align-items:center;gap:var(--s-2);padding:4px var(--s-1);border:none;background:transparent;border-radius:var(--r-sm);cursor:pointer;transition:opacity var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.map__cat:hover{background:var(--surface-3)}.map__cat.is-off{opacity:.4}.map__cat-sw{flex:none;width:10px;height:10px;border-radius:50%}.map__cat-l{font-size:var(--fs-sm);color:var(--ink)}.map__cat-n{margin-inline-start:auto;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.map__draw-h{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);display:flex;align-items:center;gap:var(--s-2)}.map__draw-hint{margin:0}.map__draw-hint,.map__draw-radius{font-size:var(--fs-xs);color:var(--muted)}.map__draw-radius{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px var(--s-2);margin-top:var(--s-2)}.map__draw-radius input{grid-column:1/-1;width:100%;accent-color:var(--map-accent);cursor:pointer}.map__draw-rv{text-align:end;color:var(--ink);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.map__draw-clear{margin-top:var(--s-2);padding:5px var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-soft);font-size:var(--fs-xs);cursor:pointer}.map__draw-clear:hover{background:var(--surface-3)}.map__cmp-count{margin-inline-start:auto;font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-regular)}.map__cmp-list{display:flex;flex-direction:column;gap:1px;margin-top:var(--s-1);max-height:116px;overflow-y:auto}.map__cmp-pick{display:flex;align-items:center;gap:var(--s-2);padding:4px var(--s-1);border:none;background:transparent;border-radius:var(--r-sm);cursor:pointer;text-align:start}.map__cmp-pick:hover{background:var(--surface-3)}.map__cmp-box{flex:none;width:14px;height:14px;border-radius:4px;border:1.5px solid var(--border);transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.map__cmp-pick.is-on .map__cmp-box{background:var(--map-accent);border-color:var(--map-accent)}.map__cmp-name{font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map__cmp-table{display:flex;flex-direction:column;gap:2px;margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--border)}.map__cmp-row{display:flex;align-items:baseline;gap:var(--s-2)}.map__cmp-rank{flex:none;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:var(--map-accent);color:#fff;font-size:10px;font-weight:var(--fw-bold)}.map__cmp-rl{font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.map__cmp-rp{font-size:var(--fs-xs);color:var(--map-accent);font-weight:var(--fw-semibold)}.map__cmp-rd{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.map__cmp-legend{font-size:10px;color:var(--muted);margin-top:2px}.map__site-tools{display:flex;gap:4px;margin-top:var(--s-2)}.map__site-tools .map__draw-clear{margin-top:0;flex:1}.map__site-brief{margin-top:var(--s-2);width:100%;resize:none;padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-sm);line-height:1.35}.map__site-brief::-moz-placeholder{color:var(--muted)}.map__site-brief::placeholder{color:var(--muted)}.map__site-brief:focus{outline:none;border-color:var(--map-accent)}.map__site-go{margin-top:var(--s-2);padding:7px var(--s-2);border:none;border-radius:var(--r-md);background:var(--map-accent);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:opacity var(--dur-base) var(--ease-out)}.map__site-go:hover{opacity:.9}.map__site-go:disabled{opacity:.45;cursor:not-allowed}.map__site-row{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:5px var(--s-1);border:none;background:transparent;border-radius:var(--r-sm);cursor:pointer;text-align:start}.map__site-row:hover{background:var(--surface-3)}.map__site-info{display:flex;flex-direction:column;min-width:0;flex:1}.map__site-rl{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.map__site-reason{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map__site-score{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--map-accent);font-variant-numeric:tabular-nums}.map__3d-orbit{display:flex;align-items:center;justify-content:center;gap:var(--s-2);margin-top:var(--s-2);padding:7px var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.map__3d-orbit svg{width:16px;height:16px}.map__3d-orbit:hover{background:var(--surface-3)}.map__3d-orbit.is-on{background:var(--map-accent);border-color:var(--map-accent);color:var(--map-accent-ink)}.map__legend--inline{position:static;margin-top:var(--s-3);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0;gap:6px}.map__pin{--map-pin-focus:var(--viz-accent,#256aff);--map-pin-fill:var(--map-pin-focus);--map-pin-edge:transparent;--map-pin-dot:#fff;display:block;cursor:pointer;background:none;border:0;padding:0}.map__pin-inner{position:relative;display:block;transform-origin:50% 100%;animation:map-pin-drop var(--dur-expand) var(--ease-spring) both;transition:transform var(--dur-base) var(--ease-spring)}.map__pin-shadow{position:absolute;left:50%;bottom:0;width:18px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.35),transparent 72%);transform:translate(-50%) scale(1);transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-base) var(--ease-out);pointer-events:none}.map__pin-svg{position:relative;display:block;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}.map__pin-body{fill:var(--map-pin-fill);stroke:var(--map-pin-edge);stroke-width:1.2;transition:fill var(--dur-fast) var(--ease-out),stroke var(--dur-fast) var(--ease-out),stroke-width var(--dur-fast) var(--ease-out)}.map__pin-hole{fill:var(--map-pin-dot);transition:fill var(--dur-fast) var(--ease-out)}.map__pin:hover{z-index:2;--map-pin-fill:var(--map-pin-focus);--map-pin-edge:transparent;--map-pin-dot:#fff}.map__pin:hover .map__pin-inner{transform:translateY(-4px) scale(1.08)}.map__pin:hover .map__pin-svg{filter:drop-shadow(0 3px 5px rgba(0,0,0,.28)) drop-shadow(0 0 9px rgba(37,106,255,.7))}.map__pin:hover .map__pin-shadow{transform:translate(-50%) scale(1.35);opacity:.6}.map__pin:focus-visible{outline:none;z-index:2;--map-pin-fill:var(--map-pin-focus);--map-pin-edge:transparent;--map-pin-dot:#fff}.map__pin:focus-visible .map__pin-inner{transform:translateY(-3px) scale(1.18)}.map__pin:focus-visible .map__pin-body{stroke-width:1.9}.map .mapboxgl-popup-content,.map .maplibregl-popup-content{display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);background:var(--surface);color:var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-lg);font-family:var(--font-sans)}.map .mapboxgl-popup-tip,.map .maplibregl-popup-tip{border-top-color:var(--surface);border-bottom-color:var(--surface)}.map__pop-label{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.map__pop-price{font-size:var(--fs-xs);color:var(--map-accent);font-weight:var(--fw-semibold)}.map .mapboxgl-popup-content:has(.map__card),.map .maplibregl-popup-content:has(.map__card){padding:0;gap:0;width:240px;overflow:hidden}.map__card{display:flex;flex-direction:column}.map__card-media{aspect-ratio:16/10;overflow:hidden;background:var(--surface-3)}.map__card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.map__card-body{display:flex;flex-direction:column;gap:3px;padding:var(--s-3)}.map__card-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-snug)}.map__card-price{font-size:var(--fs-md);color:var(--map-accent);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.map__card-ref{margin-top:var(--s-2);padding:6px var(--s-2);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.map__card-ref:hover{border-color:var(--accent);color:var(--ink)}.map__card-ref.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}[data-theme=light] .map__pin-svg{filter:drop-shadow(0 3px 6px rgba(15,18,24,.32))}.map-legend-enter-active,.map-legend-leave-active,.map-panel-enter-active,.map-panel-leave-active{transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.map-legend-enter-from,.map-legend-leave-to{opacity:0;transform:translateY(6px)}.map-panel-enter-from,.map-panel-leave-to{opacity:0;transform:translate(-8px)}@keyframes map-pin-drop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:880px){.map__live{aspect-ratio:auto;height:clamp(300px,56vh,460px)}.map__viewtag{display:none}.map__stats{gap:var(--s-2)}.map__dir{inset-inline:var(--s-2);top:auto;bottom:var(--s-2);width:auto;max-width:none;max-height:56%}.map__d3,.map__dir-mode,.map__dir-x,.map__save{min-width:var(--tap-min);min-height:var(--tap-min)}}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:116px;gap:var(--s-2)}.gallery__item{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out)}.gallery__item--lead{grid-column:span 2;grid-row:span 2}.gallery__item:hover{box-shadow:inset 0 0 0 1px var(--border-strong),var(--shadow-md);z-index:1}.gallery__item:hover .gallery__img{transform:scale(1.06)}.gallery__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.gallery__placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--surface-3);color:var(--faint)}.gallery__placeholder svg{width:30px;height:30px;opacity:.65}.gallery__item--lead .gallery__placeholder svg{width:40px;height:40px}.gallery__caption{position:absolute;inset-inline-start:var(--s-2);bottom:var(--s-2);max-width:calc(100% - var(--s-4));padding:3px var(--s-2);border-radius:var(--r-sm);background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);color:var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery__item--lead .gallery__caption{font-size:var(--fs-sm)}.gallery__more{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);color:var(--ink)}.gallery__more-num{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1}.gallery__more-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}@media(max-width:560px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px}.gallery__item--lead{grid-column:span 2;grid-row:span 1}}.img-block{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);background:var(--surface)}.img-block__img{width:100%;max-height:420px;-o-object-fit:cover;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-out)}.img-block:hover .img-block__img{transform:scale(1.03)}.img-block__placeholder{aspect-ratio:16/9;display:grid;place-items:center;background:var(--surface-3);color:var(--faint)}.img-block__placeholder svg{width:34px;height:34px}.img-block__caption{padding:var(--s-2) var(--s-3);font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--border)}.pdf{display:flex;align-items:center;gap:var(--s-4)}.pdf__icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--r-md);background:var(--surface-3);color:var(--ink-soft)}.pdf__icon svg{width:22px;height:22px}.pdf__body{flex:1 1 auto;min-width:0}.pdf__title{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf__meta{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.pdf__action{outline:none}.pdf__action:focus-visible{outline:var(--ring-w) solid var(--ring);outline-offset:var(--ring-offset)}.pdf__action{transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-micro) var(--ease-standard),border-color var(--dur-micro) var(--ease-standard),box-shadow var(--dur-base) var(--ease-out),color var(--dur-micro) var(--ease-standard)}.pdf__action:hover{transform:scale(var(--hover-scale))}.pdf__action:active{transform:scale(var(--press-scale))}.pdf__action{display:inline-flex;align-items:center;gap:var(--s-2);flex:none;height:38px;padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.pdf__action svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-spring)}.pdf__action:hover svg{transform:translateY(2px)}.tbl{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.tbl__scroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tbl__scroll::-webkit-scrollbar{display:none}.tbl__table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl__table td,.tbl__table th{padding:var(--s-3) var(--s-4);text-align:start;white-space:nowrap;border-bottom:1px solid var(--border)}.tbl__table td{color:var(--ink);transition:background-color var(--dur-micro) var(--ease-standard)}.tbl__table th{font-weight:var(--fw-semibold);color:var(--ink-soft);background:var(--surface-2)}.tbl__table tr:last-child td{border-bottom:none}.tbl__table tbody tr:hover td{background:var(--accent-soft)}.tbl__table .tbl__row{cursor:pointer}.tbl__table .tbl__row.is-active td{background:var(--accent-soft)}.tbl__table .tbl__row.is-active td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.tbl__table .is-num{text-align:end}.tbl__caption{padding:var(--s-2) var(--s-4);font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--border)}@media(max-width:880px){.tbl{position:relative}.tbl__scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tbl:after{content:"";position:absolute;top:0;inset-inline-end:0;bottom:0;width:24px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--surface))}[dir=rtl] .tbl:after{background:linear-gradient(270deg,transparent,var(--surface))}}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border-strong);border-radius:var(--r-lg);overflow:hidden;isolation:isolate;font-variant-numeric:tabular-nums;animation:stats-in var(--dur-expand) var(--ease-out) both}.stats__tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--s-1);min-width:0;padding:var(--s-4);background:var(--surface-3);transition:box-shadow var(--dur-fast) var(--ease-out);animation:stats-tile-in var(--dur-expand) var(--ease-out) both}.stats__tile:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.stats__tile:first-child{animation-delay:0s}.stats__tile:nth-child(2){animation-delay:.04s}.stats__tile:nth-child(3){animation-delay:.08s}.stats__tile:nth-child(4){animation-delay:.12s}.stats__tile:nth-child(5){animation-delay:.16s}.stats__tile:nth-child(6){animation-delay:.2s}.stats__tile:nth-child(7){animation-delay:.24s}.stats__tile:nth-child(8){animation-delay:.28s}.stats__value{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--ink);font-variant-numeric:tabular-nums;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats__label{order:-1;text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--muted)}.stats__meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--s-2);padding-top:var(--s-1)}.stats__change{display:inline-flex;align-items:center;gap:3px;padding:2px var(--s-2) 2px 6px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1;font-variant-numeric:tabular-nums}.stats__change svg{width:13px;height:13px}.stats__change.is-up{color:var(--success);background:var(--success-soft)}.stats__change.is-down{color:var(--danger);background:var(--danger-soft)}.stats__change.is-down svg{transform:scaleY(-1)}.stats__sub{font-size:var(--fs-xs);color:var(--muted)}.stats[data-count="1"]{grid-template-columns:1fr}.stats[data-count="1"] .stats__tile{padding:var(--s-6);gap:var(--s-2)}.stats[data-count="1"] .stats__value{font-size:var(--fs-3xl);white-space:normal}.stats[data-count="2"]{grid-template-columns:repeat(2,1fr)}.stats[data-count="2"] .stats__value{font-size:var(--fs-xl)}.stats[data-count="3"]{grid-template-columns:repeat(3,1fr)}.stats[data-count="3"] .stats__value{font-size:var(--fs-lg)}.stats[data-count="4"]{grid-template-columns:repeat(4,1fr)}.stats[data-count="4"] .stats__tile{padding:var(--s-4) var(--s-3)}.stats[data-count="4"] .stats__value{font-size:var(--fs-lg)}.stats[data-count="5"]{grid-template-columns:repeat(6,1fr)}.stats[data-count="5"] .stats__value{font-size:var(--fs-lg)}@media(min-width:521px){.stats[data-count="5"] .stats__tile{grid-column:span 2}.stats[data-count="5"] .stats__tile:nth-child(n+4){grid-column:span 3}}.stats[data-count="6"]{grid-template-columns:repeat(3,1fr)}.stats[data-count="6"] .stats__value{font-size:var(--fs-lg)}.stats[data-count="7"]{grid-template-columns:repeat(12,1fr)}.stats[data-count="7"] .stats__tile{padding:var(--s-4) var(--s-3)}.stats[data-count="7"] .stats__value{font-size:var(--fs-lg)}@media(min-width:521px){.stats[data-count="7"] .stats__tile{grid-column:span 3}.stats[data-count="7"] .stats__tile:nth-child(n+5){grid-column:span 4}}.stats[data-count="8"]{grid-template-columns:repeat(4,1fr)}.stats[data-count="8"] .stats__tile{padding:var(--s-4) var(--s-3)}.stats[data-count="8"] .stats__value{font-size:var(--fs-lg)}@media(max-width:520px){.stats[data-count]{grid-template-columns:repeat(2,1fr)}.stats[data-count="1"]{grid-template-columns:1fr}.stats[data-count="3"] .stats__tile:last-child,.stats[data-count="5"] .stats__tile:last-child,.stats[data-count="7"] .stats__tile:last-child{grid-column:1/-1}.stats .stats__tile{padding:var(--s-3)}.stats[data-count] .stats__value{font-size:var(--fs-lg)}.stats[data-count="1"] .stats__tile{padding:var(--s-4)}.stats[data-count="1"] .stats__value{font-size:var(--fs-2xl)}}@media(max-width:360px){.stats[data-count]{grid-template-columns:1fr}.stats[data-count] .stats__tile:last-child{grid-column:auto}}@keyframes stats-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes stats-tile-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.stats,.stats__tile{animation:none}.stats__tile{transition:none}}.stat-coll{width:100%;display:flex;flex-direction:column;gap:var(--s-3)}.stat-coll__title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink-soft)}.ablk{width:100%;gap:var(--s-3)}.ablk,.ablk__insights{display:flex;flex-direction:column}.ablk__insights{gap:var(--s-1)}.ablk__insights li{position:relative;padding-inline-start:var(--s-4);font-size:var(--fs-sm);color:var(--ink-soft)}.ablk__insights li:before{content:"";position:absolute;inset-inline-start:4px;top:8px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.callout{display:grid;grid-template-columns:22px 0fr;align-items:center;gap:0;width:-moz-fit-content;width:fit-content;max-width:100%;padding:var(--s-2);border-radius:var(--r-lg);border:1px solid transparent;background:transparent;transition:grid-template-columns var(--dur-expand) var(--ease-spring),gap var(--dur-expand) var(--ease-spring),padding .2s ease,background .2s ease,border-color .2s ease}.callout:hover{grid-template-columns:22px 1fr;gap:var(--s-3);padding:var(--s-4)}.callout__icon{display:grid;place-items:center;flex:none;width:22px;height:22px;color:rgb(var(--fx-tint,255,255,255));transition:color .2s ease;animation:callout-icon-in var(--dur-expand) var(--ease-spring) both}.callout__icon svg{width:19px;height:19px}.callout__body{overflow:hidden;min-width:0}.callout__title{font-weight:var(--fw-semibold);margin-bottom:2px;white-space:nowrap}.callout__text{color:var(--ink-soft);font-size:var(--fs-sm);line-height:var(--lh-snug);white-space:nowrap}.callout--info:hover{background:var(--accent-soft)}.callout--info:hover .callout__icon{color:var(--ink-soft)}.callout--success:hover{background:var(--success-soft)}.callout--success:hover .callout__icon{color:var(--success)}.callout--warning:hover{background:var(--warning-soft)}.callout--warning:hover .callout__icon{color:var(--warning)}.callout--danger:hover{background:var(--danger-soft)}.callout--danger:hover .callout__icon{color:var(--danger)}@keyframes callout-icon-in{0%{opacity:0;transform:scale(.4) rotate(-12deg)}to{transform:scale(1) rotate(0);opacity:1}}.timeline__list{display:flex;flex-direction:column}.timeline__item{position:relative;display:flex;gap:var(--s-4);padding-bottom:var(--s-5);animation:timeline-item-in var(--dur-expand) var(--ease-out) both}.timeline__item:first-child{animation-delay:.06s}.timeline__item:nth-child(2){animation-delay:.12s}.timeline__item:nth-child(3){animation-delay:.18s}.timeline__item:nth-child(4){animation-delay:.24s}.timeline__item:nth-child(5){animation-delay:.3s}.timeline__item:nth-child(6){animation-delay:.36s}.timeline__item:nth-child(7){animation-delay:.42s}.timeline__item:nth-child(8){animation-delay:.48s}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;inset-inline-start:10px;top:22px;bottom:0;width:2px;background:var(--border)}.timeline__item:last-child:before{display:none}.timeline__marker{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-3);border:2px solid var(--border-strong);color:var(--on-accent);transition:transform var(--dur-base) var(--ease-spring),background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.timeline__marker svg{width:12px;height:12px;animation:timeline-check-in var(--dur-expand) var(--ease-spring) both}.timeline__item.is-done .timeline__marker{background:var(--accent);border-color:var(--accent)}.timeline__item:hover .timeline__marker{transform:scale(1.18)}.timeline__content{flex:1 1 auto;padding-top:1px}.timeline__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.timeline__label{font-weight:var(--fw-medium)}.timeline__date{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.timeline__detail{margin-top:2px;font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}@keyframes timeline-item-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes timeline-check-in{0%{opacity:0;transform:scale(.3)}to{transform:scale(1);opacity:1}}.calc__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-3)}.calc__title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.calc__price{font-size:var(--fs-sm);color:var(--muted)}.calc__result{display:flex;align-items:baseline;gap:var(--s-2);padding:var(--s-4);border-radius:var(--r-md);background:var(--accent-soft);margin-bottom:var(--s-5)}.calc__monthly{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--accent)}.calc__monthly-label{color:var(--muted)}.calc__controls{gap:var(--s-4)}.calc__controls,.calc__ctrl{display:flex;flex-direction:column}.calc__ctrl{gap:var(--s-2)}.calc__ctrl-head{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--ink-soft)}.calc__ctrl-head b{font-weight:var(--fw-semibold);color:var(--ink)}.calc__ctrl-sub{font-size:var(--fs-xs);color:var(--muted)}.calc__range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--r-pill);background:linear-gradient(to right,var(--accent) var(--fill,0),var(--surface-3) var(--fill,0));cursor:pointer}.calc__range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);-webkit-transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-out);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-out)}.calc__range:hover::-webkit-slider-thumb{transform:scale(1.18)}.calc__range:active::-webkit-slider-thumb{transform:scale(1.32);box-shadow:0 0 0 6px var(--ring)}.calc__range::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--surface);border-radius:50%;background:var(--accent);-moz-transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-out);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-out)}.calc__range:active::-moz-range-thumb{transform:scale(1.32);box-shadow:0 0 0 6px var(--ring)}.calc__rows{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-2)}.calc__row{display:flex;justify-content:space-between;font-size:var(--fs-sm)}.calc__row span:first-child{color:var(--muted)}.calc__row span:last-child{font-weight:var(--fw-semibold)}@media(max-width:480px){.calc__result{flex-wrap:wrap}.calc__monthly{font-size:var(--fs-2xl)}}.suggestions-block{display:flex;flex-wrap:wrap;gap:var(--s-2)}.suggestions-block>*{animation:suggestion-in var(--dur-base) var(--ease-spring) both}.suggestions-block>:first-child{animation-delay:.04s}.suggestions-block>:nth-child(2){animation-delay:.08s}.suggestions-block>:nth-child(3){animation-delay:.12s}.suggestions-block>:nth-child(4){animation-delay:.16s}.suggestions-block>:nth-child(5){animation-delay:.2s}.suggestions-block>:nth-child(6){animation-delay:.24s}.suggestions-block>:nth-child(7){animation-delay:.28s}.suggestions-block>:nth-child(8){animation-delay:.32s}@keyframes suggestion-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{transform:translateY(0) scale(1);opacity:1}}.block-view{width:100%}
