._statusScreen_i7wu9_1{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--surface)}._statusCard_i7wu9_10{width:min(480px,100%);padding:24px;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);background:var(--surface-container)}._statusTitle_i7wu9_18{margin:0 0 8px;font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--on-surface);text-transform:uppercase}._statusBody_i7wu9_27{margin:0;font-size:12px;line-height:1.6;color:var(--on-surface-variant)}._warningBar_i7wu9_34{padding:8px 20px;border-bottom:1px solid var(--outline-variant);background:var(--surface-container);font-size:10px;letter-spacing:.08em;color:var(--on-surface-variant);text-transform:uppercase}._refreshIndicator_i7wu9_44{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;pointer-events:none;z-index:30;background:var(--primary-container)}._refreshIndicator_i7wu9_44:after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,var(--primary) 40%,var(--primary) 60%,transparent);animation:_refreshIndicatorSlide_i7wu9_1 1.1s var(--ease-out) infinite}@keyframes _refreshIndicatorSlide_i7wu9_1{0%{transform:translate(-100%)}to{transform:translate(350%)}}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jetbrains-mono-latin-ext-300-normal-tseANUoC.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jetbrains-mono-latin-300-normal-DuMDZskh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rounded-none: 0px;--rounded-sm: 2px;--rounded-md: 3px;--rounded-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--font-mono: "JetBrains Mono", ui-monospace, monospace;--type-display-lg-size: 2.25rem;--type-display-lg-weight: 300;--type-display-lg-line: 1.1;--type-display-lg-tracking: -.02em;--type-display-md-size: 1.875rem;--type-display-md-weight: 300;--type-display-md-line: 1.1;--type-display-md-tracking: -.02em;--type-display-sm-size: 1.5rem;--type-display-sm-weight: 400;--type-display-sm-line: 1.15;--type-display-sm-tracking: -.01em;--type-headline-lg-size: 1rem;--type-headline-lg-weight: 500;--type-headline-lg-line: 1.3;--type-headline-md-size: .875rem;--type-headline-md-weight: 500;--type-headline-md-line: 1.3;--type-headline-sm-size: .8125rem;--type-headline-sm-weight: 500;--type-headline-sm-line: 1.3;--type-title-md-size: .75rem;--type-title-md-weight: 500;--type-title-md-line: 1.4;--type-title-sm-size: .6875rem;--type-title-sm-weight: 500;--type-title-sm-line: 1.4;--type-body-md-size: .8125rem;--type-body-md-weight: 400;--type-body-md-line: 1.5;--type-body-sm-size: .6875rem;--type-body-sm-weight: 400;--type-body-sm-line: 1.5;--type-label-lg-size: .625rem;--type-label-lg-weight: 500;--type-label-lg-line: 1.2;--type-label-lg-tracking: .05em;--type-label-md-size: .5625rem;--type-label-md-weight: 500;--type-label-md-line: 1.2;--type-label-md-tracking: .08em;--type-label-sm-size: .5rem;--type-label-sm-weight: 500;--type-label-sm-line: 1.2;--type-label-sm-tracking: .1em;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--map-layout-transition-duration: .4s}:root,[data-theme=light]{--primary: #8b2d3a;--on-primary: #fdfcfa;--primary-container: #f0d9dc;--on-primary-container: #4a1820;--secondary: #5c4f42;--on-secondary: #fdfcfa;--secondary-container: #ede7de;--on-secondary-container: #2d241c;--tertiary: #0d7d72;--on-tertiary: #fdfcfa;--tertiary-container: #cfe8e5;--on-tertiary-container: #063f3a;--surface: #f5f3f0;--on-surface: #2d241c;--surface-container: #fdfcfa;--surface-container-high: #ffffff;--on-surface-container: #2d241c;--surface-variant: #ede7de;--on-surface-variant: #5c4f42;--outline: #c9b99a;--outline-variant: #e0dbd4;--error: #c42b2b;--on-error: #fdfcfa;--error-container: #f5d4d4;--on-error-container: #5a1212;--success: #0f6742;--on-success: #fdfcfa;--success-container: #cfe8da;--on-success-container: #063521;--warning: #8a5200;--on-warning: #fdfcfa;--warning-container: #f5e3c7;--on-warning-container: #3d2400;--primary-container-strong: color-mix( in srgb, var(--primary) 28%, var(--surface) );--tertiary-container-strong: color-mix( in srgb, var(--tertiary) 28%, var(--surface) );--shadow-sm: 0 1px 1px rgba(45, 36, 28, .08);--shadow-md: 0 1px 2px rgba(45, 36, 28, .1);--shadow-lg: 0 2px 2px rgba(45, 36, 28, .12);--map-bg: var(--surface-variant);--map-dots: rgba(139, 45, 58, .12);--map-region: var(--surface-container);--map-region-hover: var(--primary-container);--map-region-selected: var(--map-region);--map-region-coastal: var(--tertiary-container);--map-stroke: var(--outline);--map-stroke-hover: #a08660;--map-stroke-selected: var(--primary);--map-text: var(--secondary);--map-text-hover: var(--on-surface);--map-text-selected: var(--on-primary-container);--map-text-faded: #b8a990;--map-price: var(--primary);--map-price-hover: var(--on-primary-container);--map-faded-fill: rgba(220, 215, 205, .75);--map-faded-stroke: rgba(180, 165, 140, .5);--map-glow-selected: rgba(139, 45, 58, .5)}[data-theme=dark]{--primary: #b43d4d;--on-primary: #1c0810;--primary-container: #4a1820;--on-primary-container: #f0d9dc;--secondary: #bbbbbb;--on-secondary: #121212;--secondary-container: #2d2d2d;--on-secondary-container: #ffffff;--tertiary: #30cebb;--on-tertiary: #00201d;--tertiary-container: #063f3a;--on-tertiary-container: #cfe8e5;--surface: #000000;--on-surface: #ffffff;--surface-container: #0e0e0e;--surface-container-high: #1e1e1e;--on-surface-container: #ffffff;--surface-variant: #2d2d2d;--on-surface-variant: #bbbbbb;--outline: #757575;--outline-variant: #2a2a2a;--error: #f26d6d;--on-error: #2c0808;--error-container: #5a1212;--on-error-container: #f5d4d4;--success: #6dbf97;--on-success: #002410;--success-container: #063521;--on-success-container: #cfe8da;--warning: #e5b46f;--on-warning: #2c1a00;--warning-container: #3d2400;--on-warning-container: #f5e3c7;--primary-container-strong: color-mix( in srgb, var(--primary) 30%, var(--surface) );--tertiary-container-strong: color-mix( in srgb, var(--tertiary) 30%, var(--surface) );--shadow-sm: 0 1px 1px rgba(0, 0, 0, .4);--shadow-md: 0 1px 2px rgba(0, 0, 0, .5);--shadow-lg: 0 2px 2px rgba(0, 0, 0, .55);--map-bg: #040404;--map-dots: rgba(232, 90, 110, .1);--map-region: var(--surface-container);--map-region-hover: var(--primary-container);--map-region-selected: var(--map-region);--map-region-coastal: var(--tertiary-container);--map-stroke: #88888847;--map-stroke-hover: #888888;--map-stroke-selected: var(--primary);--map-text: var(--on-surface-variant);--map-text-hover: var(--on-surface);--map-text-selected: var(--on-primary-container);--map-text-faded: #404040;--map-price: var(--primary);--map-price-hover: var(--on-primary-container);--map-faded-fill: rgba(10, 10, 10, .7);--map-faded-stroke: rgba(85, 85, 85, .4);--map-glow-selected: rgba(232, 90, 110, .5)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{background:var(--surface);color:var(--on-surface);font-family:var(--font-mono);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}input,button,select,textarea,.stat-value,.trend-card-value,.list-item-price,.neighborhood-price,.neighborhood-per-sqm,.header-time,.map-tooltip-price{font-variant-numeric:tabular-nums}.type-display-lg{font-family:var(--font-mono);font-size:var(--type-display-lg-size);font-weight:var(--type-display-lg-weight);line-height:var(--type-display-lg-line);letter-spacing:var(--type-display-lg-tracking)}.type-display-md{font-family:var(--font-mono);font-size:var(--type-display-md-size);font-weight:var(--type-display-md-weight);line-height:var(--type-display-md-line);letter-spacing:var(--type-display-md-tracking)}.type-display-sm{font-family:var(--font-mono);font-size:var(--type-display-sm-size);font-weight:var(--type-display-sm-weight);line-height:var(--type-display-sm-line);letter-spacing:var(--type-display-sm-tracking)}.type-headline-lg{font-family:var(--font-mono);font-size:var(--type-headline-lg-size);font-weight:var(--type-headline-lg-weight);line-height:var(--type-headline-lg-line)}.type-headline-md{font-family:var(--font-mono);font-size:var(--type-headline-md-size);font-weight:var(--type-headline-md-weight);line-height:var(--type-headline-md-line)}.type-headline-sm{font-family:var(--font-mono);font-size:var(--type-headline-sm-size);font-weight:var(--type-headline-sm-weight);line-height:var(--type-headline-sm-line)}.type-title-md{font-family:var(--font-mono);font-size:var(--type-title-md-size);font-weight:var(--type-title-md-weight);line-height:var(--type-title-md-line)}.type-title-sm{font-family:var(--font-mono);font-size:var(--type-title-sm-size);font-weight:var(--type-title-sm-weight);line-height:var(--type-title-sm-line)}.type-body-md{font-family:var(--font-mono);font-size:var(--type-body-md-size);font-weight:var(--type-body-md-weight);line-height:var(--type-body-md-line)}.type-body-sm{font-family:var(--font-mono);font-size:var(--type-body-sm-size);font-weight:var(--type-body-sm-weight);line-height:var(--type-body-sm-line)}.type-label-lg{font-family:var(--font-mono);font-size:var(--type-label-lg-size);font-weight:var(--type-label-lg-weight);line-height:var(--type-label-lg-line);letter-spacing:var(--type-label-lg-tracking);text-transform:uppercase}.type-label-md{font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);line-height:var(--type-label-md-line);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.type-label-sm{font-family:var(--font-mono);font-size:var(--type-label-sm-size);font-weight:var(--type-label-sm-weight);line-height:var(--type-label-sm-line);letter-spacing:var(--type-label-sm-tracking);text-transform:uppercase}.button-filled{background-color:var(--primary);color:var(--on-primary);border:none;border-radius:var(--rounded-md);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase;cursor:pointer;transition:background-color .15s ease,color .15s ease}.button-filled:hover{background-color:var(--on-primary-container)}.button-tonal{background-color:var(--primary-container);color:var(--on-primary-container);border:none;border-radius:var(--rounded-md);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase;cursor:pointer;transition:background-color .15s ease}.button-outlined{background-color:var(--surface);color:var(--on-surface);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.button-outlined:hover{background-color:var(--surface-variant);color:var(--primary);border-color:var(--primary)}.button-text{background:transparent;color:var(--primary);border:none;padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase;cursor:pointer;transition:opacity .15s ease}.card{background-color:var(--surface-container);color:var(--on-surface-container);border-radius:var(--rounded-md);padding:var(--space-xl)}.card-elevated{background-color:var(--surface-container-high);color:var(--on-surface-container);border-radius:var(--rounded-md);padding:var(--space-xl)}.input{background-color:var(--surface-container);color:var(--on-surface);border:1px solid var(--outline-variant);border-radius:var(--rounded-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--type-body-md-size);outline:none;transition:border-color .15s ease}.input:focus{border-color:var(--primary)}.chip{display:inline-flex;align-items:center;background-color:var(--surface-variant);color:var(--on-surface-variant);border:none;border-radius:var(--rounded-full);padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--type-label-sm-size);font-weight:var(--type-label-sm-weight);letter-spacing:var(--type-label-sm-tracking);text-transform:uppercase}.chip-selected{background-color:var(--secondary-container);color:var(--on-secondary-container)}.tag-secondary{display:inline-flex;align-items:center;background-color:var(--on-secondary);color:var(--secondary);border-radius:var(--rounded-sm);padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--type-label-sm-size);font-weight:var(--type-label-sm-weight);letter-spacing:var(--type-label-sm-tracking);text-transform:uppercase}.badge-coastal-solid{background-color:var(--tertiary);color:var(--on-tertiary);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.badge-warning{background-color:var(--warning-container);color:var(--on-warning-container);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.badge-warning-solid{background-color:var(--warning);color:var(--on-warning);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.badge-success-solid{background-color:var(--success);color:var(--on-success);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.badge-error-solid{background-color:var(--error);color:var(--on-error);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.trend-up{background-color:var(--surface-container);color:var(--success);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-title-md-size);font-weight:var(--type-title-md-weight)}.trend-up-strong{background-color:var(--success-container);color:var(--on-success-container);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.trend-down{background-color:var(--surface-container);color:var(--error);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-title-md-size);font-weight:var(--type-title-md-weight)}.trend-down-strong{background-color:var(--error-container);color:var(--on-error-container);border-radius:var(--rounded-sm);padding:var(--space-xs);font-family:var(--font-mono);font-size:var(--type-label-md-size);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);text-transform:uppercase}.divider{background-color:var(--outline-variant);height:1px}.app{display:grid;grid-template-rows:auto 1fr;height:100vh;height:100dvh}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--outline-variant);background:var(--surface);position:relative}.header-title{font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--on-surface);cursor:pointer;transition:opacity .15s ease;background:none;border:none;padding:0;-webkit-appearance:none;appearance:none}.header-title:hover{opacity:.7}.header-title span{color:var(--primary);margin:0 2px}.header-center{display:flex;align-items:center;gap:20px}.header-end{display:flex;align-items:center;gap:12px}.header-time{font-size:11px;color:var(--on-surface-variant);letter-spacing:.1em;font-variant-numeric:tabular-nums}.timeline-picker{display:flex;align-items:center;gap:1px;margin-left:10px}.timeline-preset{font-family:inherit;font-size:9px;font-weight:500;letter-spacing:.03em;padding:5px 8px;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface-variant);cursor:pointer;text-transform:uppercase;transition:color .1s,border-color .1s,background-color .1s,transform .1s}.timeline-preset:hover{color:var(--on-surface);border-color:var(--outline)}.timeline-preset.active{color:var(--primary);border-color:var(--primary);background:transparent}.year-picker{font-family:inherit;font-size:9px;font-weight:500;letter-spacing:.03em;padding:5px 20px 5px 8px;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface-variant);cursor:pointer;text-transform:uppercase;transition:color .15s,border-color .15s;min-width:0;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;background-size:8px}.year-picker:hover{color:var(--on-surface);border-color:var(--outline)}.year-picker:focus{outline:none;border-color:var(--primary);color:var(--primary)}.year-picker option{background:var(--surface);color:var(--on-surface);text-transform:uppercase}.year-picker option:first-child{color:var(--on-surface-variant)}[data-theme=dark] .year-picker{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666666' d='M6 8L2 4h8z'/%3E%3C/svg%3E")}.header-tabs{display:flex;gap:2px}.header-tab{font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.08em;padding:6px 12px;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface-variant);cursor:pointer;text-transform:uppercase;transition:color .15s,border-color .15s,background-color .15s,transform .15s}.header-tab:hover{color:var(--on-surface);border-color:var(--outline)}.header-tab.active{color:var(--primary);border-color:var(--primary);background:transparent}.purpose-tabs .header-tab.active{color:var(--tertiary);border-color:var(--tertiary);background:transparent}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface-variant);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease;margin-left:12px}.theme-toggle:hover{color:var(--on-surface);border-color:var(--outline);background:var(--primary-container)}.theme-icon{width:18px;height:18px}.theme-icon-dark,[data-theme=dark] .theme-icon-light{display:none}[data-theme=dark] .theme-icon-dark{display:block}.detail-rooms-filter{display:flex;align-items:center;gap:10px;padding:12px 24px;border-bottom:1px solid var(--outline-variant);background:var(--surface)}.detail-rooms-label{font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--on-surface-variant);text-transform:uppercase}.detail-rooms-tabs{display:flex;gap:2px}.detail-rooms-tab{font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.05em;padding:5px 10px;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface-variant);cursor:pointer;text-transform:uppercase;transition:color .1s,border-color .1s,background-color .1s,transform .1s}.detail-rooms-tab:hover{color:var(--on-surface);border-color:var(--outline)}.detail-rooms-tab.active{color:var(--tertiary);border-color:var(--tertiary);background:var(--tertiary-container-strong)}.detail-size-tabs{flex-wrap:wrap}.detail-size-tab{font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.05em;padding:5px 8px;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface-variant);cursor:pointer;transition:color .1s,border-color .1s,background-color .1s,transform .1s}.detail-size-tab:hover{color:var(--on-surface);border-color:var(--outline)}.detail-size-tab.active{color:var(--tertiary);border-color:var(--tertiary);background:var(--tertiary-container-strong)}.cursor{display:inline-block;width:7px;height:12px;background:var(--primary);margin-left:4px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.main{display:flex;flex-direction:column;min-height:0;overflow:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.015;pointer-events:none;z-index:9999}.map-container{flex:1;min-height:0;position:relative;border-bottom:1px solid var(--outline-variant);display:flex;overflow:hidden}.map-frame{flex:1;min-width:0;position:relative;background:var(--map-bg);transition:background-color .3s ease}.map-container.transitions-ready .map-frame{transition:flex var(--map-layout-transition-duration) cubic-bezier(.4,0,.2,1),background-color .3s ease}.map-container.has-selection .map-frame{flex:0 0 300px}.detail-area{flex:0;width:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--surface-container)}.map-container.transitions-ready .detail-area{transition:flex var(--map-layout-transition-duration) cubic-bezier(.4,0,.2,1),width var(--map-layout-transition-duration) cubic-bezier(.4,0,.2,1)}.map-container.has-selection .detail-area{flex:1;width:auto;overflow-y:auto;border-left:1px solid var(--outline-variant)}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--outline-variant);opacity:0;transform:translateY(-10px);transition:opacity .3s ease .2s,transform .3s ease .2s}.map-container.has-selection .detail-header{opacity:1;transform:translateY(0)}.detail-title{font-size:16px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-wrap:balance}.detail-close{font-family:inherit;font-size:11px;letter-spacing:.1em;color:var(--on-surface-variant);background:none;border:1px solid var(--outline-variant);border-radius:var(--rounded-md);padding:8px 14px;cursor:pointer;transition:color .15s,border-color .15s,transform .15s;text-transform:uppercase}.detail-close:hover{color:var(--primary);border-color:var(--primary)}.detail-content{flex:1;min-height:0;overflow-y:auto;opacity:0;transform:translate(20px);transition:opacity .3s ease .25s,transform .3s ease .25s}.map-container.has-selection .detail-content{opacity:1;transform:translate(0);overflow-y:auto}.filter-bubble{display:none}canvas{display:block;width:100%;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}svg{shape-rendering:geometricPrecision}svg path{shape-rendering:geometricPrecision}.map-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.15em;color:var(--on-surface-variant);text-transform:uppercase;transition:opacity .3s;pointer-events:none}.map-container.has-selection .map-hint{opacity:0}.region-badge{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.1em;padding:4px 10px;margin-left:14px;border:1px solid currentColor;border-radius:var(--rounded-md);vertical-align:middle;text-transform:uppercase}.region-badge.coastal{color:var(--tertiary);background:var(--tertiary-container)}.region-badge.central{color:var(--primary);background:var(--primary-container)}.region-badge.north{color:var(--on-surface-variant);background:var(--secondary-container)}#canvas{touch-action:none}.mini-map{position:absolute;bottom:14px;left:14px;width:90px;height:80px;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);cursor:pointer;opacity:0;transform:scale(.9);pointer-events:none;transition:opacity .3s ease .2s,transform .3s ease .2s,border-color .15s,background-color .3s ease;overflow:hidden}.map-container.has-selection .mini-map{opacity:1;transform:scale(1);pointer-events:auto}.mini-map:hover{border-color:var(--primary)}.mini-map canvas{width:100%;height:100%}.mini-map-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.1em;color:var(--on-surface-variant);text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .15s}.mini-map:hover .mini-map-label{opacity:1;color:var(--primary)}.sidebar{flex:0 0 200px;background:var(--surface-container);border-left:1px solid var(--outline-variant);display:flex;flex-direction:column;transition:opacity .3s ease,background-color .3s ease}.map-container.has-selection .sidebar{display:none}.filter-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--outline-variant);flex-shrink:0}.filter-tab{flex:1 1 45%;font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.08em;padding:5px 8px;background:transparent;border:none;color:var(--on-surface-variant);cursor:pointer;text-transform:uppercase;transition:color .1s,border-color .1s,background-color .1s,transform .1s;text-align:center}.filter-tab+.filter-tab{border-left:1px solid var(--outline-variant)}.filter-tab:nth-child(3){border-left:none}.filter-tab:nth-child(-n+2){border-bottom:1px solid var(--outline-variant)}.filter-tab:hover{color:var(--on-surface);border-color:var(--outline)}.filter-tab.active{color:var(--primary);border-color:var(--primary);background:transparent}.sidebar-header{padding:10px 14px 8px;font-size:9px;font-weight:500;letter-spacing:.15em;color:var(--on-surface-variant);text-transform:uppercase;border-bottom:1px solid var(--outline-variant);flex-shrink:0}.sidebar-items{flex:1;overflow-y:auto;padding:4px 0}.sidebar-items::-webkit-scrollbar{width:3px}.sidebar-items::-webkit-scrollbar-track{background:transparent}.sidebar-items::-webkit-scrollbar-thumb{background:var(--outline)}.list-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 14px;cursor:pointer;border:none;background:none;font-family:inherit;transition:background .1s}.list-item:hover{background:var(--primary-container)}.list-item.active{background:var(--primary-container-strong)}.list-item-name{font-size:13px;color:var(--on-surface)}.list-item.active .list-item-name{color:var(--on-surface);font-weight:500}.list-item-price{font-size:12px;color:var(--primary);font-variant-numeric:tabular-nums}.primary-stats{display:flex;padding:24px;gap:0;border-bottom:1px solid var(--outline-variant)}.primary-stat{flex:1;padding:0 24px;border-right:1px solid var(--outline-variant);position:relative}.primary-stat:before{content:"";position:absolute;top:0;left:0;width:2px;height:16px;background:var(--outline);border-radius:0 0 2px}.primary-stat:first-child:before{background:var(--primary)}.primary-stat:last-child{border-right:none}.primary-stat:first-child{padding-left:10px}.stat-label{font-size:10px;font-weight:500;letter-spacing:.15em;color:var(--on-surface-variant);margin-bottom:8px;text-transform:uppercase}.stat-value{font-size:30px;font-weight:300;color:var(--on-surface);font-variant-numeric:tabular-nums}.stat-value.highlight{color:var(--primary)}.stat-value.stat-value--muted{font-size:16px;color:var(--on-surface-variant)}.detail-empty-note{padding:20px;color:var(--on-surface-variant);font-size:10px;line-height:1.6}.stat-trend{font-size:12px;color:var(--tertiary);margin-top:4px;font-variant-numeric:tabular-nums}.secondary-stats{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--outline-variant)}.secondary-stat{padding:14px 18px;border-right:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant)}.secondary-stat:nth-child(6n){border-right:none}.secondary-stat:nth-last-child(-n+6){border-bottom:none}.secondary-stat .stat-label{margin-bottom:4px;font-size:9px}.secondary-stat .stat-value{font-size:18px}.neighborhoods-section{padding:20px 24px}.section-header{font-size:11px;font-weight:500;letter-spacing:.15em;color:var(--on-surface-variant);margin-bottom:16px;text-transform:uppercase;text-wrap:balance;display:flex;align-items:center;justify-content:space-between;gap:12px}.neighborhood-sort{display:flex;gap:4px}.neighborhood-sort-btn{background:var(--surface-container);border:1px solid var(--outline-variant);color:var(--on-surface-variant);padding:4px 8px;border-radius:var(--rounded-md);font-size:14px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;font-family:JetBrains Mono,monospace;min-width:32px;display:flex;align-items:center;justify-content:center}.neighborhood-sort-btn:hover{background:var(--surface-variant);border-color:var(--on-surface-variant);color:var(--on-surface)}.neighborhood-sort-btn.active{background:var(--primary);border-color:var(--primary);color:var(--surface)}.neighborhood-search{position:relative;margin-bottom:16px}.neighborhood-search-input{width:100%;font-family:JetBrains Mono,monospace;font-size:12px;padding:10px 14px;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);color:var(--on-surface);outline:none;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.neighborhood-search-input::placeholder{color:var(--on-surface-variant);opacity:.6}.neighborhood-search-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--primary-container)}.neighborhood-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--on-surface-variant);font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;transition:color .15s ease;font-family:JetBrains Mono,monospace}.neighborhood-search-clear:hover{color:var(--on-surface)}.neighborhood-no-results{padding:40px 20px;text-align:center;color:var(--on-surface-variant);font-size:12px;font-style:italic}.neighborhoods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--outline-variant);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);overflow:hidden}.neighborhood-card{background:var(--surface);padding:16px 18px}.neighborhood-card.unknown{background:var(--surface-container);opacity:.5}.neighborhood-card.unknown .neighborhood-name{color:var(--on-surface-variant);font-style:italic}.neighborhood-name{font-size:11px;color:var(--on-surface-variant);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}.neighborhood-price{font-size:18px;font-weight:400;color:var(--primary);font-variant-numeric:tabular-nums}.neighborhood-per-sqm{font-size:12px;color:var(--on-surface-variant);font-variant-numeric:tabular-nums;margin-top:2px}.neighborhood-trend{font-size:11px;color:var(--tertiary);margin-top:3px}.header-tab:active,.filter-tab:active,.timeline-preset:active,.detail-rooms-tab:active,.detail-size-tab:active,.detail-close:active{transform:scale(.96)}.detail-content::-webkit-scrollbar,.sidebar-items::-webkit-scrollbar{width:4px}.detail-content::-webkit-scrollbar-track,.sidebar-items::-webkit-scrollbar-track{background:transparent}.detail-content::-webkit-scrollbar-thumb,.sidebar-items::-webkit-scrollbar-thumb{background:var(--outline);border-radius:4px}.detail-content::-webkit-scrollbar-thumb:hover,.sidebar-items::-webkit-scrollbar-thumb:hover{background:var(--on-surface-variant)}.trend-section{padding:20px 24px;border-bottom:1px solid var(--outline-variant)}.trend-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.trend-grid.single-chart{grid-template-columns:1fr}.trend-card{background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);padding:16px;position:relative;overflow:visible}.trend-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--outline-variant),transparent)}#trend-card-price:before{background:linear-gradient(90deg,var(--primary),transparent)}#trend-card-spread:before{background:linear-gradient(90deg,var(--tertiary),transparent)}.trend-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.trend-card-label{font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--on-surface-variant);text-transform:uppercase}.trend-card-value{font-size:22px;font-weight:300;color:var(--on-surface);font-variant-numeric:tabular-nums}.trend-card-change{font-size:10px;font-weight:500;padding:4px 8px;border-radius:2px;font-variant-numeric:tabular-nums}.trend-card-change.up{color:var(--tertiary);background:var(--tertiary-container)}.trend-card-change.down{color:var(--primary);background:var(--primary-container-strong)}.trend-card-change.neutral{color:var(--on-surface-variant);background:var(--primary-container)}.trend-chart{height:100px;position:relative}#trend-card-spread .trend-card-value{color:var(--tertiary)}.info-icon{display:inline-block;width:14px;height:14px;font-size:9px;font-weight:600;line-height:14px;text-align:center;color:var(--on-surface-variant);background:var(--outline-variant);border-radius:50%;cursor:help;opacity:.6;transition:opacity .2s,background-color .2s,color .2s;vertical-align:middle;position:relative;box-sizing:content-box;padding:5px;margin:-5px -5px -5px -2px}.info-icon:hover{opacity:1;background:var(--tertiary);color:var(--surface)}.info-icon:after{content:attr(data-info);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:220px;padding:10px 12px;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--on-surface);line-height:1.5;white-space:normal;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none;z-index:100;box-shadow:var(--shadow-md)}.info-icon:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--outline-variant);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:101}.info-icon:hover:after,.info-icon:hover:before{opacity:1;visibility:visible}@media(max-width:1600px){.primary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;padding:0}.primary-stat{padding:20px 24px;border-right:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant)}.primary-stat:nth-child(2n){border-right:none}.primary-stat:last-child{border-bottom:none}.primary-stat:nth-last-child(2):nth-child(odd){border-bottom:none}.primary-stat:last-child:nth-child(odd){grid-column:1 / -1;border-right:none}.primary-stat:before{display:none}.primary-stat:first-child{padding-left:24px}.stat-value{font-size:26px}.stat-label{font-size:9px}}@media(max-width:1300px){.primary-stat{padding:16px 20px}.primary-stat:first-child{padding-left:20px}.stat-value{font-size:22px}.trend-grid.single-chart{grid-template-columns:1fr}}@media(max-width:1100px){.map-container.has-selection .map-frame{flex:0 0 240px}.primary-stat{padding:0 16px}.stat-value{font-size:24px}.neighborhoods-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{width:160px}.secondary-stats{grid-template-columns:repeat(3,1fr)}.secondary-stat:nth-child(3n){border-right:none}}@media(max-width:700px){.map-container{flex-direction:column}.map-container.has-selection .map-frame{flex:0 0 35vh;min-height:180px;border-right:none;border-bottom:1px solid var(--outline-variant)}.sidebar{width:150px}.filter-tab{font-size:11px;padding:8px 10px}.list-item-price{display:none}.trend-grid{grid-template-columns:1fr}.primary-stats{flex-wrap:wrap;padding:12px;gap:0}.primary-stat{flex:0 0 100%;padding:12px 16px!important;border-right:none;border-bottom:1px solid var(--outline-variant)}.primary-stat:first-child{padding-left:16px!important}.primary-stat:last-child{border-bottom:none}.primary-stat:before{display:none}.stat-label{font-size:9px;margin-bottom:6px}.stat-value{font-size:20px}.neighborhoods-grid{grid-template-columns:repeat(2,1fr)}.detail-header{padding:12px 16px;gap:8px}.detail-title{font-size:13px}.region-badge{font-size:8px;padding:3px 6px;margin-left:6px}.detail-close{font-size:11px;padding:6px 10px}.trend-section{padding:16px 12px}.section-header{font-size:10px;margin-bottom:12px}.trend-card-label{font-size:9px}.trend-card-value{font-size:18px}.trend-card-change{font-size:11px}.trend-card{padding:12px}.trend-card-header{margin-bottom:8px}.trend-chart{height:70px}.map-container.has-selection{height:100%}.map-container.has-selection .detail-area{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--surface);display:block}.map-container.has-selection .detail-header{position:static}.map-container.has-selection .detail-content{overflow-y:visible;background:var(--surface)}.neighborhoods-section{padding:16px 18px}}@media(max-width:550px){.sidebar{flex:unset;position:static;width:100%;border:none;border-bottom:1px solid var(--outline-variant);background:var(--surface)}.map-frame{min-height:250px}.filter-tabs{flex-wrap:nowrap;padding:0}.filter-tab{flex:1;padding:6px 4px;font-size:9px;border-bottom:none}.filter-tab:nth-child(3){border-left:1px solid var(--outline-variant)}.sidebar-header{text-align:center;font-size:8px}.sidebar-items{display:flex;flex-wrap:nowrap;align-items:stretch;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar-items::-webkit-scrollbar{display:none}.list-item{flex-shrink:0;width:auto;padding:6px 10px;border:none;border-radius:0;white-space:nowrap;font-size:10px}.list-item+.list-item{border-left:1px solid var(--outline-variant)}.list-item.active{background:var(--primary-container-strong)}.map-hint{display:none}.header{padding:10px 14px;gap:10px}.header-title{font-size:11px;letter-spacing:.12em}.header-time,.header-center,.header .type-tabs{display:none}.header-tabs{gap:2px}.header-tab{font-size:10px;padding:8px 10px;letter-spacing:.02em}.filter-bubble{display:block;position:absolute;bottom:102px;right:5px;z-index:20}.filter-bubble-toggle{display:flex;align-items:center;gap:8px;background:var(--surface-container);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--primary);padding:10px 14px;border-radius:var(--rounded-md);color:var(--on-surface);font-family:inherit;font-size:11px;cursor:pointer;transition:background-color .2s,border-color .2s;box-shadow:var(--shadow-md)}.filter-bubble.expanded .filter-bubble-toggle{background:var(--primary-container-strong)}.filter-bubble-icon{display:flex;flex-direction:column;gap:2px}.filter-bubble-icon:before,.filter-bubble-icon:after,.filter-bubble-icon span{display:block;height:2px;background:var(--primary);border-radius:1px}.filter-bubble-icon:before{content:"";width:12px}.filter-bubble-icon:after{content:"";width:8px}.filter-bubble-icon span{width:5px;display:none}.filter-bubble-summary{font-weight:500;letter-spacing:.05em}.filter-bubble-panel{display:none;position:absolute;bottom:calc(100% + 8px);right:0;background:var(--surface-container);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);padding:16px;width:240px;box-shadow:var(--shadow-lg)}.filter-bubble.expanded .filter-bubble-panel{display:block;animation:bubbleIn .15s ease-out}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.filter-bubble-group{margin-bottom:12px}.filter-bubble-group:last-child{margin-bottom:0}.filter-bubble-label{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--on-surface-variant);margin-bottom:6px}.filter-bubble .header-tabs{display:grid;gap:4px}.filter-bubble .type-tabs,.filter-bubble .purpose-tabs{grid-template-columns:1fr 1fr}.filter-bubble .timeline-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-left:0}.filter-bubble .year-picker{grid-column:1 / -1;width:100%;text-align:center;min-width:auto}.filter-bubble .header-tab,.filter-bubble .timeline-preset{font-size:10px;padding:10px 8px;text-align:center}.cursor{display:none}.detail-rooms-filter{padding:10px 12px;gap:8px;flex-wrap:wrap}.detail-rooms-label{font-size:9px;flex:0 0 100%;margin-bottom:4px}.detail-rooms-tabs{flex:1;gap:4px}.detail-rooms-tab{font-size:10px;padding:8px 12px;flex:1;min-width:0}.secondary-stats{grid-template-columns:repeat(3,1fr);gap:0}.secondary-stat{padding:12px 14px}.secondary-stat:nth-child(3n){border-right:none}.secondary-stat .stat-label{font-size:8px;margin-bottom:3px}.secondary-stat .stat-value{font-size:16px}.map-container.has-selection .sidebar{display:none}.map-container.has-selection .filter-bubble{z-index:100}.neighborhoods-section{padding:16px 12px}.neighborhood-sort-btn{padding:4px 6px;font-size:12px;min-width:28px}.neighborhoods-grid{grid-template-columns:1fr 1fr;gap:1px}.neighborhood-card{padding:10px 12px}.neighborhood-name{font-size:9px;margin-bottom:6px}.neighborhood-price{font-size:15px}.neighborhood-per-sqm{font-size:10px}.neighborhood-trend{font-size:9px;margin-top:2px}}@keyframes marchingAnts{0%{background-position:0 0,100% 100%,0 100%,100% 0}to{background-position:20px 0,calc(100% - 20px) 100%,0 calc(100% - 20px),100% 20px}}button:focus-visible,.list-item:focus-visible{outline:none;background-image:linear-gradient(90deg,var(--primary) 50%,transparent 50%),linear-gradient(90deg,var(--primary) 50%,transparent 50%),linear-gradient(0deg,var(--primary) 50%,transparent 50%),linear-gradient(0deg,var(--primary) 50%,transparent 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 0,100% 100%,0 100%,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:marchingAnts .5s linear infinite}@keyframes statFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-entry .primary-stat{opacity:0;animation:statFadeIn .4s ease-out forwards}.animate-entry .primary-stat:nth-child(1){animation-delay:0ms}.animate-entry .primary-stat:nth-child(2){animation-delay:80ms}.animate-entry .primary-stat:nth-child(3){animation-delay:.16s}.animate-entry .primary-stat:nth-child(4){animation-delay:.24s}.animate-entry .secondary-stat{opacity:0;animation:statFadeIn .3s ease-out forwards}.animate-entry .secondary-stat:nth-child(1){animation-delay:.2s}.animate-entry .secondary-stat:nth-child(2){animation-delay:.24s}.animate-entry .secondary-stat:nth-child(3){animation-delay:.28s}.animate-entry .secondary-stat:nth-child(4){animation-delay:.32s}.animate-entry .secondary-stat:nth-child(5){animation-delay:.36s}.animate-entry .secondary-stat:nth-child(6){animation-delay:.4s}.animate-entry .trend-card{opacity:0;animation:statFadeIn .4s ease-out forwards}.animate-entry .trend-card:nth-child(1){animation-delay:.45s}.animate-entry .trend-card:nth-child(2){animation-delay:.52s}@keyframes cardCascade{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-entry .neighborhood-card{opacity:0;animation:cardCascade .3s ease-out forwards}.animate-entry .neighborhood-card:nth-child(1){animation-delay:.55s}.animate-entry .neighborhood-card:nth-child(2){animation-delay:.58s}.animate-entry .neighborhood-card:nth-child(3){animation-delay:.61s}.animate-entry .neighborhood-card:nth-child(4){animation-delay:.64s}.animate-entry .neighborhood-card:nth-child(5){animation-delay:.67s}.animate-entry .neighborhood-card:nth-child(6){animation-delay:.7s}.animate-entry .neighborhood-card:nth-child(7){animation-delay:.73s}.animate-entry .neighborhood-card:nth-child(8){animation-delay:.76s}.animate-entry .neighborhood-card:nth-child(n+9){animation-delay:.78s}.animate-entry .neighborhoods-section.no-animate .neighborhood-card{animation:none;opacity:1}.sidebar{position:relative}.sidebar:before,.sidebar:after{content:"";position:absolute;left:0;right:0;height:30px;pointer-events:none;z-index:5;opacity:0;transition:opacity .2s}.sidebar:before{top:78px;background:linear-gradient(to bottom,var(--surface-container),transparent)}.sidebar:after{bottom:0;background:linear-gradient(to top,var(--surface-container),transparent)}.sidebar.scrolled-top:before{opacity:1}.sidebar.scrolled-bottom:after{opacity:1}.sidebar.has-overflow:after{opacity:1}@keyframes loadingDots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.loading-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--on-surface-variant);font-size:11px;letter-spacing:.1em}.loading-indicator:after{content:".";animation:loadingDots 1.2s steps(1) infinite;width:18px;text-align:left}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-container) 25%,var(--outline-variant) 50%,var(--surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:2px}.skeleton-text{height:1em;margin:4px 0}.skeleton-stat{height:30px;width:80px}.skeleton-chart{height:100px;width:100%}.selection-ripple{position:absolute;pointer-events:none;z-index:50}.selection-ripple .ripple-ring{position:absolute;border:2px solid var(--primary);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(0)}@keyframes rippleExpand{0%{opacity:.8;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.selection-ripple .ripple-ring.animate{animation:rippleExpand .6s ease-out forwards}.map-tooltip{position:absolute;pointer-events:none;z-index:100;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--rounded-md);padding:10px 14px;opacity:0;transform:translateY(4px) scale(.96);transition:opacity .15s var(--ease-out),transform .15s var(--ease-out);min-width:140px;box-shadow:var(--shadow-lg)}.map-tooltip.visible{opacity:1;transform:translateY(0) scale(1)}.map-tooltip-name{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface);margin-bottom:6px}.map-tooltip-price{font-size:16px;color:var(--primary);font-weight:400;margin-bottom:4px;font-variant-numeric:tabular-nums}.map-tooltip-stats{display:flex;gap:12px;font-size:10px;color:var(--on-surface-variant)}.map-tooltip-trend{display:flex;align-items:center;gap:4px}.map-tooltip-trend.up{color:var(--tertiary)}.map-tooltip-trend.down{color:var(--error)}.list-item{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,background .1s ease,border-color .1s ease}.list-item.shifting{z-index:10}.stat-value[data-animate]{font-variant-numeric:tabular-nums}.header-tab,.filter-tab,.timeline-preset,.detail-rooms-tab{position:relative;overflow:hidden}.header-tab:before,.filter-tab:before,.timeline-preset:before,.detail-rooms-tab:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity .2s}.header-tab:hover:before,.filter-tab:hover:before,.timeline-preset:hover:before,.detail-rooms-tab:hover:before{opacity:.05}.detail-close{position:relative;overflow:hidden}.detail-close:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--primary);transition:width .3s ease}.detail-close:hover:after{width:100%}.trend-chart canvas{animation:chart-draw .8s var(--ease-out)}@keyframes chart-draw{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
