:root{color-scheme:light;--ink:#213c35;--green:#176f58;--deep:#115640;--line:#d7e3dc;--paper:#fff;--muted:#5e7068;--wash:#f2f6f2;--gold:#bc8d36;--error:#a33e32;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.55;background:var(--wash);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:9px 15px;font-weight:600;cursor:pointer}button:hover{background:#edf5ef;border-color:#7ca591}button:disabled{cursor:default;opacity:.66}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:var(--deep)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bc8d36;outline-offset:3px}a{color:var(--green);text-underline-offset:3px}p{margin:0 0 14px}h1,h2,h3{line-height:1.25;text-wrap:balance}h1{font-size:clamp(1.8rem,3.4vw,2.75rem);letter-spacing:-.035em;margin:8px 0 18px}h2{font-size:1.4rem;margin:0 0 12px}h3{font-size:1.02rem;margin:0 0 10px}main{max-width:940px;margin:auto;padding:24px 24px 0}.site-header{max-width:1040px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:1.25rem;font-weight:800;text-decoration:none;letter-spacing:-.03em}.brand span{display:block;font-size:.72rem;letter-spacing:.035em;font-weight:500}.intro{padding:8px 0 28px;max-width:780px}.intro>p:last-child{max-width:660px;color:var(--muted)}.eyebrow{font-size:.73rem;letter-spacing:.085em;text-transform:uppercase;font-weight:750;color:var(--green);margin-bottom:6px}.muted{color:var(--muted)}.small{font-size:.84rem}.workspace{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:30px;box-shadow:0 10px 32px #173c2410}.task-top{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}.chip{white-space:nowrap;border-radius:20px;background:var(--wash);padding:5px 10px;font-size:.75rem;color:var(--muted)}.formula{font-size:clamp(1.3rem,4vw,1.85rem);padding:20px 16px;background:#f5f8f4;border-left:3px solid var(--gold);border-radius:3px 12px 12px 3px;margin:20px 0 24px;overflow-x:auto;min-height:90px;display:flex;align-items:center;justify-content:center}.formula math{flex-shrink:0}math{font-family:"Cambria Math","STIX Two Math",math;max-width:100%}math[display=block]{margin:8px 0;overflow-x:auto;max-width:100%}.mode-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 10px}.mode-bar button{font-size:.82rem;font-weight:600;padding:10px 8px}.mode-bar button[aria-pressed=true]{background:#e3f1e8;color:var(--deep);border-color:var(--green);box-shadow:inset 0 -2px var(--green)}details{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-top:18px}summary{font-weight:650;cursor:pointer;min-height:26px}details[open]>summary{margin-bottom:12px}#preparation-content>div+div{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.step-track{display:flex;list-style:none;padding:0;margin:28px 0;gap:8px;flex-wrap:wrap}.step-track li{flex:1;min-width:82px;border-top:3px solid var(--line);padding-top:8px;font-size:.73rem;color:var(--muted)}.step-track li.current{border-color:var(--gold);color:var(--ink);font-weight:700}.step-track li.done{border-color:var(--green);color:var(--green)}.notebook-section{margin:0 0 26px}.notebook{list-style:none;padding:0;margin:0;border-left:2px solid #bbd3c4}.notebook li{padding:8px 12px;margin-left:8px;font-size:.88rem}.notebook li+li{border-top:1px dashed var(--line)}.notebook h4{margin:0 0 4px;font-size:.82rem;color:var(--green)}.notebook p:last-child{margin-bottom:0}.notebook math{font-size:1.04rem}.current-step{border-top:1px solid var(--line);padding-top:25px}.current-step h2{margin-bottom:14px}#stage-description{color:var(--muted);font-size:.95rem}#stage-fields{margin:18px 0}fieldset{margin:0;padding:0;border:0;min-width:0}legend{font-weight:650;margin-bottom:12px}.choices{display:grid;gap:9px}.choice{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;min-height:55px;overflow:hidden}.choice:has(input:checked){border-color:var(--green);background:#f0f7f2}.choice input{flex:0 0 auto;width:20px;height:20px;accent-color:var(--green);margin:0}.choice-content{min-width:0;overflow-x:auto;padding:2px 0}.choice-content math{font-size:1.1rem}.text-label{font-weight:650;display:block;margin:0 0 8px}.text-input{width:100%;min-height:50px;padding:10px 13px;border:1px solid #9aafa2;border-radius:8px;background:#fff;font-size:1.15rem}.input-help{font-size:.82rem;color:var(--muted);margin:8px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.actions>.primary{min-width:175px}#feedback:not(:empty){padding:12px 14px;border-radius:8px;margin:16px 0 0;background:#edf5ee;border:1px solid #c4d8ca}#feedback[data-kind=error]{background:#fff4f0;border-color:#ebc7bd;color:#85372b}.hint{margin-top:12px;padding:14px;border-radius:8px;background:#fff9e9;border-left:3px solid var(--gold);font-size:.93rem}.sign-table{display:grid;gap:8px}.sign-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:10px 14px;border-radius:9px;min-height:57px}.sign-row .interval-label{font-variant-numeric:tabular-nums;font-size:1.03rem}.sign-row select{min-width:90px;min-height:42px;padding:5px;border:1px solid #9aafa2;border-radius:7px;background:white;color:var(--ink)}.sign-row.forbidden{background:#f1f3f1;color:#6c766e;border-style:dashed}.cell-note{font-size:.8rem;color:var(--muted)}.point-notes{background:var(--wash);padding:12px 14px;margin-top:14px;border-radius:8px;font-size:.83rem}.answer-cells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.answer-cells button{padding:10px 12px;text-align:left;min-height:57px;font-weight:500;overflow-wrap:anywhere}.answer-cells button[data-cell-type=point]{font-size:.9rem;background:#f7f8f5}.answer-cells button[aria-pressed=true]{background:#dceee2;border:2px solid var(--green);padding:9px 11px;color:#144c38;font-weight:650}.answer-cells button:disabled{background:#f1f3f1;border-style:dashed;opacity:1;color:#798179}.answer-preview{background:#f0f6ee;border-left:3px solid var(--green);border-radius:4px;padding:14px;margin-top:16px;font-size:1.08rem;overflow-wrap:anywhere}.empty-answer{color:var(--muted);font-size:.88rem}.completion{border-top:1px solid var(--line);padding-top:25px}.final-answer{font-size:1.4rem;padding:16px 0;color:var(--deep);overflow-wrap:anywhere}.completion .small{color:var(--muted);max-width:600px}.report-section{margin:30px 0;padding:0 5px}.report-section h2{font-size:1.2rem}.report-section details{background:#fff}.report-section label{font-size:.84rem;display:block;margin-bottom:8px}textarea{resize:vertical;width:100%;min-height:180px;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:.82rem;color:var(--ink);background:#fafcf9}.notice{padding:12px 16px;background:#fff7e4;border:1px solid #e5d3a4;border-radius:9px;margin-bottom:16px}.notice button{font-size:.84rem}.notice p{margin-bottom:8px}footer{max-width:940px;margin:0 auto;padding:0 28px 30px;font-size:.76rem;color:var(--muted)}footer p{max-width:760px}dialog{border:1px solid var(--line);border-radius:16px;padding:25px;max-width:690px;width:calc(100% - 30px);max-height:85dvh;color:var(--ink);box-shadow:0 20px 100px #12352833}dialog::backdrop{background:#16352a77}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.dialog-head h2{margin:0}.dialog-head button{font-size:.85rem}.topic-card{border-top:1px solid var(--line);padding:16px 0}.topic-card h3{margin-bottom:6px}.topic-card p{font-size:.82rem;color:var(--muted);margin-bottom:10px}.topic-actions{display:flex;flex-wrap:wrap;gap:7px}.topic-actions button{font-size:.8rem}.topic-actions button[aria-current=true]{border-color:var(--green);background:#e3f1e8}.skip-link{position:absolute;left:12px;top:-100px;padding:10px;background:white;z-index:10}.skip-link:focus{top:10px}[hidden]{display:none!important}.loading-error{padding:20px;color:var(--error)}
@media(min-width:680px){.sign-table{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-cells{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){:root{font-size:16px}main{padding:15px 12px 0}.site-header{padding:15px 14px}.site-header button{font-size:.8rem;padding:8px 10px}.intro{padding:6px 4px 18px}h1{font-size:1.9rem}.workspace{padding:20px 15px;border-radius:15px}.task-top{display:block}.chip{display:inline-block;margin:0 0 12px}.task-top h2{font-size:1.3rem}.formula{padding:18px 8px;margin-top:16px;justify-content:flex-start}.mode-bar{gap:4px}.mode-bar button{font-size:.73rem;padding:8px 5px;line-height:1.35}.step-track{gap:6px;margin:24px 0}.step-track li{min-width:45px;font-size:.66rem}.step-track li span{display:block}.choice{padding:11px 9px;gap:9px}.choice-content math{font-size:1rem}.actions{gap:8px}.actions>.primary{flex:1;min-width:150px}.answer-cells{grid-template-columns:1fr 1fr}.answer-cells button{font-size:.88rem;padding:9px}.answer-cells button[aria-pressed=true]{padding:8px}details{padding:11px 12px}.sign-row{padding:9px 10px}.sign-row .interval-label{font-size:.93rem}.current-step{padding-top:21px}.current-step h2{font-size:1.25rem}.notebook li{padding:8px}.dialog-head h2{font-size:1.2rem}dialog{padding:18px}footer{padding:0 17px 24px}.report-section{padding:0 4px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .14s,border-color .14s}}

#no-solutions{margin-top:12px}#no-solutions[aria-pressed=true]{border:2px solid var(--green);background:#dceee2}

/* A long formula scrolls inside its own row, including completed notebook
   steps. Native MathML must not enlarge the page's horizontal layout. */
.workspace,.task-top>div,.current-step,.notebook-section,.notebook li,
#preparation-content,#preparation-content>div,#stage-fields{min-width:0}
.notebook li>div,#preparation-content>div>div{
  max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;
}
.notebook p,#preparation-content p,#stage-description,.hint,#feedback,
.point-notes,.interval-label{overflow-wrap:anywhere}
.formula,.choice-content{max-width:100%;overscroll-behavior-x:contain}
.formula{justify-content:flex-start}
.mode-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
.mode-bar button,button{min-width:0;max-width:100%;overflow-wrap:anywhere}
.site-header,.dialog-head,.sign-row{flex-wrap:wrap}
.site-header>*{min-width:0}
h1,h2,h3,.brand{overflow-wrap:anywhere;hyphens:auto}
.chip{white-space:normal;max-width:100%}
.actions>.primary{min-width:min(175px,100%)}
.sign-row select{min-width:min(90px,100%);max-width:100%}
.answer-cells{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:680px){.answer-cells{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.actions>.primary{min-width:min(150px,100%)}}
@media(max-width:360px){
  .mode-bar{grid-template-columns:1fr}
  .mode-bar button{font-size:.84rem}
  .answer-cells{grid-template-columns:1fr}
}
