*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:root{--swiss-red: #e30613;--swiss-red-dark: #c00510;--swiss-red-glow: rgba(227, 6, 19, .15);--navy: #0d2137;--navy-light: #132d47;--dark-gray: #2c2c2c;--charcoal: #111827;--medium-gray: #6b7280;--light-gray: #f8f9fb;--border-gray: #e2e5ea;--white: #ffffff;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--accent-blue: #1a56db;--accent-blue-light: #e8eefb;--accent-blue-selection-hover: #dbe7ff;--accent-blue-subtle: rgba(26, 86, 219, .06);--accent-blue-border: rgba(26, 86, 219, .18);--focus-ring: #1a56db;--focus-shadow: rgba(26, 86, 219, .28);--focus-ring-on-dark: #ffffff;--control-border: #8791a1;--success-green: #166534;--success-surface: #dcfce7;--success-surface-subtle: #f0fdf4;--success-border: #86efac;--warning-amber: #92400e;--warning-surface: #fffbeb;--warning-surface-strong: #fef3c7;--warning-border: #fcd34d;--danger-red: #991b1b;--danger-surface: #fef2f2;--danger-border: #fca5a5;--table-header-bg: #0d2137;--table-header-hover: #132d47;--map-low: #1a9850;--map-low-mid: #91cf60;--map-mid: #ffffbf;--map-high-mid: #fc8d59;--map-high: #d73027;--map-uniform: #1a9850;--lake-blue: #dbeafe;--lake-stroke: #075985;--map-selection-inner: #ffffff;--map-selection-outer: #111827;--map-no-data: #e5e7eb;--map-boundary: #333333;--map-boundary-halo: #ffffff;--map-municipality-stroke: #888888;--map-foreign-stroke: #6b7280;--surface: #ffffff;--surface-elevated: #ffffff;--surface-subtle: #f8f9fb;--surface-row-alt: #f9fafb;--surface-row-hover: #eef3ff;--surface-strong-tint: rgba(15, 23, 42, .07);--overlay-backdrop: rgba(13, 33, 55, .48);--text-on-dark: rgba(255, 255, 255, .92);--text-on-dark-muted: rgba(255, 255, 255, .72);--text-on-dark-subtle: rgba(255, 255, 255, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.75rem;--font-size-4xl: 2rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--control-height: 2.75rem;--transition: .2s cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--light-gray);min-height:100vh;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button,a,input,select,summary,[tabindex]:not([tabindex="-1"]){-webkit-tap-highlight-color:transparent}:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(.top-bar,header,nav,.tooltip-header,footer,.compare-chip,#tax-rates-table thead,#canton-overview-table thead,.compare-table thead) :where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline-color:var(--focus-ring-on-dark)}.tax-value,.value,.estimate-metric strong,.scenario-metric dd,.profile-summary-item strong,.burden-rate{font-variant-numeric:tabular-nums}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.top-bar{background:var(--charcoal);color:var(--text-on-dark-muted);font-size:var(--font-size-xs);padding:.4rem 2rem;display:flex;justify-content:flex-end;gap:.25rem;letter-spacing:.04em}.top-bar a{display:inline-flex;align-items:center;min-height:2rem;color:var(--text-on-dark-subtle);text-decoration:none;padding:.25rem .6rem;border-radius:3px;font-weight:500;transition:all var(--transition)}.top-bar a:hover,.top-bar a.active,.top-bar a[aria-current=page]{color:var(--white);background:#ffffff1a}.top-bar a[aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:.2em}header{background:var(--navy);border-bottom:3px solid var(--swiss-red);padding:1.1rem 2rem}.header-content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand-link{text-decoration:none;color:inherit}.brand{display:flex;align-items:center;gap:1rem}.brand-mark{width:42px;height:42px;background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:transform var(--transition),box-shadow var(--transition)}.brand-mark svg{width:100%;height:100%;display:block}.brand-link:hover .brand-mark{transform:scale(1.04);box-shadow:0 4px 14px #e3061366}.brand-text{border-left:1px solid rgba(255,255,255,.15);padding-left:1rem}.brand-text h1,.brand-text>.brand-title{display:block;font-size:var(--font-size-lg);font-weight:700;color:var(--white);line-height:1.25;letter-spacing:-.3px}.brand-text span{font-size:var(--font-size-xs);color:var(--text-on-dark-subtle);font-weight:400;letter-spacing:.02em}.data-badge{background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:.35rem .85rem;font-size:var(--font-size-xs);font-weight:600;color:var(--text-on-dark-muted);border-radius:var(--radius-sm);letter-spacing:.02em}.social-proof-bar{background:var(--white);border-bottom:1px solid var(--border-gray);padding:.6rem 2rem;text-align:center}.social-proof-bar .proof-content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:2rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.social-proof-bar .proof-stat{display:flex;align-items:center;gap:.4rem}.social-proof-bar .proof-stat .stat-number{font-weight:700;color:var(--text-primary)}.social-proof-bar .proof-stat .stat-icon{font-size:var(--font-size-base)}nav{background:var(--navy-light)}nav ul{max-width:1280px;margin:0 auto;list-style:none;display:flex;padding:0 2rem}nav li a,nav li button{display:block;padding:.85rem 1.25rem;color:var(--text-on-dark-muted);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;letter-spacing:.03em;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-family:inherit;transition:all var(--transition)}nav li a:hover,nav li button:hover{background:#ffffff0a;color:var(--text-on-dark)}nav li a.active,nav li button.active{border-bottom-color:var(--swiss-red);color:var(--white);font-weight:600}.container{max-width:1280px;margin:0 auto;padding:2rem;animation:fadeInUp .5s ease-out}.disclaimer{display:none}.content-card{background:var(--surface);border:1px solid var(--border-gray);border-radius:var(--radius-md);margin-bottom:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition)}.card-header{padding:1.5rem 1.75rem;border-bottom:1px solid var(--border-gray)}.card-header h1,.card-header h2{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin-bottom:.3rem;letter-spacing:-.3px}.card-header p{color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.5}.card-body{padding:1.75rem}.controls-section{background:var(--light-gray);border:0;border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:1rem}.controls-section>h2,.results-view-copy h2{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:1rem;font-weight:600}.calculator-groups{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem;align-items:start}.calculator-group{min-inline-size:0;margin:0;padding:1rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--white)}.calculator-group legend{padding:0 .35rem;color:var(--text-primary);font-size:var(--font-size-md);font-weight:700}.calculator-group-help{min-height:2.8em;margin:0 0 .8rem;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.input-row{display:grid;gap:1rem;align-items:start}.profile-basics,.investment-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.adult-profiles{display:grid;gap:.75rem;margin-top:1rem}.adult-profile-card{min-width:0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--border-gray);border-radius:0;background:transparent}.adult-profile-card[hidden]{display:none}.adult-profile-card h3{margin:0 0 .6rem;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700}.activity-profile-label{margin-bottom:.35rem;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.activity-profile-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.activity-profile-options label{position:relative;min-width:0;cursor:pointer}.activity-profile-options input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.activity-profile-options span{min-width:0}.adult-income-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:.7rem}.adult-income-row .input-group label{min-height:0}.field-label-with-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:2rem;min-width:0}.field-label-with-info>label{min-width:0}.info-button.self-employed-profit-info-button{position:relative;width:1.75rem;height:1.75rem;overflow:visible;border:0;background:transparent;font-size:var(--font-size-xs)}.info-button.self-employed-profit-info-button:after{content:"";position:absolute;top:-.625rem;right:-.5rem;bottom:-.375rem;left:-.5rem;border-radius:999px}.info-button.self-employed-profit-info-button>span{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid var(--border-gray);border-radius:999px;background:var(--white)}.info-button.self-employed-profit-info-button:hover>span,.info-button.self-employed-profit-info-button:focus-visible>span{border-color:var(--accent-blue);background:var(--accent-blue-subtle)}.info-button.self-employed-profit-info-button.is-inactive{visibility:hidden;pointer-events:none}.self-employed-profit-help[hidden]{display:none}.self-employed-profit-help{padding:.65rem .75rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:var(--accent-blue-subtle);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.55}.self-employed-profit-help p{margin:0}.self-employed-profit-help a{display:inline-block;margin-top:.4rem;color:var(--accent-blue);font-weight:600;text-underline-offset:2px}.reference-age-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem .55rem;padding:.35rem .4rem .35rem .65rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:var(--accent-blue-subtle)}.reference-age-field[hidden]{display:none}.reference-age-choice{display:flex;align-items:center;gap:.55rem;min-width:0;min-height:2.25rem;margin:0;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;line-height:1.35;cursor:pointer}.reference-age-choice input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin:0;accent-color:var(--accent-blue)}.info-button.reference-age-info-button{width:2rem;height:2rem;font-size:var(--font-size-xs)}.reference-age-help{grid-column:1 / -1;padding:.6rem .65rem .65rem;border-top:1px solid var(--accent-blue-border);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.reference-age-help[hidden]{display:none}.reference-age-help p{margin:0}.reference-age-help a{display:inline-block;margin-top:.35rem;color:var(--accent-blue);font-weight:600;text-underline-offset:2px}.advanced-toggle{display:flex;align-items:center;gap:.55rem;min-height:2.5rem;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;line-height:1.35;cursor:pointer}.advanced-toggle[hidden]{display:none}.advanced-toggle input{flex:0 0 auto;width:1rem;height:1rem;margin:0;accent-color:var(--accent-blue)}.profile-calculation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.75rem}.tax-base-disclosure{margin-top:.55rem;border-top:0}.tax-base-disclosure>summary{display:flex;align-items:center;gap:.45rem;min-height:var(--control-height);list-style:none;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.tax-base-disclosure>summary::-webkit-details-marker{display:none}.tax-base-disclosure>summary:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--accent-blue);outline-offset:2px}.tax-base-info-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid var(--border-gray);border-radius:999px;background:var(--white);color:var(--accent-blue);font-size:var(--font-size-xs);font-weight:700}.tax-base-disclosure>p{margin:0 0 .7rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--light-gray);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.55}.calculator-group .tax-base-disclosure>summary,.calculator-group .tax-base-disclosure>p{font-size:var(--font-size-sm)}.profile-summary-item{min-width:0;padding:.7rem .75rem;border:0;border-radius:var(--radius-md);background:var(--accent-blue-subtle)}.profile-summary-item span,.profile-summary-item strong{display:block}.profile-summary-item span{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.3}.profile-summary-item strong{margin-top:.15rem;color:var(--text-primary);font-size:var(--font-size-md)}.profile-summary-item .profile-summary-note{display:block;margin-top:.3rem;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400;line-height:1.4;overflow-wrap:anywhere}.profile-summary-item .profile-summary-note[hidden]{display:none}.profile-advanced{margin-top:.75rem;border-top:1px solid var(--border-gray)}.profile-advanced>summary{display:flex;align-items:center;min-height:var(--control-height);list-style:none;color:var(--accent-blue);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.profile-advanced>summary::-webkit-details-marker{display:none}.profile-advanced>summary:before{content:"";width:.4rem;height:.4rem;margin-right:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--transition)}.profile-advanced[open]>summary:before{transform:rotate(45deg)}.profile-advanced>summary:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.profile-advanced-content{display:grid;gap:.75rem;padding:.75rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--light-gray)}.calculator-scope{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.calculator-scope a{flex:0 0 auto;font-weight:600}.surface-scope-caption{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;line-height:var(--line-height-normal)}.self-employed-contribution-details{padding:.8rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:var(--white)}.self-employed-contribution-details[hidden],.self-employed-contribution-person[hidden]{display:none}.self-employed-contribution-details>h4,.self-employed-contribution-person>h5{margin:0;color:var(--text-primary)}.self-employed-contribution-details>h4{font-size:var(--font-size-sm)}.self-employed-contribution-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:.65rem;margin-top:.65rem}.self-employed-contribution-person{min-width:0;padding:.65rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.self-employed-contribution-person>h5{font-size:var(--font-size-xs)}.self-employed-contribution-content{display:grid;gap:.4rem;margin-top:.5rem}.self-employed-contribution-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.15rem;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.self-employed-contribution-row strong{min-width:0;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:left;overflow-wrap:anywhere}.self-employed-contribution-empty,.self-employed-contribution-exclusions{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.5}.self-employed-contribution-exclusions{margin-top:.7rem}.advanced-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.advanced-fields-grid[hidden],.advanced-fields-grid .input-group[hidden]{display:none}.profile-advanced .input-group label{min-height:0}.asset-income-mode{min-inline-size:0;margin:0 0 .85rem;padding:0;border:0}.asset-income-mode-label{margin-bottom:.35rem;padding:0;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.asset-income-mode-options{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}.asset-income-mode-options label{position:relative;min-width:0;cursor:pointer}.asset-income-mode-options input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.asset-income-mode-options span{min-width:0}.asset-income-mode>.input-help{display:block;margin-top:.3rem}.input-group{display:flex;flex-direction:column;gap:.4rem;min-width:0}.input-group label{display:flex;align-items:flex-end;min-height:3.2em;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}@media(max-width:1200px){.calculator-groups{grid-template-columns:minmax(0,1fr)}.calculator-group-help{min-height:0}}.data-load-status{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--accent-blue-light);color:var(--text-secondary);font-size:var(--font-size-md)}.data-load-status[hidden]{display:none}.data-load-status.error{border-color:var(--danger-border);background:var(--danger-surface);color:var(--danger-red)}.data-load-status button{border:1px solid currentColor;border-radius:var(--radius-sm);padding:.35rem .75rem;background:var(--white);color:inherit;font:inherit;font-weight:600;cursor:pointer}.input-group input,.input-group select{background:var(--white);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.7rem 1rem;min-height:var(--control-height);font-size:var(--font-size-base);color:var(--text-primary);min-width:0;width:100%;transition:border-color var(--transition),box-shadow var(--transition)}.input-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}.input-group input:focus,.input-group select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-shadow)}.input-group input:focus-visible,.input-group select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.input-group input::placeholder{color:var(--text-muted)}.input-group[hidden]{display:none}#asset-income-group[hidden]{display:flex!important}.input-help{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.calculator-group .input-help{font-size:var(--font-size-sm)}.input-error{color:var(--swiss-red-dark);font-size:var(--font-size-xs);font-weight:600;line-height:1.4}.input-error[hidden]{display:none}.input-group input[aria-invalid=true]{border-color:var(--swiss-red);box-shadow:0 0 0 3px var(--swiss-red-glow)}.input-group input[aria-invalid=true]:focus-visible{outline:2px solid var(--white);outline-offset:1px;box-shadow:0 0 0 5px var(--danger-red)}.asset-income-basis{display:grid;gap:.65rem;margin-top:.85rem;padding:.75rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:var(--accent-blue-subtle)}.asset-income-basis[hidden],.asset-income-custom-basis[hidden]{display:none}.asset-income-basis-choice{display:flex;align-items:flex-start;gap:.55rem;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;line-height:1.4;cursor:pointer}.asset-income-basis-choice input{flex:0 0 auto;width:1rem;height:1rem;margin-top:.08rem;accent-color:var(--accent-blue)}.asset-income-basis-choice:has(input:disabled){cursor:not-allowed;opacity:.55}.asset-income-custom-basis{max-width:24rem}.asset-income-custom-basis label{min-height:0}.asset-income-conversion{display:block;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;line-height:1.4}.asset-income-conversion.incomplete{color:var(--warning-amber);background:var(--warning-surface)}.asset-income-conversion.empty{color:var(--text-secondary);font-weight:600}.scenario-note{margin-top:1rem;padding:.9rem 1rem;border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-blue-subtle);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.scenario-note-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.scenario-note-title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:700}.scenario-context{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.3rem}.scenario-context-item,.scenario-auto-badge{display:inline-flex;align-items:center;min-height:1.75rem;padding:.2rem .55rem;border-radius:999px;background:var(--white);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.scenario-auto-badge{color:var(--accent-blue);background:var(--accent-blue-light)}.scenario-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0}.scenario-metric{min-width:0;padding:.65rem .75rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:#ffffffbf}.scenario-metric dt{margin:0 0 .15rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.scenario-metric dd{margin:0;color:var(--text-primary);font-size:var(--font-size-md);font-weight:700;overflow-wrap:anywhere}.scenario-reference-copy{margin:0;color:var(--text-secondary)}.scenario-assumptions{margin-top:.75rem;border-top:1px solid var(--accent-blue-border)}.scenario-assumptions>summary{display:flex;align-items:center;min-height:2.5rem;list-style:none;color:var(--accent-blue);font-weight:600;cursor:pointer}.scenario-assumptions>summary::-webkit-details-marker{display:none}.scenario-assumptions>summary:before{content:"";width:.4rem;height:.4rem;margin-right:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--transition)}.scenario-assumptions[open]>summary:before{transform:rotate(45deg)}.scenario-assumptions>summary:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.scenario-assumptions p{margin:0 0 .6rem}.results-view-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1rem 1.25rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--light-gray)}.results-view-copy{min-width:0}.results-view-copy h2{margin-bottom:.2rem}.results-view-copy p{margin:0;max-width:46rem;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.results-view-control{width:100%}.results-view-control label{min-height:0}.input-with-dropdown{position:relative;display:flex}.input-with-dropdown input{flex:1;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.input-with-dropdown input:focus{border-color:var(--accent-blue)}.input-with-dropdown input:focus+.dropdown-toggle{border-color:var(--accent-blue)}.asset-income-unit-suffix{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;padding:0 .75rem;border:1px solid var(--control-border);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--light-gray);color:var(--text-primary);font-size:var(--font-size-md);font-weight:700}.asset-income-unit-suffix[hidden]{display:none}.input-with-dropdown.percentage-entry input:focus+.asset-income-unit-suffix{border-color:var(--accent-blue)}.dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:var(--white);border:1px solid var(--control-border);border-left:1px solid var(--control-border);padding:.7rem .75rem;cursor:pointer;min-height:var(--control-height);font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;color:var(--text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:border-color .15s ease,background-color .15s ease}.dropdown-toggle[hidden]{display:none}.dropdown-toggle:hover{background-color:var(--light-gray)}.preset-dropdown-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--accent-blue);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:100;max-height:200px;overflow-y:auto}.preset-dropdown-menu.show{display:block}.input-with-dropdown:has(.preset-dropdown-menu.show) input{border-bottom-left-radius:0;border-color:var(--accent-blue)}.input-with-dropdown:has(.preset-dropdown-menu.show) .dropdown-toggle{border-bottom-right-radius:0;border-color:var(--accent-blue)}.preset-option:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.preset-option{padding:.7rem 1rem;cursor:pointer;font-size:var(--font-size-md);color:var(--text-primary);transition:background-color .1s ease,color .1s ease}.preset-option:hover{background-color:var(--accent-blue);color:var(--white)}.preset-option:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px;background-color:var(--accent-blue);color:var(--white)}.search-section{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.skip-table-link,.skip-main-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-table-link:focus,.skip-main-link:focus{position:relative;display:inline-block;width:auto;height:auto;padding:.65rem .85rem;margin:0 0 .75rem;overflow:visible;clip:auto;white-space:normal;border:2px solid var(--accent-blue);border-radius:var(--radius-sm);background:var(--white);color:var(--accent-blue);font-weight:600}.skip-main-link:focus{position:fixed;top:.75rem;left:.75rem;z-index:10000;margin:0}.search-container{position:relative;max-width:400px}.search-container .search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;z-index:1}#municipality-search{width:100%;padding:.7rem 1rem .7rem 2.5rem;min-height:var(--control-height);font-size:var(--font-size-base);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition)}#municipality-search:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-shadow)}#municipality-search:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}#municipality-search::placeholder{color:var(--text-muted)}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--accent-blue);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:300px;overflow-y:auto;display:none;z-index:100;box-shadow:0 4px 12px #00000026}.search-results.show{display:block}.search-result-item{padding:.75rem 1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:var(--control-height);font-size:var(--font-size-md);border-bottom:1px solid var(--border-gray);transition:background-color .1s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.selected{background-color:var(--accent-blue);color:var(--white)}.search-result-item .municipality-name{font-weight:500}.search-result-item .canton-code{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-subtle);padding:.15rem .4rem;border-radius:3px}.search-result-flag{width:12px;height:12px;margin-right:var(--space-1)}.search-result-item:hover .canton-code,.search-result-item.selected .canton-code{color:var(--navy);background:var(--white)}.search-no-results{padding:1rem;text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.map-container{position:relative}#map{width:100%;height:550px;display:block;background:var(--light-gray);touch-action:pan-y pinch-zoom;animation:fadeIn .8s ease-out}.commune{stroke:var(--municipality-stroke, var(--map-municipality-stroke));stroke-width:.75px;vector-effect:non-scaling-stroke;cursor:pointer;transition:stroke-width .12s ease,filter .12s ease}@media(hover:hover){.commune:hover{stroke:var(--map-selection-inner);stroke-width:2.5px;filter:drop-shadow(0 0 1.25px var(--map-selection-outer)) brightness(1.06)}}.commune.active{stroke:var(--map-selection-inner);stroke-width:3px;filter:drop-shadow(0 0 1.5px var(--map-selection-outer)) brightness(1.08)}.commune.search-highlight{stroke:var(--map-selection-inner)!important;stroke-width:3px!important;filter:drop-shadow(0 0 1.5px var(--map-selection-outer)) brightness(1.08)!important}.canton-highlight{fill:none;stroke:var(--map-selection-inner);stroke-width:2px;stroke-dasharray:4 2;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 1.25px var(--map-selection-outer))}.lake,.major-lake{fill:var(--lake-blue);stroke:var(--lake-stroke);stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.commune.foreign-territory{fill:url(#hatch-pattern)!important;stroke:var(--map-foreign-stroke);stroke-width:.5px;cursor:pointer}@media(hover:hover){.commune.foreign-territory:hover{stroke:var(--map-selection-inner);stroke-width:2.5px;filter:drop-shadow(0 0 1.25px var(--map-selection-outer))}}.commune.foreign-territory.active{stroke:var(--map-selection-inner);stroke-width:3px;filter:drop-shadow(0 0 1.5px var(--map-selection-outer))}.legend{margin-top:1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.legend h2{flex:0 1 30rem;min-width:0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.legend-scale{display:flex;flex:1 1 22rem;min-width:0;align-items:center;gap:.5rem}.legend-bar{height:10px;width:200px;background:linear-gradient(90deg,var(--map-low) 0%,var(--map-low-mid) 25%,var(--map-mid) 50%,var(--map-high-mid) 75%,var(--map-high) 100%)}.legend-bar.uniform{background:var(--map-uniform)}.legend-labels{display:flex;font-size:var(--font-size-xs);color:var(--text-secondary);gap:.25rem;white-space:nowrap}.legend-labels[hidden]{display:none!important}.legend-context{display:flex;flex:0 0 100%;flex-wrap:wrap;width:100%;max-width:100%;justify-content:flex-end;gap:var(--space-2) var(--space-4);color:var(--text-secondary);font-size:var(--font-size-xs)}.legend-key{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.legend-swatch{width:1rem;height:.65rem;flex:0 0 auto;border:1px solid var(--map-municipality-stroke);border-radius:2px}.legend-swatch.water{border-color:var(--lake-stroke);background:var(--lake-blue)}.legend-swatch.no-data{background:var(--map-no-data)}.legend-swatch.foreign{border-color:var(--map-foreign-stroke);background:repeating-linear-gradient(135deg,var(--white) 0,var(--white) 3px,var(--map-foreign-stroke) 3px,var(--map-foreign-stroke) 4px)}.layout-toggle-container{display:flex;justify-content:flex-end}.layout-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--white);border:1px solid var(--control-border);min-height:var(--control-height);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.layout-toggle-btn:hover{background:var(--light-gray);border-color:var(--medium-gray);color:var(--text-primary)}.layout-toggle-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--white)}.layout-toggle-btn .toggle-icon{flex-shrink:0}.map-table-wrapper{display:block;min-width:0}.map-inspector-shell{min-width:0}.municipality-detail-host[hidden]{display:none!important}.map-inspector-shell.detail-open{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,460px);align-items:start;gap:1rem}.map-inspector-shell.detail-open .municipality-detail-host{display:block;min-width:0}.map-inspector-shell.detail-open .municipality-detail-panel{position:sticky;top:1rem;right:auto;bottom:auto;width:100%;min-width:0;max-width:100%;max-height:calc(100vh - 2rem);box-shadow:none}.map-section{container-name:map-panel;container-type:inline-size}.map-inspector-shell.detail-open>.map-table-wrapper.side-by-side{display:block}.map-inspector-shell.detail-open .map-table-wrapper.side-by-side .map-section{position:static}.map-inspector-shell.detail-open .map-table-wrapper.side-by-side .tax-table-section{max-height:none;overflow-y:visible}@media(max-width:1180px){.map-inspector-shell.detail-open{display:block}.map-inspector-shell.detail-open .municipality-detail-panel{position:fixed;top:auto;width:min(460px,calc(100vw - 20px));max-width:min(460px,calc(100vw - 20px));max-height:calc(100vh - 20px);box-shadow:0 12px 32px #0f172a33}}.map-table-wrapper.side-by-side{display:flex;gap:1.5rem;align-items:flex-start}.map-table-wrapper.side-by-side .map-section{flex:0 0 55%;min-width:0;position:sticky;top:1rem;align-self:flex-start}.map-table-wrapper.side-by-side .tax-table-section{flex:0 0 43%;min-width:0;max-height:calc(100vh - 2rem);overflow-y:auto;overflow-x:auto}.map-table-wrapper.side-by-side .tax-table-section{margin-top:0;padding-top:0;border-top:none}.map-table-wrapper.side-by-side .tax-table-section h2,.map-table-wrapper.side-by-side .tax-table-section .table-description{margin-top:0}.map-table-wrapper.side-by-side .tax-table-section .layout-toggle-container{display:none}.map-metric-control{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--border-gray);border-radius:var(--radius-md);background:var(--surface-subtle)}.map-metric-control[hidden]{display:none}.map-metric-control legend{padding:0 var(--space-1);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700}.map-metric-options{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,34rem);min-width:0}.map-metric-help{display:block;max-width:52rem;margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}@media(max-width:600px){.map-metric-options{grid-template-columns:minmax(0,1fr)}}@container map-panel (max-width: 34rem){.map-metric-options{grid-template-columns:minmax(0,1fr);width:100%}.legend{align-items:stretch;flex-direction:column;gap:var(--space-2)}.legend h2,.legend-scale{flex-basis:auto;width:100%}}.map-metric-options label{position:relative;cursor:pointer}.map-metric-options input{position:absolute;width:1px;height:1px;opacity:0}.map-metric-options span{overflow-wrap:anywhere}.activity-profile-options,.asset-income-mode-options,.map-metric-options{gap:3px;padding:3px;border:1px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface-subtle)}.activity-profile-options span,.asset-income-mode-options span,.map-metric-options span{display:flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;line-height:var(--line-height-tight);text-align:center;transition:background-color var(--transition),color var(--transition),box-shadow var(--transition)}.activity-profile-options label:hover span,.asset-income-mode-options label:hover span,.map-metric-options label:hover span{background:var(--white);color:var(--text-primary)}.activity-profile-options input:checked+span,.asset-income-mode-options input:checked+span,.map-metric-options input:checked+span{background:var(--accent-blue);color:var(--white);box-shadow:var(--shadow-sm)}.activity-profile-options input:focus-visible+span,.asset-income-mode-options input:focus-visible+span,.map-metric-options input:focus-visible+span{position:relative;z-index:1;outline:2px solid var(--white);outline-offset:-3px;box-shadow:0 0 0 3px var(--accent-blue)}.activity-profile-options input:disabled+span,.asset-income-mode-options input:disabled+span,.map-metric-options input:disabled+span{cursor:not-allowed;opacity:.55}@media(max-width:1200px){.map-table-wrapper.side-by-side{display:block}.map-table-wrapper.side-by-side .map-section{position:static}.map-table-wrapper.side-by-side .tax-table-section{max-height:none;overflow-y:visible}.layout-toggle-container{display:none!important}}.map-hovercard{position:fixed;z-index:1100;display:none;width:min(360px,calc(100vw - 20px));overflow:hidden;border:1px solid var(--border-gray);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-lg);color:var(--text-primary);opacity:0;pointer-events:auto;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.map-hovercard.visible{display:block;opacity:1;transform:translateY(0)}.map-hovercard-header{display:flex;align-items:center;gap:.45rem;padding:.65rem .75rem;border-bottom:2px solid var(--swiss-red);background:var(--navy);color:var(--white)}.map-hovercard-header .canton-flag{width:20px;height:20px;object-fit:contain}.map-hovercard-header strong{flex:1 1 auto;display:-webkit-box;min-width:0;overflow:hidden;font-size:var(--font-size-md);line-height:1.25;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.map-hovercard-header span{flex-shrink:0;color:var(--text-on-dark-muted);font-size:var(--font-size-xs)}#map-hovercard-personal,.map-hovercard-reference,.map-hovercard-foreign{padding:.75rem}.map-hovercard-primary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding-bottom:.55rem;border-bottom:1px solid var(--border-gray)}.map-hovercard-primary-label>span:first-child,.map-hovercard-cost-row>span{min-width:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.35;overflow-wrap:anywhere}.map-hovercard-primary-label{display:grid;min-width:0;justify-items:start;gap:.3rem}.map-hovercard-primary-label>span:first-child{font-weight:600}.map-hovercard-cost-row>span{font-weight:500}.map-hovercard-value{display:grid;min-width:0;max-width:10rem;justify-items:end;gap:.05rem;font-variant-numeric:tabular-nums}.map-hovercard-value strong{color:var(--text-primary);font-size:var(--font-size-sm);white-space:nowrap}.map-hovercard-primary .map-hovercard-value strong{font-size:var(--font-size-base)}.map-hovercard-value small{max-width:10rem;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.3;overflow-wrap:anywhere;text-align:right}.map-hovercard-tax-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:.55rem 0;padding:.45rem .55rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.map-hovercard-tax-split>span{min-width:0;color:var(--text-secondary);font-size:var(--font-size-xs)}.map-hovercard-tax-split>span+span{margin-left:.55rem;padding-left:.55rem;border-left:1px solid var(--border-gray)}.map-hovercard-tax-split strong{display:block;margin-top:.08rem;color:var(--text-primary);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.map-hovercard-cost-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--border-gray)}.map-hovercard-cost-row.total{margin-top:.35rem;padding:.55rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:var(--accent-blue-light)}.map-hovercard-cost-row.total>span,.map-hovercard-cost-row.total .map-hovercard-value small,.map-hovercard-cost-row.total .map-hovercard-value strong{color:var(--accent-blue);font-weight:700}.map-hovercard-cost-row.total .map-hovercard-value strong{font-size:var(--font-size-base)}.map-hovercard-rule-badge{display:inline-flex;padding:.18rem .4rem;border-radius:var(--radius-full);background:var(--success-surface);color:var(--success-green);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.map-hovercard-rule-badge[hidden]{display:none}.map-hovercard-reference>strong{display:block;margin-bottom:.25rem;font-size:var(--font-size-sm)}#map-hovercard-reference-values{display:grid;gap:.5rem;margin-top:.6rem}#map-hovercard-reference-values[hidden]{display:none}#map-hovercard-reference-values>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-size:var(--font-size-xs)}#map-hovercard-reference-values b{flex-shrink:0;color:var(--text-primary);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}#map-hovercard-reference-note,.map-hovercard-foreign{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}#map-hovercard-reference-note{max-width:34rem}.map-hovercard-hint{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.35;text-align:right}.map-hovercard-footer{display:flex;min-height:2.25rem;align-items:center;justify-content:center;gap:.5rem;padding:.42rem .75rem;border-top:1px solid var(--border-gray);background:var(--surface-subtle);text-align:center}.municipality-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.municipality-detail-backdrop[hidden]{display:none}body.municipality-sheet-open{overflow:hidden}.tooltip{position:fixed;pointer-events:auto;background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-md);min-width:280px;max-width:min(580px,calc(100vw - 20px));max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;box-shadow:0 4px 16px #0000001f;z-index:1000}.commune-title-line{display:flex;align-items:center;min-width:0}.commune-title-flag{flex:0 0 auto;width:18px;height:18px;margin-right:var(--space-2)}.commune-title-canton{margin-left:var(--space-1);color:var(--text-on-dark-muted);font-size:.9em;font-weight:400}.municipality-detail-panel{width:min(460px,calc(100vw - 20px));max-width:min(460px,calc(100vw - 20px))}.municipality-detail-panel .tooltip-header{position:sticky;top:0;z-index:5}.municipality-detail-panel .tooltip-content{grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding:var(--space-4)}.municipality-detail-panel .total-tax-section{padding:var(--space-1) 0 var(--space-2)!important;background:transparent;border:0;border-radius:0}.municipality-detail-panel .estimate-total-row{padding-bottom:var(--space-3);border-bottom:0}.municipality-detail-panel .estimate-total-row .value{font-size:clamp(1.25rem,4vw,1.75rem)}.municipality-detail-panel .estimate-status{margin:calc(-1 * var(--space-1)) 0 var(--space-3);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;line-height:var(--line-height-normal)}.municipality-detail-panel .estimate-legal-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-3);background:var(--surface-subtle);border-radius:var(--radius-md)}.municipality-detail-panel .estimate-legal-components .estimate-metric{min-height:4.5rem;padding:var(--space-2)}.municipality-detail-panel .estimate-legal-components .estimate-metric.total-outflow{background:var(--accent-blue-light);border-radius:var(--radius-sm)}.municipality-detail-panel .estimate-total-help{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.municipality-detail-panel .estimate-secondary-rate{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-gray);border-radius:var(--radius-md)}.municipality-detail-panel .estimate-secondary-rate span{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.municipality-detail-panel .estimate-secondary-rate strong{color:var(--text-primary);font-size:var(--font-size-md);white-space:nowrap}.municipality-detail-panel .estimate-attribution{padding:0 var(--space-3);background:var(--surface-subtle);border:0;border-radius:var(--radius-md)}.municipality-detail-panel .estimate-attribution[open]{padding-bottom:var(--space-3)}.municipality-detail-panel .annual-burden-details,.municipality-detail-panel .multiplier-details{padding:0 var(--space-3);background:var(--surface-subtle);border:0;border-radius:var(--radius-md)}.municipality-detail-panel .annual-burden-details[open],.municipality-detail-panel .multiplier-details[open]{padding-bottom:var(--space-3)}.municipality-detail-panel #income-tax-section,.municipality-detail-panel #wealth-tax-section{padding:var(--space-3);background:var(--surface-subtle);border-radius:var(--radius-md)}.municipality-detail-panel #income-tax-section .tax-row,.municipality-detail-panel #wealth-tax-section .tax-row{min-height:1.75rem;font-size:var(--font-size-md)}.municipality-detail-panel #income-tax-section .tax-row .label,.municipality-detail-panel #wealth-tax-section .tax-row .label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400;line-height:1.4}.municipality-detail-panel #income-tax-section .tax-row .value,.municipality-detail-panel #wealth-tax-section .tax-row .value{color:var(--text-primary);font-size:var(--font-size-md);font-weight:600}.municipality-detail-panel #income-tax-section .tax-row .value.tax-amount,.municipality-detail-panel #wealth-tax-section .tax-row .value.tax-amount{color:var(--text-primary);font-size:var(--font-size-base);font-weight:700}.municipality-detail-panel .tax-row.effective-rate .label,.municipality-detail-panel .tax-row.local-income-rate .label{color:var(--text-secondary);font-weight:500}.municipality-detail-panel .tax-row.effective-rate .value,.municipality-detail-panel .tax-row.local-income-rate .value{color:var(--text-primary);font-weight:600}.municipality-detail-panel #income-total-tax-row{margin-top:var(--space-2);padding:var(--space-2);background:var(--white);border-radius:var(--radius-sm)}.wealth-base-calculation{display:grid;gap:var(--space-1);margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--white);border-radius:var(--radius-sm)}.wealth-base-calculation[hidden]{display:none}.municipality-detail-panel #wealth-tax-section .wealth-calculation-row.deduction .value{color:var(--success-green)}.municipality-detail-panel #wealth-tax-section .wealth-calculation-row.result .label{color:var(--text-primary);font-size:var(--font-size-md);font-weight:600}.municipality-detail-panel #wealth-tax-section .wealth-calculation-row.result .value{color:var(--text-primary);font-size:var(--font-size-md);font-weight:700}.tax-basis-note,.wealth-minimum-note{margin:var(--space-1) 0 var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.tax-basis-note{background:var(--accent-blue-light)}.wealth-minimum-note{background:var(--warning-surface)}.tax-basis-note[hidden],.wealth-minimum-note[hidden]{display:none}.municipality-detail-panel .tax-section h3{margin-bottom:var(--space-2);padding-bottom:0;border-bottom:0}.municipality-detail-panel .tax-row.total,.municipality-detail-panel .tax-row.effective-rate,.municipality-detail-panel .tax-row.chf-amount{margin-top:var(--space-1);padding-top:var(--space-1);border-top:0}.municipality-detail-panel .tax-limit-panel,.municipality-detail-panel .tax-limit-panel.applied{padding:0 var(--space-3) var(--space-3);background:var(--surface-subtle);border:0;border-radius:var(--radius-md)}.municipality-detail-panel .tax-limit-panel.applied{background:var(--success-surface-subtle)}.municipality-detail-panel .tax-limit-waterfall{padding:var(--space-3);background:var(--white);border:0;border-radius:var(--radius-sm)}.tooltip.visible{display:block;opacity:1;transform:translateY(0)}.tooltip-header{padding:.75rem 1rem;background:var(--navy);border-bottom:3px solid var(--swiss-red);display:flex;align-items:center;justify-content:space-between}.commune-name{flex:1 1 auto;min-width:0;margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--white);overflow-wrap:anywhere}.tooltip-close{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-left:.5rem;padding:0;border:0;background:transparent;color:var(--text-on-dark-muted);font-size:var(--font-size-xl);line-height:1;cursor:pointer}.tooltip-close:hover,.tooltip-close:focus-visible{color:var(--white)}.tooltip-content{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.25rem}.tax-section h3{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.5rem;font-weight:600;border-bottom:1px solid var(--border-gray);padding-bottom:.3rem}.tax-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:var(--font-size-sm);gap:1rem}.municipality-detail-panel .tariff-base-row[hidden]{display:none!important}.tax-row .label{color:var(--text-secondary)}.tax-row .value{font-weight:600;color:var(--text-primary)}.tax-row.total{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--border-gray)}.tax-row.total .label,.tax-row.total .value{color:var(--swiss-red);font-weight:700}.tax-row.effective-rate{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--border-gray)}.tax-row.effective-rate .label{color:var(--text-secondary);font-weight:500}.tax-row.effective-rate .value{color:var(--text-primary);font-weight:600}.tax-row.effective-rate.reference-only{margin-top:0;padding-top:.65rem;border-top:0}.tax-row.chf-amount{margin-top:.4rem;padding-top:.4rem;border-top:1px dashed var(--border-gray)}.tax-row .value.highlight{color:var(--success-green);font-size:var(--font-size-base);font-weight:700}.total-tax-section{grid-column:1 / -1;order:-2;margin:0;padding:.85rem 1rem!important;background:var(--light-gray);border:1px solid var(--border-gray);border-top:3px solid var(--accent-blue);border-radius:var(--radius-sm)}.total-tax-section h3{border:0;margin:0 0 .45rem;padding:0;color:var(--accent-blue)}.estimate-total-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-gray)}.estimate-total-row .label{min-width:0;color:var(--text-secondary);font-size:var(--font-size-md);font-weight:700}.estimate-total-row .value{flex:0 1 auto;min-width:0;color:var(--text-primary);font-size:clamp(.95rem,1.7vw,1.25rem);font-weight:700;white-space:nowrap}.estimate-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding-top:.65rem}.estimate-legal-components{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;padding-top:.6rem}.estimate-legal-components .estimate-metric{flex:0 1 auto;min-width:7rem}.estimate-attribution{margin-top:.7rem;padding:.65rem .7rem;border:1px solid var(--accent-blue-border);border-radius:var(--radius-sm);background:var(--white)}.estimate-attribution-heading{display:flex;align-items:center;gap:.5rem;min-height:var(--control-height);list-style:none;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.estimate-attribution-heading::-webkit-details-marker,.tax-limit-heading::-webkit-details-marker{display:none}.estimate-attribution-heading:before,.tax-limit-heading:before{content:"";width:.4rem;height:.4rem;flex:0 0 auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--transition)}.estimate-attribution[open]>.estimate-attribution-heading:before,.tax-limit-panel[open]>.tax-limit-heading:before{transform:rotate(45deg)}.estimate-attribution-heading:focus-visible,.tax-limit-heading:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.info-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border-gray);border-radius:999px;background:var(--white);color:var(--accent-blue);font:inherit;font-weight:700;cursor:pointer}.info-button:hover,.info-button:focus-visible{border-color:var(--accent-blue);outline:3px solid var(--focus-ring);outline-offset:1px}.estimate-attribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.45rem}.estimate-attribution-grid div{min-width:0}.estimate-attribution-grid span,.estimate-attribution-grid strong,.estimate-attribution-grid small{display:block}.estimate-attribution-grid span{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.25}.estimate-attribution-grid strong{margin-top:.12rem;color:var(--text-primary);font-size:var(--font-size-md)}.estimate-attribution-grid small{margin-top:.08rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.estimate-attribution-note{margin:.55rem 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.estimate-attribution-note.warning,.cash-income-warning{color:var(--warning-amber)}.cash-income-warning[hidden],.estimate-attribution-note[hidden]{display:none}.municipality-detail-panel .tax-row{min-width:0}.municipality-detail-panel .tax-row .label{min-width:0;overflow-wrap:anywhere}.municipality-detail-panel .tax-row .value{flex:0 0 auto;max-width:52%;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.municipality-detail-panel .tax-row .value .relief-detail{min-width:0;white-space:normal;overflow-wrap:anywhere}.cash-income-warning{margin:.65rem 0 0;padding:.55rem .65rem;border-radius:var(--radius-sm);background:var(--warning-surface);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.annual-burden-details{margin-top:.65rem;border-top:1px solid var(--border-gray)}.annual-burden-details>summary{display:flex;align-items:center;min-height:var(--control-height);list-style:none;color:var(--accent-blue);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.annual-burden-details>summary::-webkit-details-marker{display:none}.annual-burden-details>summary:before{content:"";width:.4rem;height:.4rem;margin-right:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--transition)}.annual-burden-details[open]>summary:before{transform:rotate(45deg)}.annual-burden-details>summary:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.annual-burden-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.annual-burden-detail-grid .tax-row[hidden]{display:none}.annual-burden-footnote{margin:.55rem 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.estimate-metric{display:flex;flex-direction:column;gap:.15rem;min-width:0}.estimate-metric span{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.25}.estimate-metric strong{color:var(--text-primary);font-size:var(--font-size-md);white-space:nowrap}.estimate-metric small{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.25}.tooltip-reference-note{grid-column:1 / -1;order:-1;display:flex;align-items:flex-start;gap:.45rem;padding:.7rem .8rem;background:var(--accent-blue-light);border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.tooltip-reference-note strong{color:var(--text-primary);white-space:nowrap}.foreign-territory-message{padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-style:italic;text-align:center}.component-empty-state{margin:0;padding:.55rem .65rem;border-radius:var(--radius-sm);background:var(--light-gray);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.tax-limit-panel{margin-top:.75rem;padding:.7rem .75rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--white)}.tax-limit-panel.applied{border-color:var(--success-border);background:var(--success-surface)}.tax-limit-heading{display:flex;align-items:center;gap:.75rem;min-height:var(--control-height);list-style:none;color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer}.tax-limit-heading strong{flex:1 1 auto}.tax-limit-status{flex-shrink:0;padding:.15rem .4rem;border-radius:var(--radius-full);background:var(--light-gray);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.tax-limit-panel.applied .tax-limit-status{background:var(--white);color:var(--success-green)}.tax-limit-waterfall{margin-top:.6rem;padding:.5rem 0;border-top:1px solid var(--border-gray);border-bottom:1px solid var(--border-gray);gap:.3rem}.tax-limit-step{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.tax-limit-step strong{color:var(--text-primary);font-size:var(--font-size-sm);white-space:nowrap}.tax-limit-step.relief strong{color:var(--success-green)}.tax-limit-step.final{padding-top:.3rem;border-top:1px dashed var(--border-gray);color:var(--text-primary);font-weight:700}.tax-limit-step.final strong{font-size:var(--font-size-md)}.tax-rule-note{margin-top:.6rem;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.tax-rule-note p{margin:.4rem 0 0}.tax-rule-summary{color:var(--text-primary);font-size:var(--font-size-xs);line-height:1.45}.tax-rule-mechanics{margin-top:.5rem}.tax-rule-mechanics>summary{display:flex;align-items:center;min-height:var(--control-height);color:var(--accent-blue);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.tax-rule-mechanics[open]>summary{margin-bottom:.5rem}.tax-rule-facts{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem;margin:0;padding:0}.tax-rule-fact{min-width:0}.tax-rule-fact dt{color:var(--text-secondary);font-size:var(--font-size-xs)}.tax-rule-fact dd{margin:.05rem 0 0;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700}.tax-rule-fact small{display:block;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500}.tax-rule-note a{display:inline-block;margin-top:.45rem;color:var(--accent-blue)}.multiplier-details{grid-column:1 / -1;padding-top:.65rem;border-top:1px solid var(--border-gray)}.multiplier-details summary{display:flex;align-items:center;min-height:var(--control-height);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.multiplier-details>p{margin:.45rem 0 .65rem;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.multiplier-details .tax-row[hidden]{display:none}.multiplier-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.coefficient-calculation{min-width:0;margin:.65rem 0 0;padding:.65rem;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--light-gray)}.coefficient-calculation-context{margin:0 0 .55rem;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.35}.coefficient-calculation-list{display:grid;gap:.5rem}.coefficient-calculation-step{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;color:var(--text-primary);font-size:var(--font-size-xs)}.coefficient-calculation-step strong{font-weight:600}.coefficient-calculation-step .coefficient-formula{min-width:0;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700;overflow-wrap:anywhere;text-align:left}.coefficient-calculation-step small{grid-column:1 / -1;color:var(--text-secondary);line-height:1.35}.coefficient-calculation-total{display:flex;justify-content:space-between;gap:.75rem;margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--border-gray);color:var(--text-primary);font-size:var(--font-size-xs)}.coefficient-calculation-total>span{min-width:0}.coefficient-calculation-total>strong{white-space:nowrap}.coefficient-calculation-total.final{color:var(--accent-blue);font-weight:700}.coefficient-calculation-total strong{flex:0 0 auto;font-variant-numeric:tabular-nums}.tax-row.coefficient-total{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--border-gray)}.tax-row.coefficient-total .label,.tax-row.coefficient-total .value{color:var(--text-primary);font-weight:700}.canton-overview{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-gray)}.canton-overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.canton-overview-header h2{margin:0 0 .25rem;color:var(--text-primary);font-size:var(--font-size-base)}.canton-overview-header p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.45}.canton-overview-header a{flex:0 0 auto;color:var(--accent-blue);font-size:var(--font-size-xs);font-weight:600}.canton-overview-prompt{padding:1rem;border:1px dashed var(--border-gray);border-radius:var(--radius-sm);background:var(--light-gray);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center}.table-container.canton-overview-table-container{max-height:none;overflow-y:visible}#canton-overview-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}#canton-overview-table thead th{position:sticky;top:0;z-index:2;padding:.7rem .75rem;background:var(--table-header-bg);color:var(--white);font-size:var(--font-size-xs);font-weight:600;text-align:left;white-space:nowrap}#canton-overview-table thead th:nth-child(n+3):nth-child(-n+10){text-align:right}#canton-overview-table td,#canton-overview-table tbody th[scope=row]{padding:.65rem .75rem;border-bottom:1px solid var(--border-gray);white-space:nowrap}#canton-overview-table tbody th[scope=row]{color:var(--text-primary);font-weight:500;text-align:left}#canton-overview-table tbody tr:nth-child(2n){--canton-row-bg: var(--surface-row-alt);background:var(--canton-row-bg)}#canton-overview-table tbody tr:hover{--canton-row-bg: var(--surface-row-hover);background:var(--canton-row-bg)}#canton-overview-table tbody tr{--canton-row-bg: var(--white)}#canton-overview-table tbody th[scope=row]{background:var(--canton-row-bg)}#canton-overview-table .tax-value{text-align:right;font-variant-numeric:tabular-nums}.burden-rate{color:var(--warning-amber);font-weight:700}.tax-limit-badge,.ordinary-rule-badge{display:inline-flex;align-items:center;padding:.2rem .45rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.tax-limit-badge{background:var(--success-surface);color:var(--success-green)}.tax-limit-badge.applied{box-shadow:inset 0 0 0 1px var(--success-border)}.ordinary-rule-badge{background:var(--light-gray);color:var(--text-secondary)}.relief-detail{display:block;margin-top:.2rem;color:var(--success-green);font-size:var(--font-size-xs)}@media(max-width:768px){.canton-overview-header{flex-direction:column}#canton-overview-table{font-size:var(--font-size-xs)}#canton-overview-table thead th,#canton-overview-table td,#canton-overview-table tbody th[scope=row]{padding:.55rem .6rem}}.compare-section{margin-top:2.5rem;padding:2rem 0 0;border-top:2px solid var(--border-gray)}.compare-section h2{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:.35rem;text-transform:none;letter-spacing:0;border-bottom:none;padding-bottom:0}.compare-section .compare-subtitle{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:1.25rem}footer{background:var(--navy);color:var(--text-on-dark-muted);padding:3.5rem 2rem 1.5rem;margin-top:3rem}.footer-content{max-width:1280px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:2.5rem}.footer-section h2{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-on-dark-subtle);margin-bottom:1rem;font-weight:600}.footer-section p{font-size:var(--font-size-sm);line-height:1.7}.footer-section a{color:var(--text-on-dark-muted);text-decoration:none;transition:color var(--transition)}.footer-section a:hover{color:var(--white)}.footer-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.footer-brand .brand-mark{width:32px;height:32px;font-size:var(--font-size-sm)}.footer-brand-name{font-size:var(--font-size-base);font-weight:700;color:var(--white)}.footer-section .footer-links{list-style:none;padding:0}.footer-section .footer-links li{margin-bottom:.5rem}.footer-section .footer-links a{font-size:var(--font-size-sm);display:inline-block;padding:.1rem 0}.footer-section .footer-links a:hover{color:var(--white)}.footer-social{display:flex;gap:.75rem;margin-top:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#ffffff14;color:var(--text-on-dark-muted);font-size:var(--font-size-md);transition:all var(--transition)}.footer-social a:hover{background:#ffffff26;color:var(--white);transform:translateY(-1px)}.footer-disclaimer{background:#ffffff0a;border-left:3px solid var(--swiss-red);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.85rem 1.1rem;font-size:var(--font-size-xs);line-height:1.6;margin-top:1rem;color:var(--text-on-dark-subtle)}.footer-disclaimer strong{color:var(--text-on-dark)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--text-on-dark-subtle)}.footer-bottom a{color:var(--text-on-dark-muted);text-decoration:none}.footer-bottom a:hover{color:var(--text-on-dark)}.footer-contact{margin-top:var(--space-2)}path.table-highlight-overlay{fill:none;stroke:var(--map-selection-inner);stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 1.25px var(--map-selection-outer)) brightness(1.06)}.tax-table-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-gray)}.tax-table-section h2{color:var(--text-primary);font-size:var(--font-size-lg);margin-bottom:.5rem}.table-description{color:var(--text-secondary);font-size:var(--font-size-md);margin-bottom:1rem}.table-scope-note{margin:-.35rem 0 1rem;padding:.55rem .7rem;border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-blue-subtle);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.45}.table-scope-note[hidden]{display:none}.table-container{overflow-x:auto;max-height:500px;overflow-y:auto;border:1px solid var(--border-gray);border-radius:var(--radius-md)}#tax-rates-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}#tax-rates-table thead{position:sticky;top:0;z-index:15}#tax-rates-table thead th{position:sticky;top:0;background-color:var(--table-header-bg);color:var(--white);padding:.75rem 1rem;text-align:left;font-weight:600;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;font-size:var(--font-size-xs);transition:background var(--transition);z-index:15}#tax-rates-table thead th:nth-child(n+4){text-align:right}#tax-rates-table thead th.scenario-outcome-column,#tax-rates-table thead th.scenario-cost-column{width:10rem;min-width:9rem;max-width:11rem;line-height:1.25;vertical-align:bottom;white-space:normal}#tax-rates-table .scenario-cost-start,#tax-rates-table .scenario-total-start{border-left:2px solid var(--control-border)}#tax-rates-table th.sortable,#canton-overview-table th.sortable{cursor:pointer}#tax-rates-table th.sortable:hover,#canton-overview-table th.sortable:hover{background-color:var(--table-header-hover)}#tax-rates-table th.sortable:focus-visible,#canton-overview-table th.sortable:focus-visible{outline:3px solid var(--focus-ring-on-dark);outline-offset:-4px}#tax-rates-table th.sortable:after,#canton-overview-table th.sortable:after{content:"⇅";margin-left:.5rem;opacity:.5;font-size:var(--font-size-xs)}#tax-rates-table th.sort-asc:after,#canton-overview-table th.sort-asc:after{content:"↑";opacity:1}#tax-rates-table th.sort-desc:after,#canton-overview-table th.sort-desc:after{content:"↓";opacity:1}#tax-rates-table td,#tax-rates-table tbody th[scope=row]{padding:.5rem .75rem;border-bottom:1px solid var(--border-gray);white-space:nowrap}#tax-rates-table .tax-value{text-align:right;font-variant-numeric:tabular-nums}#tax-rates-table .canton-badge{display:inline-block;background:var(--light-gray);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;display:inline-flex;align-items:center}.canton-overview-table-container th:first-child,.canton-overview-table-container td:first-child{position:sticky;left:0;z-index:2;width:clamp(8.5rem,14vw,12rem);min-width:clamp(8.5rem,14vw,12rem);max-width:clamp(8.5rem,14vw,12rem);background:var(--canton-row-bg, var(--white));box-shadow:1px 0 0 var(--border-gray);white-space:normal;overflow-wrap:anywhere}#canton-overview-table thead th:first-child{z-index:4;background:var(--table-header-bg)}.canton-overview-table-container tbody th:first-child .canton-badge{max-width:100%;align-items:flex-start;white-space:normal}.canton-flag{height:14px;width:14px;margin-right:6px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.compare-col-header,.compare-col{width:44px;min-width:44px;max-width:44px;padding:4px!important;text-align:center;border-right:1px solid var(--border-gray)}.compare-col-header{background:var(--table-header-bg)!important;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.02em;color:var(--text-on-dark);line-height:1.1;text-transform:uppercase}.table-compare-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:50%;background:var(--accent-blue-subtle);color:var(--navy);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1;padding:0}.table-compare-btn:hover:not(:disabled){background:var(--navy);color:var(--white);transform:scale(1.15);box-shadow:0 2px 8px var(--focus-shadow)}.table-compare-btn:active:not(:disabled){transform:scale(.95)}.table-compare-btn:disabled{opacity:.2;cursor:default;background:transparent;color:var(--text-secondary);font-size:var(--font-size-xs)}.table-municipality-btn{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.table-municipality-btn:hover{color:var(--accent-blue);text-decoration:underline;text-underline-offset:2px}.table-municipality-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px;border-radius:2px}#tax-rates-table tbody tr{--municipality-row-bg: var(--white);background:var(--municipality-row-bg)!important;cursor:pointer;transition:background-color .15s ease}#tax-rates-table tbody tr:nth-child(2n){--municipality-row-bg: var(--surface-row-alt)}#tax-rates-table tbody tr:hover{--municipality-row-bg: var(--surface-row-hover)}#tax-rates-table tbody tr:hover .table-compare-btn:not(:disabled){background:var(--accent-blue-light)}#tax-rates-table tbody tr.selected-row{--municipality-row-bg: var(--accent-blue-light)}#tax-rates-table tbody tr.selected-row:hover{--municipality-row-bg: var(--accent-blue-selection-hover)}#tax-rates-table tbody tr.selected-row th[scope=row]{padding-left:.8rem;border-left:4px solid var(--accent-blue);color:var(--accent-blue)}#tax-rates-table thead th:nth-child(2),#tax-rates-table tbody th[scope=row]{position:sticky;left:0;z-index:10;box-shadow:2px 0 4px #00000014;min-width:110px;max-width:140px;white-space:normal}#tax-rates-table tbody th[scope=row]{color:var(--text-primary);text-align:left;font-weight:600}#tax-rates-table thead th:nth-child(2){z-index:20;background-color:var(--table-header-bg)}#tax-rates-table tbody th[scope=row]{background-color:var(--municipality-row-bg)}@media(max-width:768px){#municipality-search,#compare-search{font-size:var(--font-size-base)}.map-hovercard{display:none!important}.map-metric-control{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem}.map-metric-control[hidden]{display:none}.map-metric-options{width:100%}.map-metric-options span{min-height:44px;padding:.5rem}.container{padding:.6rem}.social-proof-bar{padding:.4rem .6rem}.social-proof-bar .proof-content{gap:.6rem;font-size:var(--font-size-xs);flex-wrap:wrap}.social-proof-bar .proof-stat{gap:.25rem}.social-proof-bar .proof-stat .stat-icon{width:11px;height:11px}.top-bar{padding:.4rem 1rem;font-size:var(--font-size-xs);gap:1rem}.top-bar a{min-height:44px}header{padding:.75rem}.header-content{flex-direction:column;align-items:flex-start;gap:.75rem}.brand-mark{width:38px;height:38px;font-size:var(--font-size-base)}.brand-text h1,.brand-text>.brand-title{font-size:var(--font-size-base)}.brand-text span{font-size:var(--font-size-xs)}.data-badge{padding:.3rem .6rem;font-size:var(--font-size-xs)}nav{overflow-x:auto;-webkit-overflow-scrolling:touch}nav ul{flex-wrap:nowrap;padding:0 .6rem;min-width:max-content}nav li a{padding:.75rem 1rem;font-size:var(--font-size-md);white-space:nowrap}.disclaimer{padding:.5rem .75rem;font-size:var(--font-size-xs);margin-bottom:.75rem}.card-header{padding:.75rem}.card-header h1,.card-header h2{font-size:var(--font-size-lg)}.card-header p{font-size:var(--font-size-md)}.card-body{padding:.75rem}.controls-section{padding:.75rem;overflow:visible}.calculator-group{padding:.8rem}.calculator-group-help{margin-bottom:.65rem}.input-row{grid-template-columns:1fr;gap:.75rem}.activity-profile-options,.advanced-fields-grid,.profile-calculation-summary,.self-employed-contribution-people{grid-template-columns:minmax(0,1fr)}.activity-profile-options span{min-height:44px;justify-content:flex-start;padding-inline:.75rem;text-align:left}.adult-profile-card{padding:.75rem 0 0}.reference-age-choice,.advanced-toggle,.profile-advanced>summary{min-height:44px;align-items:center}.info-button.reference-age-info-button{width:44px;height:44px}.scenario-note-header{align-items:flex-start;flex-direction:column}.scenario-metrics{grid-template-columns:minmax(0,1fr)}.scenario-assumptions>summary{min-height:44px}.results-view-section{grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.9rem}.results-view-control{width:100%}.input-group{width:100%;max-width:100%}.input-group label{min-height:0}.asset-income-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.asset-income-mode-options span{min-height:44px;padding:.55rem .65rem}.asset-income-basis-choice{min-height:44px;align-items:center}.asset-income-basis-choice input{width:1.2rem;height:1.2rem;margin-top:0}.input-group input,.input-group select{min-width:0;width:100%;max-width:100%;padding:.9rem 1rem;font-size:var(--font-size-base);box-sizing:border-box}.input-group select{padding-right:2.5rem}.input-with-dropdown{width:100%}.dropdown-toggle{padding:.9rem 1rem;min-width:88px}.preset-dropdown-menu{margin-top:2px;width:100%;left:0;right:0;box-sizing:border-box}.preset-option{padding:.9rem 1rem}#map{height:clamp(360px,55vh,480px);min-height:360px}#map-container{scroll-margin-top:100px}.legend{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.legend h2{width:100%;margin-bottom:0}.legend-scale{width:100%;flex-direction:row;align-items:center;gap:.5rem}.legend-bar{flex:1;height:10px}.legend-labels{display:flex;flex-direction:row;gap:0;font-size:var(--font-size-xs);font-weight:500}.legend-context{justify-content:flex-start}.tax-table-section{margin-top:1.5rem;padding-top:1rem}.tax-table-section h2{font-size:var(--font-size-base)}.table-description{font-size:var(--font-size-xs)}.table-container{max-height:350px}#tax-rates-table{font-size:var(--font-size-xs)}#tax-rates-table thead th{padding:.5rem .4rem;font-size:var(--font-size-xs)}#tax-rates-table td,#tax-rates-table tbody th[scope=row]{padding:.4rem}.compare-col-header,.compare-col{width:48px;min-width:48px;max-width:48px}.table-compare-btn{width:44px;height:44px}#tax-rates-table .canton-badge{font-size:var(--font-size-xs);padding:.15rem .3rem}.tooltip{display:none;position:fixed;bottom:0;left:0!important;right:0!important;top:auto!important;width:100%!important;min-width:0;max-width:none!important;max-height:80vh;overflow-y:auto;transform:translateY(100%);border-radius:0;box-shadow:0 -4px 20px #0003;pointer-events:auto;z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.map-inspector-shell.detail-open .municipality-detail-panel{top:auto;bottom:0;max-height:80vh;box-shadow:0 -4px 20px #0003}.tooltip.visible{display:block;transform:translateY(0)}.tooltip-header{padding:.5rem 1rem;position:sticky;top:0;z-index:1;border-radius:0;display:flex;align-items:center;justify-content:space-between}.commune-name{font-size:var(--font-size-base);flex:1}.tooltip-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;color:var(--text-on-dark-muted);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;margin-left:.5rem;transition:color var(--transition);padding-top:2px}.tooltip-close:hover,.tooltip-close:active{color:var(--white)}.tooltip-content{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.6rem .9rem .75rem}.tax-section{width:100%;min-width:0}.tax-section h3{font-size:var(--font-size-xs);margin-bottom:.3rem;padding-bottom:.25rem}.tax-row{font-size:var(--font-size-sm);padding:.1rem 0;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.tax-row .label{font-size:var(--font-size-xs);flex-shrink:1;min-width:0}.tax-row .value{font-size:var(--font-size-sm);text-align:right;white-space:nowrap;flex-shrink:0}.tax-row .value.highlight{font-size:var(--font-size-md)}.tax-row.total,.tax-row.effective-rate,.tax-row.chf-amount{margin-top:.2rem;padding-top:.2rem}.total-tax-section{width:100%;margin:0;padding:.75rem .85rem!important;border-radius:var(--radius-sm)}.estimate-breakdown{grid-template-columns:1fr 1fr}.estimate-attribution-grid,.annual-burden-detail-grid,.municipality-detail-panel .estimate-legal-components{grid-template-columns:minmax(0,1fr)}#wealth-burden-rate-row{grid-column:1 / -1}.table-municipality-btn{display:flex;align-items:center;min-height:44px}.tax-rule-facts,.multiplier-grid{grid-template-columns:minmax(0,1fr);gap:.45rem}.coefficient-calculation-step{grid-template-columns:minmax(0,1fr)}.coefficient-calculation-step .coefficient-formula{text-align:left}.tax-rule-mechanics>summary,.multiplier-details>summary{display:flex;align-items:center;gap:.4rem;min-height:44px;list-style:none}.tax-rule-mechanics>summary::-webkit-details-marker,.multiplier-details>summary::-webkit-details-marker{display:none}.tax-rule-mechanics>summary:before,.multiplier-details>summary:before{content:"";width:.4rem;height:.4rem;flex:0 0 auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}.tax-rule-mechanics[open]>summary:before,.multiplier-details[open]>summary:before{transform:rotate(45deg)}.tax-rule-mechanics>summary:focus-visible,.multiplier-details>summary:focus-visible{border-radius:.2rem;outline:3px solid var(--focus-ring);outline-offset:2px}footer{padding:1.5rem .75rem 1rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-disclaimer{max-width:100%}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}#tax-brackets-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.search-section{flex-direction:column;align-items:stretch}.search-container{max-width:100%;width:100%}}@media(max-width:480px){.top-bar{justify-content:center}.brand{gap:.75rem}.brand-text{padding-left:.75rem}#map{height:280px;min-height:280px}.municipality-detail-panel .tariff-base-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.municipality-detail-panel .tariff-base-row .value{max-width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}.legend{flex-direction:column;align-items:flex-start}.legend-bar{width:100%;max-width:200px}.municipality-detail-panel .tax-limit-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--space-2);row-gap:var(--space-1)}.municipality-detail-panel .tax-limit-heading:before{grid-column:1;grid-row:1}.municipality-detail-panel .tax-limit-heading strong{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}.municipality-detail-panel .tax-limit-status{grid-column:2;grid-row:2;justify-self:start;max-width:100%;white-space:normal}.municipality-detail-panel .tooltip-reference-note{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.municipality-detail-panel .tooltip-reference-note strong{white-space:normal}nav li a{padding:.7rem .8rem;font-size:var(--font-size-sm)}}.canton{fill:none;pointer-events:none;vector-effect:non-scaling-stroke}.canton-boundary-halo{stroke:var(--map-boundary-halo);stroke-width:2.5px;opacity:.92}.canton-boundary-line{stroke:var(--map-boundary);stroke-width:1px}.hidden{display:none!important}.tax-brackets-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:var(--font-size-sm)}.tax-brackets-table th,.tax-brackets-table td{padding:.6rem 1rem;text-align:right;border:1px solid var(--border-gray);font-variant-numeric:tabular-nums}.tax-brackets-table th{background:var(--table-header-bg);color:var(--white);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.tax-brackets-table tbody tr:nth-child(2n){background:var(--light-gray)}.tax-brackets-table tbody tr:hover{background:var(--accent-blue-subtle)}.tax-brackets-table td:first-child{font-variant-numeric:tabular-nums}.tax-brackets-table td:nth-child(2){color:var(--text-primary);font-weight:600}.bracket-canton-heading{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4);border:1px solid var(--border-gray);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600}.bracket-canton-heading small{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500}.bracket-canton-flag{width:2rem;height:2rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.1))}.bracket-status-heading,.bracket-authority-heading{margin:var(--space-6) 0 var(--space-2);color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600}.bracket-authority-heading{padding-bottom:var(--space-1);border-bottom:2px solid var(--accent-blue)}.bracket-authority-flag{width:1.25rem;height:1.25rem;margin-right:var(--space-2);vertical-align:text-bottom}.bracket-substatus-heading{margin:var(--space-4) 0 var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600}.bracket-federal-note{margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.bracket-calculation-note{margin:.75rem 0 1rem;padding:.75rem .9rem;border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-blue-light);color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.5}.loading-text{color:var(--text-secondary);font-style:italic}#compare-view .content-card{max-width:900px;margin:0 auto}.compare-body{padding:1.5rem 1.75rem}.compare-search-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.compare-search-container{position:relative;max-width:500px}.compare-search-container .search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;z-index:1}#compare-search{width:100%;padding:.7rem 1rem .7rem 2.5rem;font-size:var(--font-size-md);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition)}#compare-search:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-shadow)}#compare-search:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.compare-chips{display:flex;flex-wrap:wrap;gap:.5rem}.compare-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .6rem .4rem .75rem;background:var(--navy);color:var(--white);border-radius:100px;font-size:var(--font-size-sm);font-weight:500;animation:fadeIn .2s ease}.compare-chip .chip-flag{height:14px;border-radius:2px}.compare-chip .chip-canton{color:var(--text-on-dark-muted);font-weight:400;font-size:var(--font-size-xs)}.compare-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:#ffffff26;border:none;color:var(--text-on-dark-muted);cursor:pointer;font-size:var(--font-size-xs);line-height:1;padding:0;margin-left:.15rem;transition:background .15s ease}.compare-chip .chip-remove:hover{background:#ffffff4d;color:var(--white)}.compare-prompt{display:flex;align-items:center;gap:.75rem;padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:var(--font-size-md);justify-content:center}.compare-prompt-icon{flex:0 0 auto;opacity:.55}.compare-results{margin-top:.5rem}.compare-summary{background:var(--success-surface);border:1px solid var(--success-border);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem}.compare-summary .summary-icon{font-size:var(--font-size-md);font-weight:700;color:var(--success-green);background:var(--white);padding:.3rem .6rem;border-radius:6px;flex-shrink:0;letter-spacing:.02em}.compare-summary .summary-text{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.4}.compare-summary .summary-amount{font-weight:700;color:var(--success-green);font-size:var(--font-size-lg)}.compare-table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-gray)}.compare-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.compare-table thead th{background:var(--table-header-bg);color:var(--white);padding:.75rem 1rem;text-align:right;font-weight:600;font-size:var(--font-size-xs);white-space:nowrap;letter-spacing:.02em}.compare-table thead th:first-child{position:sticky;left:0;z-index:3;text-align:left;border-top-left-radius:var(--radius-sm)}.compare-table thead th:last-child{border-top-right-radius:var(--radius-sm)}.compare-table thead th .th-canton{display:block;font-weight:400;color:var(--text-on-dark-muted);font-size:var(--font-size-xs);margin-top:.15rem}.compare-table thead th .th-flag{height:14px;border-radius:2px;margin-right:.4rem;vertical-align:middle}.compare-table tbody td,.compare-table tbody th[scope=row]{padding:.6rem 1rem;text-align:right;border-bottom:1px solid var(--border-gray);font-variant-numeric:tabular-nums}.compare-table tbody th[scope=row]{position:sticky;left:0;z-index:2;background:var(--white);box-shadow:1px 0 0 var(--border-gray);text-align:left;font-weight:500;color:var(--text-secondary);font-size:var(--font-size-sm)}.compare-table tbody tr:last-child td,.compare-table tbody tr:last-child th{border-bottom:none}.compare-table tbody tr.compare-row-total td,.compare-table tbody tr.compare-row-total th{font-weight:700;border-top:2px solid var(--border-gray);padding-top:.75rem;font-size:var(--font-size-md)}.compare-table tbody tr.compare-row-rate td,.compare-table tbody tr.compare-row-rate th{color:var(--text-secondary);font-size:var(--font-size-sm)}.delta-positive{color:var(--danger-red);font-size:var(--font-size-xs);font-weight:500}.delta-negative{color:var(--success-green);font-size:var(--font-size-xs);font-weight:500}.delta-neutral{color:var(--success-green);font-size:var(--font-size-xs);font-weight:600}.delta-lowest{color:var(--success-green);font-size:var(--font-size-xs);font-weight:700;background:var(--success-surface-subtle);padding:1px 6px;border-radius:4px}.compare-table .cheapest-col{background:var(--success-surface-subtle)}.compare-table thead th.cheapest-col{background:var(--navy-light);box-shadow:inset 0 -3px 0 var(--success-green)}.compare-amounts-prompt{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;margin-top:1rem;background:var(--light-gray);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-md)}@media(max-width:768px){.compare-header-left{gap:.6rem}.compare-header h2{font-size:var(--font-size-base)}.compare-body{padding:.4rem}.compare-search-container{max-width:100%}#compare-search{font-size:var(--font-size-base)}.compare-chip .chip-remove{width:44px;height:44px;margin-block:-.35rem;margin-right:-.35rem}.compare-table{font-size:var(--font-size-sm)}.tax-brackets-table{min-width:400px;font-size:var(--font-size-sm)}.tax-brackets-table th,.tax-brackets-table td{padding:.5rem .75rem}.compare-table thead th,.compare-table tbody td,.compare-table tbody th[scope=row]{padding:.4rem .35rem}.compare-section{margin-top:1.5rem;padding-top:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.activity-profile-options input:checked+span,.asset-income-mode-options input:checked+span,.map-metric-options input:checked+span{forced-color-adjust:none;border-color:Highlight;background:Highlight;color:HighlightText}.tax-limit-status,.map-hovercard-rule-badge,.tax-limit-badge,.ordinary-rule-badge{border:1px solid currentColor}.profile-summary-item{border:1px solid CanvasText}.legend-bar,.legend-swatch,path.commune,path.lake,path.major-lake{forced-color-adjust:none;border:1px solid CanvasText;stroke:var(--municipality-stroke, CanvasText)}path.lake,path.major-lake{stroke:CanvasText}path.commune:hover,path.commune.active,path.table-highlight-overlay,path.commune.foreign-territory:hover,path.commune.foreign-territory.active,path.commune.search-highlight{stroke:Highlight!important;stroke-width:3px!important;filter:none!important}.canton-highlight{forced-color-adjust:none;stroke:Highlight!important;filter:none!important}.canton-boundary-halo{forced-color-adjust:none;stroke:Canvas!important}.canton-boundary-line{forced-color-adjust:none;stroke:CanvasText!important}}.blog-page{padding:2rem 0 4rem}.blog-page .container{max-width:900px;margin:0 auto;padding:0 1.5rem}.blog-header{margin-bottom:2.5rem}.blog-header h1{font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.blog-header p{font-size:var(--font-size-lg);color:var(--text-secondary)}.blog-grid{display:flex;flex-direction:column;gap:1.25rem}.blog-card{display:block;background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-md);padding:1.5rem 1.75rem;text-decoration:none;color:inherit;transition:border-color var(--transition),box-shadow var(--transition),transform .15s ease}.blog-card:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.blog-card:focus-visible,.blog-back-link:focus-visible,.prose-table-scroll:focus-visible,.standalone-table-scroll:focus-visible{outline:3px solid var(--accent-blue);outline-offset:3px}.blog-card h2{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:.5rem;line-height:1.4}.blog-card p{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.blog-card-meta{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:.6rem}.blog-reading-time{background:var(--accent-blue-light);color:var(--accent-blue);padding:.15rem .5rem;border-radius:20px;font-weight:500;font-size:var(--font-size-xs)}.blog-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.blog-tag{background:var(--light-gray);color:var(--text-secondary);padding:.2rem .6rem;border-radius:20px;font-size:var(--font-size-xs);font-weight:500}.blog-article{background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-md);padding:2.5rem}.blog-article-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-gray)}.blog-back-link{display:inline-block;font-size:var(--font-size-md);color:var(--accent-blue);text-decoration:none;margin-bottom:1.25rem;font-weight:500;transition:opacity var(--transition)}.blog-back-link:hover{color:var(--navy);text-decoration:underline;text-underline-offset:2px}.blog-article-header h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-primary);line-height:1.3;margin-bottom:.75rem}.blog-article-meta{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-md);color:var(--text-muted);margin-bottom:.75rem}.blog-separator{color:var(--border-gray)}.blog-content.prose{font-size:var(--font-size-base);line-height:1.75;color:var(--text-primary)}.blog-content.prose h2{font-size:var(--font-size-2xl);font-weight:600;margin-top:2.25rem;margin-bottom:.75rem;color:var(--text-primary)}.blog-content.prose h3{font-size:var(--font-size-lg);font-weight:600;margin-top:1.75rem;margin-bottom:.5rem;color:var(--text-primary)}.blog-content.prose p{margin-bottom:1.25rem}.blog-content.prose ul,.blog-content.prose ol{margin:1rem 0;padding-left:1.5rem}.blog-content.prose li{margin-bottom:.4rem}.blog-content.prose strong{font-weight:600;color:var(--text-primary)}.blog-content.prose a{color:var(--accent-blue);text-decoration:underline;text-underline-offset:2px}.blog-content.prose a:hover{color:var(--navy-light)}.blog-content.prose code{background:var(--light-gray);padding:.15rem .4rem;border-radius:4px;font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace}.blog-content.prose blockquote{border-left:3px solid var(--accent-blue);margin:1.5rem 0;padding:.75rem 1.25rem;background:var(--accent-blue-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}.prose-table-scroll{max-width:100%;margin:1.5rem 0;overflow-x:auto;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--white);scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.blog-content.prose .prose-table-scroll table{width:100%;border-collapse:collapse;margin:0;font-size:var(--font-size-md)}.blog-content.prose th,.blog-content.prose td{padding:.6rem .8rem;border-right:1px solid var(--border-gray);border-bottom:1px solid var(--border-gray);text-align:left;vertical-align:top}.blog-content.prose tr:last-child>*{border-bottom:0}.blog-content.prose tr>*:last-child{border-right:0}.blog-content.prose th{background:var(--light-gray);font-weight:600}.blog-content.prose th[scope=row]{background:var(--white)}.blog-content.prose hr{border:none;border-top:1px solid var(--border-gray);margin:2rem 0}.blog-content.prose img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1.5rem 0}.blog-content.prose em:last-child{display:block;font-size:var(--font-size-md);color:var(--text-muted);margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-gray)}.standalone-prose{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.7}.standalone-prose>h2{margin:0 0 .75rem;color:var(--text-primary);font-size:var(--font-size-xl);font-weight:700;line-height:1.35}.standalone-prose>h2:not(:first-child){margin-top:2.25rem}.standalone-prose>h3{margin:1.5rem 0 .625rem;color:var(--text-primary);font-size:var(--font-size-base);font-weight:700;line-height:1.45}.standalone-prose>p,.standalone-prose .prose-section,.standalone-prose .prose-callout,.standalone-prose .prose-formula,.standalone-prose .prose-list{margin-bottom:1.5rem}.standalone-prose .prose-section>p{margin-bottom:.75rem}.standalone-prose .prose-section>p:last-child{margin-bottom:0}.standalone-prose a{color:var(--accent-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.standalone-prose a:hover{color:var(--navy-light)}.standalone-prose a:focus-visible{border-radius:2px;outline:3px solid var(--focus-ring);outline-offset:2px}.prose-callout{padding:1rem 1.125rem;border-left:4px solid var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-blue-subtle)}.prose-callout-warning{border-left-color:var(--warning-amber);background:var(--warning-surface);color:var(--warning-amber)}.prose-formula{max-width:100%;padding:1rem;overflow-wrap:anywhere;border:1px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--light-gray);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:var(--font-size-md);line-height:1.65}.prose-list{padding-left:1.5rem;color:var(--text-secondary);list-style:disc}.prose-list-spacious{margin-bottom:2rem}.prose-list li{margin-bottom:.625rem}.prose-list li:last-child{margin-bottom:0}.prose-control-group{margin:1.5rem 0}.prose-note{margin-top:1.5rem;color:var(--text-secondary)}.standalone-table-scroll{max-width:100%;overflow-x:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}@media(max-width:768px){.brand-text>.brand-title{font-size:var(--font-size-base)}.blog-page{padding:1.25rem 0 2rem}.blog-page .container{padding:0 1rem}.blog-header h1{font-size:var(--font-size-2xl)}.blog-card{padding:1.25rem}.blog-card h2{font-size:var(--font-size-lg)}.blog-article{padding:1.5rem 1.25rem}.blog-article-header h1{font-size:var(--font-size-xl)}.blog-content.prose{font-size:var(--font-size-base)}.blog-content.prose h2{font-size:var(--font-size-xl)}.blog-content.prose h3{font-size:var(--font-size-lg)}.blog-content.prose .prose-table-scroll table,.standalone-table-scroll table{min-width:40rem}.standalone-prose{font-size:var(--font-size-base)}.standalone-prose>h2{font-size:var(--font-size-lg)}.standalone-prose>h2:not(:first-child){margin-top:1.75rem}.prose-formula{padding:.875rem;font-size:var(--font-size-sm)}}
