:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#183332;background:#f5f7f7;line-height:1.6;--teal:#12645b;--line:#dce5e3;--muted:#617671}*{box-sizing:border-box}body{margin:0}header{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5vw;background:#fff}.brand{font-size:25px;font-weight:750;letter-spacing:-1px;text-decoration:none;color:var(--teal)}.brand span{font-size:12px;letter-spacing:1px;border-left:1px solid var(--line);margin-left:20px;padding-left:20px;font-weight:500}.header-right{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--muted)}main{max-width:1480px;margin:auto;padding:38px 5vw 20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--teal);font-weight:650}h1{font-size:30px;letter-spacing:-.7px;line-height:1.35;margin:9px 0}h2{font-size:17px;margin:5px 0}h3{font-size:19px}p{color:var(--muted);font-size:14px}.intro p{margin:8px 0}.setup label{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.setup>div{display:flex;gap:8px}button,select{font:inherit;font-size:13px;padding:10px 15px;border:1px solid #c6d6d2;border-radius:8px;background:#fff;color:#294d45;cursor:pointer}button:hover:enabled{background:#edf4f1;border-color:var(--teal)}button:disabled{opacity:.48;cursor:default}button.primary{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}button.primary:hover:enabled{background:#0a514a}button span{margin-left:12px}button:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #67b4a4;outline-offset:3px}#status{font-size:13px;min-height:32px;color:var(--muted);padding:0 1px 10px}#status.error{color:#9b3524}#status.busy{color:var(--teal)}.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);gap:22px;align-items:start}.panel{border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px}.panel-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.pill{font-size:11px;padding:4px 9px;border-radius:20px;background:#edf4f1;color:#4b7164;white-space:nowrap}.source-gate{min-height:445px;padding:75px 40px;text-align:center;border-radius:10px;background:repeating-linear-gradient(0deg,#f8faf9,#f8faf9 35px,#f0f5f2 36px)}.source-gate p{max-width:340px;margin:12px auto 25px}.book-icon{font-size:36px;color:#518c7c;border:1px solid #b7d3c6;border-radius:14px;width:65px;height:68px;margin:0 auto 25px;transform:rotate(-6deg);background:#fff}.source-gate h3{font-weight:550;margin:10px 0}#source-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 12px}#source-tabs button{font-size:11px;padding:6px 10px}#source-tabs button.selected{background:#edf4f1;border-color:var(--teal)}#page-image{width:100%;height:auto;border:1px solid #e1e6e4;border-radius:4px}.subtle-link{font-size:12px;color:var(--teal);margin-top:10px;display:inline-block}#audio-box{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}#audio-box>div{display:flex;justify-content:space-between;font-size:12px;gap:12px;margin-bottom:10px}#audio-box span{color:var(--muted)}audio{width:100%;height:38px}#why{font-size:13px;min-height:38px}.teacher-presence{background:#f2f7f4;border:1px solid #e0eae5;border-radius:12px;text-align:center;padding:25px 15px;margin:18px 0}.teacher-presence strong{font-weight:550;font-size:15px}.teacher-presence p{font-size:12px;margin:7px 0 0}.voice-mark{display:flex;justify-content:center;align-items:center;gap:5px;height:37px;margin-bottom:15px}.voice-mark i{width:5px;height:12px;background:#378f7b;border-radius:8px}.voice-mark i:nth-child(2),.voice-mark i:nth-child(4){height:22px}.voice-mark i:nth-child(3){height:32px}.speaking .voice-mark i{animation:wave .7s ease-in-out infinite alternate}.speaking .voice-mark i:nth-child(2){animation-delay:.2s}.speaking .voice-mark i:nth-child(3){animation-delay:.3s}@keyframes wave{to{transform:scaleY(.45)}}.voice-controls{display:flex;gap:7px;justify-content:center}.voice-controls button{font-size:12px;flex:1;padding:9px 5px}.record{display:flex;align-items:center;justify-content:center;width:100%;background:#153e38;color:white;border:0;padding:16px;margin:20px 0 8px;font-weight:550;font-size:15px}.record:hover:enabled{background:#235b50}.record-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#b6e7ce;margin:0}.record.recording{background:#944d37}.record.recording .record-dot{border-radius:2px;background:white}.micro-note{font-size:11px;line-height:1.5;margin:8px 0 18px;color:#768783}details{border-top:1px solid var(--line);padding:13px 0;font-size:12px}summary{cursor:pointer;color:#476158}textarea{font:inherit;font-size:14px;border:1px solid #c6d6d2;border-radius:8px;width:100%;padding:10px;margin:9px 0;resize:vertical}#transcript-box label{font-size:13px;color:var(--teal)}#transcript-box{padding:15px 0}#conversation{max-height:300px;overflow:auto}.message{padding:12px;border-radius:8px;margin:12px 0;background:#f4f7f6;white-space:pre-wrap;font-size:13px}.message.user{background:#edf4fa}.message small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.review{margin-top:10px}.review summary{font-weight:650;color:var(--teal)}.review p{font-size:12px}.review small{display:block;color:var(--muted);font-size:10px;margin-top:10px}.field-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.field-row select{font-size:12px;padding:6px 8px}.check{display:flex;align-items:center;gap:8px;margin-top:8px}.bottom-actions{display:flex;justify-content:space-between;margin-top:12px;gap:8px}.bottom-actions button{font-size:11px;border:0;background:transparent;color:#6e807b;padding:7px}.progress-panel{margin-top:26px;padding:23px 25px;border:1px solid var(--line);border-radius:14px;background:#fff}.requirements{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.requirement{border-left:2px solid #bdd2c9;padding:7px 10px;display:flex;flex-direction:column;gap:8px}.requirement span{font-size:12px}.requirement small{font-size:11px;color:var(--muted)}#issues{color:var(--muted);padding-left:20px}#issues li{margin:7px 0}.history-item{display:flex;justify-content:space-between;align-items:center;gap:15px;background:white;border:1px solid var(--line);padding:15px;border-radius:9px;margin:10px 0;font-size:12px}#history-box{margin-top:30px}footer{display:flex;justify-content:space-between;gap:20px;color:#81918c;font-size:11px;padding-top:35px}[hidden]{display:none!important}@media(max-width:1050px){main{padding:26px 25px}.intro{align-items:start;flex-direction:column}.workspace{grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}h1{font-size:26px}.panel{padding:18px}.source-gate{padding:60px 20px}}@media(max-width:760px){header{padding:0 20px}.brand span{display:none}main{padding:23px 15px}.workspace{grid-template-columns:1fr}.teacher{grid-row:1}.source-gate{min-height:260px;padding:35px 25px}.requirements{grid-template-columns:1fr 1fr}footer{flex-direction:column;gap:8px}.intro h1{font-size:24px}.header-right button{display:none}.setup>div{flex-wrap:wrap}.history-item{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.speaking .voice-mark i{animation:none}}

#reading-box{padding:16px;background:#f2f7f4;border:1px solid var(--line);border-radius:10px;margin:16px 0}#reading-box small{display:block;margin-top:10px;color:var(--muted);font-size:11px}.panel-heading .pill{white-space:normal;text-align:right}.requirements{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

.auth-main{max-width:520px;padding:64px 24px}.auth-card{padding:32px;background:#fff}.auth-card h1{font-size:26px}.auth-card fieldset{border:0;padding:0;margin:24px 0 0;min-width:0}.auth-card label{display:block;font-size:13px;margin:16px 0 6px}.auth-card input{width:100%;min-width:0;font:inherit;font-size:16px;border:1px solid #c6d6d2;border-radius:8px;padding:11px;background:#fff;color:#183332}.auth-card input:focus-visible{outline:3px solid #67b4a4;outline-offset:3px}.password-field,.code-field{display:flex;gap:8px}.password-field button,.code-field button{flex-shrink:0;padding:10px}.auth-hint{font-size:12px;margin:6px 0}.auth-card #auth-submit{width:100%;margin-top:24px}.auth-links{display:flex;justify-content:space-between;gap:12px}.auth-links button{border:0;background:transparent;padding:6px 0;color:var(--teal)}#auth-status{min-height:24px;font-size:13px}#auth-status.error{color:#9b3524}#account-email{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.auth-leaving main{visibility:hidden}@media(max-width:760px){.header-right #logout{display:inline-block}.header-right{gap:8px}#account-email{max-width:120px}#connection{max-width:110px}.auth-main{padding:32px 16px}.auth-card{padding:24px}}

.voice-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:14px 0}.voice-setting-row>span,.voice-setting-row>label{grid-column:1/-1;font-size:12px}.voice-setting-row strong{align-self:center;min-width:0;font-size:12px;font-weight:500}.voice-setting-row button,#voice-stop{font-size:12px;padding:8px 10px}

#focus-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#eaf5ef;border-left:4px solid #319580;margin-bottom:10px;font-size:13px}#whole-page{font-size:12px;white-space:nowrap}#page-frame{max-height:65vh;overflow:auto;border:1px solid var(--line);border-radius:8px}#page-canvas{position:relative}#page-canvas #page-image{display:block;width:100%;margin:0}#focus-overlay{position:absolute;inset:0;pointer-events:none}.focus-mask{position:absolute;backdrop-filter:blur(5px);background:rgba(245,248,246,.66)}.focus-outline{position:absolute;border:3px solid #319580;border-radius:5px;box-shadow:0 0 0 2px #fff}#current-request{font-size:17px;line-height:1.7;white-space:pre-wrap;color:var(--ink);text-align:left;margin:16px 0 0}.teacher-presence:has(#current-request:not([hidden])){padding-bottom:16px}

.header-right a{color:var(--teal);text-decoration:none}#source-text{white-space:pre-wrap;line-height:1.9;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px}#source-transcript-text{white-space:pre-wrap;font:inherit}#answer-redactions{position:absolute;inset:0;pointer-events:none}#answer-redactions>div{position:absolute;background:#fff}#video-clip,#course-asset-list video,#video-frame-list img{max-width:100%;max-height:65vh}.recap-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0}.recap-check{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.recap-check span{font-size:13px;color:var(--muted)}#lesson-recap{margin-bottom:24px}
