/* Deferred stylesheet: everything below the calculator. Critical rules live in critical.css (inlined). */
main section{margin:0 0 1.75rem}
main h2{font-size:1.4rem;line-height:1.25;margin:2rem 0 .75rem;text-shadow:0 1px 0 var(--hi)}
main h3{font-size:1.1rem;line-height:1.3;margin:1.5rem 0 .6rem}
/* one consistent gap under every title, whatever follows it (paragraph, list, FAQ, table, card row) */
main h2+*,main h3+*,main .subh+*{margin-top:0}
main h1+p{margin-top:0}
.subh{font-weight:700;margin:1.25rem 0 .6rem}
main p,main li{max-width:75ch}
main li{margin:.3rem 0}
.formula{background:var(--in);border:1px solid var(--l);box-shadow:var(--sink);border-radius:10px;padding:8px 12px;font-family:Cambria,Georgia,"Times New Roman",serif;font-size:1.05rem;overflow-x:auto;max-width:none}
code{background:var(--in);box-shadow:var(--sink);padding:1px 5px;border-radius:4px;font-size:.9em}
.ex{border:1px solid var(--l);border-radius:14px;padding:4px 16px 8px;margin:0 0 14px;background:linear-gradient(var(--s1),var(--s2));box-shadow:var(--raise)}
.ex h3{margin-top:.9rem}
.ex h3:not(:first-child){margin-top:1.25rem}
.steps li{margin:.5rem 0}
.pick li{margin:.5rem 0}
details{border:1px solid var(--l);border-radius:10px;margin:0 0 8px;background:linear-gradient(var(--s1),var(--s2));box-shadow:var(--raise)}
details[open]{box-shadow:var(--sink)}
summary{cursor:pointer;font-weight:600;padding:12px 14px;min-height:44px}
details>div{padding:0 14px 6px}
details p{margin:.4rem 0}
tr.crit th,tr.crit td{background:color-mix(in srgb,var(--e) 16%,var(--in))}
.grid tfoot th,.grid tfoot td{background:var(--ck);font-weight:700}
.grid td.te,.grid td.sd,.grid td.vr{white-space:nowrap}
.cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 4px 10px;margin:0 -4px}
.cards>.card-link{scroll-snap-align:start}
@media(max-width:700px){.cards{grid-auto-columns:minmax(210px,72%)}}
.card-link{display:block;border:1px solid var(--l);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--t);background:linear-gradient(var(--s1),var(--s2));box-shadow:var(--raise)}
.card-link:hover{border-color:var(--a);text-decoration:none}
.card-link:active{box-shadow:var(--sink)}
.card-link strong{display:block;color:var(--t);font-weight:700;margin-bottom:2px}
.card-link span{font-size:.9rem;color:var(--m)}
.stamp{color:var(--m);font-size:.9rem;margin:1.5rem 0}
.prose{padding-bottom:1rem}
.gantt{display:block;max-width:100%;height:auto;min-width:520px;background:var(--in);border:1px solid var(--l);border-radius:8px;box-shadow:var(--sink)}
.gantt .gl{stroke:var(--l)}.gantt .ga{font-size:11px;fill:var(--m)}.gantt .gt{font-size:12px;fill:var(--t)}
.gantt .gb{fill:#2563eb}.gantt .gb.c{fill:#dc2626}.gantt .gf{fill:#93b4f0}
.hist{display:block;width:100%;height:auto;min-width:420px;background:var(--in);border:1px solid var(--l);border-radius:8px;box-shadow:var(--sink)}
.hist .hb{fill:#2563eb}.hist .hl{stroke:var(--e);stroke-width:2}.hist .hc{fill:none;stroke:var(--t);stroke-width:2}.hist .ga{font-size:11px;fill:var(--m)}
.legend{font-size:.85rem;color:var(--m)}
.sw{display:inline-block;width:12px;height:12px;border-radius:2px;background:#2563eb;vertical-align:-1px;margin:0 4px 0 12px}
.sw.c{background:#dc2626;margin-left:0}.sw.f{background:#93b4f0}
.ftr{border-top:1px solid var(--l);background:linear-gradient(var(--s1),var(--s2));box-shadow:inset 0 1px 0 var(--hi);margin-top:2rem;padding:1.5rem 0 .5rem;font-size:.92rem}
.fcols{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px 16px;align-items:start}
.fcols strong{display:block;min-height:2.7em;line-height:1.3}
@media(max-width:860px){.fcols{grid-template-columns:repeat(3,minmax(0,1fr))}.fcols strong{min-height:0}}
@media(max-width:480px){.fcols{grid-template-columns:1fr 1fr}.ftr li a{font-size:.9rem;line-height:1.3}}
.ftr ul{list-style:none;padding:0;margin:.4rem 0}
.ftr li a{display:inline-block;padding:6px 0;font-weight:400}
.ftr p{color:var(--m);margin:.4rem 0}
.copy{color:var(--m);font-size:.85rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.chips a{display:inline-block;padding:8px 12px;border:1px solid var(--l);border-radius:20px;background:linear-gradient(var(--s1),var(--ck));box-shadow:var(--raise);text-decoration:none;font-weight:600}
.chips li{margin:0}
.mini{font-size:.9rem;color:var(--m)}
@media(prefers-reduced-motion:no-preference){.btn,.card-link{transition:filter .15s,border-color .15s}}
@media(prefers-reduced-motion:reduce){.tg:after{transition:none}}
@media print{.hdr,.ftr,.btns,.tabs,.x,#add{display:none}body{background:#fff}}
