/* Learner workspace: stable visual board, one conversation surface, large touch targets. */
:root{--ink:#223f42;--muted:#60736e;--green:#246b59;--paper:#fffefb;--bg:#edf2ec;--line:#dbe4da}
body{font-size:16px}button,select,input,textarea{touch-action:manipulation}button{min-height:44px}
.topbar{height:76px;padding:0 28px;gap:24px;background:#f8faf6}.brand{font-size:21px;letter-spacing:1px}.brand small{font-size:11px;letter-spacing:0;font-weight:400}.topic-select{margin-left:18px}.topic-select select{font-size:15px}.top-actions{gap:12px}.quiet,.connection{font-size:13px}.connection{padding:0 16px}.focus-clock{border:1px solid #d8e1d6;border-radius:10px;padding:0 13px;font-variant-numeric:tabular-nums}.focus-clock.running{background:#e2eee0;color:#215840}
.workspace{height:calc(100dvh - 76px);max-width:1660px;grid-template-columns:minmax(0,1.25fr) minmax(380px,1fr);gap:20px;padding:22px 28px}.board-card,.coach{border-radius:22px;box-shadow:0 5px 22px #27423106}.board-heading{padding:24px 26px 14px}.board-heading h1{font-size:26px;line-height:1.4}.eyebrow{font-size:11px;letter-spacing:1px}.board-context p{font-size:14px}.model-label{display:none}.formula-strip{font-size:23px;flex-wrap:wrap;gap:8px 18px;padding:15px 18px}.formula-strip small{font-size:12px}.scene-control{font-size:14px;grid-template-columns:auto minmax(70px,1fr) 70px}.scene-control input{height:48px}.scene-control output{font-size:18px}.board-foot{font-size:11px;padding-bottom:20px}.board-foot span:last-child{display:none}
.coach-heading{padding:21px 24px 16px;gap:12px}.teacher-symbol{width:46px;height:46px;flex-shrink:0;border:0;border-radius:15px;background:#e3ecdb;color:#375e46;font:italic 31px Georgia,serif}.coach-heading strong{font-size:20px}.teacher-role{font-size:14px;font-weight:400;color:#63786d;margin-left:5px}.coach-heading p{font-size:12px;margin-top:3px}.coach-heading .icon-button{width:48px;min-width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;border:1px solid var(--line);border-radius:13px;color:var(--ink)}.icon-button small{font:11px/1.5 inherit}.coach-tabs{margin:0 24px;gap:8px}.coach-tabs button{font-size:15px;min-height:48px}.coach-scroll{padding:24px;scroll-padding:20px}.welcome-kicker{color:var(--green);font-size:12px;letter-spacing:1px;margin:6px 0 14px}.welcome h2{font-size:27px;font-weight:600;letter-spacing:-.7px;line-height:1.45;margin:8px 0 12px}.welcome>p:not(.welcome-kicker){font-size:15px;line-height:1.9;color:#65796f;margin:0 0 21px}.question-starters{display:grid;gap:9px}.question-starters button{text-align:left;display:flex;justify-content:space-between;align-items:center;background:#f3f6ef;border:1px solid #e3e9dc;border-radius:12px;padding:13px 16px;font-size:15px;min-height:52px}.question-starters button:hover{background:#e9f0e4}.question-starters span{color:#71846b}.welcome-links{display:flex;gap:15px;margin-top:18px}.welcome-links button{font-size:14px;color:var(--green);text-decoration:underline;text-underline-offset:5px}.step-label{font-size:12px}.lesson-text h2{font-size:24px}.lesson-text p,.exercise-text{font-size:16px;line-height:1.9}.source-tag{font-size:11px;color:#687e70}.primary,.outline,.button{font-size:14px;min-height:46px}.lesson-nav button{font-size:14px}.kind-buttons button{font-size:13px;min-height:44px}.question-label{font-size:12px}.answer-options button{font-size:15px;min-height:52px}.answer-options button span{font-size:13px}.answer-input{font-size:17px}.answer-help{font-size:12px}.feedback,.hint{font-size:15px}.chat-message{margin-bottom:21px}.chat-message p{font-size:16px;padding:15px 17px;line-height:1.85;background:#f1f5ec}.chat-message.user p{background:#ecf1f3}.chat-message .who{font-size:12px;margin-bottom:6px}.chat-message button{font-size:13px;min-height:44px}.empty-chat{font-size:15px}.empty-chat h3{font-size:21px}.chat-error{font-size:14px}
.composer{padding:17px 24px 20px;background:#fffefb}.voice-bar{display:flex;align-items:center;gap:15px}.talk-button{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:white;border-radius:14px;min-height:52px;flex:1;padding:10px 16px;font-size:16px;font-weight:600}.talk-button:hover{background:#205a4d}.talk-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.talk-button.active{background:#a6513e}.read-toggle{font-size:13px;min-height:44px;color:#4d675c;gap:7px;cursor:pointer}.read-toggle input{width:19px;height:19px}.voice-note{font-size:12px;line-height:1.5;margin:8px 0 13px;min-height:18px;color:#647a6d}.text-entry{display:flex;align-items:center;gap:6px;border:1px solid #dfe6dc;border-radius:12px;background:#f7f8f4;padding:3px 5px 3px 0}.composer textarea{background:transparent;padding:9px 12px;margin:0;font-size:16px;line-height:1.5;min-height:44px;height:44px;max-height:96px;border-radius:9px}.composer textarea::placeholder{color:#798b7f}.send{min-height:44px;background:transparent;color:var(--green);padding:7px 12px;font-size:14px;white-space:nowrap}.send:hover{background:#e6efdf}#thinking{font-size:13px;padding:7px 24px}#thinking button{min-height:44px;font-size:13px}#toast{font-size:14px}
.modal{width:min(620px,calc(100vw - 28px));padding:28px;max-height:90dvh}.modal p{font-size:15px}.modal label,.modal select{font-size:15px}.modal input[type=password]{width:100%;border:1px solid var(--line);border-radius:10px;font-size:16px;padding:12px;min-height:48px;margin:8px 0}.fineprint{font-size:12px!important;line-height:1.8}.modal .fineprint{font-size:13px!important}.settings-status{font-size:14px}.parent-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}summary{min-height:44px;cursor:pointer;font-size:16px;padding:10px 0;font-weight:600}.parent-connection{border-top:1px solid var(--line);padding-top:8px}.parent-connection summary{margin-bottom:12px}.status-card p{font-size:14px}.status-card strong{font-size:16px}.ipad-help{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.ipad-help a{font-size:14px;display:inline-block;min-height:44px}.voice-rate{grid-template-columns:45px 1fr 50px}.break-symbol{display:grid;place-items:center;background:#f1edda;color:#9a7829;border-radius:18px;width:60px;height:60px;font-size:30px;margin-bottom:22px}.metric span,.record-item p{font-size:12px}.record-item button{min-height:44px;font-size:14px}#cloud-voice-controls[hidden],#cloud-key-controls[hidden]{display:none}
@media(max-width:1150px) and (min-width:901px){.topbar{padding:0 20px;gap:12px}.brand small{display:none}.topic-select{margin-left:0}.top-actions{gap:6px}.workspace{grid-template-columns:minmax(0,1fr) minmax(365px,.9fr);padding:16px;gap:14px}.board-heading{padding:20px}.board-heading h1{font-size:22px}.board-context{padding:0 20px 10px}.board-context p{font-size:13px}.formula-strip{font-size:20px}.coach-heading{padding:16px 20px 12px}.coach-scroll{padding:20px}.composer{padding:14px 20px}.welcome h2{font-size:24px}.teacher-role{font-size:12px}}
@media(max-width:900px){.topbar{height:68px;padding:0 18px;gap:12px}.brand{font-size:18px}.brandmark{width:32px;height:34px}.brand small{display:none}.topic-select{margin-left:0}.topic-select select{font-size:14px;padding:8px 25px 8px 10px}.top-actions{gap:5px}.connection{font-size:12px;padding:0 12px}.focus-clock,.quiet{font-size:12px}.workspace{height:calc(100dvh - 68px);grid-template-columns:1fr;grid-template-rows:minmax(230px,38%) minmax(0,1fr);gap:12px;padding:14px 18px}.board-heading{padding:12px 20px 3px}.board-heading h1{font-size:21px}.board-heading .eyebrow{font-size:11px}.board-context{padding:0 20px 4px}.board-context p{font-size:13px}.formula-strip{font-size:19px;padding:7px 20px}.formula-strip small{font-size:12px}.scene-control{padding:0 20px;font-size:13px}.scene-control input{height:44px}.scene-control output{font-size:16px}.board-foot{display:none}.coach-heading{padding:12px 20px 8px}.teacher-symbol{width:38px;height:38px;font-size:27px}.coach-heading strong{font-size:18px}.coach-heading p{font-size:12px}.coach-tabs{margin:0 20px}.coach-tabs button{min-height:44px;font-size:14px}.coach-scroll{padding:18px 22px}.welcome h2{font-size:24px}.welcome-kicker{margin:0 0 8px}.welcome>p:not(.welcome-kicker){margin-bottom:14px}.question-starters{grid-template-columns:1fr 1fr}.question-starters button{font-size:14px;min-height:48px;padding:10px 13px}.question-starters button:last-child{grid-column:1 / -1}.welcome-links{margin-top:10px}.composer{padding:12px 20px}.talk-button{min-height:48px}.voice-note{margin:6px 0 8px}.lesson-text p{font-size:16px}.lesson-text h2{font-size:22px}}
@media(max-width:600px){.topbar{height:64px;padding:0 10px;gap:7px}.brand{font-size:16px}.brandmark{display:none}.topic-select select{font-size:12px;max-width:143px;padding:8px 4px}.top-actions{gap:4px}#record-open{display:none}.focus-clock{font-size:11px;padding:0 6px;border:0;min-width:72px}.connection{font-size:11px;padding:0 7px;min-height:44px;gap:4px}.connection i{width:5px;height:5px}.workspace{height:calc(100dvh - 64px);padding:8px;gap:8px;grid-template-rows:minmax(220px,34%) minmax(0,1fr)}.board-card,.coach{border-radius:15px}.board-heading{padding:7px 13px 0}.board-heading h1{font-size:17px}.board-heading .eyebrow{font-size:10px}.board-heading .icon-button{width:44px;height:44px;min-height:44px}.board-context{padding:0 13px 2px}.board-context p{font-size:11px}.formula-strip{font-size:17px;padding:5px 10px;gap:5px}.formula-strip small{font-size:10px;max-width:none}.scene-control{padding:0 13px;font-size:12px;gap:8px}.scene-control output{font-size:14px}.coach-heading{padding:10px 13px 5px;gap:8px}.teacher-symbol{width:33px;height:35px;font-size:24px}.coach-heading strong{font-size:17px}.teacher-role{font-size:12px}.coach-heading p{font-size:10px;max-width:240px}.coach-heading .icon-button{width:44px;min-width:44px;height:44px}.coach-tabs{margin:0 13px}.coach-tabs button{font-size:14px}.coach-scroll{padding:16px}.welcome h2{font-size:23px}.welcome>p:not(.welcome-kicker){font-size:14px}.question-starters{grid-template-columns:1fr}.question-starters button{font-size:14px}.welcome-kicker{font-size:11px}.composer{padding:10px 13px 12px}.talk-button{font-size:15px;padding:10px}.voice-bar{gap:11px}.read-toggle{font-size:12px}.voice-note{font-size:11px}.chat-message p{font-size:16px}.modal{padding:22px}.parent-shortcuts{flex-direction:column}.metric-grid{grid-template-columns:1fr}.kind-buttons button{font-size:13px}}
@media(max-height:720px) and (min-width:901px){.topbar{height:62px}.workspace{height:calc(100dvh - 62px);padding:12px;gap:12px}.board-heading{padding:14px 20px 6px}.board-heading h1{font-size:22px}.coach-heading{padding:12px 20px 8px}.coach-scroll{padding:18px 20px}.composer{padding:12px 20px}.board-foot{display:none}}
@media(max-height:650px) and (max-width:900px){.workspace{grid-template-rows:minmax(150px,32%) minmax(0,1fr)}.board-heading h1{font-size:15px}.board-heading .eyebrow,.board-context,.teacher-symbol,.coach-heading p{display:none}.board-heading{padding-top:0}.formula-strip{padding:3px;font-size:15px}.scene-control input{height:36px}.scene-control{height:36px}.coach-heading{padding:5px 12px}.coach-heading .icon-button small{display:none}.coach-tabs button{min-height:44px}.composer{padding:6px 12px}.voice-note{margin:3px 0}.coach-scroll{padding:12px}.talk-button{min-height:44px}.teacher-role{font-size:12px}}

/* Coordinate lesson: tactile controls and a stable visual area. */
#coordinate-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 20px 16px;flex-shrink:0}#coordinate-controls[hidden],.scene-control[hidden]{display:none}#coordinate-controls>div{display:flex;align-items:center;gap:8px}#coordinate-controls button{min-width:44px;min-height:44px;border:1px solid #cbdccd;border-radius:10px;background:#f7faf5;color:#315c4c;font-size:18px}#coordinate-controls span{font-size:14px;color:#607b6c}#coordinate-controls output{min-width:23px;text-align:center;font-variant-numeric:tabular-nums;font-size:19px}#coordinate-controls #coordinate-swap{font-size:14px;padding:0 12px}#coordinate-controls button:disabled{opacity:.35}.coord-x{color:#96723b}#coordinate-map{cursor:crosshair}#coordinate-map text{font-family:inherit;fill:#486657}.coordinate-lesson .formula-strip{justify-content:space-between}
@media(max-width:900px){#coordinate-controls{padding:3px 12px 8px;gap:20px}.coordinate-lesson .workspace{grid-template-rows:minmax(280px,40%) minmax(0,1fr)}}
@media(max-width:600px){#coordinate-controls{gap:10px;padding:2px 8px 5px}#coordinate-controls>div{gap:4px}#coordinate-controls span{font-size:12px}#coordinate-controls #coordinate-swap{font-size:12px;padding:0 7px}.coordinate-lesson .formula-strip small{font-size:10px}.coordinate-lesson .workspace{grid-template-rows:minmax(260px,38%) minmax(0,1fr)}}

@media(max-width:600px){#coordinate-controls{gap:8px}#coordinate-controls>div{gap:2px}#coordinate-controls output{min-width:18px}#coordinate-controls span{font-size:11px}#coordinate-controls #coordinate-swap{padding:0 5px}}

.teaching-guide{border:1px solid #d1dfd2;border-radius:16px;padding:20px;background:linear-gradient(135deg,#f4f8ee,#fcfdf8);margin-bottom:18px}.teaching-guide[hidden]{display:none}.guide-meta{display:flex;justify-content:space-between;gap:12px;color:#55735f;font-size:12px}.teaching-guide h2{font-size:23px;line-height:1.45;margin:13px 0}.guide-explanation{font-size:18px;line-height:1.85;margin:0 0 18px}.guide-actions{display:flex;gap:8px}.guide-actions button{flex:1;min-height:46px;border:1px solid #cedbcf;border-radius:10px;background:#fff;color:#315848}.guide-actions button.primary{background:#276950;color:white;border-color:#276950}.guide-actions button:disabled{opacity:.35}.guide-note{font-size:12px;color:#61776b;line-height:1.6;margin:12px 0 0}.guide-practice{margin-top:12px;width:100%}.teaching-active #lesson-panel .lesson-text,.teaching-active #lesson-panel>.source-tag{display:none}@media(max-width:900px){.teaching-guide{padding:16px}.teaching-guide h2{font-size:21px}.guide-explanation{font-size:17px}}
