:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#173e37;background:#f0f5f0;font-size:17px;--green:#1b6357;--gold:#f0ca71}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{padding:12px 22px;display:flex;gap:16px;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #cbdcd4}a{color:#175e52;text-underline-offset:4px}header a{font-weight:700}main{max-width:1120px;margin:auto;padding:22px}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin-bottom:12px}h2{font-size:23px}p{line-height:1.55}button,input,select{font:inherit}button,.file-label{border:2px solid var(--green);border-radius:13px;padding:11px 17px;background:white;color:#174c43;font-weight:650;cursor:pointer;min-height:48px}button.primary{background:var(--green);color:white}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:4px solid #ac6512;outline-offset:3px}input,select{max-width:100%;padding:9px;border:1px solid #718f84;border-radius:8px;background:white;color:#163e35}input[type=checkbox]{width:22px;height:22px;vertical-align:middle}label{display:block}label select,label input:not([type=checkbox]){display:block;margin-top:6px}.intro{padding:24px 0 12px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:750;display:block;margin-bottom:12px}.card{background:white;border:1px solid #cbdcd4;padding:24px;border-radius:22px;margin-bottom:20px;box-shadow:0 5px 14px #173e3706}.small{font-size:14px;color:#496058}.row,.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:14px 0}.settings-grid,.activity-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.setting{padding:14px;border:1px solid #ceded7;border-radius:14px}.setting label{margin:5px 0}.activity-overview{margin:20px 0}.activity-overview>div{padding:18px;border-radius:17px;border:1px solid #cbdcd4;background:#fff}.activity-overview strong{display:block;margin-bottom:5px}summary{cursor:pointer;font-weight:700}details[open] summary{margin-bottom:16px}dialog{border:1px solid #9ab6a8;border-radius:20px;max-width:440px;width:90%;padding:26px}dialog::backdrop{background:#092c26aa}#gateError{color:#963a24}#storageNotice{position:fixed;z-index:90;bottom:10px;left:10px;right:10px;background:#fff2c6;border:2px solid #7b5420;padding:12px;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:10px 6px;text-align:left;border-bottom:1px solid #d9e4df}th{color:#496057}.table-wrap{overflow:auto}.chart{display:block;width:100%;max-height:240px;margin:15px auto}.legend{display:flex;gap:20px}.swatch{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;background:#1b6357}.swatch.teach{background:#9b651e}.session-detail{margin:10px 0;padding:12px;background:#f3f6f2;border-radius:10px}.file-label{font-size:15px}.file-label input{font-size:13px;max-width:260px}
body.child{height:100vh;height:100dvh;overflow:hidden}body.child header{display:none}body.child main{height:100vh;height:100dvh;max-width:none;padding:0}#pupil{height:100%;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) 48px auto;gap:10px;position:relative}.pupil-top,.pupil-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.pupil-top{font-size:16px;font-weight:650;border-bottom:1px solid #cfddd6;padding-bottom:8px}.pupil-top button{font-size:14px;padding:7px 12px}.pupil-bottom{justify-content:center}.pupil-bottom button{min-width:120px}#task{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;text-align:center;gap:8px;max-width:1000px;width:100%;margin:auto;height:100%}#instruction{font-size:clamp(26px,4.5vh,40px);margin:4px 0}#taskHint{font-size:clamp(15px,2.4vh,20px);margin:0;min-height:25px}#visual{min-height:0;display:flex;align-items:center;justify-content:center;gap:20px;padding:8px;max-height:100%;overflow:hidden}.answers{display:flex;gap:16px;justify-content:center;align-items:center}.answers button{min-width:100px;min-height:60px;font-size:28px}.answers button.chosen{outline:4px solid #bd8729;outline-offset:2px}.counters{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;align-content:center;justify-items:center;max-width:340px;width:100%;padding:12px;border:2px solid #adc8bb;border-radius:16px;background:#fff;position:relative}.counter{width:clamp(18px,4.3vh,37px);height:clamp(18px,4.3vh,37px);border-radius:50%;background:#21695c;border:2px solid #124c41;display:block}.counter.alt{background:#ca8c2c;border-color:#82500a}.counter.crossed{background:#e1e9e4;position:relative;border-color:#6c7f75}.counter.crossed:after{content:'×';display:grid;place-items:center;position:absolute;inset:0;color:#243e33;font-size:30px;line-height:1}.empty-counter{background:transparent;border-style:dashed;border-color:#bccdc3}.counter.marked{outline:4px solid var(--gold)}button.counter{min-height:0;padding:0;cursor:pointer}.set-wrap{width:min(44%,350px);display:flex;flex-direction:column;align-items:center;gap:10px}.set-label{font-size:20px;font-weight:700}.math-symbol{font-size:42px;font-weight:700}.whole{font-size:clamp(24px,6vh,48px);font-weight:750;padding:12px;border:2px solid #9cb8aa;border-radius:14px}.sequence{display:flex;align-items:center;gap:18px;font-size:clamp(28px,7vh,60px);font-weight:650}.number-line{position:relative;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid #26594b;height:80px;width:100%;margin:35px 8px 55px}.tick{position:relative;height:20px;border-left:2px solid #26594b;flex:1}.tick:last-child{flex:0}.tick span{position:absolute;top:28px;left:-8px;font-size:16px}.tick .marker{position:absolute;top:-45px;left:-12px;font-size:34px;line-height:1;color:#805516}.flash-placeholder{font-size:28px;border:2px dashed #9ab5a8;padding:25px;border-radius:18px}.build-wrap{display:flex;flex-direction:column;gap:10px;align-items:center}#feedback{text-align:center;font-size:clamp(17px,2.8vh,24px);font-weight:650;display:grid;place-items:center;line-height:1.15}#pausePanel{position:absolute;inset:0;z-index:5;background:#f0f5f0;display:flex;flex-direction:column;justify-content:center;align-items:center}.pupil-top{position:relative;z-index:6}#pausePanel h2{font-size:35px}.result-panel{max-width:600px;margin:auto;text-align:center}#pupil.finished #task{display:flex;flex-direction:column;justify-content:center}#pupil.finished #visual{flex:0}#pupil.finished #answers{display:none}@media(max-width:800px){.settings-grid,.activity-overview{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:14px}}@media(max-height:650px){#pupil{gap:4px;grid-template-rows:auto minmax(0,1fr) 34px auto;padding:6px 12px}#instruction{font-size:27px}#taskHint{font-size:16px;min-height:20px}.answers button{min-height:48px;font-size:25px;padding:7px 13px}.pupil-bottom button{min-height:44px;padding:8px 13px}#visual{padding:4px;gap:14px}.counters{padding:8px;gap:4px}.pupil-top{padding-bottom:4px}.number-line{margin-top:30px;margin-bottom:45px}}@media(max-width:500px){.settings-grid,.activity-overview{grid-template-columns:1fr}header>span{display:none}.answers{gap:8px}.answers button{min-width:75px}.pupil-bottom{gap:8px}.pupil-bottom button{min-width:0;font-size:14px}.sequence{gap:10px}.set-label{font-size:16px}.counter{width:24px;height:24px}#visual{gap:10px}}

.independent-key{color:#1b6357}.teaching-key{color:#9b651e}

textarea{display:block;width:100%;font:13px ui-monospace,monospace;border:1px solid #718f84;padding:10px;border-radius:8px;margin:8px 0 16px;min-height:90px}

button.counter{width:44px;height:44px;min-width:44px;min-height:44px}

/* Simple first-use standard: one main action, optional detail. */
#adultPanel{max-width:850px;margin:auto}#accessStatus{background:#e1f0e6;padding:12px;border-radius:10px;font-size:15px}#nextStep>h2,#practicePanel>h2,#addPupilForm>h2{margin-top:18px}#handover{border-top:2px solid #cbdcd4;padding-top:22px;margin-top:20px}.example{padding:18px;margin:18px 0;background:#f0f5f0;border-radius:14px}.example-visual{font-size:30px;font-weight:700;letter-spacing:.05em}.recovery-code{overflow-wrap:anywhere;font:700 22px ui-monospace,monospace;background:#eef5ef;padding:16px}#gate{max-width:520px;max-height:90dvh;overflow:auto}#gate input{width:100%}#gate button{font-size:16px}#activityExample p:last-child{margin-bottom:0}#pupilAdult{white-space:nowrap}#pupil .pupil-top>span:first-child{max-width:45%}#pupil #feedback{overflow-wrap:anywhere}#pupil.finished .whole{font-size:clamp(22px,5vh,40px)}

/* Silent visual sequence tasks */
#task{grid-template-rows:auto auto minmax(120px,1fr) auto}.wm-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.wm-watch{font-size:72px;font-weight:700;color:#1b6357;min-width:100px;min-height:100px;display:grid;place-items:center}.wm-position{display:grid;grid-template-columns:repeat(3,58px);gap:8px}.wm-position>span{height:48px;border:2px solid #8ba99c;border-radius:10px;background:#fff}.wm-position>span.active{background:#1b6357;outline:4px solid #e5b858}.wm-choices{display:grid;gap:8px;justify-content:center}.wm-choices.positions{grid-template-columns:repeat(3,62px)}.wm-choices.shapes{grid-template-columns:repeat(4,62px)}.wm-choices.numbers{grid-template-columns:repeat(5,62px)}.answers{display:flex;flex-direction:column;gap:8px}.answers .wm-choices button{width:62px;min-width:62px;height:48px;min-height:48px;padding:4px;font-size:28px}.wm-choices.positions button{background:#edf5ef}.wm-choices.positions button:active{background:#1b6357}.wm-recall{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.wm-slot{width:48px;height:52px;border:2px solid #8ca99c;border-radius:10px;background:white;display:grid;place-items:center;font-size:27px}.wm-slot.empty{border-style:dashed;color:#75887e}.wm-answer-actions{display:flex;gap:10px;justify-content:center}.answers .wm-answer-actions button{font-size:16px;min-width:110px;min-height:44px;padding:6px 10px}.wm-shape{width:34px;height:34px;fill:currentColor;display:block}.wm-watch .wm-shape{width:85px;height:85px}.wm-slot .wm-shape{width:30px;height:30px}#visual{padding:4px}#pupil .pupil-top>span:first-child{max-width:32%}#itemCount{font-size:14px}#taskHint{min-height:24px}@media(max-height:700px){#instruction{font-size:28px}#taskHint{font-size:16px}.wm-position{grid-template-columns:repeat(3,44px);gap:5px}.wm-position>span{height:32px}.wm-slot{height:40px;width:42px}.wm-watch{min-height:80px}.wm-watch .wm-shape{height:65px;width:65px}#pupil{gap:5px}.wm-choices{gap:5px}.answers{gap:5px}.pupil-bottom button{min-height:44px}#feedback{font-size:18px}}

/* One stable grid from presentation to response. */
.wm-fixed-board{display:grid;grid-template-columns:repeat(3,62px);grid-template-rows:repeat(3,48px);gap:8px;width:202px;height:160px;flex:none}.wm-fixed-board button{width:62px;height:48px;min-width:62px;min-height:48px;padding:0;border:2px solid #668e7e;border-radius:10px;background:#fff;opacity:1!important}.wm-fixed-board button.lit{background:#1b6357;outline:4px solid #e5b858;outline-offset:0}.wm-fixed-board button:disabled{cursor:default}.wm-fixed-board button:not(:disabled):active{background:#1b6357}#answers.wm-fixed-responses{height:108px;min-height:108px;justify-content:center;gap:8px}.wm-fixed-responses .wm-recall{height:52px;align-items:center}.wm-fixed-responses .wm-slot{height:44px;width:44px}.wm-fixed-responses .wm-answer-actions{height:48px}.wm-fixed-responses .wm-answer-actions button{min-height:44px;height:48px}@media(max-height:700px){#answers.wm-fixed-responses{height:94px;min-height:94px;gap:4px}.wm-fixed-responses .wm-recall{height:42px}.wm-fixed-responses .wm-slot{height:38px;width:40px}.wm-fixed-responses .wm-answer-actions{height:48px}}
