:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#e9efec;--color-surface:#f2f6f4;--color-surface-2:#edf3f0;--color-border:#d5e0da;--color-text-primary:#26302d;--color-text-secondary:#54645f;--color-brand:#3e625d;--color-link:#9e4f37;--color-clay:#b5644a;--color-focus:#3e625d;--color-evergreen:#141c1a;--color-source:#6e3d60;--color-source-tint:#f1e7ee;--color-education-tint:#e3ece8;--color-unknown:#9e4f37;--radius-large:14px;--radius-medium:12px;--radius-small:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-head:"JetBrains Mono","SF Mono",Consolas,monospace;--font-body:"Courier Prime","Courier New",monospace;--color-on-brand:#f2f6f4;--color-field:#fafcfb;--color-brand-hover:#33514c;--calc-bg:#e1eae7;--calc-fg:#33514c;--attn-bg:#f4e7e1;--attn-fg:#9e4f37}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#141c1a;--color-surface:#1d2724;--color-surface-2:#232e2a;--color-border:#2f3d39;--color-text-primary:#dfe9e5;--color-text-secondary:#8ca39d;--color-brand:#84a9a4;--color-link:#de9578;--color-clay:#de9578;--color-focus:#84a9a4;--color-source:#cfa0c2;--color-source-tint:#2b2330;--color-education-tint:#22302c;--color-unknown:#de9578;--color-on-brand:#141c1a;--color-field:#171f1d;--color-brand-hover:#9dbdb8;--calc-bg:#243530;--calc-fg:#a9c6c1;--attn-bg:#3a2a23;--attn-fg:#de9578}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);font-size:16px;line-height:1.68}h1,h2,h3,h4,button,.num{font-family:var(--font-head);letter-spacing:-.02em}a{color:var(--color-link);text-underline-offset:3px;text-decoration-thickness:1px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}.screen{max-width:1060px;margin:0 auto;padding:0 20px}.band{padding:56px 0}.band+.band{border-top:1px solid var(--color-border)}.band-title{margin-bottom:var(--space-5);font-size:24px}.header-band{border-bottom:1px solid var(--color-border);background:var(--color-background)}.wrap-wide{max-width:min(1720px,95vw);margin:0 auto;padding:0 20px}.site-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:14px 0;display:flex}.lockup{cursor:pointer;min-width:0;color:var(--color-text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex}.thb-mark{flex:none;width:34px;height:34px}.u-dark,[data-theme=dark] .u-light{display:none}[data-theme=dark] .u-dark{display:inline}.lockup-text{min-width:0;line-height:1.25}.lockup-text .product{font-family:var(--font-head);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.lockup-text .by{color:var(--color-text-secondary);font-size:12px}.lockup-text .by b{color:var(--color-brand);font-weight:700}.header-links{gap:var(--space-4);font-size:13px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:var(--space-5)}.card+.card{margin-top:var(--space-4)}.card h3{margin-bottom:var(--space-3);font-size:17px}.stack>*+*{margin-top:var(--space-4)}.muted{color:var(--color-text-secondary)}.small{font-size:14px}.btn{border-radius:var(--radius-small);font-family:var(--font-head);cursor:pointer;border:1px solid #0000;min-height:44px;padding:12px 22px;font-size:15px;font-weight:700;display:inline-block}.btn-primary{background:var(--color-brand);color:var(--color-on-brand)}.btn-primary:hover{background:var(--color-brand-hover)}.btn-secondary{color:var(--color-brand);border-color:var(--color-brand);background:0 0}.btn-tertiary{color:var(--color-link);font-family:var(--font-body);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;min-height:auto;padding:6px 2px;font-size:14px;text-decoration:underline}.btn-quiet-danger{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0;padding:8px 14px;font-size:13px;font-weight:500}.btn-row{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.btn-row .spacer{flex:1}.badge{font-family:var(--font-head);letter-spacing:.04em;text-transform:lowercase;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge:before{content:"";flex:none;width:6px;height:6px}.badge-calculated{background:var(--calc-bg);color:var(--calc-fg)}.badge-calculated:before{background:var(--color-brand)}.badge-source{background:var(--color-source-tint);color:var(--color-source)}.badge-source:before{background:#6e3d60}.badge-education{background:var(--color-education-tint);color:var(--calc-fg)}.badge-education:before{background:#84a9a4}.badge-unknown{color:var(--color-unknown);border-color:var(--attn-bg);background:0 0}.badge-unknown:before{background:#b5644a}.progress{margin:var(--space-5) 0}.progress .steps{margin-bottom:var(--space-2);align-items:center;max-width:340px;display:flex}.progress .marker{border:2px solid var(--color-border);background:var(--color-surface);border-radius:3px;flex:none;width:12px;height:12px}.progress .marker.done{background:var(--color-brand);border-color:var(--color-brand)}.progress .marker.now{background:var(--color-surface);border-color:var(--color-brand);outline:2px solid var(--color-brand);outline-offset:2px}.progress .track{background:var(--color-border);flex:1;height:2px}.progress .track.done{background:var(--color-brand)}.progress .label{font-family:var(--font-head);color:var(--color-text-secondary);font-size:12px}.field{margin-top:var(--space-4)}.field label{font-family:var(--font-head);margin-bottom:6px;font-size:14px;font-weight:700;display:block}.field .unit-wrap{align-items:center;gap:8px;display:flex}.field input[type=text],.field input[type=date],.field select{font-family:var(--font-head);color:var(--color-text-primary);background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-small);width:100%;max-width:240px;min-height:44px;padding:11px 12px;font-size:16px}.field input:disabled{background:var(--color-surface-2);color:var(--color-text-secondary);border-style:dashed}.field .unit{font-family:var(--font-head);color:var(--color-text-secondary);font-size:14px}.field .help-row{gap:var(--space-4);margin-top:4px;display:flex}.idk{color:var(--color-text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.idk input{width:18px;height:18px;accent-color:var(--color-brand)}.help-panel{margin-top:var(--space-2);background:var(--color-education-tint);border-radius:0 var(--radius-small) var(--radius-small) 0;padding:var(--space-3) var(--space-4);border-left:3px solid #84a9a4;font-size:14px;display:none}.help-panel.open{display:block}.help-panel h5{font-family:var(--font-head);color:var(--calc-fg);margin-bottom:4px;font-size:12px}.fieldset-title{font-family:var(--font-head);color:var(--color-text-secondary);text-transform:lowercase;letter-spacing:.03em;margin-top:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:6px;font-size:13px;font-weight:700}.unknown-note{color:var(--color-unknown);margin-top:6px;font-size:13px;display:none}.choice-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=560px){.choice-grid{grid-template-columns:repeat(3,1fr)}}.choice{color:var(--color-text-primary);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:var(--space-5) var(--space-4);cursor:pointer;font-family:var(--font-body);transition:transform .18s,border-color .18s}.choice:hover{border-color:var(--color-brand);transform:scale(1.03)}.card,.bignum,.notdo div{transition:transform .18s,border-color .18s}.card:hover,.bignum:hover,.notdo div:hover{border-color:var(--color-brand);transform:scale(1.015)}@media (prefers-reduced-motion:reduce){.choice,.card,.bignum,.notdo div{transition:none}.choice:hover,.card:hover,.bignum:hover,.notdo div:hover{transform:none}}.choice h4{margin-bottom:4px;font-size:15px}.choice p{color:var(--color-text-secondary);font-size:13px}.choice .glyph{font-family:var(--font-head);color:var(--color-brand);margin-bottom:6px;font-size:18px}.ledger{font-family:var(--font-head);background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-4);font-size:14px}.ledger .row{align-items:baseline;gap:8px;padding:3px 0;display:flex}.ledger .row .k{white-space:nowrap}.ledger .row .dots{border-bottom:1px dotted var(--color-border);flex:1;transform:translateY(-4px)}.ledger .row .v{white-space:nowrap;font-weight:500}.ledger .row.total{border-top:1px solid var(--color-border);margin-top:6px;padding-top:8px;font-weight:700}.ledger .neg{color:var(--color-clay)}.bignum-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=560px){.bignum-grid{grid-template-columns:repeat(3,1fr)}}.bignum{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:var(--space-4)}.bignum .k{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:12px}.bignum .num{margin:4px 0 2px;font-size:28px;font-weight:700}.bignum .sub{color:var(--color-text-secondary);font-size:13px}.result-section{margin-top:var(--space-6)}.band .result-section:first-child{margin-top:0}.result-section>h2{margin-bottom:var(--space-3);font-size:19px}details.math{margin-top:var(--space-3)}details.math summary{cursor:pointer;color:var(--color-link);align-items:center;gap:6px;font-size:14px;list-style:none;display:inline-flex}details.math summary:before{content:"▸";font-family:var(--font-head)}details.math[open] summary:before{content:"▾"}details.math .ledger{margin-top:var(--space-2)}.review-item{border-left:3px solid var(--color-clay);padding-left:var(--space-4)}.question-card blockquote{background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-4);margin-top:var(--space-2);font-size:15px}.source-card .authority{font-family:var(--font-head);font-size:14px;font-weight:700}.source-meta{color:var(--color-text-secondary);margin-top:4px;font-size:12px}.check{align-items:flex-start;gap:10px;display:flex}.check .icon{font-family:var(--font-head);border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:flex}.check.ok .icon{background:var(--calc-bg);color:var(--calc-fg)}.check.attn .icon{background:var(--attn-bg);color:var(--attn-fg)}.hero{padding:64px 0 56px}.hero .eyebrow{font-family:var(--font-head);color:var(--color-brand);margin-bottom:var(--space-3);font-size:13px}.hero h1{margin-bottom:var(--space-4);font-size:clamp(30px,6vw,44px);line-height:1.15}.hero h1 .cursor{color:var(--color-clay);animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.hero h1 .cursor{animation:none}}.hero p{max-width:56ch;color:var(--color-text-secondary);margin-bottom:var(--space-5)}.privacy-cue{color:var(--color-text-secondary);margin-left:var(--space-3);align-items:center;gap:8px;font-size:13px;display:inline-flex}.privacy-cue:before{content:"";background:var(--color-brand);border-radius:2px;width:8px;height:8px}.notdo{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=560px){.notdo{grid-template-columns:repeat(3,1fr)}}.notdo div{border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:var(--space-5) var(--space-4);background:var(--color-surface);font-size:14px;position:relative;overflow:hidden}.notdo div:before{content:"";background:var(--color-source);border-radius:2px;width:10px;height:10px;margin-bottom:10px;transition:transform .18s;display:block}.notdo div b{font-family:var(--font-head);margin-bottom:4px;font-size:14px;display:block}.notdo div span{color:var(--color-text-secondary);font-size:13px}.notdo div:hover{border-color:var(--color-source)}.notdo div:hover:before{transform:scale(1.4)}.scrolly{--grow:0;height:400vh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}.scrolly-viewport{width:calc(min(1020px, 100vw - 40px) + (100vw - min(1020px, 100vw - 40px)) * var(--grow));height:calc(440px + (100vh - 44px - 440px) * var(--grow));border-radius:calc(var(--radius-large) * (1 - var(--grow)));background:var(--color-surface);border:1px solid var(--color-border);margin:0 auto;position:sticky;top:44px;overflow:hidden}@media (prefers-reduced-motion:reduce){.scrolly{--grow:1}}.show-panel{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-5);text-align:center;opacity:0;pointer-events:none;flex-direction:column;transition:opacity .45s,transform .45s;display:flex;position:absolute;inset:0;transform:translateY(16px)}.show-panel.active{opacity:1;pointer-events:auto;transform:none}.show-panel h3{font-size:clamp(24px,4.5vw,36px)}.show-panel p{color:var(--color-text-secondary);max-width:46ch;font-size:clamp(15px,2vw,18px)}.show-panel .stepnum{font-family:var(--font-head);color:var(--color-text-secondary);letter-spacing:.06em;font-size:13px}.stage-dots{z-index:2;flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.stage-dots span{background:var(--color-border);border-radius:2px;width:8px;height:8px;transition:background .3s}.stage-dots span.on{background:var(--color-brand)}@media (prefers-reduced-motion:reduce){.show-panel{transition:none}}.demo{background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-medium);width:min(460px,92%);padding:var(--space-5);text-align:left}.demo .dlabel{font-family:var(--font-head);margin-bottom:10px;font-size:15px;font-weight:700}.type-line{font-family:var(--font-head);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);white-space:nowrap;padding:8px 12px;font-size:30px;overflow:hidden}.type-line .typed{vertical-align:bottom;white-space:nowrap;animation:3.2s steps(7,end) infinite typing;display:inline-block;overflow:hidden}@keyframes typing{0%{width:0}55%{width:7ch}80%{width:7ch}to{width:0}}.demo-help .hp{background:var(--color-education-tint);border-radius:0 var(--radius-small) var(--radius-small) 0;border-left:3px solid #84a9a4;padding:0 12px;animation:4s ease-in-out infinite reveal;overflow:hidden}.demo-help .hp p{padding:10px 0;font-size:16px}@keyframes reveal{0%,15%{max-height:0}35%,80%{max-height:130px}to{max-height:0}}.demo-review .rrow{font-family:var(--font-head);opacity:0;justify-content:space-between;padding:7px 0;font-size:17px;animation:4.5s infinite rowin;display:flex}.demo-review .rrow:nth-child(3){animation-delay:.5s}.demo-review .rrow:nth-child(4){animation-delay:1s}@keyframes rowin{0%{opacity:0;transform:translateY(4px)}18%,85%{opacity:1;transform:none}to{opacity:0}}.demo-pdf .sheet{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:130px;height:160px;margin:0 auto;padding:10px;animation:3.6s ease-in-out infinite slideup}.demo-pdf .sheet i{background:var(--color-border);border-radius:2px;height:7px;margin-bottom:6px;display:block}.demo-pdf .sheet i:first-child{background:var(--color-brand);width:60%}@keyframes slideup{0%,10%{opacity:0;transform:translateY(14px)}35%,85%{opacity:1;transform:none}to{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.typed,.demo-help .hp,.demo-review .rrow,.demo-pdf .sheet{animation:none}.demo-review .rrow{opacity:1}.demo-help .hp{max-height:none;padding:8px 12px}}.coming-soon{margin-top:var(--space-3);border-left:3px solid var(--color-clay);background:var(--attn-bg);color:var(--color-text-primary);border-radius:0 var(--radius-small) var(--radius-small) 0;padding:var(--space-3) var(--space-4);font-size:14px;display:none}.coming-soon.open{display:block}.review-group{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface)}.review-group+.review-group{margin-top:var(--space-3)}.review-group header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.review-group header h4{font-size:14px}.review-group .ledger{border-radius:0 0 var(--radius-medium) var(--radius-medium);border:none}.modal-veil{z-index:60;padding:var(--space-4);background:#141c1a73;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-veil.open{display:flex}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:var(--space-5);max-width:420px}#root{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1 0 auto}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:auto;padding:40px 0 32px}.foot-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=900px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1.3fr;column-gap:48px}.foot-col:last-child{text-align:right;justify-self:end}}.wm{font-family:var(--font-head);font-size:15px;font-weight:700}.foot-brand p{margin-top:8px}.foot-head{font-family:var(--font-head);letter-spacing:.04em;color:var(--color-text-secondary);text-transform:lowercase;margin:0 0 10px;font-size:.78rem;font-weight:700}.foot-col a{font-family:var(--font-body);color:var(--color-text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:3px;margin:0 0 10px;font-size:.95rem;display:block}.foot-col a:hover{color:var(--color-link);-webkit-text-decoration-color:var(--color-link);text-decoration-color:var(--color-link)}.foot-rule{border:0;border-top:1px solid var(--color-border);margin:36px 0 18px}.foot-copy{margin:0}.menu-btn{font-family:var(--font-head);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 16px;font-size:.9rem;font-weight:700;display:none}@media (width<=719px){.menu-btn{display:inline-block}.header-links{flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:10px 0 6px;display:none}.header-links.open{display:flex}}
