:root{color-scheme:light;--paper:#f4f0e7;--ink:#223a35;--muted:#52645c;--line:#c8c9bb;--accent:#155b49;--amber:#754715;--surface:#fffdf7;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.6}main{max-width:1280px;margin:auto;padding:58px 36px 40px}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,input,select,textarea{max-width:100%}button{border:1px solid var(--accent);background:var(--accent);color:white;padding:11px 16px;cursor:pointer;border-radius:3px;font-weight:650}button:hover{filter:brightness(.92)}button.secondary{color:var(--accent);background:transparent}button:disabled{opacity:.5;cursor:not-allowed}button.wide{width:100%;margin-top:20px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #ad5919;outline-offset:4px}.skip{position:absolute;left:20px;top:-80px;background:var(--surface);padding:12px;z-index:10}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:60px;align-items:end;padding:0 0 38px}.eyebrow,.step,.index,.pill{font-family:"Martian Mono",monospace;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.eyebrow{color:var(--accent);margin:0 0 22px}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.15;margin:0 0 18px}h1{font-size:clamp(3.2rem,6.5vw,6.2rem);letter-spacing:-.06em;line-height:.98}h1 em{color:var(--accent);font-weight:400}h2{font-size:1.9rem;letter-spacing:-.025em}h3{font-size:1.4rem;margin:18px 0 12px}.dek{max-width:580px;font-size:1.15rem;margin:24px 0 18px}.tags{font-size:.83rem;color:var(--muted);margin:0}.hero-note{border-top:1px solid var(--ink);padding:22px 0 12px;max-width:310px;margin-left:auto}.hero-note>p:first-of-type{font-family:Fraunces,Georgia,serif;font-size:1.7rem;margin:15px 0}.index{color:var(--muted)}.small,.hint{font-size:.85rem}.small{line-height:1.6}.hint{color:var(--muted);line-height:1.55;margin:10px 0 16px}.boundary{border-left:3px solid #b17834;background:#e9e5d9;padding:15px 20px;font-size:.88rem;margin:0 0 28px}.overview{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--ink);color:#fffdf7;padding:26px 32px;margin-bottom:28px}.overview .eyebrow{color:#b4e4c8;margin-bottom:12px}.overview h2{margin-bottom:8px}.overview p{margin:0}.overview>div:last-child{min-width:170px;text-align:right}.overview strong{display:block;font-family:"Martian Mono",monospace;font-size:2.25rem;letter-spacing:-.08em;overflow-wrap:anywhere}.overview a{color:#b4e4c8;font-size:.85rem}.workspace{display:grid;grid-template-columns:minmax(280px,370px) minmax(0,1fr);gap:28px;align-items:start;scroll-margin-top:50px}.panel{border:1px solid var(--line);background:var(--surface);padding:26px;margin-bottom:22px;min-width:0}.step{color:var(--muted);margin:0 0 14px}.panel h2{font-size:1.65rem}.panel p:last-child{margin-bottom:0}label:not(.check){display:block;font-size:.85rem;font-weight:650;margin:18px 0 7px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #7c8a7f;background:#fffefb;color:var(--ink);padding:10px 11px;min-height:44px;border-radius:2px}input[type=file]{font-size:.8rem;padding:7px}input::file-selector-button{max-width:100%;white-space:normal;padding:7px;border:0;background:#e4e9df;color:var(--ink);margin-right:7px}textarea{font-family:monospace;font-size:.8rem;resize:vertical;white-space:pre;overflow:auto}#demo{margin-top:10px}fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}legend{font-size:.85rem;font-weight:650;padding:0}.check{display:flex;align-items:flex-start;gap:10px;margin:13px 0;font-size:.84rem;line-height:1.5}.check input{accent-color:var(--accent);flex:0 0 18px;width:18px;height:18px;margin:2px 0 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.grid2>div{min-width:0}.data-note{background:#e9eee5;color:var(--ink);font-size:.8rem;padding:12px 14px;overflow-wrap:anywhere}.status{font-size:.85rem;overflow-wrap:anywhere}.status.error{color:#923718}.result-top{display:flex;gap:15px;justify-content:space-between;align-items:start}.pill{color:var(--accent);font-size:.6rem;border:1px solid var(--line);padding:4px 7px}.candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.candidate{background:#edf1e8;border-top:3px solid var(--accent);padding:18px 16px}.candidate h3{font-family:inherit;font-size:.84rem;line-height:1.5;margin:0 0 15px;font-weight:650}.candidate strong{display:block;font-family:"Martian Mono",monospace;font-size:1.5rem;letter-spacing:-.07em;overflow-wrap:anywhere}.candidate p{font-size:.8rem;margin:12px 0 0}.candidate .match{font-weight:700;color:var(--accent)}.rule{height:1px;background:var(--line);margin:24px 0}#chart{display:block;width:100%;height:auto;margin:20px 0 0;overflow:visible}.day-detail{padding:18px 0 0;overflow-wrap:anywhere}.day-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.day-detail dt{color:var(--muted);font-size:.85rem}.day-detail dd{margin:0;text-align:right;font-family:monospace;font-size:.85rem}.day-detail pre{margin-bottom:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:.76rem;font-variant-numeric:tabular-nums}caption{text-align:left;padding:12px;font-size:.8rem}th,td{text-align:right;padding:10px 12px;border-top:1px solid #d9dbd0;white-space:nowrap}th{background:#e9eee5;font-weight:650}th:first-child,td:first-child{text-align:left}tbody tr:nth-child(even){background:#f5f6ee}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions button{font-size:.82rem}details{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer;font-size:.9rem;font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#e9eee5;padding:15px;font-size:.85rem}code{font-size:.9em;overflow-wrap:anywhere}.below{max-width:800px;padding:36px 0;margin:auto}.below p{font-size:.94rem}.aw-wayout{max-width:1208px;padding:24px 36px;margin:auto;border-top:1px solid var(--line);font-size:.85rem}body>main>section.panel{max-width:900px;margin:22px auto}[hidden]{display:none!important}
@media(max-width:950px){main{padding:44px 24px}.workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px}.panel{padding:20px}.hero{gap:30px}.candidates{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.overview{padding:24px}.overview h2{font-size:1.6rem}.day-detail dl{grid-template-columns:1fr}.day-detail dd{text-align:left}}
@media(max-width:700px){main{padding:38px 18px 20px}.hero{grid-template-columns:1fr;gap:26px}.hero-note{max-width:none;margin:0}.hero-note .small{max-width:420px}.hero-note{padding-bottom:0}.overview{display:block;padding:22px}.overview>div:last-child{text-align:left;margin-top:22px}.overview strong{font-size:2rem}.workspace{grid-template-columns:1fr;gap:0}.panel{padding:22px}.grid2{grid-template-columns:1fr 1fr}.candidates{grid-template-columns:1fr 1fr;gap:10px}.candidate{padding:16px 12px}.candidate strong{font-size:1.3rem}.day-detail dl{grid-template-columns:1fr 1fr}.day-detail dd{text-align:right}.aw-wayout{padding:24px 18px}.dek{font-size:1.05rem}.result-top{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{background:white;color:black}main{padding:0;max-width:none}.hero,.overview,.boundary,aside,.actions,details,#stale,#report-file,#report-status,.aw-wayout,body>[class],.skip,.hint{display:none!important}.workspace{display:block}.results-column>section{display:none}.panel{break-inside:avoid;border:1px solid #aaa;padding:16px}.panel input,.panel select,.panel label{display:none}.table-wrap{overflow:visible}.below{padding:10px}.result-panel::before{content:'Offset Ledger / conditional daily-record model';display:block;font-weight:bold;margin-bottom:15px}.candidates{grid-template-columns:1fr 1fr}}
.print-only{display:none}
@media print{.print-only{display:block!important;white-space:pre-wrap;background:white;font-size:9pt;line-height:1.5;break-after:page}.result-panel .hint{display:block!important}}
.workspace>*{min-width:0}.panel p,#savings,.day-detail dd{overflow-wrap:anywhere}.day-detail dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:700px){.workspace{grid-template-columns:minmax(0,1fr)}}
.overview p{overflow-wrap:anywhere}.overview>div{min-width:0}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}body .aw-holds,body .aw-holds .aw-holds-note,body .aw-holds .aw-holds-k,body .aw-holds b{opacity:1}
#result-heading,#input-heading{scroll-margin-top:70px}
