:root{--ink: #1c3a31;--ink-strong: #10241d;--ink-soft: #4a5d55;--paper: #f4efe2;--card: #fdfbf3;--card-tint: #f3eedd;--rule: #ddd5bd;--rule-strong: #a99f7f;--gold: #c9a86a;--red: #a2333a;--green: #2f6b52;--green-tint: #e4ecdf;--amber-bg: #f6e2b8;--amber-ink: #7c4a03;--focus: #2f6b52;--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono: "Spline Sans Mono", "SF Mono", "Cascadia Mono", monospace;--shadow: 0 1px 2px rgba(28, 42, 36, .08), 0 10px 28px -18px rgba(28, 42, 36, .5)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink-strong);background-color:var(--paper);background-image:radial-gradient(1200px 500px at 50% -200px,rgba(201,168,106,.14),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.18 0 0 0 0 0.12 0 0 0 0.045 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:.005em}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{min-height:100vh;display:flex;flex-direction:column}.masthead{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-strong) 100%);color:#f2edda;border-bottom:4px solid var(--gold);position:relative}.masthead:after{content:"";position:absolute;inset:auto 0 4px;height:7px;background:repeating-linear-gradient(-45deg,transparent 0 4px,rgba(201,168,106,.5) 4px 5px);pointer-events:none}.masthead__inner{max-width:1280px;margin:0 auto;padding:26px 24px 30px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between}.masthead__kicker{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--gold);margin-bottom:6px}.masthead__title{font-size:clamp(26px,4.5vw,38px);font-weight:700;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.masthead__year{font-family:var(--font-mono);font-size:.52em;font-weight:600;color:var(--ink-strong);background:var(--gold);padding:2px 10px;border-radius:3px;transform:translateY(-3px)}.masthead__meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:560px}.chip{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 12px;border-radius:999px}.chip--warning{background:var(--amber-bg);color:var(--amber-ink);border:1px solid rgba(124,74,3,.35)}.sources{font-size:12.5px;color:#f2eddad9;text-align:right}.sources summary{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.sources__body{margin-top:8px;text-align:left;background:#00000040;border:1px solid rgba(201,168,106,.35);border-radius:6px;padding:10px 14px;max-height:220px;overflow-y:auto}.sources__body ul{margin:6px 0 0;padding-left:18px}.sources__body li{margin-bottom:4px}.layout{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:28px 24px 40px;display:grid;grid-template-columns:minmax(330px,400px) minmax(0,1fr);gap:26px;align-items:start}.controls{display:flex;flex-direction:column;gap:18px;position:sticky;top:16px}.results{display:flex;flex-direction:column;gap:18px;min-width:0}.panel{background:var(--card);border:1px solid var(--rule);border-radius:8px;box-shadow:var(--shadow);padding:18px;animation:rise .45s ease-out both}.panel--options{animation-delay:.08s;display:flex;flex-direction:column;gap:16px}.panel__title{font-size:17px;border-bottom:1px solid var(--rule);padding-bottom:10px}.field{border:0;margin:0;padding:0;min-width:0}.field__label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:7px}.field__sublabel{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.input{width:100%;font-family:var(--font-mono);font-size:15px;color:var(--ink-strong);background:#fffef9;border:1px solid var(--rule-strong);border-radius:5px;padding:8px 10px}.input:focus-visible{outline-offset:0}.input--small{max-width:110px}.input-affix{display:flex;align-items:center;gap:8px}.input-affix span{font-size:12.5px;color:var(--ink-soft);white-space:nowrap}.field--check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.field--check input{margin-top:3px;width:16px;height:16px;accent-color:var(--green)}.field--check span{font-weight:600;font-size:14px}.field--check small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-soft);margin-top:2px}.field--provision{border-top:1px dashed var(--rule-strong);padding-top:14px}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented__option{flex:1 1 auto;min-width:0;background:var(--card-tint);border:1px solid var(--rule-strong);border-radius:5px;padding:7px 10px;font-size:13px;font-weight:600;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:1px;transition:background .15s ease,color .15s ease,border-color .15s ease}.segmented__option small{font-size:10.5px;font-weight:500;opacity:.8}.segmented__option:hover{border-color:var(--ink);color:var(--ink)}.segmented__option.is-active{background:var(--ink);border-color:var(--ink);color:#f2edda}.field--meal{background:var(--card-tint);border:1px solid var(--rule);border-radius:6px;padding:12px}.field--meal>.field__label{margin-bottom:10px}.meal-grid{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:10px}.paytype{display:grid;grid-template-columns:1fr 1fr;gap:8px}.paytype__option{border:1.5px solid var(--rule-strong);border-radius:6px;background:#fffef9;padding:9px 10px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.paytype__option strong{font-size:13.5px}.paytype__option small{font-size:11.5px;color:var(--ink-soft)}.paytype__option:hover{border-color:var(--green)}.paytype__option.is-active{border-color:var(--green);background:var(--green-tint);box-shadow:inset 0 0 0 1px var(--green)}.paytype__option.is-active strong:after{content:" ✓";color:var(--green)}.meal-note{margin-top:8px;font-size:12.5px;color:var(--ink-soft)}.meal-note--excess{color:var(--red);font-weight:600}.panel--mode{padding:0;overflow:hidden}.mode-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--card-tint);border-bottom:1px solid var(--rule)}.mode-tab{appearance:none;border:0;background:transparent;padding:12px 8px;font-size:12.5px;font-weight:700;line-height:1.25;color:var(--ink-soft);border-bottom:3px solid transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.mode-tab+.mode-tab{border-left:1px solid var(--rule)}.mode-tab:hover{color:var(--ink)}.mode-tab.is-active{background:var(--card);color:var(--ink);border-bottom-color:var(--gold)}.mode-input{padding:16px 18px 18px}.mode-input__label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:6px}.mode-input__field{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:4px}.mode-input__control{flex:1;min-width:0;border:0;background:transparent;font-family:var(--font-mono);font-size:clamp(26px,5vw,34px);font-weight:600;color:var(--ink-strong);padding:0;font-variant-numeric:tabular-nums}.mode-input__control:focus-visible{outline:none}.mode-input__field:focus-within{border-bottom-color:var(--green)}.mode-input__unit{font-family:var(--font-mono);font-size:14px;color:var(--ink-soft);white-space:nowrap}.mode-input__hint{margin-top:10px;font-size:12.5px;color:var(--ink-soft)}.strip{display:flex;flex-wrap:wrap;gap:8px;animation:rise .45s ease-out .05s both}.strip__item{flex:1 1 150px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;background:var(--card);border:1px solid var(--rule);border-radius:6px;box-shadow:var(--shadow);padding:8px 14px;min-width:0}.strip__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap}.strip__value{font-family:var(--font-mono);font-size:15.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.strip__item.is-input{background:var(--ink);border-color:var(--ink-strong)}.strip__item.is-input .strip__label{color:var(--gold)}.strip__item.is-input .strip__value{color:#f2edda}.results-panel{background:var(--card);border:1px solid var(--rule);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;animation:rise .45s ease-out .1s both}.rtabs{display:grid;grid-template-columns:1fr 1fr;background:var(--card-tint);border-bottom:2px solid var(--ink)}.rtab{appearance:none;border:0;background:transparent;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--ink-soft);padding:13px 10px 11px;border-bottom:3px solid transparent;transition:color .15s ease,background .15s ease,border-color .15s ease}.rtab+.rtab{border-left:1px solid var(--rule)}.rtab:hover{color:var(--ink)}.rtab.is-active{background:var(--card);color:var(--ink);border-bottom-color:var(--gold)}.tabpanel{display:flex;flex-direction:column}.tabpanel__bar{display:flex;justify-content:flex-end;padding:12px 16px 0}.viewtoggle{display:inline-flex;border:1px solid var(--rule-strong);border-radius:999px;overflow:hidden;background:var(--card-tint)}.viewtoggle button{appearance:none;border:0;background:transparent;font-size:12px;font-weight:700;color:var(--ink-soft);padding:5px 14px;transition:background .15s ease,color .15s ease}.viewtoggle button.is-active{background:var(--ink);color:#f2edda}.hero{padding:14px 20px 18px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 40px;border-bottom:1px solid var(--rule)}.hero__main,.hero__aside{display:flex;flex-direction:column;gap:2px;min-width:0}.hero__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.hero__value{font-family:var(--font-mono);font-size:clamp(34px,5vw,46px);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1;white-space:nowrap}.hero__value--sub{font-size:clamp(24px,3.4vw,31px);color:var(--green)}.hero__caption{font-size:12.5px;color:var(--ink-soft)}.simple{padding:16px 20px 20px}.simple-list{list-style:none;margin:0;padding:0;max-width:480px}.srow{display:flex;align-items:baseline;gap:10px;padding:7px 0;font-size:14.5px}.srow__label{font-weight:600}.srow__leader{flex:1;border-bottom:2px dotted var(--rule-strong);transform:translateY(-4px);min-width:24px}.srow__value{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.srow.is-deduction .srow__value{color:var(--red)}.srow--total{border-top:3px double var(--rule-strong);margin-top:6px;padding-top:11px;font-size:16px}.srow--total .srow__label{font-weight:700;color:var(--ink)}.srow--total .srow__value{font-weight:700;font-size:17px;color:var(--ink)}.simple-note{margin-top:14px;font-size:12.5px;color:var(--ink-soft);max-width:480px}.detailed{padding:4px 6px 6px}.tabpanel__meta{padding:4px 16px 16px;display:flex;flex-wrap:wrap;gap:6px}.meta-chip{font-size:11px;font-weight:600;color:var(--ink-soft);border:1px solid var(--rule);background:var(--card-tint);border-radius:999px;padding:3px 10px}.tabpanel__foot{padding:0 20px 16px}.tabpanel__foot p{font-size:12px;color:var(--ink-soft);max-width:62ch}.statement__scroll{overflow-x:auto}.statement{width:100%;min-width:340px;border-collapse:collapse;font-size:13.5px}.statement th,.statement td{padding:8px 14px;vertical-align:top}.statement thead th{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);border-bottom:1px solid var(--rule-strong);padding-top:10px;padding-bottom:6px}.statement tbody th{text-align:left;font-weight:600}.statement tbody th small{display:block;font-size:11.5px;font-weight:400;color:var(--ink-soft);margin-top:1px}.statement tbody tr{border-bottom:1px solid var(--rule)}.sgroup__head th{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);padding-top:14px;padding-bottom:4px}.sgroup__head{border-bottom:0!important}.sgroup--deductions tr{background:#a2333a0e}.sgroup--deductions .sgroup__head th,.sgroup--deductions .statement__num{color:var(--red)}.statement__rubric{text-align:left;width:46%}.statement__num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}tr.is-deduction .statement__num,.is-deduction{color:var(--red)}.statement__total{border-bottom:0!important}.statement__total th,.statement__total td{border-top:3px double var(--rule-strong);font-weight:700;font-size:15px;padding-top:12px;padding-bottom:16px;color:var(--ink)}.statement__total .statement__num{font-size:17px}.subsidy-box{margin:8px 14px 16px;border:1.5px dashed var(--rule-strong);border-radius:6px;padding:12px 14px;background:var(--card-tint)}.subsidy-box h3{font-size:13.5px;margin-bottom:8px}.subsidy-box dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px 14px}.subsidy-box dl div{min-width:0}.subsidy-box dt{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.subsidy-box dd{margin:1px 0 0;font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.subsidy-box>p{margin-top:9px;font-size:11.5px;color:var(--ink-soft)}.notice{background:var(--card);border:1px dashed var(--rule-strong);border-radius:8px;padding:22px;color:var(--ink-soft);font-size:14px}.notice--error{border-color:var(--red);color:var(--red)}.methodology{font-size:12.5px;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:12px;max-width:72ch}.methodology summary{cursor:pointer;font-weight:600;text-decoration:underline dotted;text-underline-offset:3px}.methodology p{margin-top:8px}.legend{margin-top:8px;font-size:12.5px;color:var(--ink-soft)}.legend summary{cursor:pointer;font-weight:600;text-decoration:underline dotted;text-underline-offset:3px}.legend dl{margin:8px 0 0;display:flex;flex-direction:column;gap:7px;border-left:3px solid var(--rule-strong);padding-left:10px}.legend dt{font-weight:700;color:var(--ink)}.legend dd{margin:1px 0 0}.legend>p{margin-top:8px;font-style:italic}.footer{border-top:1px solid var(--rule);background:var(--card-tint)}.footer p{max-width:1280px;margin:0 auto;padding:14px 24px 18px;font-size:12px;color:var(--ink-soft)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.panel,.strip,.results-panel{animation:none}}@media(max-width:1020px){.layout{grid-template-columns:1fr}.controls{position:static}}@media(max-width:620px){.layout{padding:18px 14px 28px}.masthead__inner{padding:20px 14px 24px;align-items:flex-start}.masthead__meta{align-items:flex-start}.sources{text-align:left}.mode-tabs{grid-template-columns:1fr}.mode-tab+.mode-tab{border-left:0;border-top:1px solid var(--rule)}.mode-tab.is-active{border-bottom-color:transparent;box-shadow:inset 3px 0 0 var(--gold)}.field-row,.meal-grid,.paytype{grid-template-columns:1fr}.hero{padding:12px 14px 14px;gap:8px 24px}.hero__value{white-space:normal}.simple{padding:14px 14px 16px}.tabpanel__bar{justify-content:stretch;padding:10px 14px 0}.viewtoggle{width:100%;justify-content:stretch}.viewtoggle button{flex:1}.rtab{font-size:16px}.input--small{max-width:100%}}@media print{.masthead{border-bottom:2px solid #000}.controls,.footer,.sources{display:none}.layout{display:block}.results-panel,.panel,.strip__item{box-shadow:none;animation:none}}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate__card{width:min(400px,100%);background:var(--card);border:1px solid var(--rule);border-top:3px double var(--rule-strong);border-radius:10px;box-shadow:var(--shadow);padding:36px 32px 28px;display:flex;flex-direction:column;gap:10px;text-align:center}.gate__kicker{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.gate__title{font-size:30px;color:var(--ink-strong);margin-bottom:14px}.gate__label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:left}.gate__input{font:inherit;font-family:var(--font-mono);padding:10px 12px;border:1px solid var(--rule-strong);border-radius:6px;background:#fff;color:var(--ink-strong)}.gate__error{font-size:13px;color:var(--red);text-align:left}.gate__button{margin-top:8px;padding:11px 12px;border:none;border-radius:6px;background:var(--green);color:var(--card);font-weight:600;letter-spacing:.04em}.gate__button:hover{background:var(--ink)}.gate__button:disabled{opacity:.6;cursor:default}.gate__note{margin-top:10px;font-size:12px;color:var(--ink-soft)}
