:root{--bg: #f4efe6;--paper: #fffdf8;--ink: #14110e;--muted: #3d3832;--line: #1f1a16;--accent: #1e3a5f;--accent-soft: #d5e0ec;--ok: #143d2b;--err: #7f1d1d;--focus: #0b3d91;--chip: #efe6d8;--radius: 12px;--tap: 3.35rem;--font: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--ui: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:1.08rem;line-height:1.5}.skip{position:absolute;left:.75rem;top:-3rem;background:var(--ink);color:var(--bg);padding:.45rem .8rem;z-index:10}.skip:focus{top:.75rem}.site-header,main,.site-footer{width:min(40rem,calc(100% - 1.25rem));margin-inline:auto}.site-header{padding:1.6rem 0 1.1rem}.eyebrow{margin:0 0 .3rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}h1,h2{font-family:var(--font);font-weight:600;letter-spacing:-.02em;margin:0}h1{font-size:clamp(1.85rem,7vw,2.55rem);line-height:1.12}h2{font-size:1.15rem}.lede{margin:.65rem 0 0;color:var(--muted);max-width:34rem}.card{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);padding:1rem .95rem 1.05rem;margin-bottom:.9rem}.dims,.counts{display:grid;gap:.75rem}@media(min-width:640px){.dims{grid-template-columns:1fr 1fr 1fr}.counts{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:.3rem}label{font-size:.88rem;font-weight:700}.optional{font-weight:600;color:var(--muted)}.input-wrap{display:flex;align-items:stretch}.input-wrap input{flex:1;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.suffix{display:flex;align-items:center;min-width:2.8rem;justify-content:center;background:var(--chip);border:2px solid var(--line);border-left:0;border-radius:0 10px 10px 0;font-weight:700;font-variant-numeric:tabular-nums;font-size:.82rem;padding:0 .45rem;text-align:center;line-height:1.15}input[type=text]{font:inherit;font-size:1.2rem;font-weight:650;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:10px;padding:.55rem .7rem;min-height:var(--tap);width:100%}input[type=text]:focus,input[type=checkbox]:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}input.invalid{border-color:var(--err);background:#fdf2f2}.seg-label,.waste-label{display:block;font-size:.88rem;font-weight:700;margin:.15rem 0 .4rem}.chips{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.45rem}.chips button{min-height:var(--tap);font-size:1.02rem}.chips.two{grid-template-columns:1fr 1fr}.chips.four{grid-template-columns:1fr 1fr 1fr 1fr}.chips.five{grid-template-columns:1fr 1fr}.chips.five button{font-size:.92rem;padding:.45rem}.chips.sizes{grid-template-columns:repeat(5,1fr)}.chips.sizes button{padding:.45rem .15rem;font-size:.95rem}@media(min-width:640px){.chips.five{grid-template-columns:repeat(5,1fr)}}.check{display:flex;align-items:center;gap:.65rem;margin:.95rem 0 0;font-size:1rem;min-height:var(--tap);cursor:pointer}.check input{width:1.25rem;height:1.25rem;accent-color:var(--ink);flex-shrink:0}.field-note{margin:.35rem 0 0;font-size:.82rem;color:var(--muted)}button{font:inherit;font-weight:700;color:var(--ink);background:var(--chip);border:2px solid var(--line);border-radius:10px;min-height:var(--tap);padding:.5rem .9rem;cursor:pointer}button:hover{background:#e6dccb}button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink);font-size:1.05rem}button.primary:hover{background:#2b2420}button.quiet{font-weight:600;color:var(--muted);background:transparent}.totals{background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:1.1rem 1.05rem 1.15rem;margin-bottom:.9rem}.totals.over{background:#3b1a14}.totals.over #stat-status{color:#f3c4b8}.totals.impossible{background:#3b1a14}.totals.already{background:#143d2b}.what-if{width:100%;border-collapse:collapse;margin:.55rem 0 0;font-variant-numeric:tabular-nums}.what-if th,.what-if td{text-align:left;padding:.45rem .35rem;border-bottom:1px solid var(--line)}.what-if th{font-size:.82rem;font-weight:700}.what-if td{font-weight:650}.what-if tr.meets td{background:var(--accent-soft)}.what-if caption{text-align:left;font-size:.88rem;font-weight:700;margin:0 0 .35rem;caption-side:top}.stat-row.three{grid-template-columns:1fr 1fr 1fr}@media(min-width:640px){.stat-row.three{grid-template-columns:1.2fr 1fr 1fr}}.totals h2{font-family:var(--ui);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--bg) 78%,transparent);margin-bottom:.65rem}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .75rem;margin:0}@media(min-width:640px){.stat-row{grid-template-columns:1fr 1fr 1.3fr 1fr}.stat-row.six{grid-template-columns:1fr 1fr 1fr}}.stat-row dt{font-size:.82rem;color:color-mix(in srgb,var(--bg) 72%,transparent)}.stat-row dd{margin:.12rem 0 0;font-variant-numeric:tabular-nums;font-size:clamp(1.2rem,4.6vw,1.7rem);font-weight:750;letter-spacing:-.03em;line-height:1.15}.plant{margin:.9rem 0 0;padding:.7rem .75rem;background:color-mix(in srgb,var(--bg) 12%,transparent);border-radius:8px;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.35}.truck-hint{margin:.65rem 0 0;font-size:.9rem;color:color-mix(in srgb,var(--bg) 78%,transparent)}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.15rem 0 1rem}.actions .primary{flex:1 1 12rem}.copy-status{flex-basis:100%;margin:.1rem 0 0;min-height:1.25em;color:var(--ok);font-size:.92rem}.disclaimer{margin:0;font-size:.88rem;color:var(--muted);line-height:1.45}.how,.faq{color:var(--muted);font-size:.95rem}.how p,.faq p{margin:.45rem 0 0}.faq h3{font-size:1rem;margin:.85rem 0 0;color:var(--ink)}.worked{font-variant-numeric:tabular-nums}.formula{margin:.7rem 0 0;padding:.7rem .75rem;background:var(--chip);border-radius:8px;font-size:.84rem;font-variant-numeric:tabular-nums;overflow-x:auto;white-space:pre-wrap}.site-footer{padding:.4rem 0 2.4rem;color:var(--muted);font-size:.88rem}.site-footer p{margin:0}.site-footer a{color:var(--ink);font-weight:650}.brand{font-family:var(--font);color:var(--ink);font-size:1rem;margin-bottom:.2rem!important}@media print{.skip,.actions,.chips,.seg-label,.waste-label{display:none!important}body{background:#fff;color:#000}.totals{background:#fff;color:#000;border:2px solid #000}.totals h2,.stat-row dt,.truck-hint{color:#333}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-nav,.footer-nav{display:flex;flex-wrap:wrap;gap:.3rem .95rem;font-size:.88rem}.site-nav{margin:.85rem 0 0}.site-nav a,.footer-nav a,.related-tools a{color:var(--ink);font-weight:650;text-underline-offset:.14em}.site-nav a[aria-current=page],.footer-nav a[aria-current=page]{color:var(--muted);text-decoration:none;font-weight:600}.related-tools{width:min(40rem,calc(100% - 1.5rem));margin:.4rem auto 1.1rem;color:var(--muted);font-size:.92rem}.footer-nav{margin:.3rem 0 .45rem}.site-footer .brand{font-family:var(--font);color:var(--ink);font-size:1rem;margin-bottom:.15rem}.site-footer a{color:var(--ink)}.course-head,.course-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(6.2rem,.9fr) minmax(5.2rem,.7fr) 3.35rem;gap:.4rem;align-items:end}.course-head{font-size:.78rem;font-weight:700;color:var(--muted);margin:0 0 .35rem}.course-head span:last-child{text-align:center}.course-list{display:flex;flex-direction:column;gap:.55rem}.course-row .field label{display:none}.course-row input{font-size:1.05rem}.course-row .remove{min-width:var(--tap);padding:.4rem;font-size:1.15rem;line-height:1}.add-row{margin:.7rem 0 0}.prior{display:grid;gap:.75rem;margin-top:1rem;padding-top:.95rem;border-top:2px solid var(--line)}@media(min-width:640px){.prior{grid-template-columns:1fr 1fr}}@media(max-width:520px){.course-head{display:none}.course-row{grid-template-columns:1fr 1fr auto;grid-template-areas:"name name remove" "grade credits remove"}.course-row .field:nth-child(1){grid-area:name}.course-row .field:nth-child(2){grid-area:grade}.course-row .field:nth-child(3){grid-area:credits}.course-row .remove{grid-area:remove;align-self:stretch}.course-row .field label{display:block}}.scale{width:100%;border-collapse:collapse;margin:.55rem 0 0;font-variant-numeric:tabular-nums;font-size:.92rem}.scale th,.scale td{text-align:left;padding:.35rem .3rem;border-bottom:1px solid var(--line)}.scale th{font-size:.82rem;font-weight:700}
