:root{color-scheme:dark;--bg:#0b171c;--panel:#13252b;--ink:#edf5ed;--muted:#a5b9b9;--mint:#b7e1ba;--line:#30464c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#203b3b 0,transparent 45%),var(--bg);color:var(--ink);font-family:Arial,sans-serif;font-size:18px;line-height:1.5}button,input,select{font:inherit}button,select{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:13px 20px;min-height:50px;background:var(--panel);color:var(--ink)}button:hover{background:#28433e}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e4c68b;outline-offset:4px}button:disabled{opacity:.5}.shell{max-width:1600px;margin:auto;padding:30px 4vw}header,.header-right,.intro,.controls,footer{display:flex;align-items:center;justify-content:space-between;gap:22px}header{border-bottom:1px solid var(--line);padding-bottom:22px}h1{font-size:32px;letter-spacing:-1px;margin:2px 0}h1 span{font-weight:400;color:var(--mint)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--mint)}.badge{font-size:13px;color:var(--mint);border:1px solid #3c6256;padding:8px 13px;border-radius:30px}.quiet{font-size:14px;background:transparent}.intro{margin:28px 0}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1.15;margin:8px 0 12px}.intro p{color:var(--muted);margin:4px 0}#lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}#lessons button{text-align:left;font-size:13px;color:var(--mint);padding:15px 20px}#lessons strong{display:inline-block;font-size:20px;margin-left:12px;color:var(--ink)}#lessons span{display:block;color:var(--muted);margin-left:30px}#lessons [aria-pressed=true]{background:#2d4b40;border-color:var(--mint)}.stage{display:grid;grid-template-columns: minmax(280px,.85fr) minmax(0,1.65fr);gap:20px;min-height:390px}.presence{background:linear-gradient(145deg,#213a3a,#13242c);border:1px solid var(--line);border-radius:22px;text-align:center;padding:28px;display:flex;align-items:center;flex-direction:column;justify-content:center}.orb-frame{height:190px;display:grid;place-items:center;position:relative;width:100%}.orb{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f4f9d0 0,#abdcd3 20%,#72a0a6 50%,#436272 75%);box-shadow:0 0 65px #a8dbbc33,inset -10px -10px 28px #132d4c80;transition:transform .3s}.speaking .orb{animation:breathe 1.4s ease-in-out infinite alternate}.orb-frame.provider-card .orb{border-radius:34% 34% 45% 45%;background:linear-gradient(130deg,#d4d395,#849d86);width:115px;height:145px}.orb-frame.generic .orb{border-radius:25px;background:linear-gradient(135deg,#94b7d1,#665f92)}@keyframes breathe{to{transform:scale(1.09);box-shadow:0 0 85px #a8dbbc66}}h3{font-weight:500;font-size:22px;margin:8px 0}.presence p{font-size:14px;color:var(--muted);margin:3px 0}#audio-status{margin-top:13px;color:var(--mint)}figure{margin:0;background:#182c32;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.visual{flex:1;min-height:310px;display:grid;place-items:center;position:relative;padding:12px}.visual img{width:100%;height:100%;max-height:360px;object-fit:contain}.empty{text-align:center;color:var(--muted);padding:20px}.empty>span{font-size:50px;color:var(--mint)}figcaption{padding:14px 22px;background:#102128;border-top:1px solid var(--line);font-size:15px;color:#c8d8d7}.transcript{margin:20px 0;padding:15px 22px;border-left:3px solid var(--mint);background:#14262a}.transcript p{font-size:20px;margin:6px 0}.controls{justify-content:flex-start;flex-wrap:wrap}#tour{background:var(--mint);color:#183229;border-color:var(--mint);font-weight:600}.stop{color:#f4c4ad}.controls label{margin-left:auto;font-size:13px;color:var(--muted)}select{display:block;font-size:15px;margin-top:5px;max-width:100%}details{margin-top:22px;border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--muted)}summary{cursor:pointer}.diagnostics{display:flex;flex-wrap:wrap;gap:20px;padding:15px 0}.diagnostics p{max-width:400px}.diagnostics ol{flex-basis:100%;font-family:monospace;font-size:12px;max-height:170px;overflow:auto}footer{font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:30px}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{max-width:500px;padding:40px;border:1px solid var(--line);border-radius:24px;background:var(--panel)}.login-card h1{font-size:44px;margin-top:15px}.login-card p{color:var(--muted)}.login-card label,.login-card input,.login-card button{display:block;width:100%}.login-card input{margin:10px 0 16px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;color:white}.login-card button{background:var(--mint);color:var(--bg)}.login-card small{display:block;margin-top:22px;color:var(--muted);font-size:12px}@media(min-width:1800px){body{font-size:23px}.shell{max-width:1800px;padding:40px 5vw}.stage{min-height:500px}.visual img{max-height:450px}.orb{width:180px;height:180px}.orb-frame{height:260px}}@media(max-width:750px){.shell{padding:20px}header,.intro,footer{align-items:flex-start;flex-wrap:wrap}.header-right{gap:10px}.badge{font-size:11px}#lessons{grid-template-columns:1fr}#lessons span{display:inline;margin-left:12px}.stage{grid-template-columns:1fr}.presence{padding:20px}.orb-frame{height:145px}.visual{min-height:250px}.controls label{margin-left:0;width:100%}.controls select{width:100%}footer{gap:8px}.intro .quiet{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Television presentation: preserve the stage and transport controls in one screen. */
@media(min-width:1000px){:fullscreen .shell{padding:20px 3vw;max-width:none}:fullscreen header{padding-bottom:12px}:fullscreen .intro,:fullscreen details,:fullscreen footer{display:none}:fullscreen #lessons{margin:18px 0}:fullscreen .stage{height:48vh;min-height:0}:fullscreen .presence{padding:16px}:fullscreen .orb-frame{height:23vh}:fullscreen .visual{min-height:0}:fullscreen .visual img{max-height:36vh}:fullscreen .transcript{margin:12px 0;padding:10px 18px}:fullscreen .transcript p{margin:2px 0}:fullscreen .controls{gap:16px}}

.text-lab{border:1px solid #365758;border-radius:20px;padding:22px;margin:20px 0;background:#152e31}.text-lab h3{font-size:1.5rem;margin:8px 0}.text-lab p{color:#c2d5d2}.question-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.question-row input{flex:1;min-width:180px;background:#0b2024;border:1px solid #73938c;color:#fff;border-radius:10px;padding:15px;font:inherit}.question-row button{white-space:nowrap}#conversation{max-height:260px;overflow:auto}#conversation p{border-left:3px solid #ddc48a;padding:12px;white-space:pre-wrap}#conversation .student{border-color:#6b999b;color:#fff}:fullscreen .text-lab{padding:12px;margin:10px 0}:fullscreen #conversation{max-height:110px}:fullscreen .text-lab h3{font-size:1.2rem}:fullscreen .text-lab p{margin:5px 0}:fullscreen .stage{min-height:260px}:fullscreen .intro{display:none}@media(max-width:600px){.question-row{display:grid}.text-lab{padding:15px}}
@media(min-width:1000px){:fullscreen .stage{height:27vh;min-height:230px}:fullscreen .orb-frame{height:12vh}:fullscreen .orb{width:100px;height:100px}:fullscreen .visual img{max-height:20vh}:fullscreen .text-lab>div:first-child h3,:fullscreen .text-lab>div:first-child p{display:none}:fullscreen #lessons{margin:10px 0}:fullscreen #lessons button{padding:8px 15px}:fullscreen .presence p{margin:0}:fullscreen #audio-status{margin-top:3px}}
@media(min-width:1000px){:fullscreen #conversation{max-height:150px}}

#budget-status{font-size:14px;color:#b7e1ba}@media(min-width:1000px){:fullscreen .stage{height:23vh;min-height:230px}:fullscreen #budget-status{font-size:13px}:fullscreen .text-lab p{margin:3px 0}}
@media(min-width:1000px){:fullscreen .stage{height:26vh}:fullscreen .orb-frame{height:10vh}:fullscreen figure{min-height:0}:fullscreen .visual img{max-height:18vh}:fullscreen .presence{min-height:0;padding:10px}}

#caption a {color:inherit;text-decoration:underline;}
#caption {overflow-wrap:anywhere;line-height:1.5;}

.voice-controls{margin:1rem 0} #live-transcript{min-height:1.5em} #visual-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem} #visual-history figure{margin:0;padding:1rem} #visual-history img{max-width:100%;max-height:280px;object-fit:contain} #microphone[aria-pressed="true"]{outline:3px solid #e9b95a}
