:root{--paper:#f7f8f4;--white:#fff;--ink:#213c35;--muted:#6f7f79;--green:#17634e;--light:#eaf3ec;--line:#dde5dc;--gold:#b4803c;--red:#b24135;--shadow:0 14px 45px #16392a06;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #93bf67;outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}button:active{transform:translateY(1px)}.topbar{max-width:1280px;margin:auto;height:92px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:19px;font-weight:700;letter-spacing:-.4px;display:flex;gap:12px;align-items:center;color:var(--ink)}.brand-icon{width:38px;height:38px;border-radius:11px;background:var(--green);color:white;display:grid;place-content:center;font:italic 30px Georgia;position:relative}.brand-icon span{position:absolute;right:5px;top:0;color:#d5e8a6}.class-tag{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.class-tag b{display:inline-block;margin-left:16px;color:var(--green);background:var(--light);padding:9px 12px;border-radius:5px;font-weight:600}.footer{max-width:1192px;margin:35px auto 0;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px}.footer a{color:var(--muted)}.loading{padding:100px;text-align:center}.welcome{max-width:1100px;margin:64px auto;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start;padding:0 24px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700;color:var(--green);display:block;margin-bottom:20px}.welcome h1{font:normal 62px/1.08 Georgia,'Times New Roman',serif;letter-spacing:-2px;margin:0 0 24px}.welcome h1 em{color:var(--green);font-weight:normal}.lede{font-size:17px;line-height:1.7;color:var(--muted);max-width:420px}.pills{display:flex;gap:10px;flex-wrap:wrap;margin:27px 0}.pill{font-size:12px;background:var(--white);padding:10px 13px;border:1px solid var(--line);border-radius:30px}.intro-art{height:150px;display:flex;align-items:center;gap:24px;margin-top:25px}.intro-art svg{height:145px;width:160px}.art-note{font:italic 19px/1.5 Georgia;color:var(--muted);max-width:200px}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.join{padding:34px}.join h2{font:normal 30px Georgia;margin:0 0 10px}.join p{font-size:14px;line-height:1.6;color:var(--muted)}label.field{display:block;font-size:13px;font-weight:600;margin-top:23px}.field input{display:block;width:100%;margin-top:9px;padding:14px 15px;border:1px solid #cedacf;background:#fcfdfb;border-radius:8px;font-size:17px;color:var(--ink)}.primary{border:1px solid var(--green);background:var(--green);color:white;border-radius:8px;padding:14px 22px;font-weight:600;font-size:14px}.primary:hover{background:#104d3c}.secondary{border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:13px 18px;font-size:14px}.secondary:hover{background:var(--paper);border-color:#a8bbb0}.text-button{border:0;background:none;color:var(--muted);padding:12px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.join .primary{width:100%;margin-top:24px;display:flex;justify-content:space-between}.small{font-size:12px!important;line-height:1.6;color:var(--muted)}.rules{list-style:none;padding:0;font-size:13px;color:var(--muted);line-height:1.8}.rules li:before{content:'✓';color:var(--green);padding-right:9px}.resume{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.resume summary{cursor:pointer;font-size:13px;color:var(--green)}.error{color:var(--red)!important;font-size:13px}.workspace{max-width:1192px;margin:28px auto 0;display:grid;grid-template-columns:250px 1fr;gap:38px}.sidebar{padding-top:8px}.student{border-bottom:1px solid var(--line);padding:0 0 23px;margin-bottom:23px}.student-name{font-size:17px;font-weight:600;margin:0 0 7px}.student .small{margin:0}.section-label{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin:0 0 13px}.section-nav{display:grid;gap:6px}.section-nav button{background:transparent;border:1px solid transparent;border-radius:9px;display:flex;align-items:center;gap:10px;width:100%;padding:13px 12px;text-align:left;font-size:13px;color:var(--muted);line-height:1.3}.section-nav button.active{background:var(--light);border-color:#d7e8da;color:var(--green);font-weight:600}.section-nav button:hover{background:#eef2ea}.section-num{font-size:11px;opacity:.7}.section-count{margin-left:auto;font-size:10px;white-space:nowrap}.sidebar-note{margin-top:27px;padding:17px;border-radius:10px;background:#edf1e8;color:var(--muted);font-size:12px;line-height:1.6}.test-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;font-size:12px;color:var(--muted)}.timer{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink)}.progress{height:5px;border-radius:8px;background:#e2e9df;margin-bottom:28px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green);transition:width .2s}.chapter{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px;gap:15px}.chapter h1{font:normal 30px Georgia;margin:0 0 7px;letter-spacing:-.3px}.chapter p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.chapter .eyebrow{margin:0 0 10px;font-size:10px}.question-card{padding:30px 36px;min-height:352px}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:11px;color:var(--muted);letter-spacing:.4px}.question-meta .tag{background:var(--paper);padding:7px 10px;border-radius:5px;letter-spacing:0}.prompt{font-size:16px;line-height:1.65;margin:25px 0 15px}.math{font:normal 33px/1.5 Georgia,'Times New Roman',serif;color:#243c35;margin:18px 0 28px;overflow-wrap:anywhere}.math sup,.option sup{font-size:.65em}.frac{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle;font-size:.85em;line-height:1.25;margin:0 5px}.frac>span:first-child{border-bottom:1.4px solid;padding:0 5px 3px}.frac>span+span{padding-top:3px}.answer-label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.number-input{width:100%;max-width:360px;font-size:22px;padding:15px 18px;border:1px solid #bdcec2;border-radius:9px;color:var(--ink);background:#fcfdfb}.answer-hint{font-size:11px;color:var(--muted);margin:9px 0 0}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{border:1px solid var(--line);background:white;border-radius:9px;display:flex;align-items:center;gap:13px;text-align:left;min-height:65px;padding:15px;color:var(--ink);font:19px/1.4 Georgia}.option.selected{border:1.5px solid var(--green);background:#edf5ed}.option:hover{border-color:#7ca98c}.option-letter{font:11px Arial;border:1px solid var(--line);border-radius:50%;width:25px;min-width:25px;height:25px;display:grid;place-content:center;color:var(--muted)}.option.selected .option-letter{background:var(--green);border-color:var(--green);color:white}.below-question{display:flex;justify-content:space-between;gap:10px;margin-top:22px;border-top:1px solid #edf0e9;padding-top:14px;align-items:center}.unsure{background:transparent;border:0;color:var(--muted);padding:8px 0;font-size:12px}.unsure.active{color:var(--gold);font-weight:700}.save-state{font-size:11px;color:var(--green)}.save-state.failed{color:var(--red)}.navigation{display:flex;gap:10px;justify-content:space-between;margin:20px 0}.navigation-right{display:flex;gap:10px}.map{padding:21px 24px;margin-top:25px}.map-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px;font-size:11px;color:var(--muted)}.dots{display:grid;grid-template-columns:repeat(15,1fr);gap:7px}.dot{aspect-ratio:1;border:1px solid var(--line);border-radius:6px;background:white;color:var(--muted);font-size:11px;min-width:0}.dot.answered{background:#dcecdf;border-color:#dcecdf;color:var(--green)}.dot.unsure{background:#fff3db;border-color:#ebdbbb;color:#956824}.dot.current{outline:2px solid var(--green);outline-offset:1px;color:var(--green);font-weight:700}.finish-row{text-align:right;margin:15px 0}.finish-row button{font-size:12px}.graph-wrap{max-width:360px}.graph-board{width:100%;touch-action:manipulation;user-select:none;display:block;background:#fff;border-radius:8px;border:1px solid var(--line)}.graph-board .grid{stroke:#e6ece5;stroke-width:.7}.graph-board .axis{stroke:#899b90;stroke-width:1.4}.graph-board text{font:10px Arial;fill:#6f7f79}.graph-point{fill:var(--green);stroke:white;stroke-width:2}.graph-line{stroke:var(--green);stroke-width:2}.graph-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:12px 0}.graph-controls label{font-size:12px}.graph-controls input{display:block;width:66px;border:1px solid var(--line);padding:8px;margin-top:5px;border-radius:6px}.graph-controls button{padding:9px}.graph-coords{font-size:12px;min-height:18px;color:var(--green)}dialog{border:1px solid var(--line);border-radius:17px;padding:32px;max-width:460px;width:calc(100% - 32px);box-shadow:0 20px 100px #1234;color:var(--ink)}dialog::backdrop{background:#122e2466;backdrop-filter:blur(3px)}dialog h2{font:30px Georgia;margin-top:0}dialog p{line-height:1.6;font-size:14px;color:var(--muted)}.actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.done{max-width:650px;margin:60px auto;padding:44px;text-align:center}.done h1{font:42px Georgia}.done p{line-height:1.7;color:var(--muted)}.done-icon{font-size:30px;background:var(--light);color:var(--green);border-radius:50%;width:64px;height:64px;display:grid;place-content:center;margin:auto}.code{display:inline-block;font:24px monospace;letter-spacing:2px;padding:14px 20px;background:var(--light);border-radius:8px;color:var(--green)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:13px 20px;border-radius:9px;font-size:13px;z-index:10;display:none;max-width:90vw}.teacher{max-width:1192px;margin:40px auto}.teacher h1{font:38px Georgia}.teacher-login{max-width:420px;margin:60px auto;padding:32px}.teacher-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats{display:flex;gap:15px;margin:25px 0;flex-wrap:wrap}.stat{padding:18px 24px;flex:1;min-width:140px}.stat strong{font:32px Georgia;display:block}.stat span{font-size:12px;color:var(--muted)}.table-scroll{overflow:auto}.results-table{border-collapse:collapse;width:100%;font-size:13px}.results-table th{text-align:left;padding:14px;background:#f0f4ed;color:var(--muted);font-weight:normal;white-space:nowrap}.results-table td{padding:16px 14px;border-top:1px solid var(--line)}.results-table button{border:0;background:none;color:var(--green);text-decoration:underline;text-align:left}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.topic-card{padding:15px;font-size:12px;line-height:1.8}.topic-card strong{display:block}.review-question{padding:22px;margin:12px 0}.review-question .math{font-size:24px;margin:12px 0}.review-question p{font-size:13px}.correct{color:var(--green)}.incorrect{color:var(--red)}.muted{color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1500px){.welcome{margin-top:90px}.workspace{margin-top:40px}}
@media(max-width:1240px){.workspace,.teacher{margin-left:30px;margin-right:30px}.footer{margin-left:30px;margin-right:30px}.workspace{gap:25px;grid-template-columns:220px 1fr}}
@media(max-width:800px){.topbar{height:72px;padding:0 22px}.welcome{margin:35px auto;gap:35px;grid-template-columns:1fr;max-width:540px}.welcome h1{font-size:48px}.intro-art{display:none}.lede{font-size:15px}.pills{margin:20px 0 0}.join{padding:26px}.workspace{grid-template-columns:1fr;margin:22px 18px;gap:16px}.sidebar{display:flex;flex-direction:column}.student{padding-bottom:13px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.student-name{font-size:14px}.student .text-button{padding:5px}.section-label,.sidebar-note{display:none}.section-nav{display:flex;overflow:auto;gap:5px;padding-bottom:7px}.section-nav button{min-width:max-content;width:auto;font-size:11px;padding:9px}.section-count{display:none}.test-top{font-size:11px}.chapter h1{font-size:27px}.question-card{padding:23px;min-height:330px}.math{font-size:30px}.options{gap:9px}.option{font-size:17px;padding:12px 9px;gap:8px}.navigation{gap:6px}.navigation .primary,.navigation .secondary{padding:12px 14px;font-size:12px}.navigation-right{gap:6px}.dots{grid-template-columns:repeat(10,1fr)}.dot{font-size:11px}.map{padding:16px}.map-head{flex-direction:column;align-items:start;gap:5px}.footer{margin:30px 20px 0;font-size:10px;line-height:1.5}.done{margin:30px 18px;padding:28px}.done h1{font-size:33px}.teacher{margin:25px 18px}.topic-grid{grid-template-columns:1fr 1fr}.teacher h1{font-size:30px}.teacher-login{margin:40px 18px}.number-input{font-size:22px}}
@media(max-width:400px){.class-tag{font-size:8px;letter-spacing:1px}.class-tag b{margin-left:6px;padding:7px}.brand{font-size:16px;gap:7px}.options{grid-template-columns:1fr}.question-card{padding:20px}.welcome h1{font-size:43px}.topic-grid{grid-template-columns:1fr}}

.workspace > *{min-width:0}.recovery-mobile{display:none}
@media(max-width:800px){.recovery-mobile{display:block;margin:8px 0 0;line-height:1.5}.recovery-mobile summary{cursor:pointer;color:var(--green)}.recovery-mobile p{margin:6px 0}.graph-wrap{width:100%}.test-top{flex-wrap:wrap}}

/* Equation systems and nearby alternative response action. */
.math-system{display:flex;align-items:center;gap:.18em}
.math-system::before{content:"{";font-family:"Times New Roman",serif;font-size:2.8em;line-height:1;font-weight:400;transform:translateY(-.025em)}
.math-system>span{display:block;line-height:1.5}
.answer-row{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.answer-row .number-input{flex:1 1 220px;min-width:0}
.answer-unsure{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;border:1px solid #aebfb1;border-radius:9px;background:#f4f7f1;color:#40594a;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap}
.answer-unsure:hover{background:#e8eee3;border-color:#7c9882}
.answer-unsure.active{background:#fff1d6;border-color:#b58a43;color:#755019}
.answer-alternative{margin-top:16px}
.below-question{justify-content:flex-end}
@media(max-width:600px){.answer-row{gap:10px}.answer-row .number-input{flex-basis:100%;max-width:none}.answer-row .answer-unsure{width:100%;min-height:48px}.answer-alternative .answer-unsure{width:100%}}

/* Optional mathematical explorers; their controls never submit an answer. */
.explorer{max-width:480px;background:#f7faf7;border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 25px}
.explorer-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;font-weight:600;margin-bottom:8px}
.explorer-badge{font-size:10px;font-weight:400;color:var(--muted)}
.explorer svg{display:block;width:100%;height:auto;overflow:hidden}
.explorer-grid{stroke:#e0e8df;stroke-width:1}
.explorer-axis{stroke:#879b8d;stroke-width:1.3;fill:none}
.explorer-labels{font:11px Arial;fill:#617368}
.explorer-curve{stroke:#17634e;stroke-width:2.7;fill:none;stroke-linejoin:round}
.explorer-level{stroke:#b7772c;stroke-width:2.5;fill:none}
.explorer-line-label{font:italic 14px Georgia;fill:#946024}
.explorer-river{font:13px Arial;fill:#3e7187}
.explorer-dimension{font:14px Arial;fill:#294b3b}
.explorer-slider{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:12px;font-size:13px}
.explorer-slider output{font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}
.explorer-slider input{grid-column:1/-1;width:100%;min-height:36px;accent-color:var(--green);cursor:pointer;margin:0}
@media(max-width:600px){.explorer{padding:12px}.explorer-head{font-size:12px}.explorer-badge{font-size:9px}.explorer-slider{font-size:12px}}
