.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{position:relative;display:inline-flex;align-items:center;flex:none;padding:3px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-3);-webkit-user-select:none;-moz-user-select:none;user-select:none}.lst__thumb{position:absolute;top:3px;bottom:3px;left:0;pointer-events:none;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border-strong);transition:transform var(--dur-base) var(--ease-spring),width var(--dur-base) var(--ease-spring)}.lst__seg{outline:none}.lst__seg:focus-visible{outline:var(--ring-w) solid var(--ring);outline-offset:var(--ring-offset)}.lst__seg{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;padding:5px var(--s-3);border-radius:var(--r-pill);border:none;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;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(220px,1fr));gap:var(--s-3)}.lst__card{position:relative;display:flex;flex-direction:column;gap:4px;padding:var(--s-4);border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);will-change:transform;transition:transform var(--dur-base) var(--ease-spring),border-color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.lst__card[href]{cursor:pointer;outline:none}.lst__card[href]:focus-visible{outline:var(--ring-w) solid var(--ring);outline-offset:var(--ring-offset)}.lst__card[href]:hover{transform:translateY(-4px);border-color:var(--border-strong);background:var(--surface-2)}.lst__card[href]:hover .lst__card-go{opacity:1;transform:translate(1px,-1px)}.lst__card-go{position:absolute;top:var(--s-3);right:var(--s-3);width:14px;height:14px;color:var(--faint);opacity:.6;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-spring)}.lst__price{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tracking-snug);color:var(--ink);padding-right:var(--s-4)}.lst__facts{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-soft)}.lst__psf{color:var(--muted)}.lst__psf,.lst__sub{font-size:var(--fs-xs)}.lst__sub{margin-top:2px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lst__card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-2);min-height:24px}.lst__ref{margin-left:auto;font-size:var(--fs-xs);color:var(--faint)}.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:left;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:right}.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__card,.lst__card-go,.lst__thumb{transition:none}}.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(3,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-left: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-left:var(--s-4);font-size:var(--fs-sm);color:var(--muted)}.roi__assumptions li:before{content:"";position:absolute;left: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)}}.map{--map-accent:var(--viz-accent,#1b5dff);--map-accent-ink:#fff}.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}.map__stats{display:flex;align-items:baseline;gap:var(--s-4)}.map__stat{display:inline-flex;align-items:baseline;gap:5px}.map__stat-v{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.map__stat-k{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.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:30px;height:30px;flex:none;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-3);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__save svg{width:15px;height:15px}.map__save:hover{color:var(--info);border-color:color-mix(in srgb,var(--info) 45%,var(--border))}.map__save.is-on{color:var(--info);background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 50%,transparent)}.map__save.is-on svg path{fill:currentColor}.map__d3{display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 8px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.03em;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__d3 svg{width:15px;height:15px}.map__d3:hover{color:var(--ink-soft)}.map__d3.is-on{color:var(--map-accent-ink);background:var(--map-accent);border-color:var(--map-accent)}.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-left: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-left:4px;background:var(--border)}.map__dir-from{flex:1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;padding:2px 4px;border-radius:var(--r-sm);text-overflow:ellipsis}.map__dir-from:hover{background:var(--surface-3)}.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-left: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:left;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-left: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-left: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-left: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:right;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-left: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:left}.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:left}.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{left:var(--s-2);right: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;left: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:left;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:right}.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;right:0;bottom:0;width:24px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--surface))}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-3)}.stats__tile{display:flex;flex-direction:column;gap:2px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);will-change:transform;transition:transform var(--dur-base) var(--ease-spring),border-color var(--dur-base) var(--ease-out);animation:stats-tile-in var(--dur-expand) var(--ease-out) both}.stats__tile:hover{transform:translateY(-3px);border-color:var(--border-strong)}.stats__tile:first-child{animation-delay:.05s}.stats__tile:nth-child(2){animation-delay:.1s}.stats__tile:nth-child(3){animation-delay:.15s}.stats__tile:nth-child(4){animation-delay:.2s}.stats__tile:nth-child(5){animation-delay:.25s}.stats__tile:nth-child(6){animation-delay:.3s}.stats__value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.stats__label{font-size:var(--fs-sm);color:var(--muted)}.stats__meta{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-2)}.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);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(--faint)}@keyframes stats-tile-in{0%{opacity:0;transform:translateY(8px)}to{transform:translateY(0);opacity:1}}.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-left:var(--s-4);font-size:var(--fs-sm);color:var(--ink-soft)}.ablk__insights li:before{content:"";position:absolute;left: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;left: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%}
