/* Practice studio: navy, warm paper and a little electric lime. */
[hidden]{display:none!important}
.practice-page{--studio-lime:#dfff87;--studio-paper:#f8f7f3;background:var(--studio-paper)}
.practice-page .student-main{max-width:1600px;padding:32px 40px 60px}
.studio-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}
.studio-heading .ac-eyebrow{font-size:11px;letter-spacing:.18em;color:#667164}
.studio-heading .ac-h1{font-family:Inter,"Segoe UI",sans-serif;font-size:clamp(26px,2.8vw,42px);line-height:1.17;letter-spacing:-.04em;font-weight:700}
.studio-heading em{font-style:normal;color:#6d7b60;font-weight:500}
.studio-heading .ac-sub{margin-top:14px}
.studio-back{display:flex;gap:8px;align-items:center;font-size:13px;padding:12px 0;color:var(--ac-muted);white-space:nowrap}
.studio-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.studio-room,.studio-chat{border:1px solid #e2e5db;background:#fff;border-radius:24px;overflow:hidden;min-width:0}
.room-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:20px 24px}
.room-label{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.1em;font-weight:700}
.live-dot{width:7px;height:7px;background:#548c4c;border-radius:50%}
.room-level{background:#f0f2eb;padding:5px 9px;border-radius:8px;font-size:11px}
.studio-stage{position:relative;isolation:isolate;margin:0 12px;padding:35px 24px 24px;background:#0e2531;border-radius:18px;color:#fff;text-align:center;overflow:hidden}
.stage-decoration{position:absolute;border:1px solid #466350;border-radius:50%;z-index:-1;opacity:.35;width:280px;height:280px}
.deco-one{left:-175px;top:15px}.deco-two{right:-190px;bottom:-80px;width:340px;height:340px}
.studio-emma{width:110px;height:110px;margin:0 auto 19px;position:relative;display:grid;place-items:center}
.emma-face{width:84px;height:84px;border-radius:28px;background:#dfff87;color:#18322b;font-family:Georgia,serif;font-style:italic;font-size:58px;line-height:84px;position:relative;box-shadow:0 8px 30px #0002;transform:rotate(-8deg)}
.face-spark{position:absolute;right:-13px;top:-23px;color:#dfff87;font-style:normal;font-size:33px;transform:rotate(8deg)}
.studio-orbit{position:absolute;inset:0;border:1px dashed #b8d88566;border-radius:50%}
.studio-stage h2{font-size:25px;letter-spacing:-.04em;margin:0}.studio-stage>p{font-size:13px;color:#b1c3c4;margin:8px 0 14px}
.studio-stage .emma-status{color:#dfff87;background:#ffffff0b;border:1px solid #ffffff12;width:fit-content;margin:0 auto;padding:6px 11px;border-radius:20px;font-size:11px}
.studio-stage .emma-status .dot{background:#dfff87}.studio-stage .emma-hint{color:#c5d2d2;min-height:38px;max-width:340px;margin:12px auto 8px;font-size:12px;line-height:1.6}
.studio-stage .emma-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:15px 0 0}.studio-stage .ac-btn.primary{background:#dfff87;color:#1e3329;border-color:#dfff87;font-size:13px;border-radius:11px}.studio-stage .ac-btn{font-size:12px}
.studio-text-btn{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #516268;background:transparent;color:#e4eeeb;padding:10px 14px;border-radius:11px;font-size:12px;cursor:pointer}
.studio-stage .emma-quota{color:#a5babc;font-size:10px;margin-top:15px}.studio-stage .emma-meter{width:80px;margin:8px auto;height:3px;background:#ffffff16}.studio-stage .emma-meter i{background:#dfff87}
.studio-stage .voice-error{color:#ffe2de;background:#702f2f;border:1px solid #b05d5d;font-size:12px;text-align:left}.studio-stage .emma-lock{font-size:12px}
.studio-mission{display:grid;grid-template-columns:1fr auto;gap:12px 20px;padding:24px 24px 16px}
.mission-kicker{font-size:10px;letter-spacing:.12em;color:#77836e;font-weight:700}.studio-mission h3{font-size:17px;margin:7px 0}.studio-mission p{font-size:12px;line-height:1.6;color:var(--ac-muted);margin:0}
.mission-count{display:flex;flex-direction:column;justify-content:center;align-items:center}.mission-count b{font-size:25px;font-weight:600;letter-spacing:-.05em}.mission-count span{font-size:10px;color:var(--ac-muted)}
.mission-track{grid-column:1/-1;background:#eef0e9;height:6px;border-radius:8px;overflow:hidden}.mission-track i{display:block;width:0;height:100%;background:#75884b;transition:width .4s}.studio-mission .mission-note{grid-column:1/-1;font-size:11px}
.studio-phrases{padding:16px 24px 24px;border-top:1px solid #eef0e9}.studio-phrases h3{font-size:12px;margin:0}.studio-phrases p{font-size:11px;color:var(--ac-muted);margin:8px 0 12px}
.studio-link{display:inline-flex;align-items:center;gap:5px;background:none;border:0;color:#5f6e53;font-size:11px;cursor:pointer;padding:4px 0}.studio-link:hover{color:#263e26}
#phraseChips{display:flex;flex-wrap:wrap;gap:7px}#phraseChips button{background:#f3f5ee;border:1px solid #e2e8d9;border-radius:9px;padding:8px 10px;font-size:11px;text-align:left;color:#48593b;cursor:pointer}#phraseChips button:hover{background:#e9efd9}
.chat-heading{display:flex;align-items:center;gap:11px;padding:20px 22px;border-bottom:1px solid #edf0e9}.chat-mini-avatar{background:#eaf0e1;color:#4d6246;width:33px;height:33px;border-radius:11px;display:grid;place-items:center;font:italic 24px Georgia,serif}.chat-heading b{display:block;font-size:13px}.chat-heading small{display:block;font-size:10px;color:var(--ac-muted);margin-top:4px}.chat-heading .studio-link{margin-left:auto}
.studio-chat .studio-transcript{height:360px;min-height:260px;max-height:440px;padding:20px;display:flex;flex-direction:column;gap:16px;border:0;border-radius:0;background:#fff;margin:0}
.studio-transcript .tmsg{padding:13px 15px;max-width:92%;font-size:13px;line-height:1.6;background:#f1f4ed;border-radius:2px 14px 14px 14px;border:0;margin:0;color:#30402f;overflow-wrap:anywhere}.studio-transcript .tmsg.user{align-self:flex-end;background:#122a36;color:#fff;border-radius:14px 2px 14px 14px}.studio-transcript .tmsg small{font-size:9px;letter-spacing:.06em;display:block;margin-bottom:5px;color:#6b7d5e}.studio-transcript .tmsg.user small{color:#bac9cd}
.chat-thinking{padding:0 22px 10px;font-size:12px;color:#657657}.chat-thinking span{letter-spacing:4px;margin-left:6px}.chat-error{margin:0 20px 12px;background:#fff0ed;color:#89352a;padding:10px 12px;border-radius:9px;font-size:12px;line-height:1.5}
.studio-composer{margin:0 16px 10px;padding:13px;border:1px solid #dfe5d7;background:#f8faf5;border-radius:14px}.studio-composer:focus-within{border-color:#809664;box-shadow:0 0 0 3px #bccd9c33}.studio-composer textarea{width:100%;resize:vertical;max-height:180px;min-height:45px;font:13px/1.5 Inter,"Segoe UI",sans-serif;background:transparent;border:0;outline:none;color:#263e30;padding:0}.composer-actions{display:flex;justify-content:space-between;gap:8px;align-items:center}.composer-actions>span{font-size:10px;color:#6d7b60;max-width:220px}.composer-actions .ac-btn{padding:9px 12px;font-size:11px;border-radius:9px;background:#112d38}
.chat-help{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 20px}.chat-help button{display:flex;align-items:center;gap:5px;border:0;background:transparent;font-size:11px;color:#5d6d54;cursor:pointer}.chat-help select{font-size:10px;padding:5px;border:1px solid #e2e8da;border-radius:6px;background:#fff;color:#485e43}.chat-note{font-size:10px;line-height:1.5;color:#7d8775;padding:0 20px;margin:12px 0 18px}
.studio-cc{margin:0 20px 20px;border-radius:10px;font-size:11px}.studio-cc summary{padding:12px;cursor:pointer;color:#c7d7bf}.studio-cc .head{font-size:9px}.studio-cc .line{font-size:12px}.studio-cc.off .line{display:none}
.adventures{margin-top:32px}.adventure-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.adventure-heading h2{font-size:23px;letter-spacing:-.03em;margin:6px 0 0}.adventure-heading p{max-width:270px;color:#7d8775;font-size:11px;line-height:1.6;margin:0}
.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scenario-card{position:relative;text-align:left;padding:17px;border:1px solid #e3e8db;border-radius:14px;cursor:pointer;background:#fff;transition:transform .15s,border-color .15s;min-width:0}.scenario-card:hover{transform:translateY(-3px);border-color:#9aad7d}.scenario-card[aria-pressed="true"]{border-color:#7e9361;box-shadow:0 0 0 1px #7e9361}.scenario-card .scenario-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;margin-bottom:14px;background:#eaf0df;color:#557047}.scenario-card[data-color="peach"] .scenario-icon{background:#fff0df;color:#a8683e}.scenario-card[data-color="blue"] .scenario-icon{background:#e8effb;color:#4773a9}.scenario-card[data-color="lilac"] .scenario-icon{background:#f0eafb;color:#8972a7}.scenario-card b{display:block;font-size:13px;color:#203829;line-height:1.4}.scenario-card small{display:block;font-size:10px;color:#718166;line-height:1.5;margin-top:5px}.scenario-card .scenario-tag{position:absolute;top:19px;right:14px;color:#76866d;font-size:9px}.scenario-card .scenario-arrow{position:absolute;right:16px;bottom:20px;color:#849b67}
.practice-modes{margin-top:24px;color:#5f6e53;font-size:12px}.practice-modes summary{cursor:pointer;padding:12px 0}.practice-modes .modes{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-page #diagWrap{margin-top:20px;font-size:12px}
.practice-page button:focus-visible,.practice-page a:focus-visible,.practice-page select:focus-visible{outline:3px solid #769a48;outline-offset:3px}.practice-page button:disabled{opacity:.55;cursor:wait}.practice-page .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[data-voice-status="speaking"] .emma-face{animation:emma-talk .9s ease-in-out infinite alternate}[data-voice-status="listening"] .studio-orbit{border-color:#dfff87;animation:emma-orbit 8s linear infinite}
@keyframes emma-talk{to{transform:rotate(3deg) translateY(-3px)}}@keyframes emma-orbit{to{transform:rotate(360deg)}}
.dashboard-adventure{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;background:#eef2e3;border:1px solid #e0e7d1;border-radius:18px;padding:24px;margin:22px 0}.dashboard-adventure h2{font-size:22px;letter-spacing:-.03em;margin:7px 0;color:#304a29}.dashboard-adventure p{font-size:13px;color:#65745b;margin:0;line-height:1.6}.dashboard-adventure .ac-btn{background:#243d2c;border-color:#243d2c;color:white;white-space:nowrap}
@media(min-width:1500px){.studio-chat .studio-transcript{height:420px}}
@media(max-width:1150px){.practice-page .student-main{padding:28px 24px}.studio-layout{gap:16px}.studio-heading .ac-h1{font-size:30px}.studio-stage{padding:30px 16px 20px}.room-heading{padding:17px}.room-label{font-size:9px}.studio-mission,.studio-phrases{padding-left:18px;padding-right:18px}.chat-heading{padding:17px}.chat-heading b{font-size:12px}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.studio-layout{grid-template-columns:1fr}.studio-heading{display:block}.studio-back{padding-bottom:0}.studio-room{display:grid;grid-template-columns:1fr 1fr}.room-heading{grid-column:1/-1}.studio-stage{grid-row:2/5;margin-bottom:12px}.studio-phrases{border-top:0}.studio-mission{display:flex;flex-wrap:wrap;gap:12px}.studio-mission>div:first-child{flex:1;min-width:130px}.mission-track{width:100%}.mission-note{width:100%}.studio-chat .studio-transcript{height:300px}.practice-modes .modes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.practice-page .student-main{padding:24px 16px 40px}.studio-heading .ac-h1{font-size:29px}.studio-heading .ac-sub{font-size:13px}.studio-room{display:block}.studio-stage{padding:24px 16px}.studio-emma{width:90px;height:90px;margin-bottom:12px}.emma-face{width:70px;height:70px;line-height:70px;font-size:48px}.studio-stage h2{font-size:22px}.studio-stage .emma-hint{min-height:0}.studio-mission{padding:20px}.studio-phrases{padding:12px 20px 20px}.adventure-heading{display:block}.adventure-heading p{margin-top:8px;max-width:none}.scenario-grid{gap:10px}.scenario-card{padding:14px;min-height:151px}.scenario-card .scenario-tag{top:18px;font-size:8px}.scenario-card b{font-size:12px;padding-right:4px}.scenario-card small{font-size:9px;padding-right:9px}.chat-heading{padding:16px}.chat-heading b{font-size:12px}.studio-transcript .tmsg{font-size:13px}.composer-actions>span{max-width:170px}.dashboard-adventure{grid-template-columns:1fr}.dashboard-adventure .ac-btn{width:fit-content}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
