*,:before,:after{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fdfcf8;--paper-deep:#f5efde;--paper-hover:#f0e8cf;--rule:#e6dfca;--rule-2:#d8d2c1;--ink:#1a1a1a;--ink-2:#3b3a35;--ink-mute:#8a8377;--ink-faint:#b3aa97;--accent:#1c3a5e;--accent-soft:#d8e2eb;--accent-hover:#142a44;--signal:#c44a1c;--signal-soft:#f6dfd2;--signal-hover:#a23914;--ok:#4b6b3f;--ok-soft:#dfe7d3;--warn:#a36c1f;--warn-soft:#f1e2c4;--bad:#a32d2d;--bad-soft:#f1d1d1;--bad-hover:#821e1e;--ink-on-accent:#fffaf0;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:ui-serif, "Iowan Old Style", "Apple Garamond", Garamond, Georgia, serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:48px;--s-9:64px;--r-s:4px;--r-m:6px;--t-fast:80ms;--t-base:.14s;--primary:var(--accent);--bg:var(--paper);--surface:var(--paper);--text:var(--ink);--muted:var(--ink-mute);--border:var(--rule);--success:var(--ok);--warning:var(--warn);--warning-bg:var(--warn-soft);--danger:var(--bad);--danger-bg:var(--bad-soft);--focus-ring:var(--accent-soft);--shadow:none;font-family:var(--font-sans);font-size:14px;font-weight:400;line-height:1.5}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:500;line-height:1.15}a{color:var(--accent);transition:color var(--t-fast) ease, opacity var(--t-fast) ease;text-decoration:none}a:hover{color:var(--signal)}button,input,select,textarea{font:inherit}button,.button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),.button:not(:disabled){transition:transform var(--t-fast) ease, background-color var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease}button:not(:disabled):active,.button:not(:disabled):active{transform:translateY(1px)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num-serif{font-family:var(--font-serif);font-variant-numeric:tabular-nums}.mono-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);font-size:.7rem;font-weight:600}.t-h1,.t-h2,.t-h3{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-style:italic;font-weight:500;line-height:1.1}.t-h1{font-size:2.5rem}.t-h2{font-size:1.4rem}.t-h3{font-size:1.1rem}.t-body{font-family:var(--font-sans);color:var(--ink-2);margin:0;font-size:14px;font-weight:500;line-height:1.5}.t-num{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink)}.t-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);margin:0;font-size:.7rem;font-weight:600}button,.button{border:1px solid var(--ink);border-radius:var(--r-s);background:var(--paper);color:var(--ink);font-family:var(--font-sans);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}button:hover:not(:disabled),.button:hover:not(:disabled){background:var(--ink);color:var(--paper)}button.button--primary,.button--primary{background:var(--accent);border-color:var(--accent);color:var(--ink-on-accent)}button.button--primary:hover:not(:disabled),.button--primary:hover:not(:disabled){background:var(--accent-hover);color:var(--ink-on-accent)}button.button--ghost,.button--ghost{border-color:var(--rule);color:var(--ink-mute);background:0 0}button.button--ghost:hover:not(:disabled),.button--ghost:hover:not(:disabled){background:var(--paper-hover);color:var(--ink);border-color:var(--ink)}button.button--signal,.button--signal{background:var(--signal);border-color:var(--signal);color:var(--ink-on-accent)}button.button--signal:hover:not(:disabled),.button--signal:hover:not(:disabled),button.button--signal.is-hover:not(:disabled),.button--signal.is-hover:not(:disabled){background:var(--signal-hover);color:var(--ink-on-accent)}button.button--bad,.button--bad{background:var(--bad);border-color:var(--bad);color:var(--ink-on-accent)}button.button--bad:hover:not(:disabled),.button--bad:hover:not(:disabled),button.button--bad.is-hover:not(:disabled),.button--bad.is-hover:not(:disabled){background:var(--bad-hover);color:var(--ink-on-accent)}button.button--bad:focus-visible,.button--bad:focus-visible,button.button--bad.is-focus,.button--bad.is-focus{outline:2px solid var(--bad);outline-offset:2px}button.button--sm,.button--sm{padding:3px 8px;font-size:.75rem}button.button--lg,.button--lg{padding:8px 16px;font-size:.95rem}button.is-hover:not(:disabled),.button.is-hover:not(:disabled){background:var(--ink);color:var(--paper)}button.button--primary.is-hover:not(:disabled),.button--primary.is-hover:not(:disabled){background:var(--accent-hover);color:var(--ink-on-accent)}button.button--ghost.is-hover:not(:disabled),.button--ghost.is-hover:not(:disabled){background:var(--paper-hover);color:var(--ink);border-color:var(--ink)}button.is-focus,.button.is-focus{outline:2px solid var(--accent);outline-offset:2px}button:disabled,.button:disabled,button.is-disabled,.button.is-disabled{opacity:.5;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]):not(.toggle),select,textarea{border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--paper);width:100%;color:var(--ink);font-family:var(--font-sans);padding:8px 10px;font-size:.9rem}input:not([type=checkbox]):not([type=radio])::placeholder,textarea::placeholder{color:var(--ink-faint)}input:not([type=checkbox]):not([type=radio]):not(.toggle):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.card{border:1px solid var(--rule);border-radius:var(--r-m);padding:var(--s-4);background:var(--paper);box-shadow:none}table{border-collapse:collapse;width:100%}th,td{padding:8px var(--s-3);border-bottom:1px solid var(--rule);text-align:left}th{background:var(--paper-deep);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);border-bottom:2px solid var(--ink);font-size:.7rem;font-weight:600}.breakdown-table__member-header-content{align-items:center;gap:.45rem;display:inline-flex}.breakdown-table__member-dot{border-radius:999px;flex-shrink:0;width:.75rem;height:.75rem}.breakdown-table__value,.breakdown-table__share-value{font-family:var(--font-serif);font-variant-numeric:tabular-nums}.breakdown-table__note,.breakdown-table__empty{color:var(--ink-mute);margin:0;font-size:.78rem}.breakdown-table__wrapper{overflow-x:auto}.breakdown-table{border-collapse:collapse;background:var(--paper);min-width:100%;font-family:var(--font-sans)}.breakdown-table th{background:var(--paper-deep);color:var(--ink-mute);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink);text-align:left;padding:6px 12px;font-size:.65rem;font-weight:600}.breakdown-table th.breakdown-table__value,.breakdown-table th.breakdown-table__share,.breakdown-table th.breakdown-table__member-header{text-align:right}.breakdown-table th.breakdown-table__member-header .breakdown-table__member-header-content{justify-content:flex-end}.breakdown-table td{border-bottom:1px solid var(--rule);color:var(--ink);vertical-align:middle;background:var(--paper);transition:background-color var(--t-fast) ease;padding:6px 12px;font-size:.9rem}.breakdown-table tbody tr:last-child td{border-bottom:none}.breakdown-table tbody tr:hover td{background:var(--paper-hover)}.breakdown-table__row--category td,.breakdown-table__total-row td{background:var(--paper-deep)}.breakdown-table tbody tr.breakdown-table__row--category:hover td,.breakdown-table tfoot tr.breakdown-table__total-row:hover td{background:var(--paper-hover)}.breakdown-table__row--item td,.breakdown-table__row--item .breakdown-table__label-text{color:var(--ink-2)}.breakdown-table__cat-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.breakdown-table__label-wrap{gap:.25rem;min-width:220px;display:grid}.breakdown-table__row--category .breakdown-table__label-text,.breakdown-table__total-row .breakdown-table__label-text{color:var(--ink);font-weight:700}.breakdown-table__note.is-positive{color:var(--warn)}.breakdown-table__note.is-negative{color:var(--bad)}.breakdown-table__value{text-align:right;white-space:nowrap}.breakdown-table__member-header{text-align:right}.breakdown-table__share{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-mute)}.breakdown-table__bar-cell{vertical-align:middle;width:100px}.breakdown-table__bar{border-radius:var(--r-s);background:var(--paper-deep);border:1px solid var(--rule-2);width:100%;height:8px;overflow:hidden}.breakdown-table__bar-fill{background:var(--ink-mute);height:100%;transition:width .3s}.breakdown-table__empty{min-height:180px;padding:var(--s-4);border:1px dashed var(--rule-2);border-radius:var(--r-s);background:var(--paper);text-align:center;font-family:var(--font-serif);color:var(--ink-mute);justify-content:center;align-items:center;font-style:italic;display:flex}.breakdown-table__total-row td{border-top:2px solid var(--ink);font-weight:700}@media (width<=640px){.category-sidebar__row{grid-template-columns:1fr}.editor-preview-card__header,.editor-category-header{align-items:flex-start}.breakdown-table__label-wrap{min-width:180px}.breakdown-table__bar-cell{width:80px}}.income-mode-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.income-mode-toggle__button{color:var(--muted);background:0 0;border:none;border-radius:0;flex:1 1 0;padding:.6rem .75rem;font-size:.875rem;font-weight:600}.income-mode-toggle__button:hover:not(.is-active){background:#f1f5f9}.income-mode-toggle__button.is-active{background:var(--primary);color:#fff}.income-intro{gap:.85rem;display:grid}.income-title{margin:1rem 0 .5rem;font-size:clamp(2rem,4vw,2.4rem)}.income-subtitle{color:var(--muted);margin:0}.income-inputs{gap:1.25rem;display:grid}.income-field{gap:.4rem;display:grid}.income-field[hidden]{display:none}.income-field__label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:600;display:block}.income-checkbox-field{cursor:pointer;align-items:center;gap:.6rem;display:flex}.income-checkbox-field input[type=checkbox]{cursor:pointer;width:auto}.income-pct-input{font-variant-numeric:tabular-nums}.income-tax-year{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;align-items:center;padding:.7rem .85rem;font-weight:500;display:inline-flex}.income-results{gap:1.5rem;display:grid}.income-result-primary{text-align:center;border-bottom:1px solid var(--border);padding-bottom:1.25rem}.income-result-primary:empty{display:none}.income-result-primary__label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.85rem;font-weight:600}.income-result-primary__value{color:#16a34a;font-variant-numeric:tabular-nums;font-size:clamp(2rem,4vw,2.8rem);font-weight:700}.income-results__body{gap:1.5rem;display:grid}.income-results__empty{text-align:center;color:var(--muted);margin:0;padding:2rem 1rem}.income-summary{text-align:center;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.income-summary__stat{gap:.2rem;display:grid}.income-summary__label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.income-summary__value{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600}.income-breakdown,.income-insights{border-top:1px solid var(--border);padding-top:1.25rem}.income-breakdown__title,.income-insights__title{margin:0 0 .75rem;font-size:.95rem;font-weight:700}.income-breakdown__table{width:100%}.income-breakdown__table td{border-bottom:none;padding:.5rem 0}.income-breakdown__amount{text-align:right;font-variant-numeric:tabular-nums}.income-breakdown__total{border-top:2px solid var(--border);font-weight:700}.income-breakdown__total td{padding-top:.75rem}.income-insights__list{grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0;display:grid}.income-insights__list dt{color:var(--muted);font-size:.9rem;font-weight:600}.income-insights__list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.income-actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.qg-field{align-content:start;gap:4px;display:grid}.qg-field__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);font-size:.7rem;font-weight:600}.qg-field__hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-mute);font-size:.7rem}.qg-field__error{font-family:var(--font-mono);letter-spacing:.04em;color:var(--bad);font-size:.7rem}.input{background:var(--paper);border:1px solid var(--rule-2);width:100%;color:var(--ink);font:500 .85rem var(--font-sans);border-radius:var(--r-s);transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease;padding:6px 10px;display:block}.input:focus,.input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.input[disabled]{background:var(--paper-deep);color:var(--ink-mute);cursor:not-allowed}.input.is-error,.input.is-error:focus,.input.is-error:focus-visible{border-color:var(--bad);box-shadow:0 0 0 2px var(--bad-soft)}.input--currency{font-family:var(--font-serif);font-variant-numeric:tabular-nums;text-align:right;font-style:italic}textarea.input{resize:vertical;min-height:80px;font-family:var(--font-sans)}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-mute) 50%), linear-gradient(135deg, var(--ink-mute) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}input.check{appearance:none;border:1px solid var(--ink);background:var(--paper);vertical-align:middle;cursor:pointer;width:16px;height:16px;transition:background-color var(--t-fast) ease;border-radius:3px;place-items:center;margin:0;display:inline-grid}input.check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input.check:disabled{opacity:.5;cursor:not-allowed}input.check:checked{background:var(--ink)}input.check:checked:before{content:"✓";color:var(--paper);font-size:11px;font-weight:700;line-height:1}input.check.radio{border-radius:50%}input.check.radio:checked{background:var(--paper)}input.check.radio:checked:before{content:"";background:var(--ink);border-radius:50%;width:8px;height:8px}.toggle{appearance:none;background:var(--rule-2);cursor:pointer;width:32px;height:18px;transition:background-color var(--t-fast) ease;border:none;border-radius:999px;flex-shrink:0;margin:0;padding:0;position:relative}.toggle:after{content:"";background:var(--paper);width:16px;height:16px;transition:left var(--t-fast) ease;border-radius:50%;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #0003}.toggle:checked{background:var(--ok)}.toggle:checked:after{left:15px}.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle:disabled{opacity:.5;cursor:not-allowed}.inline-row{cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.inline-row:has(input:disabled){cursor:not-allowed;color:var(--ink-mute)}.segmented{border:1px solid var(--ink);border-radius:var(--r-s);background:var(--paper);display:inline-flex;overflow:hidden}.segmented--fill{width:100%;display:flex}.segmented--fill button{text-align:center;flex:1 1 0}.segmented button{background:var(--paper);border:none;border-right:1px solid var(--rule);font:600 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease;border-radius:0;padding:4px 10px}.segmented button:last-child{border-right:none}.segmented button:hover{background:var(--paper-hover);color:var(--ink)}.segmented button.is-active{background:var(--ink);color:var(--paper)}.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.month-strip{align-items:center;gap:4px;display:inline-flex}.month-strip .arrow{border:1px solid var(--rule);border-radius:var(--r-s);background:var(--paper);width:24px;height:24px;color:var(--ink-mute);cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease;place-items:center;padding:0;font-size:.8rem;display:inline-grid}.month-strip .arrow:hover:not(:disabled){background:var(--paper-hover);color:var(--ink)}.month-strip .arrow:disabled{opacity:.4;cursor:not-allowed}.month-strip .pick{display:inline-flex}.month-strip .pick button{background:var(--paper);border:1px solid var(--rule);font:600 .7rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease;border-right:none;border-radius:0;padding:4px 8px}.month-strip .pick button:first-child{border-radius:var(--r-s) 0 0 var(--r-s)}.month-strip .pick button:last-child{border-right:1px solid var(--rule);border-radius:0 var(--r-s) var(--r-s) 0}.month-strip .pick button:hover:not(:disabled){background:var(--paper-hover);color:var(--ink)}.month-strip .pick button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.month-strip .pick button:disabled{opacity:.4;cursor:not-allowed}.month-strip button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip-pick{flex-wrap:wrap;gap:6px;display:flex}.chip-pick button{border-radius:var(--r-s);cursor:pointer;--chip-ring:var(--ink);width:24px;height:24px;transition:transform var(--t-fast) ease;background:0 0;border:2px solid #0000;padding:0}.chip-pick button:hover:not(:disabled):not(.is-active){transform:translateY(-1px)}.chip-pick button.is-active{border-color:var(--chip-ring);box-shadow:inset 0 0 0 2px var(--paper)}.chip-pick button:disabled{opacity:.35;cursor:not-allowed}.chip-pick button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qg-kpi-strip{grid-template-columns:repeat(var(--qg-kpi-count,4), minmax(0, 1fr));border:1px solid var(--rule);border-radius:var(--r-m);background:var(--paper);display:grid;overflow:hidden}.qg-kpi{padding:var(--s-3) var(--s-4);border-right:1px solid var(--rule);gap:4px;display:grid}.qg-kpi:last-child{border-right:none}.qg-kpi__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mute);font-size:.68rem;font-weight:600}.qg-kpi__value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:-.015em;color:var(--ink);font-size:1.2rem;line-height:1.1}.qg-kpi__value--accent{color:var(--accent)}.qg-kpi__value--signal{color:var(--signal)}.qg-kpi__value--ok{color:var(--ok)}.qg-kpi__value--bad{color:var(--bad)}.qg-kpi__sub{font-family:var(--font-mono);color:var(--ink-mute);font-size:.7rem}.qg-kpi-strip--stacked{grid-template-columns:repeat(2,minmax(0,1fr))}.qg-kpi-strip--stacked .qg-kpi:nth-child(2n){border-right:none}.qg-kpi-strip--stacked .qg-kpi:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--rule)}@media (width<=640px){.qg-kpi-strip:not(.qg-kpi-strip--wide){grid-template-columns:repeat(2,minmax(0,1fr))}.qg-kpi-strip:not(.qg-kpi-strip--wide) .qg-kpi:nth-child(2n){border-right:none}.qg-kpi-strip:not(.qg-kpi-strip--wide) .qg-kpi:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--rule)}}.qg-hero-money{padding:var(--s-3) 0 var(--s-2);border-top:2px solid var(--ink);gap:2px;display:grid;position:relative}.qg-hero-money:after{content:"";background:var(--signal);width:64px;height:4px;position:absolute;top:-2px;left:0}.qg-hero-money__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mute);font-size:.68rem;font-weight:600}.qg-hero-money__value{font-family:var(--font-serif);letter-spacing:-.015em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:clamp(1.75rem,4vw,2.5rem);line-height:1}.qg-hero-money__hint{font-family:var(--font-mono);color:var(--ink-mute);font-size:.78rem}.qg-page-h{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);display:flex}.qg-page-h__title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.4rem;font-style:italic;font-weight:500}.qg-page-h__crumb{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);font-size:.7rem}.qg-section-h{align-items:end;gap:var(--s-3);padding-bottom:var(--s-2);border-bottom:2px solid var(--ink);grid-template-columns:1fr auto;display:grid;position:relative}.qg-section-h:after{content:"";background:var(--signal);width:64px;height:4px;position:absolute;bottom:-2px;left:0}.qg-section-h__title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.1rem;font-style:italic;font-weight:500}.qg-section-h__id{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);font-size:.7rem}.nav-top{justify-content:space-between;align-items:center;gap:var(--s-4);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);display:flex;container:nav-top/inline-size}.nav-top__brand{font-family:var(--font-serif);color:var(--ink);flex-shrink:0;font-size:1.05rem;font-style:italic;text-decoration:none}.nav-top__brand:before{content:"✦  ";color:var(--signal)}.nav-top__nav{flex-wrap:wrap;gap:2px;display:flex}.nav-top__nav--grouped{align-items:center;gap:8px}.nav-top__group{align-items:center;gap:2px;display:inline-flex}.nav-top__group-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);padding-right:4px;font-size:.6rem;font-weight:700}.nav-top__divider{background:var(--rule);width:1px;height:16px;display:inline-block}@container nav-top (width<=960px){.nav-top__group-label,.nav-top__divider{display:none}.nav-top__nav--grouped{gap:4px}}.nav-top__link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-mute);border-radius:var(--r-s);transition:background-color var(--t-fast) ease, color var(--t-fast) ease;padding:4px 10px;font-size:.72rem;font-weight:600;text-decoration:none}.nav-top__link:hover{background:var(--paper-hover);color:var(--ink)}.nav-top__link.is-active{background:var(--ink);color:var(--paper)}.nav-top__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-top__actions{flex-shrink:0;gap:6px;display:flex}.nav-top__actions:empty{display:none}.nav-mobile{padding-bottom:var(--s-2);margin-bottom:var(--s-3);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.nav-mobile .brand{font-family:var(--font-serif);color:var(--ink);font-size:1rem;font-style:italic;font-weight:500}.nav-mobile .brand:before{content:"✦  ";color:var(--signal)}.nav-mobile .menu-btn{border:1px solid var(--rule);border-radius:var(--r-s);width:28px;height:28px;color:var(--ink-mute);background:var(--paper);cursor:pointer;place-items:center;font-size:1rem;display:grid}.tab-bar{border-top:1px solid var(--ink);background:var(--paper);grid-template-columns:repeat(5,1fr);padding:4px 0;display:grid}.tab-bar__item{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-mute);transition:color var(--t-fast) ease;place-items:center;gap:2px;padding:6px 0;font-size:.6rem;font-weight:600;text-decoration:none;display:grid}.tab-bar__item:hover,.tab-bar__item.is-active{color:var(--ink)}.tab-bar__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tab-bar__ico{font-family:var(--font-serif);color:var(--ink-mute);transition:color var(--t-fast) ease;font-size:1.1rem;font-style:italic;line-height:1}.tab-bar__item.is-active .tab-bar__ico{color:var(--signal)}.table{border:1px solid var(--rule);border-radius:var(--r-m);background:var(--paper);overflow:hidden}.table-h{padding:6px var(--s-3) 6px calc(var(--s-3) + 3px);border-bottom:2px solid var(--ink);background:var(--paper-deep);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);align-items:center;font-size:.65rem;font-weight:600;display:grid}.row{padding:6px var(--s-3) 6px calc(var(--s-3) + 3px);border-bottom:1px solid var(--rule);background:var(--paper);cursor:default;transition:background-color var(--t-fast) ease;align-items:center;display:grid;position:relative}.row:last-child{border-bottom:none}.row:before{content:"";background:var(--signal);opacity:0;width:3px;transition:opacity var(--t-fast) ease;position:absolute;top:0;bottom:0;left:0}.row:hover{background:var(--paper-hover)}.row:hover:before{opacity:1}.row.is-hover-preview{background:var(--paper-hover)}.row.is-hover-preview:before{opacity:1}.row.is-hover-preview .row__actions{opacity:1;pointer-events:auto}.row.is-pending{background:#c18a3c0f}.row.is-pending .row__check{color:var(--warn)}.row.is-pending:hover,.row.is-pending.is-hover-preview{background:var(--paper-hover)}.row.is-pending:hover:before,.row.is-pending.is-hover-preview:before{background:var(--warn)}.row.is-selected{background:var(--accent-soft)}.row.is-selected:before{opacity:1;background:var(--accent)}.row--clickable{cursor:pointer}.row--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.row__check{font-family:var(--font-mono);color:var(--ink-faint)}.row__date{font-family:var(--font-mono);color:var(--ink-mute);font-size:.72rem}.row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:.9rem;overflow:hidden}.row__name em{color:var(--ink-mute);margin-left:4px;font-size:.78rem;font-style:normal}.row__num{text-align:right;font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink);font-size:.92rem}.row__num--in{color:var(--ok)}.row__num--out{color:var(--bad)}.row__dot{border-radius:50%;width:8px;height:8px;display:inline-block}.row__avatar{font-family:var(--font-mono);color:var(--ink-mute);font-size:.7rem;font-weight:600}.row__avatar--accent{color:var(--accent)}.row__avatar--signal{color:var(--signal)}.row__avatar--ok{color:var(--ok)}.row__avatar--warn{color:var(--warn)}.row__avatar--bad{color:var(--bad)}.row__actions{opacity:0;pointer-events:none;transition:opacity var(--t-fast) ease;justify-self:end;gap:4px;display:inline-flex}.row:hover .row__actions{opacity:1;pointer-events:auto}.row__actions button{background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-mute);border-radius:var(--r-s);font:600 .65rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;padding:1px 6px}.row__actions button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.row__actions button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pva-row{gap:var(--s-3);padding:6px var(--s-3);border-bottom:1px solid var(--rule);grid-template-columns:110px 1fr 80px;align-items:center;display:grid}.pva-row:last-child{border-bottom:none}.pva-row__name{font-family:var(--font-serif);color:var(--ink);font-size:.92rem}.pva-bar{background:var(--paper-deep);border:1px solid var(--rule-2);border-radius:var(--r-s);height:12px;position:relative;overflow:hidden}.pva-bar__plan{border-right:1px dashed var(--ink);height:100%;position:absolute;top:0;left:0}.pva-bar__actual{background:var(--accent);opacity:.85;height:100%;position:absolute;top:0;left:0}.pva-bar__actual--over{background:var(--signal)}.pva-row__delta{text-align:right;font-family:var(--font-mono);color:var(--ink-mute);font-size:.78rem}.pva-row__delta--over{color:var(--signal)}.pva-row__delta--under{color:var(--ok)}.sankey{gap:var(--s-2);display:grid}.sankey__chart{width:100%}.sk-legend{padding:var(--s-2) 0 0;border-top:1px dashed var(--rule);flex-wrap:wrap;gap:6px;display:flex}.sk-legend__chip{border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--paper);color:var(--ink-2);font-family:var(--font-mono);cursor:default;transition:background-color var(--t-fast) ease;align-items:baseline;gap:6px;padding:3px 8px;font-size:.7rem;display:inline-flex}button.sk-legend__chip{cursor:pointer}.sk-legend__chip:hover,button.sk-legend__chip:hover{background:var(--paper-hover);color:var(--ink-2);border-color:var(--rule-2)}.sk-legend__chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sk-legend__swatch{border-radius:2px;width:10px;height:10px;display:inline-block;transform:translateY(1px)}.sk-legend__name{font-family:var(--font-serif);color:var(--ink);text-transform:none;letter-spacing:0;font-size:.85rem;font-style:italic;font-weight:500}.sk-legend__amount{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.modal-root{z-index:1000;pointer-events:none;display:flex;position:fixed;inset:0}.modal-root.is-open{pointer-events:auto}.modal-root--modal{padding:var(--s-5);justify-content:center;align-items:center}.modal-root--sheet{justify-content:center;align-items:flex-end;padding:0}.modal-backdrop{opacity:0;background:#1a1a1a61;transition:opacity .2s ease-out;position:absolute;inset:0}.modal-root.is-open .modal-backdrop{opacity:1}.modal-shell{background:var(--paper);border:1px solid var(--ink);border-radius:var(--r-m);opacity:0;grid-template-rows:auto 1fr auto;width:100%;max-width:460px;transition:transform .2s ease-out,opacity .2s ease-out;display:grid;position:relative;overflow:hidden;transform:scale(.96);box-shadow:0 12px 32px #0000002e}.modal-root.is-open .modal-shell{opacity:1;transform:scale(1)}.modal-shell--sheet{max-width:520px;padding-top:14px;padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:none;border-radius:16px 16px 0 0;transform:translateY(100%);box-shadow:0 -12px 32px #0000002e}.modal-root--sheet .modal-shell--sheet{transform:translateY(100%)}.modal-root.is-open .modal-shell--sheet{transform:translateY(0)}.modal-shell--bad{border-color:var(--bad)}.modal-shell:focus-visible{outline:none}.modal-shell__drag-handle{background:var(--rule-2);pointer-events:none;border-radius:2px;width:36px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.modal-shell__head{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);background:var(--paper-deep);display:flex}.modal-shell__head--bad{background:var(--bad-soft)}.modal-shell__title{font-family:var(--font-serif);color:var(--ink);font-size:1.05rem;font-style:italic;font-weight:500}.modal-shell__title--bad{color:var(--bad)}.modal-shell__crumb{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mute);font-size:.65rem;font-weight:600}.modal-shell__body{padding:var(--s-4);gap:var(--s-3);display:grid}.modal-shell__foot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--rule);background:var(--paper-deep);justify-content:flex-end;gap:6px;display:flex}.modal-shell__foot:empty{display:none}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-shell{transition:none}}.alert{align-items:flex-start;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--rule-2);border-left:3px solid var(--accent);border-radius:var(--r-s);background:var(--accent-soft);color:var(--ink-2);font-size:.85rem;line-height:1.5;display:flex}.alert--ok{border-left-color:var(--ok);background:var(--ok-soft)}.alert--warn{border-left-color:var(--warn);background:var(--warn-soft)}.alert--bad{border-left-color:var(--bad);background:var(--bad-soft)}.alert__lede{font-family:var(--font-serif);color:var(--ink);font-style:italic;font-weight:500}.empty{text-align:center;padding:var(--s-7) var(--s-4);border:1px dashed var(--rule-2);border-radius:var(--r-s);background:var(--paper);justify-items:center;gap:var(--s-1);display:grid}.empty__glyph{font-family:var(--font-serif);color:var(--ink-faint);font-size:2rem;font-style:italic;line-height:1}.empty__title{margin:var(--s-2) 0 0;font-family:var(--font-serif);color:var(--ink);font-size:1.05rem;font-style:italic;font-weight:500}.empty__description{margin:var(--s-1) 0 var(--s-3);color:var(--ink-mute);max-width:48ch;font-size:.88rem}.empty__actions{flex-wrap:wrap;justify-content:center;gap:6px;display:inline-flex}.toast-host{z-index:1100;pointer-events:none;padding:var(--s-4);flex-direction:column;gap:8px;max-width:100vw;display:flex;position:fixed}.toast-host--top-right,.toast-host--bottom-right{align-items:flex-end;right:0}.toast-host--top-center,.toast-host--bottom-center{align-items:center;left:50%;transform:translate(-50%)}.toast-host--top-right,.toast-host--top-center{flex-direction:column;top:0}.toast-host--bottom-right,.toast-host--bottom-center{flex-direction:column-reverse;bottom:0}.toast{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-s);background:var(--ink);color:var(--paper);pointer-events:auto;opacity:0;max-width:360px;font-size:.85rem;transition:opacity .18s ease-out,transform .18s ease-out;display:inline-flex;transform:translateY(-8px);box-shadow:0 8px 24px #00000040}.toast-host--bottom-right .toast,.toast-host--bottom-center .toast{transform:translateY(8px)}.toast.is-open{opacity:1;transform:translateY(0)}.toast.is-leaving{opacity:0}.toast-host--top-right .toast.is-leaving,.toast-host--top-center .toast.is-leaving{transform:translateY(-8px)}.toast-host--bottom-right .toast.is-leaving,.toast-host--bottom-center .toast.is-leaving{transform:translateY(8px)}.toast__ico{font-family:var(--font-mono);color:var(--ok);font-weight:700}.toast--warn .toast__ico{color:var(--warn)}.toast--bad .toast__ico{color:var(--bad)}.toast__message{flex:1}.toast__action{margin-left:var(--s-3);color:var(--signal);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;font-weight:600;text-decoration:underline}.toast__action:hover{color:var(--paper)}.toast__action:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.toast__close{margin-left:var(--s-2);color:var(--ink-mute);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.85rem;line-height:1}.toast__close:hover{color:var(--paper)}.toast__close:focus-visible{outline:2px solid var(--paper);outline-offset:2px}@media (prefers-reduced-motion:reduce){.toast{transition:none;transform:none!important}}.badge{border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--paper);color:var(--ink-mute);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-block}.badge--accent{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.badge--signal{color:var(--signal);border-color:var(--signal);background:var(--signal-soft)}.badge--ok{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.badge--warn{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.badge--bad{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.badge--dot:before{content:"● "}.badge[style*=--badge-color]{color:var(--badge-color);border-color:var(--badge-color);background:color-mix(in srgb, var(--badge-color) 15%, var(--paper))}.qg-calc{border:1px solid var(--rule);border-radius:var(--r-m);background:var(--paper);font-family:var(--font-sans);color:var(--ink);gap:0;display:grid;overflow:hidden}.qg-calc__form{gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--rule);display:grid}.qg-calc__header{justify-content:space-between;align-items:baseline;display:flex}.qg-calc__title{font-family:var(--font-serif);margin:0;font-size:1.1rem;font-style:italic;font-weight:500}.qg-calc__year{display:inline-flex}.qg-calc__year select.input{width:auto;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 24px 4px 10px;font-size:.78rem}.qg-calc__grid{gap:var(--s-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.qg-calc__advanced-toggle{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);cursor:pointer;background:0 0;border:none;justify-self:start;padding:2px 0;font-size:.7rem}.qg-calc__advanced-toggle:hover{color:var(--ink)}.qg-calc__advanced{gap:var(--s-3);padding:var(--s-3);border:1px dashed var(--rule-2);border-radius:var(--r-s);background:var(--paper-deep);display:grid}.qg-calc__checkbox{cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.qg-calc__result{gap:var(--s-3);padding:var(--s-4);background:var(--paper-deep);display:grid}.qg-calc__empty{font-family:var(--font-serif);color:var(--ink-mute);text-align:center;padding:var(--s-3) 0;font-style:italic}.qg-calc__hero{padding-top:var(--s-2);border-top:2px solid var(--ink);text-align:right;gap:2px;display:grid;position:relative}.qg-calc__hero:after{content:"";background:var(--signal);width:64px;height:4px;position:absolute;top:-2px;right:0}.qg-calc__hero-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mute);font-size:.68rem;font-weight:600}.qg-calc__hero-value{font-family:var(--font-serif);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1}.qg-calc__hero-sub{font-family:var(--font-mono);color:var(--ink-mute);font-size:.7rem}.qg-calc__rows{gap:4px var(--s-3);grid-template-columns:1fr auto;margin:0;font-size:.85rem;display:grid}.qg-calc__rows dt{font-family:var(--font-sans);color:var(--ink-2)}.qg-calc__rows dd{font-family:var(--font-serif);font-variant-numeric:tabular-nums;text-align:right;margin:0}.qg-calc__rows dd.is-negative{color:var(--bad)}.qg-calc__rows dt:last-of-type,.qg-calc__rows dd:last-of-type{border-top:1px solid var(--rule);color:var(--ink);margin-top:2px;padding-top:4px;font-weight:600}.qg-calc__apply{justify-self:end}.sankey-chart{min-height:220px;position:relative}.sankey-chart.is-compact{min-height:190px}.sankey-chart svg{width:100%;height:auto;display:block;overflow:visible}.sankey-chart.is-compact svg{width:100%;max-width:100%;height:auto;max-height:280px;margin:0 auto}.sankey-empty{border:1px dashed var(--border);min-height:180px;color:var(--muted);text-align:center;background:#f8fafcd9;border-radius:1rem;justify-content:center;align-items:center;padding:1rem;display:flex}.sankey-link{fill:none;stroke-opacity:.35;cursor:pointer;transition:opacity .2s,stroke-opacity .2s}.sankey-link:hover,.sankey-link.is-focused{stroke-opacity:.65}.sankey-node rect{stroke:#0f172a1f;stroke-width:1px;cursor:pointer;transition:opacity .2s,fill-opacity .2s,stroke .2s,stroke-width .2s}.sankey-node.is-focused rect{stroke:var(--primary);stroke-width:2px}.sankey-node.is-item rect{fill-opacity:.82}.sankey-node.is-deficit rect{stroke:#dc26264d}.sankey-label{pointer-events:none;transition:opacity .2s}.is-compact .sankey-label{font-size:.72rem}.is-compact .sankey-column-label{font-size:.65rem}.sankey-column-label{fill:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700;transition:opacity .2s}.sankey-tooltip{z-index:20;color:#fff;pointer-events:none;max-width:220px;box-shadow:var(--shadow);opacity:0;background:#0f172aeb;border-radius:.75rem;padding:.6rem .75rem;font-size:.82rem;transition:opacity .15s,transform .15s;position:absolute;transform:translateY(4px)}.sankey-tooltip.is-visible{opacity:1;transform:translateY(0)}.sankey-link:focus-visible,.sankey-node rect:focus-visible{outline:none}
