:root{--bg: #F7F4EF;--bg-tint: #EFEBE3;--ink: #262626;--ink-soft: rgba(38, 38, 38, .9);--t-hairline: #CFC9C0;--t-stone: #A9A39A;--t-stone-text: #5A5854;--t-bronze: #B59A6C;--t-bronze-text: #7C6C50;--focus: #262626}[data-theme=dark]{--bg: #0D0D0D;--bg-tint: #1A1A1A;--ink: #F7F4EF;--ink-soft: rgba(247, 244, 239, .92);--t-hairline: #3A3A3A;--t-stone: #6E6A64;--t-stone-text: #B8B2A9;--t-bronze: #B59A6C;--t-bronze-text: #C4AC80;--focus: #F7F4EF}*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Work Sans,system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}.wrap{max-width:780px;margin:0 auto;padding:56px 24px 88px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--t-stone-text)}.eyebrow .sep{color:var(--t-bronze-text)}h1{font-family:Fraunces,serif;font-weight:300;font-size:clamp(34px,6vw,52px);line-height:1.12;letter-spacing:-.005em;margin:14px 0 18px}.dek{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:20px;line-height:1.5;color:var(--ink-soft);max-width:620px}.companion{margin-top:22px;font-size:13px;letter-spacing:.02em;color:var(--t-stone-text)}.companion a{color:var(--t-bronze-text);text-decoration:none;border-bottom:1px solid var(--t-bronze);padding-bottom:1px}.companion a:hover,.companion a:focus-visible{color:var(--ink)}h2{font-family:Fraunces,serif;font-weight:400;font-size:clamp(24px,4vw,30px);line-height:1.25;margin:0 0 6px}.numeral{font-family:Fraunces,serif;font-weight:400;font-style:italic;color:var(--t-bronze-text);margin-right:12px}.module-intro{color:var(--t-stone-text);font-size:14.5px;max-width:640px;margin-bottom:8px}.formula{font-size:13px;letter-spacing:.02em;color:var(--t-stone-text);border-left:2px solid var(--t-bronze);padding:4px 0 4px 14px;margin:18px 0 26px;max-width:640px}header.page{padding-bottom:40px}section.module{border-top:1px solid var(--t-hairline);padding:44px 0 52px}.theme-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px}button.theme-toggle{background:none;border:1px solid var(--t-hairline);color:var(--t-stone-text);font-family:Work Sans,sans-serif;font-size:11px;font-weight:500;letter-spacing:.16em;padding:7px 14px;cursor:pointer}button.theme-toggle:hover{color:var(--ink);border-color:var(--t-stone-text)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;margin:26px 0}@media(max-width:620px){.grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column}.field label,.field .lbl{font-size:11.5px;font-weight:500;letter-spacing:.15em;color:var(--t-stone-text);margin-bottom:9px}input[type=number],input[type=text]{background:transparent;border:none;border-bottom:1px solid var(--t-stone);color:var(--ink);font-family:Work Sans,sans-serif;font-size:18px;padding:6px 2px;width:100%;border-radius:0}input:focus{outline:none;border-bottom:1px solid var(--t-bronze);box-shadow:0 1px 0 var(--t-bronze)}input:focus-visible{outline:2px solid var(--focus);outline-offset:4px}select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--t-hairline);color:var(--ink);font-family:Work Sans,sans-serif;font-size:14.5px;padding:9px 34px 9px 12px;width:100%;cursor:pointer;border-radius:2px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23A9A39A' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}select:hover{border-color:var(--t-stone-text)}input:disabled,select:disabled{opacity:.45;cursor:not-allowed}select:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.help{font-size:13px;line-height:1.55;color:var(--t-stone-text);margin-top:9px;max-width:340px}.grid .wide{grid-column:1 / -1}.grid .wide .help{max-width:640px}.seg{display:flex;border:1px solid var(--t-hairline);border-radius:2px;width:max-content;max-width:100%}.seg label{font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--t-stone-text);padding:9px 16px;cursor:pointer;margin:0;position:relative}.seg input[type=radio]{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.seg label:has(input:checked){color:var(--ink);box-shadow:inset 0 -2px 0 var(--t-bronze)}.seg label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.seg label+label{border-left:1px solid var(--t-hairline)}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink-soft);margin-top:14px}.check input{width:15px;height:15px;margin-top:4px;accent-color:#7C6C50}.check input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.result{border-top:2px solid var(--t-bronze);background:var(--bg-tint);padding:26px 28px 24px;margin-top:30px}.result .lbl{font-size:11px;font-weight:500;letter-spacing:.18em;color:var(--t-bronze-text);margin-bottom:10px}.figure{font-family:Fraunces,serif;font-weight:300;font-size:clamp(26px,5vw,34px);line-height:1.25}.figure small{font-size:.55em;font-family:Work Sans,sans-serif;color:var(--t-stone-text);letter-spacing:.02em}.subline{font-size:14px;color:var(--t-stone-text);margin-top:8px}.rows{margin-top:6px}.rows .row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--t-hairline);font-size:15px}.rows .row:last-child{border-bottom:none}.rows .row .k{color:var(--ink-soft)}.rows .row .v{font-variant-numeric:tabular-nums;white-space:nowrap}.rows .row.total{font-weight:500;border-top:1px solid var(--t-stone);border-bottom:none;margin-top:2px}.caveat{font-size:13px;line-height:1.6;color:var(--t-stone-text);margin-top:22px;max-width:640px}.repair{border-left:2px solid var(--t-bronze);padding:6px 0 6px 16px;margin-top:24px;font-size:14px;line-height:1.6;color:var(--ink-soft);max-width:620px}.repair strong{font-weight:500}.notes{border-top:1px solid var(--t-hairline);padding:40px 0 0}.notes h3{font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--t-stone-text);margin-bottom:14px}.notes p{font-size:14px;line-height:1.7;color:var(--t-stone-text);max-width:660px;margin-bottom:12px}.notes a{color:var(--t-bronze-text);text-decoration:none;border-bottom:1px solid var(--t-bronze)}.notes a:hover{color:var(--ink)}.stamp{font-size:12px;letter-spacing:.06em;color:var(--t-stone-text);margin-top:20px}::placeholder{color:var(--t-stone-text);opacity:.75}.wrap h1,.wrap h2{color:var(--ink)}
