@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";
:root{--ink:#17223b;--muted:#65718b;--paper:#f7faff;--card:#fff;--line:#dce5f3;--blue:#345cf4;--blue-dark:#2343bb;--mint:#dff5e9;--coral:#ff8a6c;--yellow:#ffdf87}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}.shell{max-width:1380px;min-height:100vh;margin:auto;padding:22px clamp(18px,4vw,58px) 50px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.brand{color:var(--ink);letter-spacing:-.04em;align-items:center;gap:11px;font-family:Manrope,sans-serif;font-size:21px;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--blue);color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;font-size:22px;display:grid;box-shadow:0 8px 18px #345cf433}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.top-actions{align-items:center;gap:10px;display:flex}.quiet-link{color:var(--muted);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;text-decoration:none}.quiet-link:hover{color:var(--ink);background:#eaf0fb}.hero{grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);align-items:stretch;gap:22px;display:grid}.intro-card{border:1px solid var(--line);background:#fff;border-radius:30px;padding:clamp(26px,5vw,58px);position:relative;overflow:hidden;box-shadow:0 20px 60px #2f4c8b0d}.intro-card:after{content:"";background:var(--yellow);opacity:.5;border-radius:50%;width:200px;height:200px;position:absolute;top:-100px;right:-92px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;max-width:640px;margin:15px 0 20px;font:800 clamp(35px,5vw,64px)/.98 Manrope,sans-serif}.intro-copy{color:var(--muted);max-width:530px;margin-bottom:30px;font-size:17px;line-height:1.6}.cta-row{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.primary-button,.secondary-button,.icon-button{border:0;border-radius:14px;padding:13px 18px;font-weight:800;transition:all .2s}.primary-button{color:#fff;background:var(--blue);box-shadow:0 10px 20px #345cf433}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.secondary-button{color:var(--blue-dark);background:#eaf0ff}.secondary-button:hover{background:#dfe8ff}.tiny-note{color:var(--muted);margin:14px 0 0;font-size:12px}.lesson-list{gap:12px;margin-top:28px;display:grid}.lesson-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:18px;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:14px;text-decoration:none;display:grid}.lesson-card:hover{border-color:#aebff0;transform:translateY(-1px)}.lesson-number{background:var(--mint);color:#1d7051;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.lesson-card:nth-child(2) .lesson-number{color:#345cf4;background:#e4eaff}.lesson-card:nth-child(3) .lesson-number{color:#977000;background:#fff0bf}.lesson-title{margin:0 0 3px;font-weight:800}.lesson-meta{color:var(--muted);margin:0;font-size:12px}.lesson-arrow{color:#9ca9bf;font-size:20px}.side-panel{color:#fff;background:#14213d;border-radius:30px;min-height:100%;padding:27px;position:relative;overflow:hidden}.side-panel:before{content:"";opacity:.5;background:#345cf4;border-radius:50%;width:290px;height:290px;position:absolute;bottom:-145px;right:-145px}.side-title{letter-spacing:-.05em;max-width:270px;margin:14px 0 8px;font:800 27px/1.05 Manrope,sans-serif}.side-copy{color:#bec9e3;max-width:280px;font-size:14px;line-height:1.5}.avatar-stage{border-radius:22px;height:370px;min-height:300px;margin:-5px -8px 0;position:relative;overflow:hidden}.avatar-stage canvas{display:block;width:100%!important;height:100%!important}.stage-label{color:#edf2ff;background:#17223bcc;border:1px solid #fff2;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:15px;left:16px}.pulse-dot{background:#74e0aa;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #74e0aa22}.lesson-board{z-index:4;color:#17223b;transform-origin:0 100%;background:#fffdf4;border:5px solid #f4c96a;border-radius:10px 10px 16px 16px;width:min(31%,230px);min-width:145px;padding:13px 14px 15px;animation:.35s ease-out both board-pull-in;position:absolute;top:9%;left:5%;box-shadow:0 14px 24px #243e7630}.lesson-board:after{content:"";background:#b88745;border-radius:5px;width:10px;height:32px;position:absolute;bottom:-30px;left:22%;box-shadow:58px 0 #b88745}.lesson-board-tab{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#345cf4;border-radius:5px;margin:-8px 0 7px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-block}.lesson-board-title{align-items:center;gap:7px;font:800 clamp(13px,1.8vw,18px)/1.1 Manrope,sans-serif;display:flex}.lesson-board-title span{font-size:24px}.lesson-board-lines{gap:4px;margin-top:9px;font-size:clamp(11px,1.5vw,14px);font-weight:700;display:grid}.lesson-board-lines span{background:#eef3ff;border-radius:6px;padding:4px 6px}.completion-scene{z-index:6;text-align:center;color:#17223b;pointer-events:none;background:linear-gradient(#fff8dccc,#e9fff5e8);place-content:center;justify-items:center;gap:8px;padding:24px;animation:.45s ease-out both completion-pop;display:grid;position:absolute;inset:0}.completion-scene strong{font:800 clamp(26px,5vw,48px)/1.05 Manrope,sans-serif}.completion-scene span{color:#48658d;font-size:clamp(16px,2.5vw,24px);font-weight:700}.completion-sparkles{letter-spacing:8px;font-size:clamp(24px,5vw,42px)}@keyframes completion-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes board-pull-in{0%{opacity:0;transform:translate(-35px)rotate(-5deg)scale(.9)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}.tutor-shell{max-width:1320px;margin:auto;padding:20px clamp(15px,3vw,40px) 38px}.tutor-grid{grid-template-columns:minmax(0,1fr) minmax(330px,420px);align-items:start;gap:18px;display:grid}.tutor-main{border:1px solid var(--line);background:#fff;border-radius:26px;padding:clamp(18px,3vw,32px)}.tutor-side{gap:14px;display:grid}.status-card,.progress-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px}.status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-pill{background:var(--mint);color:#1d7051;border-radius:99px;padding:7px 9px;font-size:11px;font-weight:800}.tutor-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.tutor-heading h1{margin:9px 0 11px;font-size:clamp(30px,4vw,47px)}.step-count{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.progress-bar{background:#e9eef7;border-radius:10px;height:8px;margin:20px 0 25px;overflow:hidden}.progress-fill{background:var(--blue);border-radius:inherit;height:100%;transition:width .3s}.prompt-card{background:#eef3ff;border-radius:20px;margin-bottom:16px;padding:21px}.prompt-card p{letter-spacing:-.03em;margin:8px 0;font:700 21px/1.3 Manrope,sans-serif}.prompt-ru{color:#687491;font-size:13px!important;font-weight:500!important}.choice-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-button{border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:15px;padding:15px 9px;font-weight:800}.choice-button:hover,.choice-button.selected{border-color:var(--blue);color:var(--blue);background:#f0f4ff}.answer-row{gap:9px;display:flex}.answer-input{border:2px solid var(--line);border-radius:14px;outline:none;flex:1;padding:13px 14px}.answer-input:focus{border-color:var(--blue)}.feedback{color:#7e6100;background:#fff4d0;border-radius:13px;margin:15px 0 0;padding:12px 14px;font-size:13px;font-weight:700}.success-feedback{background:var(--mint);color:#25684d}.control-row{flex-wrap:wrap;gap:9px;margin-top:17px;display:flex}.control-row button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:800}.control-row button:hover{color:var(--blue);border-color:#9eb3ef}.listening-dot{background:var(--coral);border-radius:50%;width:9px;height:9px;margin-right:7px;animation:1.2s infinite blink;display:inline-block}@keyframes blink{50%{opacity:.3}}.object-tray{gap:9px;padding:9px 0 0;display:flex}.object-chip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;padding:9px 10px;font-size:12px;font-weight:800}.object-chip.active{border-color:var(--coral);color:#a7422d;background:#fff2ed}.transcript{border:1px solid var(--line);max-height:145px;color:var(--muted);background:#fbfcff;border-radius:16px;padding:13px 15px;font-size:13px;line-height:1.45;overflow:auto}.transcript strong{color:var(--ink)}.live-debug-panel{z-index:100;color:#e7edff;background:#10182bfa;border:1px solid #93a7d5;border-radius:14px;flex-direction:column;width:min(650px,100vw - 28px);max-height:min(58vh,560px);font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;position:fixed;bottom:14px;right:14px;overflow:hidden;box-shadow:0 18px 50px #15275355}.live-debug-header{background:#192747;border-bottom:1px solid #34466f;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:Manrope,sans-serif;display:flex}.live-debug-header div{align-items:baseline;gap:8px;display:flex}.live-debug-header strong{font-size:13px}.live-debug-header span{color:#aab9dc;font-size:11px}.live-debug-header button{color:#f1f4ff;cursor:pointer;background:#273964;border:1px solid #647cad;border-radius:7px;padding:4px 8px;font-size:11px}.live-debug-log{padding:8px 10px 12px;overflow:auto}.live-debug-log>p{color:#aab9dc;margin:6px 2px}.live-debug-entry{border-bottom:1px solid #263557;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:7px;padding:4px 2px;display:grid}.live-debug-time{color:#8fa3ce}.live-debug-kind{color:#c3d3ff}.live-debug-kind-error{color:#ff9b9b}.live-debug-kind-transcript,.live-debug-kind-transcript-delta{color:#b9f1cf}.live-debug-kind-tool-call{color:#ffd28a}.live-debug-entry code{white-space:pre-wrap;overflow-wrap:anywhere;color:#e4eaff}.mic-demo{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:14px;padding:14px 0 2px;display:flex}.mic-demo-copy{min-width:0}.mic-demo-copy .tiny-note{margin-top:6px}.mic-demo .secondary-button{flex:none;padding:10px 12px;font-size:12px}.footer-note{text-align:center;color:#8a96aa;margin-top:27px;font-size:11px}.footer-note a{color:var(--blue)}.parent-wrap{max-width:850px;margin:auto;padding:36px 18px}.parent-card{border:1px solid var(--line);background:#fff;border-radius:28px;padding:30px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.metric{background:#f0f4ff;border-radius:16px;padding:15px}.metric strong{font:800 30px Manrope,sans-serif;display:block}.metric span{color:var(--muted);font-size:12px}.notice{color:#725900;background:#fff4d0;border-radius:15px;padding:14px;font-size:13px;line-height:1.5}.login-form{gap:12px;max-width:390px;display:grid}.login-form label{font-size:13px;font-weight:800}.login-form input{border:2px solid var(--line);border-radius:13px;width:100%;margin-top:6px;padding:13px}.error-copy{color:#a7422d;font-size:13px;font-weight:700}@media (max-width:850px){.hero,.tutor-grid{grid-template-columns:1fr}.side-panel{min-height:450px}.avatar-stage{height:330px}.tutor-side{order:-1}.metric-grid{grid-template-columns:1fr 1fr}.topbar{margin-bottom:18px}}@media (max-width:480px){.shell{padding:15px 13px 36px}.intro-card,.side-panel,.tutor-main{border-radius:22px}.intro-card{padding:25px 21px}.choice-grid{grid-template-columns:1fr}.answer-row{flex-direction:column}.metric-grid{grid-template-columns:1fr}.tutor-heading{display:block}.step-count{margin-top:5px;display:block}}.course-source{background:#f7f9ff;border:1px solid #1e31621f;border-radius:18px;gap:10px;margin:24px 0;padding:18px;display:grid}.course-source textarea{resize:vertical;width:100%;font:inherit;color:#18264d;border:1px solid #ccd5ee;border-radius:12px;padding:12px}.course-upload{gap:10px;display:grid}.course-upload label{color:var(--blue-dark);gap:7px;font-size:13px;font-weight:800;display:grid}.course-upload input[type=file]{width:100%;font:inherit;color:#18264d;background:#fff;border:1px dashed #b9c5e7;border-radius:12px;padding:11px}.course-divider{color:#7581a2;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.course-divider:before,.course-divider:after{content:"";background:#dbe2f2;flex:1;height:1px}.course-reset{color:#8c4d4d;border-color:#edcaca;justify-self:start}.lesson-structure{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.lesson-structure summary{cursor:pointer;color:var(--blue-dark);padding:12px 14px;font-size:13px;font-weight:800;list-style:none}.lesson-structure summary::-webkit-details-marker{display:none}.lesson-structure summary:before{content:"+";background:#eaf0ff;border-radius:50%;place-items:center;width:20px;height:20px;margin-right:7px;display:inline-grid}.lesson-structure[open] summary:before{content:"−"}.lesson-structure-body{color:var(--muted);border-top:1px solid #edf1f8;gap:10px;padding:0 14px 15px;font-size:12px;line-height:1.45;display:grid}.lesson-structure-toolbar{color:#7b88a3;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.lesson-structure-toolbar .quiet-link{color:var(--blue-dark);background:#eef3ff;padding:5px 7px;font-size:11px}.lesson-structure-description,.lesson-structure-goal,.lesson-structure-vocabulary{margin:0}.lesson-structure-goal strong,.lesson-structure-vocabulary strong{color:var(--ink)}.lesson-steps{gap:8px;margin:0;padding-left:22px;display:grid}.lesson-step{background:#fbfcff;border:1px solid #e4eaf5;border-radius:12px;padding:10px 11px}.lesson-step p{margin:5px 0 0}.lesson-step-heading{color:var(--ink);justify-content:space-between;gap:8px;display:flex}.lesson-step-heading span{color:#7d89a3;text-transform:capitalize;white-space:nowrap;font-size:11px}.lesson-step-ru{color:#7885a2}.lesson-cue{color:#4d638f;border-top:1px dashed #dbe3f2;margin-top:7px;padding-top:6px}.lesson-cue b{color:var(--blue-dark)}.lesson-artifacts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-artifacts b{color:var(--ink);margin-right:3px}.lesson-artifacts span{color:#4d638f;background:#eef3ff;border-radius:999px;padding:5px 8px}.instructions-panel{border:1px solid var(--line);background:#f7f9ff;border-radius:16px;margin:18px 0;overflow:hidden}.instructions-panel summary{cursor:pointer;color:var(--blue-dark);padding:14px 16px;font-size:13px;font-weight:800}.instructions-body{border-top:1px solid #e1e7f4;gap:8px;padding:0 16px 16px;display:grid}.instructions-body p{color:var(--muted);margin:10px 0 0;font-size:12px}.instructions-body h3{color:var(--ink);margin:10px 0 0;font:700 15px Manrope,sans-serif}.instructions-body pre{white-space:pre-wrap;color:#53627f;background:#fff;border:1px solid #dce4f4;border-radius:12px;margin:0;padding:12px;font:12px/1.5 DM Sans,sans-serif}.instructions-body textarea{resize:vertical;color:#18264d;background:#fff;border:1px solid #ccd5ee;border-radius:12px;width:100%;min-height:140px;padding:12px;font:12px/1.5 DM Sans,sans-serif}.class-shell{background:radial-gradient(circle at 50% 4%,#fff 0,#f7faff 58%);max-width:1080px}.class-topbar{justify-content:space-between;align-items:center;gap:14px;margin:0 0 12px;display:flex}.class-shell .tutor-shell{max-width:100%}.class-shell .tutor-grid{grid-template-columns:minmax(0,1fr)}.class-shell .tutor-main{width:100%;max-width:1080px;margin:0 auto;padding:clamp(12px,2vw,20px);position:relative;box-shadow:0 22px 70px #2f4c8b12}.class-lesson-title{z-index:2;text-align:center;padding:4px 10px 14px;position:relative}.class-lesson-title h1{max-width:none;margin:0;font-size:clamp(30px,5vw,52px)}.lesson-complete-card{text-align:center;color:#18345c;background:linear-gradient(135deg,#effcf5,#fff9df);border:1px solid #b7e6d1;border-radius:22px;margin:0 auto 18px;padding:22px 24px;box-shadow:0 12px 28px #2f4c8b18}.lesson-complete-card h2{margin:4px 0 6px;font:800 clamp(25px,4vw,34px)/1.1 Manrope,sans-serif}.lesson-complete-card p{color:#577096;margin:0 0 10px}.lesson-complete-stars{letter-spacing:6px;font-size:20px}.class-avatar-wrap{place-items:center;width:100%;margin:0 auto;display:grid;position:relative}.class-avatar-wrap .avatar-stage{background:#dceaff;border-radius:28px;width:100%;height:clamp(480px,72vh,720px);margin:0;box-shadow:inset 0 -35px 80px #a6c1ed55}.class-avatar-wrap .stage-label{display:none}.class-live-badge{white-space:nowrap;color:#24345c;background:#ffffffe8;border:1px solid #cbd8ef;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #354f8620}.class-avatar-actions{z-index:5;justify-content:center;margin:0;display:flex;position:absolute;bottom:66px;left:50%;transform:translate(-50%)}.class-avatar-actions button{white-space:nowrap;border-radius:16px;min-width:min(100%,260px);min-height:48px;box-shadow:0 12px 26px #243e7633}.class-live-badge .pulse-dot.offline{background:#f2b457;box-shadow:0 0 0 4px #f2b4572a}.class-shell .tutor-heading{align-items:end}.class-shell .tutor-heading h1{font-size:clamp(31px,5vw,48px)}.class-shell .prompt-card{background:#eef3ff;border:1px solid #d8e2fa;padding:clamp(18px,3vw,25px)}.class-shell .prompt-card p{font-size:clamp(21px,3vw,27px)}.class-shell .control-row{z-index:5;background:#ffffffe8;border:1px solid #e6ebf6;border-radius:19px;justify-content:center;width:max-content;max-width:calc(100% - 26px);margin:0;padding:8px;position:absolute;bottom:17px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #243e7624}.class-shell .control-row button{background:#fff;min-height:44px;padding:11px 15px;font-size:13px;box-shadow:0 3px 8px #243e7610}.class-shell .control-row button:nth-child(n+4){display:none}.class-shell .control-row button:focus-visible,.class-shell button:focus-visible{outline-offset:2px;outline:3px solid #9db5ff}.class-shell .object-tray{justify-content:center;padding-top:14px}.class-shell .tutor-side{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);width:100%;max-width:850px;margin:0 auto}.class-shell .status-card{border-color:#ccd9f2}.class-shell .tutor-main{background:linear-gradient(#fff 0%,#f8fbff 100%)}.class-shell .tutor-heading{text-align:center;justify-content:center}.class-shell .tutor-heading,.class-shell .class-captions,.class-shell .tutor-heading .intro-copy,.class-shell .progress-bar,.class-shell .prompt-card,.class-shell .artifact-cards,.class-shell .answer-row,.class-shell .choice-grid,.class-shell .object-tray,.class-shell .feedback,.class-shell .tutor-side{display:none!important}.class-shell .tutor-heading h1{margin-bottom:0}.class-shell .prompt-card{text-align:center;margin-top:16px}.class-shell .prompt-card .prompt-ru{display:none}.class-captions{color:#60708e;background:#ffffffd9;border:1px solid #d8e2f4;border-radius:16px;width:min(100%,580px);min-height:42px;margin:12px auto 0;padding:10px 14px;font-size:13px;line-height:1.45}.class-captions strong{color:var(--ink)}.class-shell .footer-note{display:none}@media (max-width:650px){.class-topbar .quiet-link{padding:8px;font-size:12px}.class-shell{padding-left:10px;padding-right:10px}.class-shell .tutor-main{border-radius:22px;padding:10px}.class-shell .tutor-side{grid-template-columns:1fr}.class-avatar-wrap{margin-top:0}.class-avatar-wrap .avatar-stage{border-radius:22px;height:calc(100vh - 175px);min-height:400px;max-height:620px}.class-avatar-actions{bottom:65px}.class-shell .control-row{gap:5px;max-width:calc(100% - 18px);padding:6px;bottom:12px}.class-shell .control-row button{flex:0 auto;padding:9px 10px;font-size:11px}.class-shell .tutor-heading{display:block}.class-shell .step-count{margin-top:7px}}.class-voice-notice{z-index:6;color:#755700;text-align:center;background:#fff4d0;border-radius:16px;width:max-content;max-width:calc(100% - 32px);padding:12px 16px;font-size:14px;position:absolute;top:65px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #243e761a}
