:root[data-theme=light]{color-scheme:light;--p-paper: #f7f3ea;--p-paper-2: #efe9dc;--p-card: #fffdf7;--p-card-2: #f9f5eb;--p-ink: #1f2a33;--p-ink-2: #46515a;--p-ink-muted: #5a646c;--p-line: #d8d2c2;--p-line-strong: #857f72;--p-action: #a63a2b;--p-action-hover: #8c2f22;--p-action-soft: #f3e0db;--p-action-soft-ink: #7c2a1e;--p-on-action: #fffdf7;--p-success: #2f5d50;--p-success-soft: #e2ebe4;--p-success-soft-ink: #23483e;--p-on-success: #fffdf7;--p-warning: #8a6413;--p-warning-edge: #a5781f;--p-warning-soft: #f3e8cc;--p-warning-soft-ink: #6b4e0d;--p-on-warning: #fffdf7;--p-critical: #7c2d3a;--p-critical-soft: #f0dee2;--p-critical-soft-ink: #6a2430;--p-on-critical: #fffdf7;--p-info: #2b4b7c;--p-info-soft: #dfe6f0;--p-info-soft-ink: #24406b;--p-on-info: #fffdf7;--p-focus: #a63a2b;--p-selection: #f0dfc8;--p-highlight: #f6e6bb;--p-shadow-1: rgba(31, 42, 51, .07);--p-shadow-2: rgba(31, 42, 51, .13);--p-domain-wirtschaft: #2f5d50;--p-domain-wohnen: #7a5230;--p-domain-bildung: #2b4b7c;--p-domain-gesundheit: #7c2d3a;--p-domain-freizeit: #8a6a1f;--p-domain-finanzen: #4e5a2c;--p-domain-bevoelkerung: #1f5a63;--p-domain-verkehr: #3f4a55;--p-chart-1: #1f2a33;--p-chart-2: #a63a2b;--p-chart-3: #2f5d50;--p-chart-4: #2b4b7c;--p-chart-5: #7a5230;--p-chart-grid: #ddd6c6}:root[data-theme=dark]{color-scheme:dark;--p-paper: #141a1f;--p-paper-2: #182026;--p-card: #1c242b;--p-card-2: #222b33;--p-ink: #ede7da;--p-ink-2: #c4bdaf;--p-ink-muted: #a39c8f;--p-line: #333d45;--p-line-strong: #6f7a83;--p-action: #e07863;--p-action-hover: #ee8a74;--p-action-soft: #38211d;--p-action-soft-ink: #f0b3a6;--p-on-action: #141a1f;--p-success: #7fb39e;--p-success-soft: #1e322b;--p-success-soft-ink: #a9d3c0;--p-on-success: #10231c;--p-warning: #e3b967;--p-warning-edge: #e3b967;--p-warning-soft: #33290f;--p-warning-soft-ink: #edcb86;--p-on-warning: #2a2008;--p-critical: #e39aa6;--p-critical-soft: #35202a;--p-critical-soft-ink: #eba6b4;--p-on-critical: #2a0f16;--p-info: #9fb8dc;--p-info-soft: #1f2c3e;--p-info-soft-ink: #b3c7e4;--p-on-info: #12203a;--p-focus: #f2c14e;--p-selection: #4a3a22;--p-highlight: #4a3a22;--p-shadow-1: rgba(0, 0, 0, .35);--p-shadow-2: rgba(0, 0, 0, .5);--p-domain-wirtschaft: #7fb39e;--p-domain-wohnen: #c9a176;--p-domain-bildung: #93b0dc;--p-domain-gesundheit: #dda0aa;--p-domain-freizeit: #d8b65f;--p-domain-finanzen: #a9b77c;--p-domain-bevoelkerung: #83bfc4;--p-domain-verkehr: #a9b4be;--p-chart-1: #ede7da;--p-chart-2: #e39aa6;--p-chart-3: #7fb39e;--p-chart-4: #9fb8dc;--p-chart-5: #c9a176;--p-chart-grid: #2c363e}:root{--color-bg: var(--p-paper);--color-bg-subtle: var(--p-paper-2);--color-surface: var(--p-card);--color-surface-2: var(--p-card-2);--color-line: var(--p-line);--color-line-strong: var(--p-line-strong);--color-ink: var(--p-ink);--color-ink-2: var(--p-ink-2);--color-ink-muted: var(--p-ink-muted);--color-action: var(--p-action);--color-action-hover: var(--p-action-hover);--color-action-ink: var(--p-on-action);--color-action-soft: var(--p-action-soft);--color-action-soft-ink: var(--p-action-soft-ink);--color-success: var(--p-success);--color-success-soft: var(--p-success-soft);--color-success-soft-ink: var(--p-success-soft-ink);--color-on-success: var(--p-on-success);--color-warning: var(--p-warning);--color-warning-edge: var(--p-warning-edge);--color-warning-soft: var(--p-warning-soft);--color-warning-soft-ink: var(--p-warning-soft-ink);--color-on-warning: var(--p-on-warning);--color-critical: var(--p-critical);--color-critical-soft: var(--p-critical-soft);--color-critical-soft-ink: var(--p-critical-soft-ink);--color-on-critical: var(--p-on-critical);--color-info: var(--p-info);--color-info-soft: var(--p-info-soft);--color-info-soft-ink: var(--p-info-soft-ink);--color-on-info: var(--p-on-info);--color-focus: var(--p-focus);--color-selection: var(--p-selection);--color-highlight: var(--p-highlight);--color-shadow-1: var(--p-shadow-1);--color-shadow-2: var(--p-shadow-2);--domain-wirtschaft: var(--p-domain-wirtschaft);--domain-wohnen: var(--p-domain-wohnen);--domain-bildung: var(--p-domain-bildung);--domain-gesundheit: var(--p-domain-gesundheit);--domain-freizeit: var(--p-domain-freizeit);--domain-finanzen: var(--p-domain-finanzen);--domain-bevoelkerung: var(--p-domain-bevoelkerung);--domain-verkehr: var(--p-domain-verkehr);--chart-1: var(--p-chart-1);--chart-2: var(--p-chart-2);--chart-3: var(--p-chart-3);--chart-4: var(--p-chart-4);--chart-5: var(--p-chart-5);--chart-grid: var(--p-chart-grid);--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-body: 1rem;--fs-md: 1.25rem;--fs-lg: 1.625rem;--fs-xl: 2.125rem;--fs-2xl: 2.875rem;--lh-body: 1.55;--lh-ui: 1.35;--lh-tight: 1.15;--tracking-caps: .08em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--radius: 6px;--border: 1px;--border-strong: 2px;--shadow-1: 0 1px 2px var(--color-shadow-1);--shadow-2: 0 6px 18px var(--color-shadow-2);--icon-size: 1.25rem;--icon-stroke: 1.75;--control-h: 2.75rem;--control-h-sm: 2rem;--target-min: 1.5rem;--header-h: 4.5rem;--content-max: 78rem;--measure-max: 70ch;--focus-width: 2px;--focus-offset: 2px;--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--z-header: 100;--z-nav-mobile: 120;--z-dialog: 1000;--z-toast: 1100}@media(prefers-reduced-motion:reduce){:root:not([data-motion=system]){--dur-fast: .01ms;--dur-base: .01ms;--dur-slow: .01ms}}:root[data-motion=reduce]{--dur-fast: .01ms;--dur-base: .01ms;--dur-slow: .01ms}@media print{:root{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-2: #ffffff;--color-ink: #000000;--color-ink-2: #222222;--color-line: #999999;--shadow-1: none;--shadow-2: none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100dvh;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;line-height:var(--lh-tight);text-wrap:balance}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}h4{font-size:var(--fs-body)}p{margin:0 0 var(--sp-3);max-width:var(--measure-max)}p:last-child{margin-bottom:0}a{color:var(--color-action);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--color-action-hover)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}ul,ol{margin:0 0 var(--sp-3);padding-left:1.4em}li+li{margin-top:var(--sp-1)}img,svg{display:block;max-width:100%}table{border-collapse:collapse;border-spacing:0}hr{border:0;border-top:var(--border) solid var(--color-line);margin:var(--sp-5) 0}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}::selection{background:var(--color-selection)}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);border-radius:2px}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;left:var(--sp-3);top:-100px;z-index:calc(var(--z-dialog) + 1);padding:var(--sp-2) var(--sp-4);background:var(--color-surface);color:var(--color-ink);border:var(--border-strong) solid var(--color-action);border-radius:var(--radius);font-weight:600;text-decoration:none;transition:top var(--dur-fast) var(--ease-out)}.skip-link:focus{top:var(--sp-3)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.eyebrow{display:block;font-family:var(--font-text);font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-muted)}.lead{font-size:var(--fs-md);line-height:1.45;color:var(--color-ink-2);max-width:62ch}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--font-mono);font-size:.92em}.muted{color:var(--color-ink-muted)}.text-sm{font-size:var(--fs-sm)}.nowrap{white-space:nowrap}.container{width:100%;max-width:none;margin-inline:auto;padding-inline:var(--sp-4)}@media(min-width:768px){.container{padding-inline:clamp(1.5rem,3.5vw,4.5rem)}}.screen__head,.prose{max-width:88ch}.stack>*+*{margin-top:var(--sp-4)}.stack-sm>*+*{margin-top:var(--sp-2)}.stack-lg>*+*{margin-top:var(--sp-6)}.cluster{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}@media(forced-colors:active){:focus-visible{outline:3px solid Highlight}.card,.panel{border:1px solid CanvasText}}@media print{body{background:#fff;color:#000;font-size:11pt}.no-print{display:none!important}a{color:#000;text-decoration:underline}.container{max-width:none;padding:0}}.btn{--btn-bg: var(--color-surface);--btn-ink: var(--color-ink);--btn-border: var(--color-line-strong);--btn-hover-bg: var(--color-surface-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--control-h);padding:var(--sp-2) var(--sp-4);border:var(--border-strong) solid var(--btn-border);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-ink);font-size:var(--fs-body);font-weight:600;line-height:var(--lh-ui);text-align:center;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--btn-hover-bg);color:var(--btn-ink)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:1;color:var(--color-ink-muted);border-color:var(--color-line);background:var(--color-bg-subtle);cursor:not-allowed}.btn .icon{flex:none}.btn--primary{--btn-bg: var(--color-action);--btn-ink: var(--color-action-ink);--btn-border: var(--color-action);--btn-hover-bg: var(--color-action-hover)}.btn--primary:hover{color:var(--color-action-ink)}.btn--quiet{--btn-bg: transparent;--btn-border: transparent;--btn-hover-bg: var(--color-surface-2);padding-inline:var(--sp-2)}.btn--quiet:hover{color:var(--color-ink)}.btn--danger{--btn-bg: var(--color-critical-soft);--btn-ink: var(--color-critical-soft-ink);--btn-border: var(--color-critical);--btn-hover-bg: var(--color-critical-soft)}.btn--sm{min-height:var(--control-h-sm);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);border-width:var(--border)}.btn--lg{min-height:3rem;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-md)}.btn--block{width:100%}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:none;border:var(--border) solid transparent;border-radius:var(--radius);background:transparent;color:var(--color-ink-2);transition:background-color var(--dur-fast) var(--ease-out)}.btn-icon:hover{background:var(--color-surface-2);color:var(--color-ink)}.btn-icon[aria-pressed=true]{background:var(--color-action-soft);color:var(--color-action-soft-ink);border-color:var(--color-action)}.badge{--badge-bg: var(--color-surface-2);--badge-ink: var(--color-ink-2);--badge-border: var(--color-line);display:inline-flex;align-items:center;gap:var(--sp-1);padding:.125rem var(--sp-2);border:var(--border) solid var(--badge-border);border-radius:var(--radius);background:var(--badge-bg);color:var(--badge-ink);font-size:var(--fs-xs);font-weight:700;letter-spacing:.01em;line-height:1.6;white-space:nowrap}.badge--info{--badge-bg: var(--color-info-soft);--badge-ink: var(--color-info-soft-ink);--badge-border: var(--color-info)}.badge--success{--badge-bg: var(--color-success-soft);--badge-ink: var(--color-success-soft-ink);--badge-border: var(--color-success)}.badge--warning{--badge-bg: var(--color-warning-soft);--badge-ink: var(--color-warning-soft-ink);--badge-border: var(--color-warning-edge)}.badge--critical{--badge-bg: var(--color-critical-soft);--badge-ink: var(--color-critical-soft-ink);--badge-border: var(--color-critical)}.badge--action{--badge-bg: var(--color-action-soft);--badge-ink: var(--color-action-soft-ink);--badge-border: var(--color-action)}.badge--wrap{white-space:normal;text-align:left;line-height:1.45}.badge .icon{flex:none}.card,.panel{--card-bg: var(--color-surface);--card-border: var(--color-line);background:var(--card-bg);border:var(--border) solid var(--card-border);border-radius:var(--radius)}.card--flat{background:transparent;border-color:transparent}.card--raised{box-shadow:var(--shadow-1)}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4);border-bottom:var(--border) solid var(--color-line)}.card__title{font-size:var(--fs-md);margin:0}.card__body{padding:var(--sp-4)}.card__foot{padding:var(--sp-3) var(--sp-4);border-top:var(--border) solid var(--color-line);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:space-between}.card__sub{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--color-ink-muted)}.stamp{position:relative;border:var(--border-strong) solid var(--color-ink);background:var(--color-surface)}.stamp:after{content:"";position:absolute;inset:5px;border:var(--border) solid var(--color-line-strong);border-radius:1px;pointer-events:none}.stamp-mark{display:inline-block;padding:var(--sp-1) var(--sp-3);border:2px solid var(--color-action);border-radius:var(--radius);color:var(--color-action);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;letter-spacing:.14em;text-transform:uppercase;transform:rotate(-3deg);opacity:1}.metric{--metric-edge: var(--color-line);min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3);background:var(--color-surface);border:var(--border) solid var(--color-line);border-left:4px solid var(--metric-edge);border-radius:var(--radius);min-height:6.5rem}.metric__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-muted)}.metric__value{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--sp-1);min-width:0;font-family:var(--font-display);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--color-ink)}.metric__unit{font-family:var(--font-text);font-size:var(--fs-sm);font-weight:500;color:var(--color-ink-muted)}.metric__delta{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--color-ink-2)}.metric__delta[data-tone=good]{color:var(--color-success)}.metric__delta[data-tone=bad]{color:var(--color-critical)}.metric__actions{min-width:0;max-width:100%;margin-top:auto;display:flex;align-items:center;gap:var(--sp-1)}.help{min-width:0;max-width:100%;border-top:var(--border) dashed var(--color-line);margin-top:var(--sp-2);padding-top:var(--sp-2)}.help>summary{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:var(--target-min);padding:0 var(--sp-1);cursor:pointer;list-style:none;font-size:var(--fs-xs);font-weight:700;color:var(--color-action);border-radius:var(--radius)}.help>summary::-webkit-details-marker{display:none}.help>summary:before{content:"i";display:inline-grid;place-items:center;width:1rem;height:1rem;border:1.5px solid currentColor;border-radius:50%;font-family:var(--font-display);font-size:.68rem;font-style:italic;line-height:1;flex:none}.help[open]>summary{margin-bottom:var(--sp-1)}.help__body{min-width:0;overflow-wrap:anywhere;font-size:var(--fs-sm);color:var(--color-ink-2);max-width:46ch}.help__body p{margin-bottom:var(--sp-2);max-width:none}.help__source{font-size:var(--fs-xs);color:var(--color-ink-muted)}.table-wrap{width:100%;overflow-x:auto;border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.data-table{width:100%;font-size:var(--fs-sm)}.data-table caption{caption-side:top;text-align:left;padding:var(--sp-3) var(--sp-4);font-weight:700;color:var(--color-ink);border-bottom:var(--border) solid var(--color-line)}.data-table th,.data-table td{padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top;border-bottom:var(--border) solid var(--color-line)}.data-table thead th{background:var(--color-bg-subtle);color:var(--color-ink-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:normal}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-surface-2)}.data-table .num,.data-table td[data-numeric=true]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table tfoot th,.data-table tfoot td{border-top:var(--border-strong) solid var(--color-line-strong);font-weight:700;background:var(--color-bg-subtle)}.sort-btn{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:var(--target-min);font:inherit;font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:inherit;border-radius:2px}.sort-btn .icon{width:.875rem;height:.875rem}@media(max-width:767.98px){.data-table--cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.data-table--cards,.data-table--cards tbody,.data-table--cards tr,.data-table--cards th,.data-table--cards td{display:block;width:100%}.data-table--cards tr{border-bottom:var(--border) solid var(--color-line);padding:var(--sp-2) 0}.data-table--cards tbody tr:last-child{border-bottom:0}.data-table--cards tbody th[scope=row]{border-bottom:0;font-size:var(--fs-body);padding-bottom:0}.data-table--cards tbody td{display:flex;justify-content:space-between;gap:var(--sp-3);border-bottom:0;padding-block:var(--sp-1);text-align:right}.data-table--cards tbody td:before{content:attr(data-label);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);text-align:left}.table-wrap{border:0;background:transparent}.data-table caption{padding-inline:0}}.field{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-4)}.field__label{font-size:var(--fs-sm);font-weight:700;color:var(--color-ink)}.field__label .required{color:var(--color-critical);margin-left:var(--sp-1)}.field__hint{font-size:var(--fs-sm);color:var(--color-ink-muted)}.field__error{display:flex;align-items:flex-start;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--color-critical)}.input,.select,.textarea{width:100%;min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);background:var(--color-surface);color:var(--color-ink);border:var(--border) solid var(--color-line-strong);border-radius:var(--radius);font-size:var(--fs-body)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-ink-muted)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-critical);border-width:var(--border-strong)}.textarea{min-height:6rem;resize:vertical}.field-row{display:grid;gap:var(--sp-3)}@media(min-width:640px){.field-row--2{grid-template-columns:1fr 1fr}.field-row--3{grid-template-columns:repeat(3,1fr)}}.choice-group{display:grid;gap:var(--sp-3);border:0;padding:0;margin:0;min-width:0}.choice-group>legend{font-size:var(--fs-md);font-family:var(--font-display);font-weight:600;padding:0;margin-bottom:var(--sp-2)}.choice{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:var(--border-strong) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.choice:hover{border-color:var(--color-ink-muted)}.choice:has(input:checked){border-color:var(--color-action);background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-action)}.choice input{width:1.25rem;height:1.25rem;margin:.2rem 0 0;accent-color:var(--color-action)}.choice__title{font-weight:700;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.choice__desc{font-size:var(--fs-sm);color:var(--color-ink-2);margin-top:var(--sp-1);max-width:58ch}.choice--compact{grid-template-columns:auto 1fr;padding:var(--sp-2) var(--sp-3)}.choice:has(input:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.tabs{display:flex;flex-wrap:wrap;gap:var(--sp-1);border-bottom:var(--border-strong) solid var(--color-line);margin-bottom:var(--sp-4)}.tab{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:var(--sp-2) var(--sp-4);border:0;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--color-ink-2);font-weight:600;border-radius:var(--radius) var(--radius) 0 0}.tab:hover{background:var(--color-surface-2);color:var(--color-ink)}.tab[aria-selected=true]{border-bottom-color:var(--color-action);color:var(--color-ink);background:var(--color-surface)}.tab__count{font-size:var(--fs-xs);padding:0 var(--sp-2);border-radius:var(--radius);background:var(--color-bg-subtle);border:var(--border) solid var(--color-line)}.tabpanel:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4);border:var(--border) dashed var(--color-line-strong);border-radius:var(--radius);background:var(--color-surface)}.empty__title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600}.empty__body{color:var(--color-ink-2);font-size:var(--fs-sm);max-width:56ch}.skeleton{display:block;border-radius:var(--radius);background:linear-gradient(90deg,var(--color-bg-subtle) 0%,var(--color-surface-2) 50%,var(--color-bg-subtle) 100%);background-size:200% 100%;animation:skeleton-slide 1.4s linear infinite}.skeleton--text{height:1rem;margin-bottom:var(--sp-2);max-width:42ch}.skeleton--title{height:1.75rem;margin-bottom:var(--sp-3);max-width:24ch}.skeleton--tile{height:6.5rem}@keyframes skeleton-slide{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--color-bg-subtle)}}.dialog{width:min(36rem,calc(100% - 2rem));max-height:min(85dvh,44rem);padding:0;border:var(--border-strong) solid var(--color-ink);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-2)}.dialog--wide{width:min(52rem,calc(100% - 2rem))}.dialog::backdrop{background:#141a1f80}.dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-2)}.dialog__title{font-size:var(--fs-md)}.dialog__body{padding:var(--sp-2) var(--sp-4) var(--sp-4);overflow-y:auto;max-height:calc(85dvh - 10rem)}.dialog__foot{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end;padding:var(--sp-3) var(--sp-4);border-top:var(--border) solid var(--color-line);background:var(--color-bg-subtle)}.live-region{position:fixed;inset-block-end:var(--sp-4);inset-inline-end:var(--sp-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);width:min(24rem,calc(100% - 2rem));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);background:var(--color-surface);border:var(--border-strong) solid var(--color-line-strong);border-left:4px solid var(--color-action);border-radius:var(--radius);box-shadow:var(--shadow-2);font-size:var(--fs-sm);pointer-events:auto}.toast--success{border-left-color:var(--color-success)}.toast--critical{border-left-color:var(--color-critical)}.toast--warning{border-left-color:var(--color-warning-edge)}.toast .icon{flex:none;margin-top:.1rem}.toast__close{margin-left:auto}.progress{display:flex;flex-direction:column;gap:var(--sp-1)}.progress__label{display:flex;justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--color-ink-2)}.progress__track{height:.5rem;background:var(--color-bg-subtle);border:var(--border) solid var(--color-line);border-radius:var(--radius);overflow:hidden}.progress__bar{height:100%;background:var(--color-action);border-radius:var(--radius)}.month-wheel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-1);margin:0;padding:0;list-style:none}.month-wheel li{margin:0}.month-wheel__month{display:grid;place-items:center;min-height:var(--target-min);padding:.15rem 0;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;border:var(--border) solid var(--color-line);border-radius:var(--radius);color:var(--color-ink-2);background:var(--color-surface)}.month-wheel__month[aria-current=true]{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-ink);font-weight:700}.month-wheel__month[data-state=past]{background:var(--color-bg-subtle)}@media(max-width:479.98px){.month-wheel{grid-template-columns:repeat(6,minmax(0,1fr))}}.chart{position:relative;background:var(--color-surface);border:var(--border) solid var(--color-line);border-radius:var(--radius);padding:var(--sp-3)}.chart__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.chart__title{font-size:var(--fs-body);font-family:var(--font-display)}.chart__unit{font-size:var(--fs-xs);color:var(--color-ink-muted)}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart text{font-family:var(--font-text);fill:var(--color-ink-muted);font-size:12px}.chart .chart-axis{stroke:var(--color-line-strong);stroke-width:1}.chart .chart-grid{stroke:var(--chart-grid);stroke-width:1}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-2) 0 0;padding:0;list-style:none;font-size:var(--fs-sm);color:var(--color-ink-2)}.chart-legend li{display:inline-flex;align-items:center;gap:var(--sp-2);margin:0}.chart-legend__swatch{width:1.25rem;height:0;border-top:3px solid currentColor}.chart-legend__swatch--dashed{border-top-style:dashed}.chart-legend__swatch--dotted{border-top-style:dotted}.chart-details{margin-top:var(--sp-2);font-size:var(--fs-sm)}.chart-details>summary{display:inline-flex;align-items:center;min-height:var(--target-min);cursor:pointer;font-weight:600;color:var(--color-action)}.sparkline{display:block;width:100%;height:1.5rem}.city-map{display:block;width:100%;height:auto;background:var(--color-surface-2);border:var(--border) solid var(--color-line);border-radius:var(--radius)}.city-map__district{fill:var(--color-surface);stroke:var(--color-line-strong);stroke-width:1.5;transition:fill var(--dur-fast) var(--ease-out)}.city-map__link:hover .city-map__district{fill:var(--color-bg-subtle)}.city-map__link:focus-visible .city-map__district{stroke:var(--color-focus);stroke-width:4}.city-map__label{font-family:var(--font-text);font-size:12px;font-weight:700;fill:var(--color-ink);pointer-events:none}.city-map__street{stroke:var(--color-line);stroke-width:5;fill:none}.city-map__river{stroke:var(--color-info);stroke-width:6;fill:none;opacity:.55}.city-map__park{fill:var(--color-success-soft);stroke:var(--color-success);stroke-width:1}.city-map__domain-edge{stroke-width:6;fill:none}.notice{display:flex;gap:var(--sp-3);padding:var(--sp-3);border:var(--border) solid var(--color-line);border-left:4px solid var(--color-info);border-radius:var(--radius);background:var(--color-info-soft);color:var(--color-info-soft-ink);font-size:var(--fs-sm)}.notice--warning{border-left-color:var(--color-warning-edge);background:var(--color-warning-soft);color:var(--color-warning-soft-ink)}.notice--critical{border-left-color:var(--color-critical);background:var(--color-critical-soft);color:var(--color-critical-soft-ink)}.notice--success{border-left-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success-soft-ink)}.notice .icon{flex:none;margin-top:.1rem}.notice strong{display:block;margin-bottom:var(--sp-1)}.source-note{font-size:var(--fs-xs);color:var(--color-ink-muted);max-width:70ch}kbd{display:inline-block;min-width:1.5rem;padding:.05rem var(--sp-1);border:var(--border) solid var(--color-line-strong);border-bottom-width:2px;border-radius:3px;background:var(--color-bg-subtle);font-size:var(--fs-xs);font-weight:700;text-align:center;color:var(--color-ink)}.rule-label{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-muted)}.rule-label:after{content:"";flex:1;border-top:var(--border) solid var(--color-line)}.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-2) var(--sp-4);margin:0;font-size:var(--fs-sm)}.facts dt{font-weight:700;color:var(--color-ink-2)}.facts dd{margin:0;color:var(--color-ink)}@media(max-width:479.98px){.facts{grid-template-columns:1fr;gap:0}.facts dd{margin-bottom:var(--sp-2)}}.hairline{border:0;border-top:var(--border) solid var(--color-line)}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:var(--z-header);background:var(--color-surface);border-bottom:var(--border-strong) solid var(--color-ink)}.app-header__top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);min-height:3.75rem;padding-block:var(--sp-2)}.brand{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--color-ink);text-decoration:none;min-height:var(--control-h-sm);border-radius:var(--radius)}.brand:hover{color:var(--color-ink)}.brand__seal{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border:2px solid var(--color-action);border-radius:50%;color:var(--color-action);font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1}.brand__text{display:flex;flex-direction:column;line-height:1.1}.brand__name{font-family:var(--font-display);font-size:var(--fs-md);font-weight:700;letter-spacing:.01em}.brand__sub{font-size:var(--fs-xs);color:var(--color-ink-muted);letter-spacing:.06em;text-transform:uppercase}.app-header__spacer{flex:1}.app-header__meta{display:none;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--color-ink-2)}@media(min-width:768px){.app-header__meta{display:inline-flex}}.app-header__tools{display:flex;align-items:center;gap:var(--sp-1)}.lang-switch{display:inline-flex;border:var(--border) solid var(--color-line-strong);border-radius:var(--radius);overflow:hidden}.lang-switch__btn{min-height:var(--control-h-sm);min-width:2.5rem;padding:0 var(--sp-2);font-size:var(--fs-sm);font-weight:700;color:var(--color-ink-2)}.lang-switch__btn:hover{background:var(--color-surface-2);color:var(--color-ink)}.lang-switch__btn[aria-pressed=true]{background:var(--color-ink);color:var(--color-surface)}.lang-switch__btn+.lang-switch__btn{border-left:var(--border) solid var(--color-line-strong)}.app-nav{display:none;flex-wrap:wrap;gap:var(--sp-1);border-top:var(--border) solid var(--color-line)}@media(min-width:768px){.app-nav{display:flex}}@media(min-width:768px)and (max-width:1099.98px){.app-nav__link{padding-inline:var(--sp-2)}.app-nav__index{display:none}}.app-nav__link{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);margin-bottom:-2px;border-bottom:3px solid transparent;color:var(--color-ink-2);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.app-nav__link:hover{color:var(--color-ink);background:var(--color-surface-2)}.app-nav__link[aria-current=page]{color:var(--color-ink);border-bottom-color:var(--color-action)}.app-nav__index{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--color-ink-muted);border:var(--border) solid var(--color-line);border-radius:3px;padding:0 .3rem;line-height:1.4}@media(min-width:1100px){.app-nav__index{display:none}}.app-nav-mobile{position:fixed;inset-inline:0;inset-block-end:0;z-index:var(--z-nav-mobile);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--color-surface);border-top:var(--border-strong) solid var(--color-ink);padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:768px){.app-nav-mobile{display:none}}.app-nav-mobile__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:3.5rem;padding:var(--sp-1) 2px;font-size:.6875rem;font-weight:700;line-height:1.2;color:var(--color-ink-2);text-decoration:none;border-top:3px solid transparent}.app-nav-mobile__link[aria-current=page]{color:var(--color-action);border-top-color:var(--color-action)}.run-progress{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-bg-subtle);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--color-ink-2);white-space:nowrap}.run-progress strong{color:var(--color-ink);font-weight:700}.run-progress__bar{width:3.5rem;height:.375rem;border-radius:var(--radius);background:var(--color-line);overflow:hidden;flex:none}.run-progress__fill{display:block;height:100%;background:var(--color-success)}.app-main{flex:1;padding-block:var(--sp-5) var(--sp-7);outline:none}@media(max-width:767.98px){.app-main{padding-block:var(--sp-4) calc(var(--sp-8) + var(--sp-6))}}.screen>*,.grid>*,.help-layout>*,.settings-layout>*,.split>*,.measures-layout>*,.domain-cards>*,.start-layout>*{min-width:0}.prose p,.prose li,.source-note,.facts dd,.setting-row__hint{overflow-wrap:anywhere}@media(max-width:479.98px){.app-header__top{gap:var(--sp-2)}.app-header .container{padding-inline:var(--sp-3)}.brand__sub{display:none}.brand__seal{width:2rem;height:2rem;font-size:.95rem}.lang-switch__btn{min-width:2.25rem;padding-inline:var(--sp-1)}.app-header__tools .btn-icon{width:2.25rem;height:2.25rem}.app-header__tools .hide-sm{display:none}}.app-main:focus-visible{outline:none}.app-footer{border-top:var(--border) solid var(--color-line);padding-block:var(--sp-4);font-size:var(--fs-xs);color:var(--color-ink-muted)}.app-footer__inner{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center;justify-content:space-between}.app-footer a{color:var(--color-ink-2)}.screen{display:flex;flex-direction:column;gap:var(--sp-5)}.screen__head{display:flex;flex-direction:column;gap:var(--sp-2)}.screen__head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-3)}.screen__title{font-size:var(--fs-xl);max-width:30ch}.screen__lede{color:var(--color-ink-2);max-width:68ch}.screen__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.section-head h2{font-size:var(--fs-md)}.section-head__link{font-size:var(--fs-sm);font-weight:600}.grid{display:grid;gap:var(--sp-3)}.grid--kpi{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:640px){.grid--kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.grid--kpi{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid--cards{grid-template-columns:1fr}@media(min-width:640px){.grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.grid--cards{grid-template-columns:repeat(4,minmax(0,1fr))}}.split{display:grid;gap:var(--sp-4)}@media(min-width:1024px){.split{grid-template-columns:minmax(0,2.15fr) minmax(0,.85fr);align-items:start}.split>.stack:last-child{position:sticky;top:calc(var(--control-h) * 3 + var(--sp-6))}}.action-panel{border-top:3px solid var(--color-accent, #a63a2b)}.split--even{grid-template-columns:1fr}@media(min-width:1024px){.split--even{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-cockpit{border-top:3px solid var(--color-ink);padding-top:var(--sp-4)}.city-panel{min-width:0}.city-map-wrap{display:none}@media(min-width:640px){.city-map-wrap{display:block;margin-bottom:var(--sp-3)}}.domain-list{display:grid;grid-template-columns:1fr;gap:var(--sp-2);margin:0;padding:0;list-style:none}.domain-list li{margin:0}@media(min-width:480px){.domain-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.domain-link{--domain-color: var(--color-line-strong);display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:3rem;padding:var(--sp-2);border:var(--border) solid var(--color-line);border-left:4px solid var(--domain-color);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);font-size:var(--fs-sm);text-decoration:none}.domain-link:hover{background:var(--color-surface-2);color:var(--color-ink)}.domain-link__name{font-weight:700}.domain-link__value{margin-left:auto;min-width:0;overflow-wrap:anywhere;font-size:var(--fs-xs);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.primary-action{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:3rem;padding:var(--sp-2) var(--sp-5);font-size:var(--fs-md);font-weight:700;background:var(--color-action);color:var(--color-action-ink);border:var(--border-strong) solid var(--color-action);border-radius:var(--radius);box-shadow:var(--shadow-1)}.primary-action:hover{background:var(--color-action-hover);color:var(--color-action-ink)}.primary-action[disabled]{background:var(--color-bg-subtle);border-color:var(--color-line);color:var(--color-ink-muted);box-shadow:none;cursor:not-allowed}.primary-action__kbd{font-size:var(--fs-xs);border:var(--border) solid currentColor;border-radius:3px;padding:0 .3rem;opacity:.9}.plan-summary{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:baseline;font-size:var(--fs-sm);color:var(--color-ink-2)}.plan-summary strong{font-size:var(--fs-md);color:var(--color-ink);font-variant-numeric:tabular-nums}.report-sheet{max-width:60rem;margin-inline:auto;padding:clamp(var(--sp-4),4vw,var(--sp-7));background:var(--color-surface)}.report-masthead{text-align:center;padding-bottom:var(--sp-4);border-bottom:3px double var(--color-ink);margin-bottom:var(--sp-4)}.report-masthead__kicker{font-size:var(--fs-xs);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-muted)}.report-masthead__title{font-size:clamp(var(--fs-lg),5vw,var(--fs-2xl));margin-block:var(--sp-2)}.report-masthead__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);justify-content:center;font-size:var(--fs-sm);color:var(--color-ink-2)}.report-sheet h2{font-size:var(--fs-md);margin-block:var(--sp-5) var(--sp-2);padding-bottom:var(--sp-1);border-bottom:var(--border) solid var(--color-line)}.report-sheet h2:first-of-type{margin-top:var(--sp-4)}.report-columns{columns:1;gap:var(--sp-6)}@media(min-width:900px){.report-columns{columns:2}.report-columns>*{break-inside:avoid}}.report-figure{margin:var(--sp-3) 0}.report-figure figcaption{font-size:var(--fs-xs);color:var(--color-ink-muted);margin-top:var(--sp-1)}.report-signature{margin-top:var(--sp-6);padding-top:var(--sp-3);border-top:var(--border) solid var(--color-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--color-ink-2)}.report-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:space-between;align-items:center;margin-bottom:var(--sp-3)}@media print{.app-header,.app-nav-mobile,.app-footer,.report-actions,.no-print{display:none!important}.report-sheet{max-width:none;padding:0;box-shadow:none;border-width:1px}.app-main{padding:0}}.measures-layout{display:grid;gap:var(--sp-4)}@media(min-width:1024px){.measures-layout{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);align-items:start}}.filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-3)}.filter-chip{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:var(--control-h-sm);padding:var(--sp-1) var(--sp-3);border:var(--border) solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--fs-sm);font-weight:600}.filter-chip:hover{border-color:var(--color-ink);color:var(--color-ink)}.filter-chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface)}.filter-chip__dot{width:.65rem;height:.65rem;border-radius:2px;flex:none}.measure-list{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none}.measure-list>li{margin:0;min-width:0}.measure{--domain-color: var(--color-line-strong);min-width:0;display:grid;gap:var(--sp-2);padding:var(--sp-4);border:var(--border) solid var(--color-line);border-left:4px solid var(--domain-color);border-radius:var(--radius);background:var(--color-surface)}.measure__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);justify-content:space-between}.measure__title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;margin:0}.measure__meta{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);color:var(--color-ink-2)}.measure__meta dt{display:inline;font-weight:700;color:var(--color-ink-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;margin-right:var(--sp-1)}.measure__meta dd{display:inline;margin:0}.measure__meta>div{display:inline-flex;align-items:baseline;gap:var(--sp-1)}.measure__effect{font-size:var(--fs-sm);color:var(--color-ink-2);max-width:72ch}.measure__source{font-size:var(--fs-xs);color:var(--color-ink-muted)}.measure__foot{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:space-between}.measure[data-planned=true]{background:var(--color-bg-subtle);border-style:dashed}.plan-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.plan-item{display:grid;grid-template-columns:1fr auto;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);font-size:var(--fs-sm)}.plan-item__title{font-weight:700}.plan-item__sub{grid-column:1;color:var(--color-ink-muted);font-size:var(--fs-xs)}.plan-item__remove{grid-row:1 / span 2;align-self:center}.plan-total{display:flex;justify-content:space-between;gap:var(--sp-2);padding-top:var(--sp-2);border-top:var(--border-strong) solid var(--color-line-strong);font-weight:700}.planner-side{display:grid;gap:var(--sp-3);position:static}@media(min-width:1024px){.planner-side{position:sticky;top:calc(var(--header-h) + var(--sp-3))}}.expert-form{display:grid;gap:var(--sp-3)}.expert-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--sp-2)}.expert-item{display:flex;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2);border:var(--border) solid var(--color-line);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--color-surface)}.charts-grid{display:grid;gap:var(--sp-4)}@media(min-width:1024px){.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.journal{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none}.journal__entry{display:grid;gap:var(--sp-1);padding:var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.journal__month{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted)}.domain-cards{display:grid;gap:var(--sp-3);grid-template-columns:1fr}@media(min-width:640px){.domain-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.domain-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}.domain-card{--domain-color: var(--color-line-strong);display:grid;gap:var(--sp-1);padding:var(--sp-3);border:var(--border) solid var(--color-line);border-top:4px solid var(--domain-color);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);text-decoration:none}.domain-card:hover{background:var(--color-surface-2);color:var(--color-ink)}.domain-card__name{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600}.domain-card__value{font-size:var(--fs-sm);color:var(--color-ink-2)}.domain-card__status{font-size:var(--fs-xs);color:var(--color-ink-muted)}.matrix-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-3)}.matrix-wrap{max-width:100%;overflow:auto;max-height:70vh;border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.matrix-table{border-collapse:separate;border-spacing:0;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.matrix-table th,.matrix-table td{padding:.2rem .45rem;border-bottom:var(--border) solid var(--color-line);border-right:var(--border) solid var(--color-line);text-align:right;white-space:nowrap}.matrix-table thead th{position:sticky;top:0;z-index:2;background:var(--color-bg-subtle);color:var(--color-ink-2);font-weight:700;text-align:center;vertical-align:bottom;font-size:.6875rem;line-height:1.2;white-space:normal;min-width:3.5rem}.matrix-table thead th:first-child{left:0;z-index:3}.matrix-table tbody th{position:sticky;left:0;z-index:1;background:var(--color-bg-subtle);color:var(--color-ink-2);font-weight:600;text-align:left;white-space:nowrap}.matrix-table td[data-editable=true]{background:var(--color-highlight);font-weight:700}.matrix-table td[data-negative=true]{color:var(--color-critical)}.matrix-table caption{caption-side:top;text-align:left;padding:var(--sp-2) var(--sp-3);font-weight:700;background:var(--color-surface);position:sticky;left:0}.matrix-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--color-ink-2);margin-top:var(--sp-2)}.matrix-legend span{display:inline-flex;align-items:center;gap:var(--sp-1)}.matrix-legend i{display:inline-block;width:1rem;height:.75rem;border:var(--border) solid var(--color-line-strong);border-radius:2px}.matrix-legend i[data-editable=true]{background:var(--color-highlight)}.start-layout{display:grid;gap:var(--sp-6)}@media(min-width:1024px){.start-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);align-items:start}.start-form{order:-1}}.start-intro{display:flex;flex-direction:column;gap:var(--sp-3)}.start-intro__title{font-size:clamp(var(--fs-lg),4.5vw,var(--fs-2xl));max-width:22ch}.start-facts{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.start-fact{display:grid;gap:0;padding:var(--sp-2) var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.start-fact strong{font-family:var(--font-display);font-size:var(--fs-md);font-variant-numeric:tabular-nums}.start-fact span{font-size:var(--fs-xs);color:var(--color-ink-muted)}.start-form{display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-4);background:var(--color-surface);border:var(--border-strong) solid var(--color-line);border-radius:var(--radius)}.scenario-list{display:grid;gap:var(--sp-2)}.demo-banner{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:var(--border) solid var(--color-warning-edge);border-left:4px solid var(--color-warning-edge);background:var(--color-warning-soft);color:var(--color-warning-soft-ink);border-radius:var(--radius);font-size:var(--fs-sm)}.demo-banner strong{font-weight:700}.demo-banner .icon{flex:none}.score-grid{display:grid;gap:var(--sp-3);grid-template-columns:1fr}@media(min-width:640px){.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.verdict{display:grid;gap:var(--sp-2);padding:var(--sp-4);border:var(--border-strong) solid var(--color-ink);border-radius:var(--radius);background:var(--color-surface)}.verdict__grade{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:1}.verdict__hint{font-size:var(--fs-sm);color:var(--color-ink-2);max-width:60ch}.score-row{display:grid;grid-template-columns:1fr auto;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) 0;border-bottom:var(--border) solid var(--color-line);font-size:var(--fs-sm)}.score-row__bar{grid-column:1 / -1;height:.5rem;background:var(--color-bg-subtle);border:var(--border) solid var(--color-line);border-radius:var(--radius);overflow:hidden}.score-row__fill{display:block;height:100%;background:var(--color-success)}.settings-layout{display:grid;gap:var(--sp-4)}@media(min-width:1024px){.settings-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.settings-section{display:flex;flex-direction:column;gap:var(--sp-3)}.settings-section h2{font-size:var(--fs-md)}.setting-row{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center;justify-content:space-between;padding:var(--sp-2) 0;border-bottom:var(--border) solid var(--color-line)}.setting-row__label{font-weight:700}.setting-row__hint{font-size:var(--fs-sm);color:var(--color-ink-muted);max-width:44ch}.slot-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.slot{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.slot__main{display:grid;gap:0;min-width:0}.slot__name{font-weight:700;overflow-wrap:anywhere}.slot__meta{font-size:var(--fs-xs);color:var(--color-ink-muted)}.slot__actions{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.help-layout{display:grid;gap:var(--sp-5)}@media(min-width:1024px){.help-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}.prose{max-width:72ch}.prose h2{font-size:var(--fs-md);margin:var(--sp-5) 0 var(--sp-2)}.prose h2:first-child{margin-top:0}.prose ul,.prose ol{margin-bottom:var(--sp-3)}.prose li{margin-bottom:var(--sp-1)}.shortcut-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.shortcut-list li{display:flex;align-items:center;gap:var(--sp-3);margin:0;font-size:var(--fs-sm)}.shortcut-list kbd{min-width:2rem}.glossary{display:grid;gap:var(--sp-3);margin:0}.glossary dt{font-weight:700;font-family:var(--font-display);font-size:var(--fs-body)}.glossary dd{margin:0;font-size:var(--fs-sm);color:var(--color-ink-2);max-width:66ch}.help-dialog-grid{display:grid;gap:var(--sp-3)}@media(min-width:640px){.help-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.help-block h3{font-size:var(--fs-body);margin-bottom:var(--sp-1)}.loading-block{display:grid;gap:var(--sp-2)}.error-block{display:grid;gap:var(--sp-2);padding:var(--sp-4);border:var(--border-strong) solid var(--color-critical);border-radius:var(--radius);background:var(--color-critical-soft);color:var(--color-critical-soft-ink)}@media(max-width:379.98px){.grid--kpi{grid-template-columns:1fr}}.matrix-intro{display:grid;gap:var(--sp-2);padding:var(--sp-3);border-left:4px solid var(--color-info);background:var(--color-info-soft);color:var(--color-info-soft-ink);border-radius:var(--radius)}.matrix-intro .screen__lede{color:inherit}.matrix-help-panel{display:grid;gap:var(--sp-2);padding:var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.matrix-help-panel h4{font-family:var(--font-display);font-size:var(--fs-body)}.measure__quantity{display:grid;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border:var(--border) dashed var(--color-line-strong);border-radius:var(--radius);background:var(--color-bg-subtle)}.help-domain{padding:var(--sp-3) 0;border-bottom:var(--border) solid var(--color-line)}.help-domain h3{margin-bottom:var(--sp-1)}.glossary-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.glossary-list>li{margin:0;padding:var(--sp-2) var(--sp-3);border:var(--border) solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.glossary-list>li[data-highlight=true]{border-color:var(--color-action);border-width:var(--border-strong);box-shadow:inset 4px 0 0 var(--color-action)}.glossary-list>li:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.matrix-field-help{display:grid;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-left:4px solid var(--color-success);background:var(--color-success-soft);color:var(--color-success-soft-ink);border-radius:var(--radius)}.matrix-field-help h4{font-family:var(--font-display);font-size:var(--fs-body)}.table-scroll{overflow-x:auto;max-width:100%}.input--compact{width:auto;min-width:6.5rem;padding-block:.25rem}.metrics-inline{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.metrics-inline .sparkline{flex:1 1 8rem;min-width:6rem}.brand__seal img{display:block;width:100%;height:100%;object-fit:contain}.btn{white-space:normal;text-wrap:balance;max-width:100%}.empty{min-width:0}.empty,.empty__title,.empty__body{min-width:0;max-width:100%;overflow-wrap:anywhere}.empty .cluster{max-width:100%;flex-wrap:wrap}.empty .cluster .btn{max-width:100%;white-space:normal}.report-sheet{--report-border: var(--color-line-strong);background:var(--color-surface);min-width:0;max-width:100%}.report-sheet .report-masthead>*,.report-sheet .report-section,.report-sheet .report-section__head,.report-sheet .report-columns>*,.report-sheet .table-wrap,.report-sheet .report-groups__content{min-width:0}.report-sheet .table-wrap{max-width:100%}.report-masthead__center,.report-masthead__side{min-width:0}.report-masthead__place,.report-masthead__kicker{overflow-wrap:break-word}.report-masthead__title{overflow-wrap:normal;word-break:normal}@media(max-width:479.98px){.report-masthead{gap:var(--sp-3)}.report-masthead__mark{width:3rem;height:3rem}.report-masthead__title{font-size:var(--fs-md)}}.report-masthead{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-4);align-items:center;text-align:left;padding-bottom:var(--sp-4);border-bottom:3px double var(--color-ink);margin-bottom:var(--sp-4)}.report-masthead__mark{width:4.25rem;height:4.25rem;flex:none}.report-masthead__center{min-width:0}.report-masthead__kicker{font-size:var(--fs-xs);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:var(--sp-1)}.report-masthead__title{font-size:clamp(var(--fs-lg),5vw,var(--fs-2xl));margin-block:var(--sp-1)}.report-masthead__place{font-size:var(--fs-sm);color:var(--color-ink-2)}.report-masthead__side{display:grid;gap:var(--sp-2);justify-items:end;text-align:right}.report-masthead__issue{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted)}.report-masthead__no{font-family:var(--font-display);font-size:var(--fs-md);font-variant-numeric:tabular-nums}@media(max-width:719.98px){.report-masthead{grid-template-columns:auto 1fr}.report-masthead__side{grid-column:1 / -1;justify-items:start;text-align:left;border-top:var(--border) solid var(--color-line);padding-top:var(--sp-2)}}.report-kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-5)}@media(max-width:1099.98px){.report-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767.98px){.report-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:479.98px){.report-kpi-strip{grid-template-columns:1fr}}.report-kpi{display:grid;gap:var(--sp-1);padding:var(--sp-3);border:var(--border) solid var(--color-line);border-top:3px solid var(--color-ink);background:var(--color-surface-2);border-radius:var(--radius);min-width:0}.report-kpi__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-muted)}.report-kpi__value{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-1);font-family:var(--font-display);font-size:var(--fs-md);font-variant-numeric:tabular-nums;line-height:1.1}.report-kpi__unit{font-family:var(--font-text);font-size:var(--fs-sm);font-weight:500;color:var(--color-ink-muted)}.report-kpi__delta{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--color-ink-2)}.report-kpi__delta[data-tone=good]{color:var(--color-success)}.report-kpi__delta[data-tone=bad]{color:var(--color-critical)}.report-kpi__spark{margin-top:var(--sp-1);color:var(--color-ink-muted)}.report-kpi__note{font-size:var(--fs-xs);color:var(--color-ink-muted);line-height:1.4}.report-alerts{display:grid;gap:var(--sp-2);margin:var(--sp-4) 0}.report-sheet .report-section{margin-block:var(--sp-5)}.report-sheet .report-section__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);padding-bottom:var(--sp-1);border-bottom:var(--border) solid var(--color-line);margin-bottom:var(--sp-3)}.report-sheet h2{margin:0;font-size:var(--fs-md);border:0;padding:0}.report-sheet h2:first-of-type{margin-top:0}.report-section__count{font-size:var(--fs-xs);color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.report-section__hint{margin:calc(var(--sp-1) * -1) 0 var(--sp-2);font-size:var(--fs-sm);color:var(--color-ink-muted);max-width:70ch}.report-timeline{position:relative;display:grid;gap:var(--sp-4);margin:0;padding:0 0 0 var(--sp-5);list-style:none}.report-timeline:before{content:"";position:absolute;left:.4375rem;top:.25rem;bottom:.25rem;border-left:2px solid var(--color-line)}.report-timeline>li{position:relative;margin:0}.report-timeline__marker{position:absolute;left:calc(var(--sp-5) * -1 + .0625rem);top:.3rem;width:.8125rem;height:.8125rem;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-info)}.report-timeline__marker[data-severity=success]{background:var(--color-success)}.report-timeline__marker[data-severity=warning]{background:var(--color-warning-edge)}.report-timeline__marker[data-severity=critical]{background:var(--color-critical)}.report-timeline__title{display:block;font-weight:700;margin-bottom:var(--sp-1)}.report-timeline__body{margin:0 0 var(--sp-1);max-width:70ch}.report-timeline__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.report-groups>summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);min-height:var(--control-h);padding:var(--sp-2) 0;cursor:pointer;list-style:none;font-weight:700;border-bottom:var(--border) solid var(--color-line)}.report-groups>summary::-webkit-details-marker{display:none}.report-groups>summary:after{content:"+";font-family:var(--font-display);font-size:var(--fs-md);color:var(--color-action)}.report-groups[open]>summary:after{content:"−"}.report-groups__content{padding-top:var(--sp-3)}.report-groups__hint{margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--color-ink-muted)}.report-notes{margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:var(--border) solid var(--color-line);display:grid;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--color-ink-2)}.report-notes__list{display:grid;gap:var(--sp-1);margin:0;padding-left:1.2em;font-size:var(--fs-sm);color:var(--color-ink-2)}@media print{.report-sheet{border:1px solid #000!important;box-shadow:none!important;max-width:none}.report-sheet .stamp:after{border-color:#999}.report-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8pt}.report-kpi{border-color:#999;background:#fff}.report-sheet h2,.report-section__head{break-after:avoid}.report-timeline>li,.report-kpi,.report-sheet .data-table tr{break-inside:avoid}.report-groups>summary{display:none}.report-groups__content,.report-groups:not([open])>.report-groups__content{display:block!important;padding-top:0}.table-wrap,.table-wrap--sticky{max-height:none!important;overflow:visible!important;border-color:#999}.table-wrap--sticky .data-table thead th{position:static!important}.report-timeline:before{border-left-color:#999}.report-timeline__marker{border-color:#fff}}.report-interventions{margin-top:var(--sp-4)}.report-interventions h3{font-family:var(--font-display);font-size:var(--fs-body);margin-bottom:var(--sp-1)}.city-map{width:100%;height:auto;display:block;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);--city-parcel: color-mix(in oklab, var(--color-line) 45%, transparent)}.city-map__paper{fill:var(--color-surface)}.city-map__street-casing{fill:none;stroke:var(--color-line);stroke-width:22;stroke-linecap:square}.city-map__street{fill:none;stroke:var(--color-surface);stroke-width:16}.city-map__street-mark{fill:none;stroke:var(--color-line);stroke-width:1.4;stroke-dasharray:10 10}.city-map__river-bank{fill:none;stroke:color-mix(in oklab,var(--chart-4) 35%,var(--color-line));stroke-width:26;stroke-linecap:round;opacity:.5}.city-map__river{fill:none;stroke:color-mix(in oklab,var(--chart-4) 80%,#2f6f8f);stroke-width:18;stroke-linecap:round}.city-map__bridge{fill:var(--color-bg-subtle);stroke:var(--color-line);stroke-width:1.5}.city-map__park{fill:color-mix(in oklab,var(--chart-2) 18%,var(--color-surface));stroke:color-mix(in oklab,var(--chart-2) 45%,var(--color-line));stroke-width:1.2}.city-map__tree{fill:color-mix(in oklab,var(--chart-2) 55%,var(--color-surface))}.city-map__label{fill:var(--color-ink-muted);font-family:var(--font-sans);paint-order:stroke;stroke:var(--color-surface);stroke-width:4px;stroke-linejoin:round}.city-map__label--street{font-size:12px;font-style:italic;letter-spacing:.04em}.city-map__label--river{font-size:14px;font-style:italic;fill:color-mix(in oklab,var(--chart-4) 70%,var(--color-ink))}.city-map__masthead{font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;fill:var(--color-ink-muted)}.city-map__compass circle{fill:var(--color-surface);stroke:var(--color-line)}.city-map__compass path{fill:var(--color-ink)}.city-map__compass text{font-size:10px;fill:var(--color-ink-muted);font-family:var(--font-sans)}.city-map__scale path{stroke:var(--color-ink-muted);stroke-width:1.5;fill:none}.city-map__scale text{font-size:9px;fill:var(--color-ink-muted);font-family:var(--font-sans)}.city-map__block{fill:var(--color-surface);stroke:var(--color-line-strong);stroke-width:1.4;transition:fill var(--dur-fast) var(--ease-out),stroke var(--dur-fast) var(--ease-out)}.city-map__badge{fill:var(--color-bg-subtle);stroke:var(--color-line)}.city-map__badge-text{font-family:var(--font-serif);font-size:14px;font-weight:700;fill:var(--color-ink)}.city-map__district-title{font-family:var(--font-serif);font-size:18px;font-weight:700;fill:var(--color-ink)}.city-map__district-sub{font-family:var(--font-sans);font-size:12px;fill:var(--color-ink-muted)}.city-map__link:hover .city-map__block,.city-map__link:focus-visible .city-map__block{fill:var(--color-bg-subtle);stroke:var(--color-action)}.city-map__link:focus-visible{outline:none}.city-map__link:focus-visible .city-map__block{stroke-width:3}.report-sheet .report-columns{columns:1}.report-sheet .report-columns>*{break-inside:avoid}.app-nav__link{position:relative;border-radius:var(--radius) var(--radius) 0 0;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.app-nav__link:hover{color:var(--color-ink);background:color-mix(in oklab,var(--color-action) 9%,var(--color-surface))}.app-nav__link:hover:after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:0;height:3px;border-radius:3px 3px 0 0;background:color-mix(in oklab,var(--color-action) 70%,transparent)}.app-nav__link[aria-current=page]:hover{background:color-mix(in oklab,var(--color-action) 13%,var(--color-surface))}.app-nav__link:focus-visible{outline:2px solid var(--color-action);outline-offset:-2px;background:color-mix(in oklab,var(--color-action) 13%,var(--color-surface))}.app-nav-mobile__link:hover{color:var(--color-ink);background:color-mix(in oklab,var(--color-action) 10%,var(--color-surface))}.app-nav-mobile__link[aria-current=page]{color:var(--color-ink);background:color-mix(in oklab,var(--color-action) 12%,var(--color-surface))}
