:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#243b34;background:#f6f7f3;font-synthesis:none;font-weight:400;--green:#245447;--ink:#223c33;--muted:#84918a;--line:#e4e8e1;--lime:#e2edb4}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a,button{color:inherit}button svg{flex-shrink:0}svg{width:20px;height:20px}button{border:0;background:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #96bca4;outline-offset:3px}[hidden]{display:none!important}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 3.1%;background:#fcfcf9}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:23px;font-weight:650;letter-spacing:2px}.brand-icon{height:43px;width:43px;border-radius:14px;background:var(--green);color:var(--lime);display:grid;place-items:center}.brand-icon svg{width:24px;height:24px}.brand-en{font-size:9px;letter-spacing:2.2px;display:block;margin-top:1px}.header-center{text-align:center;font-size:13px;color:#65766d;letter-spacing:2px}.header-center span{display:block;font-size:8px;letter-spacing:2.1px;margin-top:8px;color:#a4ada6}.text-button{display:flex;align-items:center;gap:8px;font-size:12px;color:#65776e}.workspace{max-width:1680px;margin:auto;padding:35px 3.1% 24px;display:grid;grid-template-columns:210px minmax(420px,1fr) 310px;gap:27px;min-height:calc(100vh - 156px)}.sidebar{display:flex;flex-direction:column;padding-top:9px}.section-eyebrow{font-size:8px;font-weight:650;letter-spacing:1.7px;color:#909f94}.sidebar h1{font-weight:550;font-size:20px;letter-spacing:.5px;margin:11px 0 25px}.mode{width:100%;display:flex;gap:13px;align-items:center;padding:15px 12px;margin-bottom:7px;text-align:left;border-radius:11px;color:#849087;position:relative;transition:background .2s}.mode>svg{width:20px}.mode strong{font-size:13px;font-weight:550;display:block;color:#6f7d73}.mode small{display:block;font-size:10px;margin-top:6px;white-space:nowrap;color:#98a299}.mode.selected{background:#e9eee2;color:#395c43}.mode.selected strong{color:#385c44}.mode.selected small{color:#849478}.mode-dot{width:5px;height:5px;border-radius:50%;background:#7b9b55;position:absolute;right:14px}.sidebar-divider{border-top:1px solid var(--line);margin:24px 11px}.sidebar-section-title{padding:0 11px;display:flex;justify-content:space-between;font-size:11px;color:#798a7c;margin-bottom:13px}.sidebar-section-title>span{font-size:9px;color:#a1ad9e}.topic{display:flex;align-items:center;width:100%;gap:11px;padding:12px 10px;text-align:left;font-size:11px;color:#879185}.topic-number{font-size:9px;color:#aab1a5}.topic svg{width:12px;height:12px;margin-left:auto;opacity:0}.topic:hover svg,.topic.selected svg{opacity:1}.topic.selected{color:#385a42}.level-box{margin:23px 10px 18px;padding-top:20px;border-top:1px solid var(--line)}.level-box label{display:block;font-size:10px;color:#879286;margin-bottom:12px}.level-box select{width:100%;background:#f0f2eb;border:1px solid #e7eae0;padding:11px 9px;border-radius:7px;font-size:10px;color:#64775e}.sidebar-bottom{margin-top:auto;padding:26px 9px 0;font-size:9px;color:#a0aa9a;line-height:1.8;white-space:nowrap}.tiny-leaf{color:#859c72;font-size:14px;margin-right:5px}.lesson{min-width:0}.lesson-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 0 25px}.lesson-heading h2{font-size:24px;letter-spacing:.6px;font-weight:550;margin:11px 0 0}.lesson-heading h2>span{color:#a4b679}.lesson-badge{font-size:10px;border:1px solid #dfe6da;border-radius:20px;padding:8px 11px;color:#829074;white-space:nowrap;margin-left:10px}.stage{height:474px;position:relative;border:1px solid #e1e7db;border-radius:19px;background:radial-gradient(ellipse at 50% 35%,#f0f3dc,#dce7d8,#c2d5c5);overflow:hidden}.stage:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#13312461);pointer-events:none}.stage-header{position:absolute;left:24px;right:24px;top:22px;display:flex;align-items:center;justify-content:space-between;z-index:3}.teacher-label{display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:#76a776;flex-shrink:0}.teacher-label strong{font-size:15px;font-weight:550;letter-spacing:.3px}.teacher-label small{display:block;font-size:9px;color:#7b8e79;margin-top:5px}#session-timer{font-size:9px;letter-spacing:1px;color:#7e917a}.stage-grain{position:absolute;inset:0;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.stage-orbit{position:absolute;width:400px;height:400px;border:1px solid #f3f5e66b;border-radius:50%;top:40px;left:calc(50% - 200px);pointer-events:none}.orbit-two{width:490px;height:490px;left:calc(50% - 245px);top:-5px}#avatar{position:absolute;inset:0;z-index:1}#avatar canvas{width:100%!important;height:100%!important}#avatar-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;z-index:2;color:#627e63;font-size:12px}.loader{height:24px;width:24px;border:2px solid #cbd8bd;border-top-color:#60816a;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-caption{position:absolute;z-index:3;bottom:25px;left:20px;right:20px;color:#fff;text-align:center;pointer-events:none}.stage-caption>span:first-child{font-size:8px;letter-spacing:1.8px;color:#e8efd6}.stage-caption p{font-size:17px;line-height:1.45;max-height:73px;overflow:hidden;font-weight:400;letter-spacing:.1px;margin:10px auto 8px;max-width:92%;text-shadow:0 1px 12px #1e35297a}.stage-subline{font-size:10px;letter-spacing:.5px;color:#e3eadb}.control-bar{display:flex;align-items:center;gap:14px;margin-top:18px;min-height:44px}.connection-state{display:flex;align-items:center;gap:7px;font-size:9px;color:#929e90;flex:1;white-space:nowrap}.status-dot.muted{background:#a5afa0}.status-dot.error{background:#bf7965}.media-controls{display:flex;align-items:center;gap:8px}.control-button{display:grid;place-items:center;border:1px solid #e2e7dc;background:#fbfcf8;width:35px;height:35px;border-radius:50%;color:#7d9078}.control-button svg{width:15px;height:15px}.control-button:hover,.control-button.on{background:#e6ecdc;color:#4c7351}.control-button.off{background:#f3e4dd;color:#aa7060}.primary-button{display:flex;align-items:center;justify-content:center;gap:17px;background:var(--green);color:#fff;border-radius:9px;font-size:12px;font-weight:500;padding:14px 20px;white-space:nowrap}.primary-button svg{width:15px;height:15px}.primary-button:hover{background:#346b58}.end-button{display:flex;align-items:center;gap:7px;background:#f0e3dc;border:1px solid #ead7cc;border-radius:9px;font-size:11px;color:#a26650;padding:14px}.end-button svg{width:14px}.practice-card{margin-top:25px;border:1px solid #e3e8dc;border-radius:12px;background:#fafbf6;padding:19px 17px;display:flex;align-items:center;gap:16px}.practice-symbol{display:grid;place-items:center;align-self:stretch;min-width:46px;color:#81926c;background:#edf0e2;border-radius:9px;font-family:Georgia,serif;font-size:24px}.practice-copy{flex:1}.practice-copy .section-eyebrow{font-size:7px;letter-spacing:1.4px}.practice-copy p{font-size:12px;line-height:1.6;margin:7px 0 5px;color:#4a6050}.practice-copy>span{font-size:9px;color:#9aa594}.listen-button{align-self:center;display:flex;align-items:center;flex-direction:column;gap:7px;font-size:8px;min-width:40px;color:#829477}.listen-button svg{width:18px;height:18px}.lesson-footer{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#a2ad9b;margin-top:16px}.lesson-footer>span{display:flex;align-items:center;gap:5px}.lesson-footer svg{width:10px;height:10px}.lesson-footer button{display:flex;align-items:center;gap:5px;font-size:9px;color:#869a78}.dialogue{display:flex;flex-direction:column;border:1px solid #e4e8df;border-radius:15px;background:#fcfcf9;padding:24px 20px 15px;min-width:0;margin-top:3px;max-height:818px;min-height:680px}.dialogue-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:21px;border-bottom:1px solid #edf0e7}.dialogue-heading .section-eyebrow{font-size:7px}.dialogue-heading h3{font-weight:550;font-size:15px;margin:9px 0 0}.dialogue-heading>span{font-size:9px;color:#96a18c;border:1px solid #e6ebde;border-radius:13px;padding:5px 8px}.chat-list{flex:1;min-height:220px;overflow:auto;max-height:570px;scrollbar-width:thin;padding-top:15px}.chat-empty{padding-top:75px;text-align:center}.chat-empty-icon{display:grid;place-items:center;margin:0 auto 21px;width:54px;height:54px;border:1px solid #e4eadb;border-radius:20px;background:#f1f4e9;color:#97a587}.chat-empty-icon svg{height:22px;width:22px}.chat-empty h4{font-size:14px;font-weight:450;letter-spacing:.6px;color:#718567;margin:0 0 12px}.chat-empty p{font-size:10px;line-height:2;color:#a0ab96;margin-bottom:34px}.starter-label{text-align:left;font-size:8px;color:#adb7a4;margin:25px 0 11px}.starter{display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:10px;line-height:1.6;padding:12px 10px;background:#f2f5ec;border-radius:8px;margin:8px 0;width:100%;color:#829174;gap:8px}.starter svg{width:12px;min-width:12px}.chat-row{margin:7px 0 18px;display:flex;flex-direction:column;align-items:flex-start}.chat-author{font-size:8px;color:#9caa92;padding:0 3px}.chat-row p{background:#edf2e6;border-radius:0 10px 10px;padding:12px 13px;font-size:12px;line-height:1.8;margin:6px 0 0;white-space:pre-wrap;word-break:break-word}.chat-row.user{align-items:flex-end}.chat-row.user p{background:#e1ebe0;color:#3c644f;border-radius:10px 0 10px 10px}#chat-form{border:1px solid #e3e8dc;background:#f6f8f1;border-radius:10px;padding:12px 12px 9px;margin-top:18px}textarea{resize:none;display:block;border:0;background:none;outline:none;width:100%;font-size:11px;color:#536d51;line-height:1.8}textarea::placeholder{color:#a7b09e}.composer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.composer-bottom span{font-size:7px;color:#b2bba9}.composer-bottom button{display:grid;place-items:center;border-radius:8px;background:#e5ecdc;color:#7f936d;width:27px;height:27px}.composer-bottom button svg{width:14px;height:14px}.history-actions{margin-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a4af99;gap:4px}.history-actions label{display:flex;align-items:center;gap:3px;white-space:nowrap}.history-actions input{accent-color:#517b58;width:11px;height:11px;margin:0}.history-actions button{font-size:8px;color:#98a78a}.page-footer{display:flex;justify-content:space-between;max-width:1680px;margin:auto;padding:0 3.1% 20px;font-size:8px;color:#b0baaa;letter-spacing:.5px}.footer-dot{padding:0 8px}.page-footer button{font-size:8px;color:#9caa92}.material-mini{position:absolute;right:16px;bottom:119px;width:158px;max-height:150px;border:3px solid #ffffffd9;border-radius:10px;overflow:hidden;z-index:4;background:#fff;box-shadow:0 5px 20px #19332420}.material-mini video,.material-mini img{width:100%;max-height:115px;object-fit:contain;display:block;background:#e2e7dc}.material-mini>span{font-size:7px;display:block;padding:5px 3px;color:#698159}.material-mini>button{position:absolute;top:3px;right:3px;background:#fff;border-radius:50%;height:20px;width:20px;display:grid;place-items:center;padding:3px}.material-mini svg{height:12px;width:12px}dialog{border:1px solid #e3e9dc;border-radius:20px;padding:40px;width:min(92vw,480px);color:#3b5745;background:#fdfef9;box-shadow:0 20px 80px #1b352b25}dialog::backdrop{background:#183c2c66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-close{position:absolute;top:15px;right:15px;color:#8a9d7f}.modal-close svg{width:17px}.modal-eyebrow{font-size:8px;letter-spacing:1.7px;color:#9aaa8d}dialog h2{font-size:24px;font-weight:500;margin:16px 0}dialog p{font-size:12px;line-height:1.9;color:#8a9a7f}dialog a{font-size:11px;color:#50764e;text-underline-offset:3px}.setup-box{border:1px solid #e6eddb;border-radius:10px;background:#f1f5e9;padding:16px;margin:22px 0}.setup-box strong{font-size:13px}.setup-box p{font-size:11px}dialog .primary-button{width:100%;margin-top:22px}.form-error{color:#b77863}#access-form label{display:block;font-size:11px;margin:22px 0 8px}#access-code{width:100%;border:1px solid #dbe5d1;border-radius:8px;padding:12px;outline-color:#779d6b}.mic-recording{padding:20px;border-radius:9px;background:#eff3e6;display:flex;align-items:center;gap:10px;font-size:13px}audio{width:100%;margin-top:20px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:13px 22px;border-radius:11px;background:#234d40;color:#fff;z-index:10;font-size:12px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw;line-height:1.8;box-shadow:0 6px 24px #1b36272b}#toast.show{opacity:1;transform:translate(-50%)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.workspace{grid-template-columns:230px minmax(470px,1fr) 350px;gap:36px}.stage{height:520px}.lesson-heading h2{font-size:29px}.stage-caption p{font-size:20px}.practice-copy p{font-size:14px}.dialogue{max-height:850px}}@media(max-width:1150px){.workspace{grid-template-columns:170px minmax(380px,1fr);gap:23px}.dialogue{grid-column:2;min-height:350px;max-height:500px;margin-top:0}.sidebar{grid-row:span 2}.chat-empty{padding-top:15px}.chat-empty p{margin-bottom:20px}.chat-empty-icon{display:none}.chat-list{max-height:240px;min-height:140px}.starter-label{margin-top:15px}.dialogue-heading{padding-bottom:15px}.header-center{font-size:11px}.stage{height:480px}.sidebar-bottom{white-space:normal}.mode small{white-space:normal;line-height:1.5}.mode{padding-left:8px;gap:9px}.mode-dot{right:7px}.mode strong{font-size:12px}}@media(max-width:700px){.topbar{height:78px;padding:0 20px}.brand{font-size:20px}.brand-icon{height:38px;width:38px}.header-center{display:none}.text-button{font-size:10px}.workspace{display:flex;flex-direction:column;padding:22px 17px;gap:22px}.sidebar{padding:0}.sidebar>.section-eyebrow,.sidebar h1,.sidebar-divider,.sidebar-section-title,#topics,.level-box,.sidebar-bottom{display:none}#modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mode{flex-direction:column;gap:7px;justify-content:center;padding:12px 3px;margin:0}.mode strong{font-size:10px}.mode>svg{height:17px}.mode small,.mode-dot{display:none}.lesson-heading{margin:1px 0 18px}.lesson-heading h2{font-size:21px;letter-spacing:0}.lesson-heading .section-eyebrow{font-size:7px}.lesson-badge{font-size:8px;padding:6px 8px}.stage{height:455px}.stage-caption p{font-size:15px;max-width:95%}.stage-header{left:20px;right:20px;top:20px}.control-bar{flex-wrap:wrap;gap:13px}.connection-state{flex-basis:100%;font-size:9px}.media-controls{margin-right:auto}.primary-button{padding:12px 18px;font-size:11px}.practice-card{margin-top:20px;padding:15px 12px;gap:11px}.practice-symbol{min-width:37px;font-size:21px}.practice-copy p{font-size:11px}.practice-copy>span{font-size:8px}.lesson-footer{font-size:7px}.dialogue{min-height:390px;margin:0;max-height:600px}.chat-empty{padding-top:25px}.chat-list{max-height:360px;min-height:220px}.dialogue-heading h3{font-size:15px}.history-actions,.history-actions button{font-size:9px}.page-footer{padding:0 20px 23px;font-size:7px}.page-footer button{font-size:7px}dialog{padding:33px 25px}}.portrait-stage{background:radial-gradient(ellipse at center,#e8dfd0,#b7a78f)}.portrait-stage:before{display:none}.portrait-avatar{position:relative;display:block;max-width:100%;width:auto;height:100%;object-fit:contain;object-position:center;margin:auto;z-index:1}.realistic-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#c1b29a;z-index:2}:root{background:#101714;color:#f1f3ed;--call-green:#c8e3ad;--call-muted:#99a79c}body{min-width:320px;background:radial-gradient(ellipse at 35% -30%,#263b2d 0,#101714 65%)}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #b4d78f;outline-offset:4px}.phone-app{max-width:1800px;margin:auto}.phone-topbar{height:76px;display:flex;align-items:center;gap:24px;padding:0 30px}.phone-brand{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap;font-size:16px;letter-spacing:1px}.phone-brand>svg{width:28px;height:28px;color:var(--call-green)}.phone-brand strong{font-size:13px;font-weight:400;color:#b8c3b9}.brand-separator{margin:0 16px;color:#526457}.phone-topbar .connection-state{justify-content:center;color:#abb6ad;font-size:11px;white-space:normal}.phone-settings{display:flex;align-items:center;gap:8px;color:#aebbb0;font-size:11px}.phone-settings svg{width:17px}.phone-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding:0 28px}.call-screen{height:calc(100dvh - 128px);min-height:570px;max-height:1040px;position:relative;border:1px solid #344238;border-radius:24px;overflow:hidden;background:#303b31!important;isolation:isolate}.call-screen:before{content:"";position:absolute;inset:-50px;z-index:0;background:url(/assets/emma-portrait-v2.png) center/cover;filter:blur(42px) brightness(.45);opacity:.75}.call-screen:after{display:none}.call-screen #avatar{z-index:1}.call-screen #avatar.portrait-stage{background:transparent}.call-screen .portrait-avatar{width:77%;height:100%;margin-left:23%;object-fit:cover;object-position:50% 30%;max-width:none;transition:opacity .3s}.call-screen .realistic-video{object-fit:contain;background:transparent}.call-vignette{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#07120dbd,transparent 64%),linear-gradient(0deg,#0b1714fa 0,#0b1714bf 17%,transparent 53%,#0b171460 100%);pointer-events:none}.call-screen-top{position:absolute;top:26px;left:30px;right:30px;z-index:4;display:flex;align-items:center;justify-content:space-between}.teacher-label{gap:11px;color:#fbfff6}.teacher-label small{color:#c5cfbf;font-size:10px}.teacher-monogram{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff32;border-radius:13px;background:#ffffff15;color:#e8efce;font-family:Georgia,serif;font-size:23px}.call-status{display:flex;align-items:center;gap:12px;font-size:10px;color:#dde5da}.call-status #session-timer{color:#d4dece;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:1px}.call-status #call-status-badge{padding:7px 10px;background:#0e21177a;border:1px solid #e9f5db25;border-radius:20px}.contact-panel{position:absolute;left:5.5%;top:27%;z-index:3;max-width:42%;color:#fff}.contact-eyebrow{font-size:9px;letter-spacing:3px;color:#c1d2ad}.contact-panel h1{font-family:Georgia,Songti SC,serif;font-weight:400;line-height:1.4;font-size:clamp(30px,3.5vw,56px);letter-spacing:1px;margin:18px 0}.contact-panel>p{color:#d0d9ce;font-size:13px;line-height:1.9}.contact-tags{display:flex;gap:9px;margin-top:25px}.contact-tags span{border:1px solid #cadcbd50;border-radius:20px;padding:6px 11px;font-size:10px;color:#d3e4c9}.contact-panel>small{display:block;font-size:9px;margin-top:22px;line-height:1.6;color:#a8b8a6}.call-screen #avatar-loading{color:#d4e2c8;z-index:2}.call-screen .stage-caption{bottom:180px;left:9%;right:9%}.call-screen .stage-caption p{font-size:18px;max-height:100px;line-height:1.6;text-shadow:0 2px 14px #071008;background:#0b1a1245;border-radius:9px;padding:5px 12px;display:table}.call-screen .stage-caption>span:first-child{font-size:10px;letter-spacing:.5px}.call-screen .stage-subline{font-size:11px}.self-tile{position:absolute;right:24px;top:99px;z-index:4;display:flex;gap:12px;align-items:center;padding:14px;background:#14241b9c;border:1px solid #e3efdb25;border-radius:15px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:178px}.self-avatar{display:grid;place-items:center;width:32px;height:38px;color:#b4caa8}.self-avatar svg{width:23px;height:23px}.self-tile strong{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500}.self-camera-note{font-size:8px;color:#b2bdb0;font-weight:400}.self-tile small{display:block;color:#b7c4b2;font-size:8px;margin-top:7px}.mic-wave{height:15px;display:flex;align-items:center;gap:3px;margin-top:6px;--mic-level:0}.mic-wave i{height:calc(3px + var(--mic-level) * 12px);width:3px;border-radius:2px;background:#c7e6a8;transition:height .12s,opacity .2s;opacity:.55}.mic-wave i:nth-child(2),.mic-wave i:nth-child(4){height:calc(3px + var(--mic-level) * 8px)}.mic-wave i:nth-child(1),.mic-wave i:nth-child(5){height:calc(3px + var(--mic-level) * 5px)}.mic-wave.has-input i{opacity:1}.student-feedback{position:absolute;top:100px;left:30px;z-index:4;max-width:min(55%,420px);padding:10px 14px;background:#14251bbb;border:1px solid #e5f0dc24;border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.student-feedback>span{display:block;color:#b4c7a8;font-size:8px;letter-spacing:1px}.student-feedback p{font-size:11px;color:#f4f5ed;line-height:1.6;margin:5px 0 0}.call-bottom{position:absolute;z-index:5;bottom:17px;left:24px;right:24px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.call-controls{display:flex;gap:17px}.call-control-item{display:flex;align-items:center;flex-direction:column;gap:8px}.call-control-item>span{font-size:9px;color:#cad6c4}.call-round{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d3e5c529;background:#ffffff12;color:#e9f2e3;border-radius:50%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.call-round svg{width:18px;height:18px}.call-round:hover{background:#ffffff26}.call-round:disabled{opacity:.35;cursor:default}.call-round.off{color:#e2afa1;background:#c9684b35;border-color:#d6957d55}.call-round.on{background:#c8e3ad;color:#1a3827}.call-dial,.call-hangup{display:flex;align-items:center;justify-content:center;gap:12px;padding:17px 23px;border-radius:40px;font-size:12px;font-weight:550;min-width:210px;box-shadow:0 5px 22px #08120c36}.call-dial{color:#1d3725;background:var(--call-green)}.call-dial svg{width:20px;height:20px}.call-dial:hover{background:#d9edc6}.call-hangup{background:#d96b58;color:#fff;min-width:104px}.call-hangup svg{transform:rotate(135deg);width:20px}.call-bottom-note{flex-basis:100%;text-align:center;font-size:9px;letter-spacing:.2px;color:#a1b29c;margin:-5px 0 0;line-height:1.6}.call-transcripts{background:#f2f3ec;border:1px solid #344238;border-radius:24px;color:#283c2f;padding:23px 18px 15px;height:calc(100dvh - 128px);min-height:570px;max-height:1040px;display:flex;flex-direction:column}.call-transcripts .dialogue-heading{padding-bottom:17px}.call-transcripts h3{font-size:17px;margin:9px 0 0}.call-transcripts .section-eyebrow{font-size:8px;letter-spacing:1.7px}.call-transcripts .chat-list{height:auto;min-height:90px;flex:1;padding-top:8px}.call-transcripts .chat-empty{margin-top:clamp(20px,5vh,65px)}.call-transcripts .chat-empty-icon{background:#e5eadc}.call-transcripts .chat-empty h4{font-size:15px}.call-transcripts .chat-empty>p{font-size:11px;line-height:1.9}.voice-ideas{border-top:1px solid #dfe6d9;padding-top:19px;margin-top:28px;text-align:left}.voice-ideas>span{color:#8e9f87;font-size:9px}.voice-ideas p{font-size:11px;line-height:1.6;color:#657a5c;margin:12px 0}.call-transcripts .chat-row{margin-bottom:18px}.call-transcripts .chat-row p{font-size:12px;line-height:1.7}.call-transcripts .chat-author{font-size:9px}.call-transcripts #chat-form{margin-top:12px;flex:none}.call-transcripts textarea{min-height:55px;font-size:11px}.call-transcripts .history-actions{font-size:8px;margin-top:12px}.phone-footer{height:52px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#7c9181}.phone-footer>span:last-child{display:flex;align-items:center;gap:18px}.phone-footer button{font-size:9px;padding:0;color:#9bab9a}.dialing-panel{display:none;position:absolute;z-index:4;inset:0;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;color:#f4faed;padding-bottom:90px}.dialing-panel h2{font-size:21px;font-weight:400;margin:25px 0 6px}.dialing-panel p{font-size:11px;color:#c8d6bc}.dialing-rings{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 16px #e4f2d50b,0 0 0 35px #e4f2d508;border:1px solid #e4f2d533;background:#a4ba8d30;animation:call-breathe 2.4s ease-in-out infinite}.dialing-rings span{font-family:Georgia,serif;font-size:40px;color:#e0edc5}@keyframes call-breathe{50%{box-shadow:0 0 0 21px #e4f2d505,0 0 0 42px #e4f2d500}}.phone-app:not([data-call-state=connected]) .stage-caption{display:none}.phone-app[data-call-state=dialing] .dialing-panel{display:flex}.phone-app[data-call-state=dialing] .contact-panel,.phone-app[data-call-state=connected] .contact-panel{display:none}.phone-app[data-media-kind=video][data-call-state=connected] .portrait-avatar{opacity:0}.phone-app[data-call-state=connected] #call-status-badge{background:#597c3147;color:#deefbe;border-color:#c5e39555}.phone-app[data-call-state=dialing] .portrait-avatar{filter:brightness(.5)}.phone-app:not([data-call-state=connected]) .self-tile{opacity:.7}.tools-modal{max-width:650px;width:calc(100% - 32px);padding:32px;background:#f5f6ee;color:#2c4235}.tools-close{position:absolute;right:20px;top:20px;color:#84947f}.tools-modal h2{font-size:23px;font-weight:500}.tools-modal #modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:23px 0}.tools-modal .mode{margin:0;background:#e9eddf}.tools-modal .mode.selected{background:#d9e4c7}.tools-modal #topics{display:grid;grid-template-columns:1fr 1fr;gap:3px}.tools-modal .sidebar-section-title{padding:0;margin:24px 0 10px}.call-level-label{font-size:11px;color:#72836a;margin-right:14px}.tools-modal #level{border:1px solid #dce5d2;background:#edf1e3;padding:9px;border-radius:8px;font-size:11px;color:#64765c}.tools-modal .practice-card{padding:18px;margin-top:20px;gap:12px}.tools-modal .practice-copy p{font-size:13px}.tools-extras{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.tools-extras button{font-size:11px;color:#637c54;border:1px solid #dae5cd;padding:9px 12px;border-radius:9px;display:flex;align-items:center;gap:7px}.tools-extras svg{width:15px;height:15px}#modal{color:#2c4235;background:#f7f8f0}#toast{bottom:26px;z-index:25}.material-mini{z-index:4;right:25px;bottom:170px}.phone-app[data-call-state=ended] .contact-panel h1{font-size:clamp(29px,3.1vw,50px)}@media(min-width:1600px){.phone-main{grid-template-columns:minmax(0,1fr) 340px;gap:22px}.call-transcripts{padding:28px 24px}.call-controls{gap:24px}.call-round{width:49px;height:49px}.contact-panel{left:7%;top:29%}}@media(max-width:1050px){.phone-main{grid-template-columns:minmax(0,1fr) 265px;padding:0 16px;gap:13px}.phone-topbar{padding:0 20px}.phone-brand{font-size:14px}.contact-panel{left:6%;max-width:45%;top:28%}.contact-panel h1{font-size:32px}.call-controls{gap:12px}.call-round{width:40px;height:40px}.call-dial{min-width:182px;padding:16px 18px;font-size:11px}.call-bottom{gap:17px;left:12px;right:12px}.self-tile{width:155px;right:17px;padding:11px}.self-camera-note{font-size:7px}.call-screen-top{left:23px;right:23px}.call-status{gap:7px}.call-status #call-status-badge{font-size:8px}.call-screen .portrait-avatar{width:88%;margin-left:12%}.call-transcripts{padding:20px 14px 15px}}@media(max-width:760px){.phone-topbar{height:62px;padding:0 17px;gap:10px}.phone-brand{font-size:14px}.phone-brand>svg{width:24px}.brand-separator{margin:0 8px}.phone-brand strong{font-size:11px}.phone-settings span{display:none}.phone-topbar .connection-state{font-size:8px;text-align:right;justify-content:flex-end}.phone-main{display:flex;flex-direction:column;padding:0 10px;gap:13px}.call-screen{height:calc(100svh - 80px);min-height:590px;max-height:890px;border-radius:20px}.call-screen-top{top:21px;left:21px;right:21px}.call-screen .portrait-avatar{width:100%;margin:0;object-fit:cover;object-position:center 28%}.call-screen .call-vignette{background:linear-gradient(0deg,#0b1714fa 0,#0b1714d9 19%,#0b171400 70%),linear-gradient(90deg,#07120d70,transparent)}.contact-panel{inset:auto 25px 230px;max-width:100%;text-shadow:0 1px 20px #051008}.contact-panel h1{font-size:35px;line-height:1.35;margin:14px 0}.contact-panel>p{font-size:11px;line-height:1.8}.contact-tags{margin-top:15px;gap:7px}.contact-tags span{font-size:9px;padding:5px 9px}.contact-eyebrow{font-size:8px;letter-spacing:2px}.contact-panel>small{font-size:8px;margin-top:14px}.call-bottom{bottom:18px;gap:17px;left:15px;right:15px}.call-controls{gap:25px;justify-content:center;width:100%;order:2}.call-control-item{gap:6px}.call-round{width:42px;height:42px}.call-control-item>span{font-size:8px}.call-primary-actions{width:100%;display:flex;justify-content:center;order:1}.call-dial{min-width:215px;padding:16px 23px}.call-hangup{min-width:150px;padding:14px 23px}.call-bottom-note{order:3;font-size:8px;margin:0}.self-tile{top:85px;right:16px;width:145px;padding:10px;border-radius:12px}.self-tile small,.self-camera-note{font-size:7px}.self-avatar{width:25px}.self-tile strong{font-size:10px}.call-screen .stage-caption{bottom:225px;left:18px;right:18px}.call-screen .stage-caption p{font-size:16px;line-height:1.6}.call-screen .stage-caption>span:first-child{font-size:9px}.student-feedback{top:161px;left:20px;max-width:calc(100% - 40px)}.student-feedback p{font-size:10px}.call-transcripts{height:510px;min-height:400px;max-height:none;border-radius:20px;padding:23px 20px 15px}.call-transcripts .chat-empty{margin-top:24px}.call-transcripts .chat-list{min-height:150px}.voice-ideas{margin-top:20px;padding-top:15px}.phone-footer{height:auto;min-height:60px;padding:18px 16px;gap:16px;font-size:8px}.phone-footer>span:last-child{gap:10px}.phone-footer button{font-size:8px}.dialing-panel{padding-bottom:130px}.tools-modal{padding:28px 20px}.tools-modal .mode{padding:13px 9px;gap:9px}.tools-modal .mode strong{font-size:11px}.tools-modal .mode small{font-size:8px}.tools-modal #topics{grid-template-columns:1fr}.material-mini{bottom:225px}}@media(prefers-reduced-motion:reduce){.dialing-rings{animation:none}.call-screen .portrait-avatar,.mic-wave i{transition:none}}
