main{max-width:900px;margin:auto;padding:22px}h1{font-size:clamp(1.6rem,4vw,2.5rem);margin:12px 0}p{line-height:1.55}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;margin:20px 0;color:var(--ink)}form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}label{display:grid;gap:8px;font-weight:600}input,select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:12px;font:inherit;width:100%}main button{background:var(--primary,#315f91);color:var(--on-primary,#f3f7fd);border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.actions{grid-column:1/-1}.metric{display:inline-block;margin:10px 20px 10px 0}.metric strong{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums}.warning{border-left:4px solid #f0bb65;padding:12px;background:var(--panel,#352d28)}.error{border-left:4px solid #ff8686;padding:12px;background:var(--panel,#38252c)}#results[hidden]{display:none}.small{font-size:.9rem}output{display:block}ul{line-height:1.6}
@media(max-width:600px){main{padding:16px}}


/* A calculation workbench keeps inputs and mathematical output in context. */
main.calculator-page{max-width:1220px;padding:32px 24px 70px}.calculator-intro{max-width:890px;padding:0 0 12px}.calculator-intro h1{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-1px}.calculator-intro>p{color:var(--muted);font-size:14px;line-height:1.8}
.calculator-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}.calculator-workbench>.panel,.calculator-output>.panel{margin:12px 0}.calculator-workbench .panel{padding:28px;border-radius:18px}.calculator-inputs{position:sticky;top:20px}.calc-section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.calc-section-heading>span{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;color:var(--green);font:12px ui-monospace,monospace}.calc-section-heading h2{font-size:19px;margin:0 0 7px;line-height:1.3}.calc-section-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
.calculator-inputs form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.calculator-inputs label{font-size:12px;gap:10px}.calculator-inputs label:nth-child(1),.calculator-inputs label:nth-child(2),.calculator-inputs label:nth-child(5){grid-column:1/-1}.calculator-inputs input,.calculator-inputs select{min-height:50px;font-size:16px;font-weight:500}.calculator-inputs .actions button{width:100%;min-height:50px;margin-top:6px}.calculator-inputs #message:empty{display:none}
.calc-empty{min-height:380px;background:linear-gradient(145deg,var(--surface),var(--panel,var(--pale)))}.calc-preview{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:140px}.calc-preview span{padding:14px 18px;border:1px solid var(--line);border-radius:10px;font:18px ui-monospace,monospace;color:var(--green);background:var(--surface)}.calc-preview b{color:var(--muted);font-weight:400}.calc-empty>p{color:var(--muted);font-size:13px;line-height:1.8}
#metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}#metrics .metric{display:block;margin:0;border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0;background:var(--panel,var(--pale))}#metrics .metric>span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}#metrics .metric strong{font-size:clamp(18px,2vw,24px);line-height:1.35;overflow-wrap:anywhere}#metrics .metric-main{grid-column:1/-1;grid-row:1;background:var(--primary);color:var(--on-primary);border-color:transparent;padding:24px}#metrics .metric-main>span{color:var(--on-primary);opacity:.85}#metrics .metric-main strong{font-size:clamp(38px,5vw,58px);letter-spacing:-1px}#metrics .metric:last-child{grid-column:1/-1}
.capacity-visual{padding:18px 0;border-top:1px solid var(--line)}.capacity-visual>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}.capacity-visual span{color:var(--muted);font-variant-numeric:tabular-nums}.capacity-visual meter{display:block;width:100%;height:22px;margin-top:10px;accent-color:var(--green)}.capacity-visual p{font-size:11px;color:var(--muted);margin:4px 0 0}.calc-equation{border:1px solid var(--line);border-radius:10px;padding:14px;margin:6px 0 18px}.calc-equation summary{cursor:pointer;font-size:13px;font-weight:650}.calc-equation ol{padding-left:22px;margin-bottom:0}.calc-equation li{font-size:12px;line-height:1.8;margin:9px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#measurement,#capacity{font-size:12px;line-height:1.8}#results .small{font-size:11px;color:var(--muted);line-height:1.8}.calc-empty[hidden]{display:none}.calc-method p{color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:800px){.calculator-workbench{grid-template-columns:minmax(0,1fr)}.calculator-inputs{position:static}.calculator-workbench .panel{padding:22px}.calc-empty{min-height:260px}.calc-preview{min-height:100px}}
@media(max-width:500px){main.calculator-page{padding:24px 16px 50px}.calculator-workbench{gap:4px}.calculator-workbench .panel{padding:20px}.calc-section-heading h2{font-size:18px}.calculator-inputs form{gap:18px 12px}#metrics .metric-main strong{font-size:46px}}
@media print{.calculator-inputs{position:static}.calculator-workbench{display:block}.calc-empty{display:none}}

#scenario-add{width:100%;min-height:46px;margin:0 0 20px}#scenario-add:disabled{opacity:.5;cursor:not-allowed}.calc-scenarios[hidden]{display:none}#scenario-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}#scenario-list article{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0}#scenario-list h3{font:24px Georgia,serif;margin:0 0 12px}#scenario-list p{font-size:12px;color:var(--muted)}#scenario-list .metric{display:block;margin:14px 0}#scenario-list .metric strong{font-size:21px;overflow-wrap:anywhere}@media(max-width:700px){#scenario-list{grid-template-columns:minmax(0,1fr)}}

#scenario-list{display:block;overflow-x:auto}#scenario-list table{border-collapse:separate;border-spacing:0;width:100%;min-width:650px;font-size:13px;border:1px solid var(--line);border-radius:10px;overflow:hidden}#scenario-list caption{text-align:left;padding:10px 0 16px;font:22px Georgia,serif}#scenario-list th,#scenario-list td{padding:16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.7;font-variant-numeric:tabular-nums}#scenario-list thead th{background:var(--primary);color:var(--on-primary)}#scenario-list tbody th{background:var(--bar);width:190px;font-weight:600}#scenario-list .scenario-diff td{background:var(--pale)}#scenario-list .warning{border-left:4px solid #cf8e2a}#scenario-count{font-size:13px;color:var(--muted)}

.scenario-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.scenario-actions button{padding:7px 10px;font-size:12px}.calc-scenarios th{vertical-align:top}

/* Cycle 16: ask the arithmetic question in either direction. */
.calc-question{padding:clamp(24px,4vw,40px);margin:26px 0;background:var(--panel);border:1px solid var(--line);border-radius:4px 20px 20px 20px}.calc-question h2{font:34px/1.2 Georgia,serif;letter-spacing:-.6px;margin:12px 0}.calc-question>div>p{color:var(--muted);font-size:13px;line-height:1.8}.calc-directions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 16px}.calc-directions button{display:flex;flex-direction:column;gap:14px;padding:24px;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;min-height:130px}.calc-directions button>span{font-size:11px;letter-spacing:.7px;color:var(--muted)}.calc-directions strong{font:23px/1.35 Georgia,serif}.calc-directions button[aria-pressed="true"]{background:var(--primary);color:var(--on-primary);border-color:var(--green)}.calc-directions button[aria-pressed="true"]>span{color:inherit}#calc-mode-help{font-size:13px;line-height:1.8;color:var(--muted);margin:0}@media(max-width:600px){.calc-directions{grid-template-columns:1fr}.calc-directions button{min-height:100px;padding:20px}.calc-question h2{font-size:30px}}
