@font-face{font-family:DM Sans;src:url('/fonts/reference/13971731025ec697-s.p.woff2') format('woff2');font-display:swap}
@font-face{font-family:Playfair Display;src:url('/fonts/reference/eaead17c7dbfcd5d-s.p.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--bg:#f7f5f0;--ink:#17191d;--quiet:#5b5e64;--line:#d5d0c8;--accent:#9a4d25}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}header,main,footer{width:min(1320px,calc(100% - 64px));margin:auto}header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}header a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}header span{font-family:'Playfair Display',Georgia,serif;font-size:20px}a:focus-visible,summary:focus-visible{text-decoration:underline;text-decoration-thickness:2px;outline:none}main{padding:48px 0}.eyebrow{font-size:13px;color:var(--accent);letter-spacing:.04em}h1,h2,legend{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.2}h1{font-size:clamp(36px,4.2vw,58px);margin:12px 0 20px}h2,legend{font-size:26px;margin:0 0 20px}.intro{max-width:68ch;color:var(--quiet);margin:0 0 40px}.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px)}fieldset{border:0;border-top:1px solid var(--line);margin:0 0 32px;padding:24px 0 0;min-width:0}legend{padding:0 16px 0 0;margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--quiet);min-width:0}input,select,button{font:inherit;min-height:48px;border:1px solid #afa79b;border-radius:0;background:transparent;color:var(--ink);padding:10px 12px;width:100%;min-width:0}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled{opacity:.45}button{cursor:pointer;width:auto;padding:12px 18px;font-size:14px}button:focus-visible{filter:brightness(.85);text-decoration:underline;text-decoration-thickness:2px;outline:none}.check{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:44px;color:var(--ink);font-size:16px;margin-bottom:12px}.check input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--accent)}.tranche+.tranche{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.hint{font-size:14px;color:var(--quiet);margin-top:16px}.headline{padding:20px 0 24px;border-top:2px solid var(--accent);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.headline>span{font-size:14px;color:var(--quiet)}.headline output{font-size:clamp(32px,3vw,44px);line-height:1.2;font-variant-numeric:tabular-nums}dl{margin:16px 0 24px}dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:8px 0;align-items:baseline}dt{font-size:14px;color:var(--quiet)}dd{margin:0;text-align:right;font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.total{margin-top:8px;border-top:1px solid var(--line);font-weight:600}.total dt{color:var(--ink)}.results h2:not(:first-child){margin-top:32px}.error{color:#8a3726;border:1px solid currentColor;padding:12px 16px}#balance-status{font-size:14px;padding:12px 0;border-top:1px solid var(--line);color:var(--quiet)}#balance-status.warning{color:#8a3726;font-weight:600}details{border-top:1px solid var(--line);margin-top:32px;padding-top:16px}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:18px}summary::-webkit-details-marker{display:none}summary::after{content:'';width:9px;height:9px;border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transform:rotate(-45deg);margin:0 8px}details[open] summary::after{transform:rotate(45deg)}details p{max-width:85ch;color:var(--quiet)}footer{border-top:1px solid var(--line);padding:24px 0 48px;font-size:13px;color:var(--quiet)}[hidden]{display:none!important}@media(hover:hover) and (pointer:fine){button:hover{background:var(--ink);color:var(--bg)}a:hover{text-decoration:underline}}@media(max-width:760px){header,main,footer{width:calc(100% - 32px)}header{gap:12px}header span{display:none}main{padding-top:32px}.workspace{display:flex;flex-direction:column;gap:32px}.fields{gap:20px 16px}.results{border-top:1px solid var(--line);padding-top:24px}}@media(max-width:430px){.fields{grid-template-columns:1fr}dd{font-size:15px}dl>div{gap:12px}h2,legend{font-size:24px}}
