:root{--paper:#f3eee2;--sheet:#fbf8f0;--ink:#1f2a24;--mute:#5d665f;--rule:#cfc7b3;--act:#2f5d50;--act2:#244a40;--hot:#b4501c;--warn:#8a2b12}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}
a{color:var(--act2);text-underline-offset:2px}
.mono,input,select,.stub dd,.tbl td,.tbl th{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 28px;padding:14px 20px;border-bottom:3px double var(--ink)}
.logo{font-weight:700;font-size:1.25rem;color:var(--ink);text-decoration:none;letter-spacing:.01em}
.logo b{color:var(--hot)}
nav{display:flex;gap:4px 18px;flex-wrap:wrap;font-size:.95rem}
nav a{color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
nav a[aria-current]{border-bottom-color:var(--hot)}
main{max-width:1060px;margin:0 auto;padding:22px 20px 40px}
h1{font-size:1.9rem;line-height:1.15;margin:.2em 0 .35em;max-width:20em}
h2{font-size:1.3rem;margin:1.7em 0 .4em;border-top:1px solid var(--rule);padding-top:.7em}
.lede{max-width:38em;color:var(--mute);margin:0 0 1.2em}
.crumbs{font-size:.85rem;color:var(--mute);margin:0}
.desk{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px 34px;align-items:start}
form.calc{background:var(--sheet);border:1px solid var(--ink);padding:16px 18px}
.fld{display:block;margin:0 0 12px}
.fld .k{display:block;font-size:.92rem;font-weight:700;margin-bottom:3px}
.fld small{display:block;font-weight:400;color:var(--mute);font-size:.8rem;line-height:1.3}
.fld .v{display:flex;align-items:center;gap:6px}
input,select{font-size:1rem;padding:9px 8px;border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:0;min-width:0;width:100%;max-width:15em}
select{max-width:none}
input:focus,select:focus,button:focus-visible{outline:3px solid var(--hot);outline-offset:1px}
.u{color:var(--mute);font-size:.88rem;white-space:nowrap}
.tag{display:inline-block;font:700 .72rem/1 ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:3px 6px;margin-bottom:10px}
.assume{color:var(--warn);font-size:.8rem}
.stub{background:var(--sheet);border:1px solid var(--ink);border-left:8px solid var(--hot);padding:14px 18px;position:sticky;top:10px}
.stub h2{border:0;margin:0 0 6px;padding:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-family:ui-monospace,Menlo,monospace}
.stub dl{margin:0}
.stub .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:5px 0}
.stub dt{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.stub,.stub #out{min-width:0}
.desk>*{min-width:0}
.stub .lead{flex:1 1 20px;border-bottom:2px dotted var(--rule);transform:translateY(-4px);min-width:12px}
.stub dd{margin:0;text-align:right;margin-left:auto;max-width:100%;overflow-wrap:anywhere}
.stub .big{border-top:2px solid var(--ink);margin-top:10px;padding-top:8px}
.stub .big dd{font-size:clamp(1.15rem,6vw,1.7rem);font-weight:700;color:var(--hot)}
.stub .big dt{font-weight:700}
.stub .note{font-size:.85rem;color:var(--mute);margin:10px 0 0}
.err{color:var(--warn);font-weight:700}
button{font:700 .98rem "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;background:var(--act);color:#fff;border:0;padding:10px 16px;cursor:pointer;border-radius:0}
button:hover{background:var(--act2)}
button.ghost{background:transparent;color:var(--act2);border:1px solid var(--act2)}
.rows .r{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:6px;margin-bottom:6px}
.rows .r.h{font-size:.78rem;font-weight:700;color:var(--mute)}
.rows input{max-width:none}
.tbl{border-collapse:collapse;width:100%;font-size:.92rem;margin:.6em 0 1em}
.tbl th,.tbl td{border-bottom:1px solid var(--rule);padding:6px 8px;text-align:right}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl th{border-bottom:2px solid var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.twrap{overflow-x:auto}
.how{max-width:40em}
.src{font-size:.85rem;color:var(--mute);max-width:40em}
footer{border-top:3px double var(--ink);padding:16px 20px 30px;font-size:.85rem;color:var(--mute);max-width:1060px;margin:0 auto}
footer .links a{margin-right:16px}
@media (max-width:760px){.desk{grid-template-columns:minmax(0,1fr)}.stub{order:-1}.stub{position:static}h1{font-size:1.5rem}header{padding:12px 16px}main{padding:16px 16px 32px}.rows .r{grid-template-columns:1fr 1fr}.rows .r.h{display:none}.rows .r input:first-child{grid-column:1/-1}}
