
:root{--navy:#061b32;--navy2:#0b3656;--cyan:#25d8df;--mint:#9af5ee;--warm:#ffbd62;--coral:#ff7e69;--paper:#fffaf0;--ink:#092238;--muted:#b6d0dc;--shadow:0 18px 48px #020d1b77}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 4%,#166985 0,#0b2d4d 30%,#06172b 75%);color:var(--paper);font:16px/1.45 Arial,Helvetica,sans-serif}.shell{max-width:1220px;margin:auto;padding:11px 22px 36px}.top{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #79dfe555}.eyebrow{margin:0;color:var(--cyan);font-size:.68rem;font-weight:bold;letter-spacing:.14em;text-transform:uppercase}.top h1{margin:2px 0 0;font:700 clamp(1.6rem,3vw,2.2rem)/.95 Georgia,serif}.top h1 span{color:var(--cyan)}.top p{margin:4px 0 0;color:#d6edf0;font-size:.84rem}.actions,.scene-tabs,.toolrow{display:flex;gap:8px;flex-wrap:wrap}.btn,.tab{border:1px solid var(--cyan);border-radius:3px;background:var(--cyan);color:#062239;padding:8px 11px;font:inherit;font-weight:bold;cursor:pointer}.btn:hover,.btn:focus,.tab:hover,.tab:focus{background:#b5fffa}.btn.ghost,.tab{background:transparent;color:var(--mint)}.tab[aria-selected=true]{background:var(--warm);border-color:var(--warm);color:#172638}.btn:focus,.tab:focus{outline:3px solid var(--warm);outline-offset:2px}.teacher-info{margin:8px 0 0;color:#d7f1f1;font-size:.84rem}.about{margin:10px 0 0;color:#d7f1f1;font-size:.82rem}.about summary{cursor:pointer;color:var(--mint);font-weight:bold}.about p{margin:6px 0}.scene-tabs{margin-top:12px;border-bottom:1px solid #67dce077;padding-bottom:7px}.stage{margin-top:10px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);padding:clamp(15px,2.2vw,24px);min-height:0}.stage .btn.ghost{color:#08495e;border-color:#0b6976;background:#fff}.stage .btn.ghost:hover,.stage .btn.ghost:focus{background:#dff8f6}.stage button:disabled{opacity:.42;cursor:not-allowed;background:#eef2f3}.scene-meta{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.scene-num{margin:0 0 3px;color:#057a85;font-weight:bold;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.stage h2{margin:0;font:700 clamp(1.55rem,3.2vw,2.55rem)/1 Georgia,serif;color:var(--navy)}.prompt{margin:7px 0 10px;max-width:830px;color:#36576a;font-size:1rem}.board{position:relative;min-height:285px;border:1px solid #bedee0;background:linear-gradient(135deg,#effcf9,#f9f5e9);overflow:hidden}.math-layer{position:relative;z-index:1;padding:13px;pointer-events:none}.math-layer svg{display:block;width:100%;min-width:600px;max-height:255px}.ink{position:absolute;inset:0;z-index:2;width:100%;height:100%;touch-action:none;cursor:crosshair}.annotation{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:0 0 10px;padding:9px 12px;background:#edf3f4;border-left:4px solid var(--cyan)}.annotation p{margin:0;color:#315565;font-size:.86rem}.toolrow{justify-content:flex-end}.annotation .tool[aria-pressed=true]{background:var(--navy2);color:#fff;border-color:var(--navy2)}.response{margin-top:14px;padding:14px;background:#fff3dc;border-left:6px solid var(--warm)}.response h3{margin:0 0 6px;font:700 1.16rem Georgia,serif}.choice{border:1px solid #587687;background:#fff;color:var(--ink);padding:8px 12px;font:inherit;font-weight:bold;cursor:pointer}.choice:hover,.choice:focus{background:#e5fbf8}.choice[aria-pressed=true]{background:#0c5267;color:#fff}.reveal{margin-top:10px}.answer{margin-top:12px;padding:14px;background:#e5fbf8;border:1px solid #6fdde2}.answer[hidden]{display:none}.support{margin-top:14px;padding:15px;background:#f1f4f7;border-top:3px solid var(--cyan)}.support[hidden]{display:none}.support p{margin:5px 0}.frame{font:700 1.08rem Georgia,serif;color:#0a405f}.bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px}.bottom .btn{min-width:110px}.page-status{color:#d4edee;font-weight:bold;font-size:.9rem}.exit{display:none}.projector .shell{max-width:none;padding:14px}.projector .top,.projector .teacher-info,.projector .about{display:none}.projector .scene-tabs{margin-top:0}.projector .stage{min-height:calc(100vh - 75px);padding:clamp(25px,5vw,65px)}.projector .stage h2{font-size:clamp(2.5rem,5vw,4.8rem)}.projector .prompt{font-size:clamp(1.15rem,2vw,1.7rem)}.projector .board{min-height:500px}.projector .exit{display:block;position:fixed;right:16px;top:14px;z-index:6}.projector .teacher-info,.projector .annotation p{display:none}.print-sheet{display:none}@media(max-width:720px){.shell{padding:13px}.top{align-items:flex-start;padding-bottom:11px}.top .actions{justify-content:flex-end}.scene-meta,.bottom{display:block}.bottom .actions{margin-top:12px}.stage{min-height:auto;padding:16px}.math-layer{overflow:auto}.annotation{display:block}.toolrow{justify-content:flex-start;margin-top:9px}.board{min-height:285px}.math-layer svg{min-width:560px}}@page{size:auto;margin:12mm}@media print{body{background:#fff;color:#000}.shell{display:none}.print-sheet{display:block;padding:28px;color:#000;font:12pt/1.45 Arial}.print-sheet h1{font:700 23pt Georgia;margin:0 0 8px}.print-sheet .task{border:2px solid #000;padding:18px;margin-top:18px}.print-sheet .reason{height:270px;border:1px solid #000;margin-top:15px}.print-sheet .line{border-bottom:1px solid #000;margin:25px 0}}


/* The SVG and the ink canvas share one 850×235 proportional drawing surface. */
.board{aspect-ratio:850/235;min-height:0!important}.math-layer{position:absolute;inset:0;padding:0}.math-layer svg{width:100%;height:100%;min-width:0;max-height:none}.projector .board{min-height:0!important}.projector .math-layer{overflow:visible}@media(max-width:720px){.math-layer{overflow:visible}.math-layer svg{min-width:0}}

.teacher-info a,.teacher-info a:visited{color:#9af5ee}.teacher-info a:focus{outline:3px solid #ffbd62;outline-offset:2px}

.board-viewport{max-width:100%}@media(max-width:720px){.top{display:block}.top .actions{margin-top:12px}.board-viewport{overflow-x:auto;overflow-y:hidden}.board{width:calc(200% - 32px)}.math-layer svg text{font-size:20px}.ink{touch-action:none}}@media print{.board-viewport{overflow:visible}}

.mobile-model-controls{display:none}@media(max-width:720px){.mobile-model-controls{display:block;margin:8px 0}.mobile-model-controls p{font-size:.85rem;margin:0 0 6px}}@media print{.mobile-model-controls{display:none}}

.page-status{color:#315565}
