@font-face{font-family:Satoshi;src:local("Satoshi Variable"),url(/fonts/Satoshi-Variable.woff2) format("woff2"),url(/fonts/Satoshi-Variable.woff) format("woff");font-weight:300 900;font-style:normal;font-display:swap}:root{--color-primary: #1C2D3F;--color-accent: #2EC4B6;--color-accent-light: #E6F9F7;--color-accent-hover: #25A89C;--color-accent-text: #1C8C83;--color-risk-good: #22C55E;--color-risk-moderate: #EAB308;--color-risk-poor: #EF4444;--color-risk-critical: #B91C1C;--color-risk-unavailable: #8A9BB0;--color-bg: #FAFBFC;--color-surface: #FFFFFF;--color-surface-alt: #F5F7F9;--color-surface-recessed: #F0F3F6;--color-surface-hover: #F0F3F6;--color-border: #E2E7ED;--color-text: #1C2D3F;--color-text-secondary: #637892;--color-text-tertiary: #8A9BB0;--color-text-inverse: #FFFFFF;--color-danger: #EF4444;--color-danger-light: rgba(239, 68, 68, .12);--color-success: #22C55E;--color-warning: #EAB308;--color-info: #3B82F6;--color-badge-coral: #EF4444;--color-badge-positive-bg: #E6F9F7;--color-badge-positive-text: #0B4F4A;--color-badge-caution-bg: #FEF3C7;--color-badge-caution-text: #92400E;--color-badge-negative-bg: #FEE2E2;--color-badge-negative-text: #991B1B;--color-badge-neutral-bg: #D8DFE7;--color-badge-neutral-text: #2E4459;--slate-100: #D8DFE7;--slate-200: #B4C0CE;--slate-500: #445B74;--slate-600: #2E4459;--teal-100: #B3EDE8;--teal-200: #80E1D9;--teal-300: #57D4C8;--teal-700: #13706A;--teal-900: #063330;--color-nav-text-dimmed: rgba(255, 255, 255, .6);--color-nav-border: rgba(255, 255, 255, .1);--color-nav-control-bg: rgba(255, 255, 255, .12);--color-nav-icon: rgba(255, 255, 255, .7);--color-overlay-light: rgba(255, 255, 255, .9);--color-overlay-dark: rgba(0, 0, 0, .7);--color-overlay-text: #FFFFFF;--color-border-strong: var(--slate-500);--color-text-muted: var(--color-text-tertiary);--ramp-seq-1: #E6F9F7;--ramp-seq-2: #B3EDE8;--ramp-seq-3: #80E1D9;--ramp-seq-4: #57D4C8;--ramp-seq-5: #2EC4B6;--ramp-seq-6: #1C8C83;--ramp-seq-7: #0B4F4A;--ramp-div-1: #EF4444;--ramp-div-2: #F5A0A0;--ramp-div-3: #FAD0D0;--ramp-div-4: #F0F3F6;--ramp-div-5: #B3EDE8;--ramp-div-6: #57D4C8;--ramp-div-7: #1C8C83;--color-compare-address: #00897B;--color-compare-city: #9AA0A6;--color-compare-nl: #D1D5DB;--color-compare-who: #E8913A;--color-thumb-badge-bg: rgba(28, 45, 63, .86);--color-backdrop: rgba(28, 45, 63, .48);--color-toast-bg: #1C2D3F;--color-nav-bg: #1C2D3F;--font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--type-display: 900 28px/34px var(--font-family);--type-h1: 900 24px/30px var(--font-family);--type-h2: 700 20px/26px var(--font-family);--type-h3: 700 17px/24px var(--font-family);--type-h4: 600 15px/22px var(--font-family);--type-body: 400 15px/22px var(--font-family);--type-body-friendly: 400 15px/26px var(--font-family);--type-body-medium: 500 15px/22px var(--font-family);--type-data: 500 24px/28px var(--font-family);--type-caption: 500 14px/20px var(--font-family);--type-small: 400 13px/18px var(--font-family);--type-label: 500 12px/16px var(--font-family);--type-micro: 400 11px/14px var(--font-family);--type-score-large: 900 48px/1 var(--font-family);--type-score-tile: 900 40px/1 var(--font-family);--type-score-pill: 600 14px/1 var(--font-family);--space-3xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-base: 16px;--space-lg: 20px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 40px;--space-4xl: 48px;--space-5xl: 64px;--color-shadow: rgba(28, 45, 63, .06);--elevation-0: none;--elevation-1: 0 2px 8px var(--color-shadow);--elevation-2: 0 8px 24px rgba(28, 45, 63, .1);--elevation-3: 0 16px 48px rgba(28, 45, 63, .15);--radius-card: 16px;--radius-lg: 16px;--radius-button: 12px;--radius-md: 12px;--radius-pill: 24px;--radius-input: 12px;--radius-badge: 8px;--radius-sm: 6px;--max-width: 600px;--tab-bar-height: 56px;--top-bar-height: 44px;--action-bar-height: 64px;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-subtle: cubic-bezier(.33, 1, .68, 1);--duration-instant: .1s;--duration-fast: .15s;--duration-base: .2s;--duration-moderate: .3s;--duration-slow: .5s;--duration-emphasis: .6s;--stagger-section: 80ms;--stagger-item: 50ms;--transition-fast: var(--duration-fast) var(--ease-out-subtle);--transition-base: var(--duration-base) var(--ease-out-subtle);--transition-slow: var(--duration-moderate) var(--ease-out-subtle);--focus-ring-accent: 0 0 0 4px rgba(46, 196, 182, .12);--focus-ring-danger: 0 0 0 4px rgba(239, 68, 68, .12);--color-skeleton: var(--color-surface-alt);--color-skeleton-shimmer: rgba(255, 255, 255, .6);--skeleton-duration: 1.5s;--color-surface-pressed: rgba(28, 45, 63, .06);--glass-bg: rgba(255, 255, 255, .92);--glass-blur: blur(20px);--glass-bg-fallback: rgba(255, 255, 255, .95)}[data-theme=dark]{--color-primary: #E2E7ED;--color-accent: #2EC4B6;--color-accent-light: rgba(46, 196, 182, .15);--color-accent-hover: #57D4C8;--color-accent-text: #57D4C8;--color-risk-good: #4ADE80;--color-risk-moderate: #FACC15;--color-risk-poor: #F87171;--color-risk-critical: #EF4444;--color-risk-unavailable: #637892;--color-bg: #000000;--color-surface: #121212;--color-surface-alt: #1C2D3F;--color-surface-recessed: #0D1620;--color-surface-hover: #1C2D3F;--color-border: #2E4459;--color-text: #E2E7ED;--color-text-secondary: #B4C0CE;--color-text-tertiary: #637892;--color-text-inverse: #1C2D3F;--color-danger: #EF4444;--color-danger-light: rgba(239, 68, 68, .15);--color-success: #4ADE80;--color-warning: #FACC15;--color-badge-coral: #F87171;--color-badge-positive-bg: rgba(46, 196, 182, .15);--color-badge-positive-text: #57D4C8;--color-badge-caution-bg: rgba(234, 179, 8, .15);--color-badge-caution-text: #FACC15;--color-badge-negative-bg: rgba(239, 68, 68, .15);--color-badge-negative-text: #F87171;--color-badge-neutral-bg: #1C2D3F;--color-badge-neutral-text: #B4C0CE;--slate-100: #2E4459;--slate-200: #637892;--teal-300: #57D4C8;--color-overlay-light: rgba(20, 33, 49, .9);--color-overlay-dark: rgba(0, 0, 0, .85);--color-overlay-text: #FFFFFF;--color-border-strong: var(--slate-200);--color-thumb-badge-bg: #2E4459;--color-backdrop: rgba(0, 0, 0, .6);--color-toast-bg: #142131;--color-shadow: rgba(0, 0, 0, .3);--elevation-1: 0 2px 8px var(--color-shadow);--elevation-2: 0 8px 24px rgba(0, 0, 0, .4);--elevation-3: 0 16px 48px rgba(0, 0, 0, .5);--focus-ring-accent: 0 0 0 4px rgba(46, 196, 182, .2);--focus-ring-danger: 0 0 0 4px rgba(239, 68, 68, .2);--color-compare-address: #4DB6AC;--color-compare-city: #B0B7BF;--color-compare-nl: #8A9BB0;--color-compare-who: #FFA726;--color-skeleton: rgba(255, 255, 255, .08);--color-skeleton-shimmer: rgba(255, 255, 255, .04);--color-surface-pressed: rgba(255, 255, 255, .06);--glass-bg: rgba(13, 22, 32, .92);--glass-bg-fallback: rgba(13, 22, 32, .95)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only--focusable:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:.75rem 1.5rem;margin:0;overflow:visible;clip:auto;white-space:normal;z-index:9999;background:var(--color-surface);color:var(--color-primary);font:var(--type-body);font-weight:600;text-decoration:underline;outline:2px solid var(--color-accent);outline-offset:2px}.pressable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;cursor:pointer}.pressable.pressed{transform:scale(.97);background-color:var(--color-surface-pressed);transition:transform var(--duration-instant) var(--ease-out-quart)}.pressable:not(.pressed){transition:transform var(--duration-fast) var(--ease-out-quart)}@media(prefers-reduced-motion:reduce){.pressable.pressed{transform:none;background-color:var(--color-surface-pressed)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;font-family:var(--font-family);line-height:1.5;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,p{margin:0}ul{margin:0;padding:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}html.theme-transitioning,html.theme-transitioning *{transition:background-color var(--duration-base) var(--ease-out-subtle),color var(--duration-base) var(--ease-out-subtle),border-color var(--duration-base) var(--ease-out-subtle)!important}.address-search{position:sticky;top:var(--top-bar-height);z-index:39;width:100%;background:var(--color-bg);padding-bottom:var(--space-xs)}.address-search__wrapper{position:relative}.address-search__pin{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;z-index:1;transition:color var(--transition-fast)}.address-search__wrapper:focus-within .address-search__pin{color:var(--color-accent-text)}.address-search__input{width:100%;height:56px;padding:0 var(--space-base);padding-left:44px;font:var(--type-body-medium);border:2px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.address-search__input:focus{outline:none}.address-search__input:focus-visible{border-color:var(--color-accent);box-shadow:var(--focus-ring-accent)}.address-search__input::placeholder{color:var(--color-text-tertiary)}.address-search__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);box-shadow:var(--elevation-2);z-index:100;list-style:none;padding:var(--space-xs) 0;max-height:300px;overflow-y:auto}.address-search__item{display:flex;align-items:center;min-height:44px;padding:0 var(--space-base);cursor:pointer;font:var(--type-body)}.address-search__item:hover,.address-search__item--active{background:var(--color-surface-hover)}.address-search__no-results{padding:var(--space-sm) var(--space-base) 0;color:var(--color-text-tertiary);font:var(--type-body)}.address-search__no-results-hint{padding:var(--space-xs) var(--space-base) var(--space-sm);color:var(--color-text-secondary);font:var(--type-small)}.address-search__searching{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-base);color:var(--color-text-secondary);font:var(--type-body)}.address-search__searching-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:address-search-pulse 1s ease-in-out infinite;flex-shrink:0}@keyframes address-search-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.address-search__searching-dot{animation:none;opacity:1}}.address-search__error{color:var(--color-danger);font:var(--type-small);margin:var(--space-xs) 0 0}.address-search__recent{margin-top:var(--space-base)}.address-search__recent-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.address-search__recent-title{font:var(--type-label);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.address-search__recent-list{list-style:none;padding:0;margin:0}.address-search__recent-item{display:flex;align-items:center;gap:var(--space-sm);height:48px;padding:0 var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.address-search__recent-item:hover{background:var(--color-surface-hover)}.address-search__recent-icon{flex-shrink:0;color:var(--color-text-tertiary)}.address-search__recent-name{flex:1;font:var(--type-body);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-search__recent-time{flex-shrink:0;font:var(--type-micro);color:var(--color-text-tertiary)}.address-search__value-props{display:flex;flex-direction:column;justify-content:center;gap:var(--space-sm);margin-top:var(--space-3xl)}.address-search__value-row{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-sm)}.address-search__value-icon{flex-shrink:0}.address-search__value-text{font:var(--type-small);color:var(--color-text-secondary)}.address-search__example-link{display:inline-block;margin-top:var(--space-base);padding:0 var(--space-sm);background:none;border:none;cursor:pointer;font:var(--type-body);color:var(--color-accent-text);text-align:left;min-height:44px;line-height:44px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.address-search__example-link:hover{background:var(--color-surface-hover)}.address-search__example-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.address-search__trust-signal{margin:var(--space-xs) 0 0;padding:0 var(--space-sm);font:var(--type-micro);color:var(--color-text-secondary)}.address-search__welcome-back{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xl);padding:var(--space-base);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.address-search__welcome-back-title{margin:0;font:var(--type-h3);color:var(--color-primary)}.address-search__welcome-back-saved{margin:0;font:var(--type-body);color:var(--color-text-secondary)}.address-search__welcome-back-action{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-sm);background:none;border:none;cursor:pointer;font:var(--type-body);color:var(--color-accent-text);text-align:left;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.address-search__welcome-back-action:hover{background:var(--color-surface-hover)}.address-search__welcome-back-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.address-search__welcome-back-prompt{margin:0;font:var(--type-small);color:var(--color-text-secondary)}.ui-skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-skeleton)}.ui-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--color-skeleton-shimmer),transparent);animation:ui-skeleton-shimmer var(--skeleton-duration) linear infinite}@keyframes ui-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.ui-skeleton:after{animation:none}}.risk-tile-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);align-items:stretch}.risk-tile-skeleton-card{display:flex;flex-direction:row;align-items:center;gap:var(--space-base);min-height:76px;height:100%;padding:var(--space-sm) var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--elevation-1)}.risk-tile-skeleton-card__score-area{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px}.risk-tile-skeleton-card__header{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;flex:1;min-width:0}.risk-tile-skeleton-card__label{max-width:100%}.risk-tile-skeleton-card__badge{border-radius:var(--radius-pill)}.risk-tile-skeleton-card__score{border-radius:var(--radius-sm)}.risk-tile-skeleton-card__chevron{border-radius:2px;flex-shrink:0}@media(max-width:340px){.risk-tile-skeleton-grid{grid-template-columns:1fr}}.dossier-sheet{position:relative;width:calc(100% + 2 * var(--space-base));margin-left:calc(-1 * var(--space-base));margin-right:calc(-1 * var(--space-base));margin-top:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:0 -4px 24px color-mix(in srgb,var(--color-primary) 12%,transparent)}[data-theme=dark] .dossier-sheet{box-shadow:0 -4px 24px color-mix(in srgb,var(--color-primary) 40%,transparent)}.dossier-sheet__content{display:flex;flex-direction:column;gap:var(--space-base);overflow:visible;padding:0 var(--space-base) calc(var(--tab-bar-height, 56px) + var(--dossier-action-bar-offset, 0px) + env(safe-area-inset-bottom,0px) + var(--space-lg))}.loading-screen{min-height:calc(100dvh - var(--top-bar-height, 44px) - var(--tab-bar-height, 56px) - (2 * var(--space-base)));display:flex;flex-direction:column;align-items:center;padding:64px var(--space-lg) 0;background:var(--color-bg)}.loading-screen__address{text-align:center;margin:0}.loading-screen__address-line1{margin:0;font:var(--type-h1);color:var(--color-text)}.loading-screen__address-line2{margin:4px 0 0;font:var(--type-body);color:var(--color-text-secondary)}.loading-screen__animation-wrap{width:180px;height:160px;margin-top:48px}.loading-screen__building{width:100%;height:100%;overflow:visible}.loading-screen__segment{fill:none;stroke:var(--color-text);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation-name:loading-screen-draw;animation-fill-mode:forwards;animation-timing-function:var(--ease-out-expo)}.loading-screen__segment[data-segment=foundation]{animation-duration:.4s;animation-delay:0ms}.loading-screen__segment[data-segment=left-wall]{animation-duration:.3s;animation-delay:.4s}.loading-screen__segment[data-segment=right-wall]{animation-duration:.3s;animation-delay:.7s}.loading-screen__segment[data-segment=roof]{animation-duration:.4s;animation-delay:1s}.loading-screen__segment[data-segment=windows]{animation-duration:.4s;animation-delay:1.4s}.loading-screen__segment[data-segment=door]{animation-duration:.2s;animation-delay:1.8s}.loading-screen__status{margin-top:32px;display:inline-flex;align-items:center;gap:8px;min-height:20px}.loading-screen__dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0;animation:loading-screen-dot 1.2s var(--ease-out-subtle) infinite}.loading-screen__warning-icon{color:var(--color-warning);flex-shrink:0}.loading-screen__status-text{margin:0;font:var(--type-small);color:var(--color-text-secondary);animation:loading-screen-text var(--duration-base) var(--ease-out-expo)}.loading-screen__status--warning .loading-screen__status-text{color:var(--color-warning)}.loading-screen__sub-text{margin:6px 0 0;font:var(--type-small);color:var(--color-text-secondary);text-align:center;max-width:280px;animation:loading-screen-sub-fade .4s var(--ease-out-expo)}@keyframes loading-screen-sub-fade{0%{opacity:0}to{opacity:1}}.loading-screen__progress{margin-top:12px;width:200px}.loading-screen__progress-track{width:100%;height:3px;border-radius:999px;background:var(--color-border);overflow:hidden}.loading-screen__progress-fill{width:100%;height:100%;border-radius:inherit;background:var(--color-accent);transform-origin:left center;transform:scaleX(0);transition:transform var(--duration-moderate) var(--ease-out-expo)}@keyframes loading-screen-draw{to{stroke-dashoffset:0}}@keyframes loading-screen-dot{0%,to{opacity:.4}50%{opacity:1}}@keyframes loading-screen-text{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.loading-screen__segment{animation:none;stroke-dashoffset:0}.loading-screen__dot{animation:none;opacity:1}.loading-screen__status-text{animation:none}.loading-screen__progress-fill{transition:none}.loading-screen__sub-text{animation:none}}.contextual-tooltip{position:absolute;z-index:30;display:flex;align-items:center;gap:var(--space-xs);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-button);box-shadow:var(--elevation-2);max-width:320px;animation:tooltipFadeIn var(--duration-moderate) var(--ease-out-quart)}.contextual-tooltip--below{top:calc(100% + var(--space-sm));left:50%;transform:translate(-50%)}.contextual-tooltip--above{bottom:calc(100% + var(--space-sm));left:50%;transform:translate(-50%)}.contextual-tooltip__arrow{position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.contextual-tooltip__arrow--below{top:-6px;border-bottom:6px solid var(--color-primary)}.contextual-tooltip__arrow--above{bottom:-6px;border-top:6px solid var(--color-primary)}.contextual-tooltip__message{font:var(--type-small);color:var(--color-text-inverse);flex:1;line-height:1.4}.contextual-tooltip__dismiss{background:none;border:none;color:var(--color-text-inverse);font-size:18px;line-height:1;cursor:pointer;padding:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;opacity:.7}.contextual-tooltip__dismiss:hover{opacity:1}.contextual-tooltip__dismiss:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.contextual-tooltip--above{animation-name:tooltipFadeInAbove}@keyframes tooltipFadeInAbove{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.contextual-tooltip,.contextual-tooltip--above{animation:none}}.shortlist-screen{display:flex;flex-direction:column;gap:var(--space-base);padding:var(--space-base);min-height:50vh}.shortlist-screen__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-5xl) var(--space-lg);color:var(--color-text-secondary)}.shortlist-screen__empty svg{margin-bottom:var(--space-base);color:var(--color-text-tertiary)}.shortlist-screen__empty-title{font:var(--type-h3);color:var(--color-text);margin-bottom:var(--space-xs)}.shortlist-screen__empty-subtitle{font:var(--type-small);color:var(--color-text-secondary);max-width:280px}.shortlist-screen__cta{margin-top:var(--space-lg);min-height:44px;padding:0 var(--space-xl);border:2px solid var(--color-accent-text);border-radius:var(--radius-pill);background:none;color:var(--color-accent-text);font:var(--type-body-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.shortlist-screen__cta:hover{background:var(--color-accent-text);color:var(--color-overlay-text)}.shortlist-screen__cta:active{opacity:.85}.shortlist-screen__cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shortlist-screen__list{display:flex;flex-direction:column;gap:var(--space-sm)}.shortlist-screen__card{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--elevation-1);padding:var(--space-base);cursor:pointer;transition:box-shadow var(--transition-fast);min-height:72px}.shortlist-screen__card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shortlist-screen__card:hover{box-shadow:var(--elevation-2)}.shortlist-screen__thumb{width:56px;height:56px;border-radius:12px;overflow:hidden;position:relative;flex-shrink:0;background:linear-gradient(160deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);border:1px solid var(--color-border)}.shortlist-screen__thumb-map{width:100%;height:100%;stroke:var(--color-border);fill:none}.shortlist-screen__thumb-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);color:var(--color-accent-text)}.shortlist-screen__thumb-year{position:absolute;right:4px;bottom:4px;border-radius:10px;padding:0 4px;background:var(--color-thumb-badge-bg);color:var(--color-overlay-text);font:var(--type-micro);font-weight:600}.shortlist-screen__card-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.shortlist-screen__card-address{font:var(--type-body-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shortlist-screen__card-city{font:var(--type-small);color:var(--color-text-secondary)}.shortlist-screen__dots{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex-shrink:0}.shortlist-screen__dot{width:10px;height:10px;border-radius:50%}.shortlist-screen__dot--good{background:var(--color-risk-good)}.shortlist-screen__dot--moderate{background:var(--color-risk-moderate)}.shortlist-screen__dot--poor{background:var(--color-risk-poor)}.shortlist-screen__dot--critical{background:var(--color-risk-critical)}.shortlist-screen__dot--unavailable{background:var(--color-surface-alt)}.shortlist-screen__remove{width:44px;height:44px;border:none;background:none;color:var(--color-text-tertiary);font-size:20px;cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.shortlist-screen__remove:hover{background:var(--color-surface-alt);color:var(--color-text)}.shortlist-screen__compare-wrapper{position:relative}.shortlist-screen__compare-btn{width:100%;height:48px;border:none;border-radius:var(--radius-button);background:var(--color-accent);color:var(--color-overlay-text);font:var(--type-body-medium);cursor:pointer;transition:opacity var(--transition-fast)}.shortlist-screen__compare-btn:disabled{opacity:.4;cursor:not-allowed}.shortlist-screen__compare-btn:not(:disabled):hover{opacity:.9}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:var(--tab-bar-height);min-height:var(--tab-bar-height);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:center;justify-content:space-evenly;background:var(--color-nav-bg);border-top:2px solid var(--color-accent);box-shadow:0 -4px 12px #00000080;z-index:50;will-change:transform}.tab-bar__tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-3xs);padding:8px 12px;min-width:44px;min-height:44px;background:none;border:none;cursor:pointer;color:var(--color-nav-text-dimmed);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent}.tab-bar__tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.tab-bar__tab--active{color:var(--color-accent-text)}.tab-bar__icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.tab-bar__badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;background:var(--color-badge-coral);color:var(--color-overlay-text);font-size:10px;font-weight:700;line-height:16px;text-align:center;border-radius:8px}.tab-bar__label{font-size:10px;font-weight:500;line-height:1}.top-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:var(--top-bar-height);padding:0 var(--space-lg);background:var(--color-nav-bg);transition:background var(--transition-fast),border-color var(--transition-fast);border-bottom:1px solid var(--color-nav-border)}.top-bar--scrolled{background:var(--color-nav-bg);border-bottom-color:var(--color-nav-border)}.top-bar__logo{display:flex;align-items:center;text-decoration:none;height:100%;border-radius:var(--radius-sm)}.top-bar__logo-img{height:36px;width:auto}.top-bar__logo:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.top-bar__title{font-family:var(--font-family);font-size:18px;font-weight:700;color:var(--color-overlay-text);line-height:1}.top-bar__actions{display:flex;align-items:center;gap:var(--space-3xs)}.top-bar__lang-toggle{display:flex;background:var(--color-nav-control-bg);border-radius:18px;padding:0;border:1px solid var(--color-nav-border)}.top-bar__lang-btn{padding:6px 8px;min-height:44px;min-width:30px;border:none;border-radius:16px;font-family:var(--font-family);font-size:11px;font-weight:600;cursor:pointer;background:transparent;color:var(--color-overlay-text);transition:all var(--transition-fast)}.top-bar__lang-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.top-bar__lang-btn--active{background:var(--color-accent);color:var(--color-overlay-text)}.top-bar__settings{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border:none;border-radius:50%;background:transparent;color:var(--color-nav-icon);cursor:pointer;transition:background var(--transition-fast)}.top-bar__settings:hover{background:var(--color-nav-border)}.top-bar__settings:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}@media(max-width:360px){.top-bar{padding:0 var(--space-base)}.top-bar__lang-btn{padding:5px 7px;min-width:28px;min-height:44px}.top-bar__settings{width:44px;height:44px}}.address-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin:var(--space-base) 0;padding:var(--space-base);contain:content}.address-header__info{flex:1;min-width:0}.address-header__street{font:var(--type-h1);color:var(--color-text);letter-spacing:-.02em;overflow-wrap:anywhere}.address-header__postcode{font:var(--type-body);color:var(--color-text-secondary);margin-top:2px}.address-header__facts{font:var(--type-small);color:var(--color-text-tertiary);margin-top:4px}.address-header__change{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0;align-self:center;min-height:44px;min-width:44px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent-text);font:var(--type-micro);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out-quart)}.address-header__change:hover{background:var(--color-bg)}.address-header__change:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.address-header__change-icon{flex-shrink:0}@media(max-width:374px){.address-header__change-label{display:none}}.section-skeleton{display:flex;flex-direction:column;gap:var(--space-sm)}.section-skeleton__source{margin-top:var(--space-xs)}.section-skeleton__badge{border-radius:var(--radius-pill)}.section-skeleton--building-facts{padding:var(--space-base)}.section-skeleton__grid{display:grid;grid-template-columns:auto 1fr;gap:6px var(--space-lg)}.section-skeleton__row{display:contents}.section-skeleton--property-warnings{gap:var(--space-sm)}.section-skeleton__warning-card{display:flex;flex-direction:column;gap:calc(var(--space-sm) - 2px);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);border-left:3px solid var(--color-border);background:var(--color-surface)}.section-skeleton--livability{padding:var(--space-md);gap:calc(var(--space-sm) - 2px)}.section-skeleton__livability-header{display:flex;align-items:center;gap:var(--space-sm)}.section-skeleton__score-box{border-radius:var(--radius-card);flex-shrink:0}.section-skeleton__livability-text{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:0}.section-skeleton__dimensions{display:flex;flex-direction:column;gap:var(--space-xs)}.section-skeleton__dimension-row{display:flex;align-items:center;gap:var(--space-sm)}.section-skeleton__dimension-track{flex:1}.section-skeleton--neighborhood-stats{padding:var(--space-md)}.section-skeleton__ns-header{display:flex;flex-direction:column;gap:var(--space-xs)}.section-skeleton__ns-group{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.section-skeleton__ns-indicator{display:flex;justify-content:space-between;align-items:center;min-height:40px;padding:var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm)}.building-card{background:var(--color-surface);border-radius:var(--radius-card);margin:var(--space-base) 0;padding:var(--space-base);contain:content}.building-card--loading,.building-card--empty{color:var(--color-text-secondary);text-align:center;padding:var(--space-xl) var(--space-lg)}.building-card--error{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-base)}.building-card__error{margin:0;font:var(--type-small);color:var(--color-badge-caution-text);background:var(--color-badge-caution-bg);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-base)}.building-card__retry{width:fit-content}.building-card__title{font:var(--type-h3);margin:0 0 var(--space-base)}.building-card__facts{display:grid;grid-template-columns:auto 1fr;gap:6px var(--space-lg);margin:0}.building-card__facts dt{color:var(--color-text-secondary);font:var(--type-small)}.building-card__facts dd{margin:0;font:var(--type-small);font-weight:500}.building-card__mono{font-family:monospace;font-size:.8125rem}.building-card__field-note{display:block;font:var(--type-micro);color:var(--color-text-secondary);margin-top:2px}.building-card__source{margin:var(--space-base) 0 0;font:var(--type-micro);color:var(--color-text-secondary)}.shadow-slider{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-md);margin:var(--space-sm) 0;display:grid;gap:var(--space-sm)}.shadow-slider__presets{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.shadow-slider__preset{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-text-secondary);font:var(--type-small);padding:var(--space-sm) var(--space-md);min-height:44px;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.shadow-slider__preset:hover{background:var(--color-surface-hover, var(--color-surface-alt))}.shadow-slider__preset--active{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent-text)}.shadow-slider__controls{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm)}.shadow-slider__play{min-width:44px;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface-alt);color:var(--color-text);font:var(--type-body-medium);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.shadow-slider__play:hover{background:var(--color-surface-hover, var(--color-surface-alt))}.shadow-slider__range{width:100%;accent-color:var(--color-accent)}.shadow-slider__time{min-width:44px;text-align:right;color:var(--color-text-secondary);font:var(--type-caption);font-variant-numeric:tabular-nums}.shadow-slider__preset:focus-visible,.shadow-slider__play:focus-visible,.shadow-slider__range:focus-visible{outline:none;box-shadow:var(--focus-ring-accent)}.severity-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-family);white-space:nowrap}.severity-badge--md{font-size:13px;font-weight:500}.severity-badge--sm{font-size:11px;font-weight:500}.severity-badge--good{color:var(--color-risk-good)}.severity-badge--moderate{color:var(--color-risk-moderate)}.severity-badge--poor{color:var(--color-risk-poor)}.severity-badge--critical{color:var(--color-risk-critical)}.severity-badge--unavailable{color:var(--color-risk-unavailable)}.severity-badge__icon{flex-shrink:0}.severity-badge__label{line-height:1}.animated-score__scale{font-size:.45em;font-weight:500;color:var(--color-text-secondary);margin-left:2px;vertical-align:middle;line-height:1}.risk-tile{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--space-base);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--elevation-1);padding:var(--space-sm) var(--space-base);min-height:76px;min-width:0;cursor:pointer;text-align:left;width:100%;height:100%;transition:box-shadow var(--transition-fast);overflow:hidden}.risk-tile:hover{box-shadow:var(--elevation-2)}.risk-tile:disabled{cursor:default}.risk-tile--unavailable{background:color-mix(in srgb,var(--color-surface) 88%,white)}.risk-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.risk-tile__header{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;flex:1;min-width:0}.risk-tile__label{font:var(--type-small);font-weight:600;color:var(--color-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-tile__score-area{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px}.risk-tile__score{font:var(--type-display);line-height:1}.risk-tile__score--good{color:var(--color-risk-good)}.risk-tile__score--moderate{color:var(--color-risk-moderate)}.risk-tile__score--poor{color:var(--color-risk-poor)}.risk-tile__score--critical{color:var(--color-risk-critical)}.risk-tile__score--unavailable{color:var(--color-risk-unavailable)}.risk-tile__chevron{flex-shrink:0;color:var(--color-text-tertiary)}.risk-tile--pulse{animation:risk-tile-pulse var(--duration-moderate) var(--ease-out-expo)}@keyframes risk-tile-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 35%,transparent);background:var(--color-accent-light)}to{box-shadow:var(--elevation-1);background:var(--color-surface)}}@media(prefers-reduced-motion:reduce){.risk-tile{transition:none}.risk-tile--pulse{animation:none}}.risk-tiles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin:0;contain:content;align-items:stretch}@media(max-width:340px){.risk-tiles-grid{grid-template-columns:1fr}}.score-bar{width:100%;padding:4px 0}.score-bar__track{position:relative;height:2px;background:var(--color-border);border-radius:1px}.score-bar__fill{position:absolute;top:0;left:0;height:100%;border-radius:1px;transition:width 0s}.score-bar__fill--animated{transition:width var(--duration-emphasis) var(--ease-out-expo)}.score-bar__fill--good{background:var(--color-risk-good)}.score-bar__fill--moderate{background:var(--color-risk-moderate)}.score-bar__fill--poor{background:var(--color-risk-poor)}.score-bar__fill--critical{background:var(--color-risk-critical)}.score-bar__fill--unavailable{background:var(--color-risk-unavailable)}.score-bar__dot{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);opacity:1}.score-bar__dot--animated{animation:scoreBarDotFadeIn var(--duration-base) var(--ease-out-expo) calc(var(--duration-base) * 2) both}.score-bar__dot--good{background:var(--color-risk-good)}.score-bar__dot--moderate{background:var(--color-risk-moderate)}.score-bar__dot--poor{background:var(--color-risk-poor)}.score-bar__dot--critical{background:var(--color-risk-critical)}.score-bar__dot--unavailable{background:var(--color-risk-unavailable)}@keyframes scoreBarDotFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.score-bar__fill--animated{transition:none}.score-bar__dot--animated{animation:none;opacity:1}}.risk-detail{position:fixed;inset:0;z-index:100;background:var(--color-bg);display:flex;flex-direction:column;overflow-y:auto}.risk-detail__nav{display:flex;align-items:center;gap:var(--space-sm);height:48px;padding:0 var(--space-base);border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:1}.risk-detail__back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;border-radius:50%;cursor:pointer;color:var(--color-text)}.risk-detail__back:hover{background:var(--color-surface-hover)}.risk-detail__back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.risk-detail__nav-title{font:var(--type-body-medium);color:var(--color-text)}.risk-detail__content{flex:1;padding:var(--space-lg) var(--space-base);max-width:600px;margin:0 auto;width:100%}.risk-detail__score-section{text-align:center;padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.risk-detail__score-row{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-md)}.risk-detail__score{font:var(--type-score-large)}.risk-detail__score--good{color:var(--color-risk-good)}.risk-detail__score--moderate{color:var(--color-risk-moderate)}.risk-detail__score--poor{color:var(--color-risk-poor)}.risk-detail__score--critical{color:var(--color-risk-critical)}.risk-detail__score--unavailable{color:var(--color-risk-unavailable)}.risk-detail__section{margin-bottom:var(--space-lg)}.risk-detail__section-title{font:var(--type-label);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.risk-detail__meaning{font:var(--type-body-friendly);color:var(--color-text)}.risk-detail__comparisons{background:var(--color-surface-alt);border-radius:var(--radius-card);padding:var(--space-base)}.risk-detail__comparison-unavailable{margin:0;display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-start;font:var(--type-small);color:var(--color-text-secondary);background:var(--color-surface-alt);border-radius:var(--radius-card);padding:var(--space-base)}.risk-detail__comparison-unavailable-text{margin:0}.risk-detail__comparison-error{margin:0;font:var(--type-micro);color:var(--color-badge-caution-text)}.risk-detail__comparison-retry{width:fit-content}.risk-detail__comparison-row{display:flex;align-items:center;gap:var(--space-sm);height:32px}.risk-detail__comparison-row+.risk-detail__comparison-row{margin-top:var(--space-xs)}.risk-detail__comparison-label{width:120px;flex-shrink:0;font:var(--type-small);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-detail__comparison-bar-track{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.risk-detail__comparison-bar-fill{height:100%;background:var(--color-compare-address);border-radius:4px;transition:width var(--duration-emphasis) var(--ease-out-expo)}.risk-detail__comparison-bar-fill--address{background:var(--color-compare-address)}.risk-detail__comparison-bar-fill--city{background:var(--color-compare-city)}.risk-detail__comparison-bar-fill--nl{background:var(--color-compare-nl)}.risk-detail__comparison-bar-fill--who{background:var(--color-compare-who)}.risk-detail__comparison-bar-fill--dashed{opacity:.7}.risk-detail__comparison-value{width:32px;flex-shrink:0;text-align:right;font:var(--type-small);font-weight:600;color:var(--color-text)}.risk-detail__legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.risk-detail__legend-item{display:flex;align-items:center;gap:var(--space-xs);font:var(--type-micro);color:var(--color-text-secondary)}.risk-detail__legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.risk-detail__legend-dot--address{background:var(--color-compare-address)}.risk-detail__legend-dot--city{background:var(--color-compare-city)}.risk-detail__legend-dot--nl{background:var(--color-compare-nl)}.risk-detail__legend-dot--who{background:var(--color-compare-who)}.risk-detail__directionality{margin-top:var(--space-xs);font:var(--type-micro);color:var(--color-text-secondary)}.risk-detail__checklist-callout{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-accent-light);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-base);font:var(--type-small);color:var(--color-accent-text)}.risk-detail__footer{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.risk-detail__source{font:var(--type-micro);color:var(--color-text-secondary)}.risk-detail__disclaimer{font:var(--type-micro);color:var(--color-text-secondary);margin-top:var(--space-xs);font-style:italic}@media(prefers-reduced-motion:reduce){.risk-detail__comparison-bar-fill,.risk-detail__checkbox{transition:none}}.quartile-dots{display:flex;gap:4px;align-items:center}.quartile-dots__dot{width:6px;height:6px;border-radius:50%;background:var(--color-border)}.quartile-dots__dot--filled{background:var(--color-accent)}.neighborhood-card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-md);margin:0;display:flex;flex-direction:column;gap:var(--space-sm);contain:content;content-visibility:auto;contain-intrinsic-size:auto 500px}.neighborhood-card__header{display:flex;flex-direction:column;gap:var(--space-xs)}.neighborhood-card__title{font:var(--type-h3)}.neighborhood-card__subtitle{font:var(--type-small);color:var(--color-text-secondary)}.neighborhood-card__loading{color:var(--color-text-secondary);font:var(--type-small)}.neighborhood-card__error{font:var(--type-small);color:var(--color-badge-caution-text);background:var(--color-badge-caution-bg);border-left:3px solid var(--color-warning);padding:var(--space-sm) var(--space-base);border-radius:var(--radius-sm)}.neighborhood-card__retry{width:fit-content}.neighborhood-card__retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.neighborhood-card__badge{width:fit-content;border-radius:var(--radius-pill);padding:3px 10px;font:var(--type-micro);font-weight:600;background:var(--color-badge-positive-bg);color:var(--color-badge-positive-text)}.neighborhood-card__group{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.neighborhood-card__group-title{font:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.neighborhood-card__indicators{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}.neighborhood-card__indicator{display:flex;justify-content:space-between;align-items:flex-start;min-height:44px;padding:var(--space-sm);font:var(--type-body);background:var(--color-surface-alt);border-radius:var(--radius-sm);gap:var(--space-sm)}.neighborhood-card__indicator-label{color:var(--color-text-secondary);font:var(--type-small);flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere}.neighborhood-card__indicator-right{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--space-sm);flex:0 1 48%;min-width:0}.neighborhood-card__indicator-value{font:var(--type-body-medium);color:var(--color-text);white-space:normal;text-align:right;overflow-wrap:anywhere}.neighborhood-card__indicator-value--unavailable{font:var(--type-small);font-style:italic;color:var(--color-text-tertiary);white-space:normal;text-align:right;overflow-wrap:anywhere}.neighborhood-card__age-bars{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm)}.neighborhood-card__age-row{display:flex;align-items:center;gap:var(--space-sm);font:var(--type-small)}.neighborhood-card__age-label{width:48px;flex-shrink:0;text-align:right;color:var(--color-text-secondary)}.neighborhood-card__age-bar-track{flex:1;height:10px;background:var(--color-surface-recessed);border-radius:5px;overflow:hidden}.neighborhood-card__age-bar-fill{height:100%;background:var(--color-accent);border-radius:5px;min-width:2px}.neighborhood-card__age-bar-fill--unavailable{width:100%;min-width:0;background:transparent}.neighborhood-card__age-pct{width:40px;flex-shrink:0;text-align:right;font:var(--type-small);color:var(--color-text-secondary)}.neighborhood-card__question{font:var(--type-small);background:var(--color-accent-light);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-base);line-height:1.5}.neighborhood-card__source{font:var(--type-micro);color:var(--color-text-secondary)}.neighborhood-card__unavailable{margin:0;font:var(--type-small);color:var(--color-text-secondary)}@media(min-width:600px){.neighborhood-card__indicators{grid-template-columns:1fr 1fr}.neighborhood-card__group:last-of-type .neighborhood-card__indicators{grid-template-columns:1fr}}.tier-b-card{display:flex;flex-direction:column;gap:var(--space-sm);contain:content;content-visibility:auto;contain-intrinsic-size:auto 400px}.tier-b-card__loading{font:var(--type-small);color:var(--color-text-secondary);margin:0;padding:0 var(--space-base)}.tier-b-card__error{font:var(--type-small);color:var(--color-badge-caution-text);background:var(--color-badge-caution-bg);border-left:3px solid var(--color-warning);padding:var(--space-sm) var(--space-base);border-radius:var(--radius-sm);margin:0}.tier-b-card__retry{width:fit-content}.tier-b-card__retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.tier-b-card__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-md);margin:0;display:flex;flex-direction:column;gap:calc(var(--space-sm) - 2px)}.tier-b-card__panel-title{font:var(--type-h4);line-height:1.15}.tier-b-card__severity-row{display:flex;align-items:center;gap:var(--space-sm)}.tier-b-card__crime-score{font:var(--type-score-tile);font-weight:700;line-height:1}.tier-b-card__crime-score-scale{font:var(--type-small);font-weight:400;color:var(--color-text-secondary)}.tier-b-card__meaning{font:var(--type-body-friendly);color:var(--color-text-secondary);margin:0}.tier-b-card__metrics{display:grid;gap:4px}.tier-b-card__metric-row{display:flex;justify-content:space-between;gap:var(--space-sm);align-items:baseline;font:var(--type-small)}.tier-b-card__metric-row dt{color:var(--color-text-secondary)}.tier-b-card__metric-row dd{margin:0;font:var(--type-small);font-weight:500}.tier-b-card__source-line,.tier-b-card__period{font:var(--type-micro);color:var(--color-text-secondary)}.tier-b-card__metric-suffix{font:var(--type-micro);color:var(--color-text-tertiary)}.tier-b-card__note{font:var(--type-micro);color:var(--color-badge-caution-text);background:var(--color-badge-caution-bg);border-left:3px solid var(--color-warning);padding:3px var(--space-xs);border-radius:var(--radius-sm)}.tier-b-card__comparison{background:var(--color-surface-alt);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-base);display:flex;flex-direction:column;gap:var(--space-xs)}.tier-b-card__cmp-title{font:var(--type-small);font-weight:600;color:var(--color-text-secondary)}.tier-b-card__cmp-row{display:flex;align-items:center;gap:var(--space-sm);height:32px}.tier-b-card__cmp-label{width:96px;flex-shrink:0;font:var(--type-small);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tier-b-card__cmp-track{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.tier-b-card__cmp-fill{height:100%;background:var(--color-accent);border-radius:4px;transition:width var(--duration-emphasis) var(--ease-out-expo)}.tier-b-card__cmp-fill--reference{opacity:.7}.tier-b-card__cmp-value{width:36px;flex-shrink:0;text-align:right;font:var(--type-small);font-weight:600;color:var(--color-text)}.tier-b-card__disclaimer{font:var(--type-micro);color:var(--color-text-secondary);margin:0;padding:0 var(--space-base)}.attention-summary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-base);margin:0;border-radius:var(--radius-card);flex-wrap:wrap;contain:content}.attention-summary--green{background:var(--color-badge-positive-bg)}.attention-summary--amber{background:var(--color-badge-caution-bg)}.attention-summary--red{background:var(--color-badge-negative-bg)}.attention-summary__toggle{display:flex;align-items:center;gap:var(--space-xs);background:none;border:none;cursor:pointer;padding:0;min-height:44px;width:100%}.attention-summary__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.attention-summary__chevron{flex-shrink:0;color:var(--color-text-secondary);transition:transform var(--transition-fast);margin-left:auto}.attention-summary__chevron--expanded{transform:rotate(180deg)}.attention-summary__details{display:flex;flex-direction:column;gap:var(--space-xs);width:100%}.attention-summary__error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font:var(--type-small);color:var(--color-text-secondary)}.attention-summary__badge{font:var(--type-body-medium);padding:2px 8px;border-radius:var(--radius-sm)}.attention-summary__badge--green{color:var(--color-badge-positive-text)}.attention-summary__badge--amber{color:var(--color-badge-caution-text)}.attention-summary__badge--red{color:var(--color-badge-negative-text)}.attention-summary__flags{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:2px}.attention-summary__flag{font:var(--type-small);color:var(--color-text-secondary);padding-left:var(--space-sm);position:relative}.attention-summary__flag:before{content:"•";position:absolute;left:0}.attention-summary__flag--critical,.attention-summary__flag--high{color:var(--color-risk-poor)}.attention-summary__flag--elevated,.attention-summary__flag--medium{color:var(--color-risk-moderate)}.attention-summary__detail{font:var(--type-small);color:var(--color-text-secondary);width:100%}.attention-summary__missing{font:var(--type-small);color:var(--color-text-tertiary);width:100%}.attention-summary__completeness{font:var(--type-small);color:var(--color-text-secondary)}.livability-card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-md);margin:0;display:flex;flex-direction:column;gap:calc(var(--space-sm) - 2px);contain:content}.livability-card--tappable{cursor:pointer;border:1px solid var(--color-border);box-shadow:var(--elevation-1)}.livability-card--tappable:hover{box-shadow:var(--elevation-2, var(--elevation-1))}.livability-card--tappable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.livability-card__header{display:flex;align-items:center;gap:var(--space-sm)}.livability-card__chevron{margin-left:auto;color:var(--color-text-tertiary);flex-shrink:0}.livability-card__score-badge{width:56px;min-height:48px;border-radius:var(--radius-card);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;padding:4px 0}.livability-card__score-badge--good{background:var(--color-badge-positive-bg);color:var(--color-badge-positive-text)}.livability-card__score-badge--moderate{background:var(--color-badge-caution-bg);color:var(--color-badge-caution-text)}.livability-card__score-badge--poor,.livability-card__score-badge--critical{background:var(--color-badge-negative-bg);color:var(--color-badge-negative-text)}.livability-card__score-value{font:var(--type-data);font-weight:700;line-height:1}.livability-card__score-value .animated-score__scale{font:var(--type-micro);font-weight:500;line-height:1;color:var(--color-text-secondary);margin-top:2px}.livability-card__header-text{flex:1;min-width:0}.livability-card__buurt-name{font:var(--type-body-medium);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.livability-card__gemeente{font:var(--type-small);color:var(--color-text-secondary)}.livability-card__dimensions{display:flex;flex-direction:column;gap:var(--space-xs)}.livability-card__dimension{display:flex;align-items:center;gap:var(--space-sm)}.livability-card__dimension-label{font:var(--type-small);color:var(--color-text-secondary);width:80px;flex-shrink:0;text-transform:capitalize}.livability-card__dimension-track{flex:1;height:8px;background:var(--color-surface-alt);border-radius:4px;overflow:hidden}.livability-card__dimension-fill{height:100%;border-radius:4px;transition:width var(--duration-slow) var(--ease-out-expo)}.livability-card__dimension-fill--good{background:var(--color-risk-good)}.livability-card__dimension-fill--moderate{background:var(--color-risk-moderate)}.livability-card__dimension-fill--poor{background:var(--color-risk-poor)}.livability-card__dimension-fill--critical{background:var(--color-risk-critical)}.livability-card__dimension-value{font:var(--type-small);font-weight:500;color:var(--color-text);width:32px;text-align:right;flex-shrink:0}.livability-card__trend{display:flex;flex-direction:column;gap:var(--space-xs)}.livability-card__trend-label{font:var(--type-label);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary)}.livability-card__sparkline{height:40px;display:flex;align-items:flex-end;gap:2px}.livability-card__spark-bar{flex:1;border-radius:2px 2px 0 0;min-height:4px;transform-origin:bottom;animation:spark-bar-grow var(--duration-moderate) var(--ease-out-expo) both}@keyframes spark-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.livability-card__spark-bar--good{background:var(--color-risk-good)}.livability-card__spark-bar--moderate{background:var(--color-risk-moderate)}.livability-card__spark-bar--poor{background:var(--color-risk-poor)}.livability-card__spark-bar--critical{background:var(--color-risk-critical)}.livability-card__spark-years{display:flex;gap:2px}.livability-card__spark-year{flex:1;text-align:center;font:var(--type-micro);color:var(--color-text-tertiary)}.livability-card__comparison{display:flex;flex-direction:column;gap:var(--space-xs)}.livability-card__comparison-label{font:var(--type-label);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary)}.livability-card__comparison-row{display:flex;align-items:center;gap:var(--space-sm)}.livability-card__comparison-name{font:var(--type-small);color:var(--color-text-secondary);width:100px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.livability-card__comparison-track{flex:1;height:6px;background:var(--color-surface-alt);border-radius:3px;overflow:hidden}.livability-card__comparison-fill{height:100%;border-radius:3px;background:var(--color-accent);opacity:.6}.livability-card__comparison-value{font:var(--type-small);font-weight:500;color:var(--color-text);width:32px;text-align:right;flex-shrink:0}.livability-card__source{font:var(--type-micro);color:var(--color-text-secondary)}.livability-card__loading{font:var(--type-small);color:var(--color-text-secondary)}.livability-card__error{font:var(--type-small);color:var(--color-badge-caution-text);background:var(--color-badge-caution-bg);border-left:3px solid var(--color-warning);padding:var(--space-sm) var(--space-base);border-radius:var(--radius-sm)}.livability-card__retry{width:fit-content}.livability-card__unavailable{font:var(--type-small);color:var(--color-text-secondary);text-align:center;padding:var(--space-md)}.livability-card__retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}@media(prefers-reduced-motion:reduce){.livability-card__dimension-fill{transition:none}.livability-card__spark-bar{animation:none}}.livability-detail{position:fixed;inset:0;z-index:100;background:var(--color-bg);display:flex;flex-direction:column;overflow-y:auto}.livability-detail__nav{display:flex;align-items:center;gap:var(--space-sm);height:48px;padding:0 var(--space-base);border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:1}.livability-detail__back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;border-radius:50%;cursor:pointer;color:var(--color-text)}.livability-detail__back:hover{background:var(--color-surface-hover)}.livability-detail__back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.livability-detail__nav-title{font:var(--type-body-medium);color:var(--color-text)}.livability-detail__content{flex:1;padding:var(--space-lg) var(--space-base);max-width:600px;margin:0 auto;width:100%}.livability-detail__score-section{text-align:center;padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.livability-detail__score{font:var(--type-score-large)}.livability-detail__score-scale{font-size:.45em;font-weight:500;color:var(--color-text-secondary);margin-left:2px;vertical-align:middle;line-height:1}.livability-detail__score--good{color:var(--color-risk-good)}.livability-detail__score--moderate{color:var(--color-risk-moderate)}.livability-detail__score--poor{color:var(--color-risk-poor)}.livability-detail__score--critical{color:var(--color-risk-critical)}.livability-detail__score-label{font:var(--type-small);color:var(--color-text-secondary);margin-top:var(--space-xs)}.livability-detail__section{margin-bottom:var(--space-lg)}.livability-detail__section-title{font:var(--type-label);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.livability-detail__unavailable{margin:0;font:var(--type-small);color:var(--color-text-secondary)}.livability-detail__dimensions{background:var(--color-surface-alt);border-radius:var(--radius-card);padding:var(--space-base)}.livability-detail__dim-row{display:flex;align-items:center;gap:var(--space-sm);height:32px}.livability-detail__dim-row+.livability-detail__dim-row{margin-top:var(--space-xs)}.livability-detail__dim-label{width:130px;flex-shrink:0;font:var(--type-small);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.livability-detail__dim-track{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.livability-detail__dim-fill{height:100%;border-radius:4px;transition:width var(--duration-emphasis) var(--ease-out-expo)}.livability-detail__dim-fill--good{background:var(--color-risk-good)}.livability-detail__dim-fill--moderate{background:var(--color-risk-moderate)}.livability-detail__dim-fill--poor{background:var(--color-risk-poor)}.livability-detail__dim-fill--critical{background:var(--color-risk-critical)}.livability-detail__dim-value{width:32px;flex-shrink:0;text-align:right;font:var(--type-small);font-weight:600;color:var(--color-text)}.livability-detail__trend-chart{display:flex;align-items:flex-end;gap:var(--space-xs);height:160px;background:var(--color-surface-alt);border-radius:var(--radius-card);padding:var(--space-base)}.livability-detail__trend-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.livability-detail__trend-bar-wrapper{flex:1;display:flex;align-items:flex-end;width:100%}.livability-detail__trend-bar{width:100%;border-radius:4px 4px 0 0;min-height:4px;transform-origin:bottom;animation:livability-bar-grow var(--duration-emphasis) var(--ease-out-expo) both}@keyframes livability-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.livability-detail__trend-bar--good{background:var(--color-risk-good)}.livability-detail__trend-bar--moderate{background:var(--color-risk-moderate)}.livability-detail__trend-bar--poor{background:var(--color-risk-poor)}.livability-detail__trend-bar--critical{background:var(--color-risk-critical)}.livability-detail__trend-value{font:var(--type-micro);font-weight:600;color:var(--color-text);margin-top:var(--space-xs)}.livability-detail__trend-year{font:var(--type-micro);color:var(--color-text-tertiary)}.livability-detail__dim-trend-row{display:flex;align-items:flex-end;gap:var(--space-sm);height:48px;padding:var(--space-xs) 0}.livability-detail__dim-trend-row+.livability-detail__dim-trend-row{border-top:1px solid var(--color-border)}.livability-detail__dim-trend-label{width:100px;flex-shrink:0;font:var(--type-micro);color:var(--color-text-secondary);align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.livability-detail__dim-trend-bars{flex:1;display:flex;align-items:flex-end;gap:2px;height:36px}.livability-detail__dim-trend-bar-slot{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.livability-detail__dim-trend-missing{font:var(--type-micro);color:var(--color-text-tertiary)}.livability-detail__dim-trend-bar{flex:1;border-radius:2px 2px 0 0;min-height:2px}.livability-detail__dim-trend-bar--good{background:var(--color-risk-good)}.livability-detail__dim-trend-bar--moderate{background:var(--color-risk-moderate)}.livability-detail__dim-trend-bar--poor{background:var(--color-risk-poor)}.livability-detail__dim-trend-bar--critical{background:var(--color-risk-critical)}.livability-detail__comparisons{background:var(--color-surface-alt);border-radius:var(--radius-card);padding:var(--space-base)}.livability-detail__cmp-row{display:flex;align-items:center;gap:var(--space-sm);height:32px}.livability-detail__cmp-row+.livability-detail__cmp-row{margin-top:var(--space-xs)}.livability-detail__cmp-label{width:130px;flex-shrink:0;font:var(--type-small);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.livability-detail__cmp-track{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.livability-detail__cmp-fill{height:100%;background:var(--color-compare-address);border-radius:4px;transition:width var(--duration-emphasis) var(--ease-out-expo)}.livability-detail__cmp-fill--address{background:var(--color-compare-address)}.livability-detail__cmp-fill--city{background:var(--color-compare-city)}.livability-detail__cmp-fill--nl{background:var(--color-compare-nl)}.livability-detail__cmp-value{width:32px;flex-shrink:0;text-align:right;font:var(--type-small);font-weight:600;color:var(--color-text)}.livability-detail__legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.livability-detail__legend-item{display:flex;align-items:center;gap:var(--space-xs);font:var(--type-micro);color:var(--color-text-secondary)}.livability-detail__legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.livability-detail__legend-dot--address{background:var(--color-compare-address)}.livability-detail__legend-dot--city{background:var(--color-compare-city)}.livability-detail__legend-dot--nl{background:var(--color-compare-nl)}.livability-detail__directionality{margin-top:var(--space-xs);font:var(--type-micro);color:var(--color-text-secondary)}.livability-detail__footer{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.livability-detail__source{font:var(--type-micro);color:var(--color-text-secondary)}@media(prefers-reduced-motion:reduce){.livability-detail__dim-fill,.livability-detail__cmp-fill{transition:none}.livability-detail__trend-bar{animation:none}}.viewing-checklist{display:flex;flex-direction:column;gap:var(--space-sm);margin:0;contain:content;content-visibility:auto;contain-intrinsic-size:auto 300px}.viewing-checklist--error,.viewing-checklist--empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-md)}.viewing-checklist__error{margin:0;font:var(--type-small);color:var(--color-badge-caution-text);background:var(--color-badge-caution-bg);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-base)}.viewing-checklist__retry{width:fit-content;margin-top:var(--space-xs)}.viewing-checklist__empty{margin:0;font:var(--type-small);color:var(--color-text-secondary)}.viewing-checklist__group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-md);display:flex;flex-direction:column;gap:calc(var(--space-sm) - 2px)}.viewing-checklist__group-header{display:flex;align-items:center;justify-content:space-between}.viewing-checklist__group-name{font:var(--type-h4);line-height:1.15;color:var(--color-text)}.viewing-checklist__questions{display:flex;flex-direction:column;gap:var(--space-3xs)}.viewing-checklist__language-toggle{align-self:flex-start;border:none;background:none;padding:0;font:var(--type-small);color:var(--color-accent-text)}.viewing-checklist__item{display:flex;align-items:flex-start;gap:var(--space-sm);font:var(--type-small);color:var(--color-text-secondary);cursor:pointer;min-height:44px;padding:10px var(--space-xs);border-radius:var(--radius-sm);background:var(--color-accent-light);overflow-wrap:anywhere}.viewing-checklist__item:focus-within{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.viewing-checklist__checkbox{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-accent);margin-top:2px;position:relative}.viewing-checklist__checkbox:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.viewing-checklist__item-copy{display:flex;flex-direction:column;gap:4px}.viewing-checklist__item-translation{color:var(--color-text-tertiary)}.locked-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);margin:0;padding:var(--space-md)}.locked-section__title{margin:0;font:var(--type-h4);color:var(--color-primary)}.locked-section__subtitle{margin:var(--space-2xs) 0 var(--space-sm);font:var(--type-small);color:var(--color-text-secondary)}.locked-section__cta{min-height:44px;border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-overlay-text);font:var(--type-small);font-weight:600;padding:0 var(--space-base);cursor:pointer}.locked-section__cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.action-bar{position:fixed;bottom:calc(var(--tab-bar-height, 56px) + env(safe-area-inset-bottom,0px));left:0;right:0;max-width:var(--max-width, 600px);margin:0 auto;display:flex;gap:var(--space-xs);padding:var(--space-sm) var(--space-base);box-sizing:border-box;background:var(--color-surface);border-top:1px solid var(--color-border);z-index:41;will-change:transform;transform:translateY(0);transition:transform var(--duration-moderate) var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}.action-bar--visible{transform:translateY(0);pointer-events:auto}.action-bar--hidden{transform:translateY(calc(100% + var(--tab-bar-height, 56px) + env(safe-area-inset-bottom,0px)));pointer-events:none}.action-bar__btn-wrapper{position:relative;flex:1;display:flex}.action-bar__btn{flex:1;height:48px;border-radius:var(--radius-md);font:600 14px/1 var(--font-family);white-space:nowrap;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);transition:background var(--transition-fast),color var(--transition-fast)}.action-bar__btn:disabled{opacity:.6;cursor:not-allowed}.action-bar__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.action-bar__icon{flex-shrink:0;width:16px;height:16px}.action-bar__bookmark-icon{--bookmark-draw-duration: .25s;--bookmark-fill-duration: var(--duration-fast)}.action-bar__bookmark-fill{fill:currentColor;opacity:0}.action-bar__bookmark-stroke{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.action-bar__bookmark-icon--saved .action-bar__bookmark-fill{opacity:1}.action-bar__bookmark-icon--saving .action-bar__bookmark-stroke{stroke-dashoffset:1;animation:action-bar-bookmark-draw var(--bookmark-draw-duration) var(--ease-out-expo) forwards}.action-bar__bookmark-icon--saving .action-bar__bookmark-fill{opacity:0;animation:action-bar-bookmark-fill-in var(--bookmark-fill-duration) var(--ease-out-subtle) var(--bookmark-draw-duration) forwards}.action-bar__bookmark-icon--removing .action-bar__bookmark-fill{opacity:1;animation:action-bar-bookmark-fill-out var(--bookmark-fill-duration) var(--ease-out-subtle) forwards}.action-bar__bookmark-icon--removing .action-bar__bookmark-stroke{stroke-dashoffset:0;animation:action-bar-bookmark-erase var(--bookmark-draw-duration) var(--ease-out-quart) var(--bookmark-fill-duration) forwards}.action-bar__btn--primary{background:var(--color-accent);color:var(--color-overlay-text)}.action-bar__btn--primary:hover{background:var(--color-accent-hover)}.action-bar__btn--secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-accent)}.action-bar__btn--secondary:hover{background:var(--color-accent-light)}.action-bar__btn--saved{background:var(--color-accent-light);color:var(--color-accent-text);border-color:var(--color-accent)}@keyframes action-bar-bookmark-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes action-bar-bookmark-erase{0%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes action-bar-bookmark-fill-in{0%{opacity:0}to{opacity:1}}@keyframes action-bar-bookmark-fill-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.action-bar{transition:none}.action-bar__bookmark-icon--saving .action-bar__bookmark-stroke,.action-bar__bookmark-icon--saving .action-bar__bookmark-fill,.action-bar__bookmark-icon--removing .action-bar__bookmark-stroke,.action-bar__bookmark-icon--removing .action-bar__bookmark-fill{animation:none}.action-bar__bookmark-icon--saved .action-bar__bookmark-fill{opacity:1}}.bottom-sheet-overlay{position:fixed;inset:0;background:var(--color-backdrop);z-index:100;display:flex;align-items:flex-end;animation:bottomSheetBackdropIn var(--duration-base) var(--ease-out-expo)}.bottom-sheet{width:100%;max-width:var(--max-width);margin:0 auto;background:var(--color-surface);border-radius:var(--radius-card) var(--radius-card) 0 0;overflow-y:auto;animation:bottomSheetSlideUp var(--duration-moderate) var(--ease-out-quart)}.bottom-sheet__handle{width:36px;height:4px;background:var(--color-border);border-radius:2px;margin:12px auto 8px}.bottom-sheet__content{padding:0 var(--space-lg) var(--space-xl);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px))}@keyframes bottomSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bottomSheetBackdropIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.bottom-sheet-overlay,.bottom-sheet{animation:none}}.export-sheet{padding:var(--space-md) 0}.export-sheet__title{font:var(--type-h2);color:var(--color-text);margin:0 0 var(--space-lg)}.export-sheet__section{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) 0 var(--space-md);border-bottom:1px solid var(--color-border)}.export-sheet__templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.export-sheet__template-card{appearance:none;width:100%;text-align:left;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-sm);display:flex;flex-direction:column;gap:4px;min-height:112px;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.export-sheet__template-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.export-sheet__template-card--active{background:var(--color-accent-light);border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}.export-sheet__template-illus{width:52px;height:36px;stroke:var(--color-accent-text);fill:none;stroke-width:1.8}.export-sheet__template-title{font:var(--type-body);font-weight:600}.export-sheet__template-meta{font:var(--type-micro);color:var(--color-text-secondary)}.export-sheet__label{font:var(--type-caption);font-weight:600;color:var(--color-text-secondary)}.export-sheet__language-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:160px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-alt)}.export-sheet__language-btn{border:0;border-radius:var(--radius-pill);padding:8px 0;font:var(--type-micro);font-weight:600;color:var(--color-text-secondary);background:transparent;cursor:pointer}.export-sheet__language-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.export-sheet__language-btn--active{background:var(--color-accent);color:var(--color-overlay-text)}.export-sheet__language-warning,.export-sheet__sunlight-warning{margin:var(--space-xs) 0 0;font:var(--type-micro);color:var(--color-badge-caution-text)}.export-sheet__sunlight-status{margin:var(--space-xs) 0 0;font:var(--type-micro);color:var(--color-text-secondary)}.export-sheet__toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) 0;font:var(--type-body);color:var(--color-text);cursor:pointer}.export-sheet__toggle input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent)}.export-sheet__toggle:focus-within{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.export-sheet__error{font:var(--type-caption);color:var(--color-risk-poor);margin:var(--space-sm) 0}.export-sheet__progress{margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);align-items:center}.export-sheet__progress-ring{position:relative;width:64px;height:64px;display:grid;place-items:center}.export-sheet__progress-svg{width:40px;height:40px;transform:rotate(-90deg)}.export-sheet__progress-svg--indeterminate{animation:export-ring-rotate 2s linear infinite}.export-sheet__progress-track{fill:none;stroke:var(--color-border);stroke-width:3}.export-sheet__progress-value{fill:none;stroke:var(--color-accent);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset var(--duration-base) var(--ease-out-expo)}.export-sheet__progress-value--indeterminate{animation:export-ring-dash 1.5s ease-in-out infinite;transition:none}@keyframes export-ring-rotate{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes export-ring-dash{0%{stroke-dashoffset:80}50%{stroke-dashoffset:20}to{stroke-dashoffset:80}}@media(prefers-reduced-motion:reduce){.export-sheet__progress-svg--indeterminate{animation:none}.export-sheet__progress-value--indeterminate{animation:none;stroke-dashoffset:50}}.export-sheet__progress-icon{position:absolute;width:16px;height:16px;stroke:var(--color-text-secondary);stroke-width:1.7;fill:none}.export-sheet__progress-percent{position:absolute;bottom:1px;font:var(--type-micro);color:var(--color-text-secondary)}.export-sheet__progress-text{font:var(--type-micro);color:var(--color-text-secondary);text-align:center}.export-sheet__ready{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.export-sheet__ready-header{position:relative}.export-sheet__actions{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xs)}.export-sheet__btn{width:100%;margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-accent);color:var(--color-overlay-text);border:none;border-radius:var(--radius-md);font:var(--type-body);font-weight:600;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out-subtle)}.export-sheet__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.export-sheet__btn:hover:not(:disabled){opacity:.9}.export-sheet__btn:disabled{opacity:.6;cursor:not-allowed}.export-sheet__btn--secondary{margin-top:0;background:var(--color-surface);color:var(--color-accent-text);border:1px solid var(--color-accent)}.toast-container{position:fixed;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom,0px) + 8px);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:calc(var(--max-width) - 32px);pointer-events:none}.toast{background:var(--color-toast-bg);color:var(--color-overlay-text);padding:12px 16px;border-radius:var(--radius-button);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;box-shadow:var(--elevation-3);animation:toastSlideUp var(--duration-moderate) var(--ease-out-quart);pointer-events:auto;cursor:pointer}.toast__text{font:var(--type-small);color:var(--color-overlay-text);flex:1;white-space:normal;overflow-wrap:anywhere}.toast__action{background:none;border:none;color:var(--color-accent);font:var(--type-caption);cursor:pointer;padding:4px 8px;min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);white-space:normal;overflow-wrap:anywhere}.toast__action:hover{background:var(--color-nav-border)}.toast__action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}@keyframes toastSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.app{max-width:var(--max-width);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:var(--space-base)}.app__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.app__title{font:var(--type-h2);margin:0}.app__subtitle{font:var(--type-small);color:var(--color-text-secondary);margin:2px 0 0}.app__main{flex:1;display:flex;flex-direction:column;gap:var(--space-base);padding-top:var(--space-base)}.app__screen{display:flex;flex-direction:column;gap:var(--space-base);min-width:0}.app__error{color:var(--color-danger);font:var(--type-small);margin:0;padding:var(--space-sm) var(--space-md);background:var(--color-danger-light);border-radius:var(--radius-sm)}.viewer-3d-status{text-align:center;padding:var(--space-xl);color:var(--color-text-secondary)}.app__section-label{font:var(--type-label);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin:var(--space-lg) 0 var(--space-xs);padding:0 var(--space-base)}.app__retry-button{margin-top:var(--space-xs);min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent-text);font:var(--type-small);font-weight:600;padding:0 var(--space-base);cursor:pointer}.app__retry-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.app__coverage-strip{margin:0 var(--space-base) var(--space-xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-recessed);display:flex;flex-wrap:wrap;gap:var(--space-xs);font:var(--type-micro);color:var(--color-text-secondary)}.app__coverage-strip>span{min-width:0;overflow-wrap:anywhere}.app__coverage-stale{color:var(--color-warning);font-weight:600}.app__failed-banner{margin:0 var(--space-base);padding:var(--space-sm);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-badge-caution-bg);color:var(--color-badge-caution-text);display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm);font:var(--type-small)}.app__failed-banner>span{flex:1 1 220px;min-width:0}.app__failed-banner .app__retry-button{margin-top:0;margin-left:auto;flex-shrink:0}.app__phase-divider{margin:calc(var(--space-4xl) + var(--space-base)) 0 var(--space-lg);padding:var(--space-lg) var(--space-base) var(--space-base);position:relative}.app__phase-divider:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--color-border)}.app__phase-divider--first{margin-top:var(--space-sm)}.app__phase-divider--first:before{display:none}.app__phase-divider-header{display:flex;align-items:center;gap:var(--space-sm)}.app__phase-divider-step{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-overlay-text);font:var(--type-label);font-weight:700;letter-spacing:0;flex-shrink:0;padding:0 var(--space-sm)}.app__phase-divider-title{font:var(--type-h3);color:var(--color-primary);margin:0}.app__phase-divider-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-accent-text)}.app__phase-divider-subtitle{font:var(--type-small);color:var(--color-text-secondary);margin:var(--space-xs) 0 0 calc(28px + var(--space-sm))}.app__dossier-jump-nav{position:sticky;top:0;z-index:15;margin:0 var(--space-base);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--glass-bg-fallback);background:color-mix(in srgb,var(--color-surface) 92%,transparent);display:flex;flex-direction:column;gap:var(--space-xs)}.app__chunk-error{padding:var(--space-lg) var(--space-base);text-align:center;color:var(--color-text-secondary);font:var(--type-small)}.app__dossier-jump-header{display:flex;align-items:center;gap:var(--space-xs)}.app__dossier-jump-address{border:none;background:transparent;text-align:left;font:var(--type-small);color:var(--color-text);cursor:pointer;padding:var(--space-xs) 0;min-height:44px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app__dossier-jump-address:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.app__dossier-jump-top{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-accent-text);border-radius:var(--radius-pill);min-height:44px;min-width:44px;padding:0 var(--space-sm);font:var(--type-micro);cursor:pointer;flex-shrink:0}.app__dossier-jump-top:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.app__dossier-jump-actions{display:flex;gap:var(--space-xs)}.app__dossier-jump-actions button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-accent-text);border-radius:var(--radius-pill);min-height:44px;min-width:44px;padding:0 var(--space-sm);font:var(--type-micro);cursor:pointer}.app__dossier-jump-actions button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}.app__dossier-jump-actions button.app__jump-btn--active{background:var(--color-accent);color:var(--color-overlay-text);border-color:var(--color-accent)}.dossier-section{animation:dossierReveal var(--duration-base) var(--ease-out-quart) both;animation-delay:calc(var(--section-index, 0) * var(--stagger-section))}@keyframes dossierReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}[data-state=error],[data-state=unavailable]{animation:errorPulse var(--duration-moderate) var(--ease-out-subtle) 1}@keyframes errorPulse{0%,to{background:var(--color-surface)}50%{background:var(--color-surface-recessed)}}@media(prefers-reduced-motion:reduce){.dossier-section,[data-state=error],[data-state=unavailable]{animation:none;opacity:1;transform:none}}.app__next-steps{background:var(--color-surface);border-radius:var(--radius-card, 16px);padding:var(--space-lg) var(--space-md);margin:var(--space-md) 0}.app__next-steps--with-action-bar{margin-bottom:calc(var(--action-bar-height, 64px) + var(--space-md))}.app__next-steps-title{font:var(--type-label);font-weight:700;color:var(--color-primary);margin:0 0 var(--space-sm) 0}.app__next-steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.app__next-steps-action{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-button, 12px);border:none;background:transparent;color:var(--color-accent-text);font:var(--type-body);font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background var(--duration-fast) var(--ease-out-subtle)}.app__next-steps-action:hover:not(:disabled){background:var(--color-surface-recessed)}.app__next-steps-action:active:not(:disabled){background:var(--color-border)}.app__next-steps-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app__next-steps-action:disabled{color:var(--color-text-secondary);cursor:wait;opacity:.72}.app__next-steps-action--saved{color:var(--color-risk-good)}.app__next-steps-icon{width:20px;height:20px;flex-shrink:0}.app__briefing-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-4xl) var(--space-lg);gap:var(--space-sm);min-height:40vh}.app__briefing-empty-icon{width:48px;height:48px;color:var(--color-text-tertiary);margin-bottom:var(--space-sm)}.app__briefing-empty-title{font:var(--type-h3);color:var(--color-primary);margin:0}.app__briefing-empty-description{font:var(--type-body);color:var(--color-text-secondary);margin:0;max-width:280px}.app__briefing-empty-action{margin-top:var(--space-base);min-height:44px;padding:0 var(--space-lg);border:1px solid var(--color-accent);border-radius:var(--radius-button, 12px);background:var(--color-accent);color:var(--color-overlay-text);font:var(--type-body);font-weight:600;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out-subtle)}.app__briefing-empty-action:hover{opacity:.9}.app__briefing-empty-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:inherit}
