:root{color-scheme:light;--background:#f7f9fb;--surface:#ffffff;--surface-muted:#eef3f5;--text:#172026;--muted:#60707c;--line:#d8e1e7;--accent:#0f8b8d;--accent-strong:#0b6264;--success:#2f8f4e;--warning:#b65f00;--danger:#b42318}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea{font:inherit}.page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:40px 0}.workspace{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);grid-gap:28px;gap:28px;align-items:stretch}.workspace-copy{display:flex;min-height:420px;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 14px;color:var(--accent-strong);font-size:.85rem;font-weight:700}h1{max-width:720px;margin:0;font-size:4.4rem;line-height:1.04;letter-spacing:0}.lead{max-width:620px;margin:22px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.8}.practice-panel{display:flex;min-height:420px;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px;box-shadow:0 18px 50px rgba(23,32,38,.08)}.prompt-block{border-left:4px solid var(--accent);background:var(--surface-muted);padding:18px}.answer-form label,.prompt-label{display:block;color:var(--muted);font-size:.82rem;font-weight:700}.prompt-block p{margin:10px 0 0;font-size:1.5rem;line-height:1.45}.answer-form{display:grid;grid-gap:10px;gap:10px}.answer-form textarea{width:100%;min-height:112px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:14px;color:var(--text);outline:none}.answer-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,139,141,.14)}.answer-form button{min-height:44px;border:0;border-radius:8px;background:var(--accent);color:#ffffff;cursor:pointer;font-weight:700}.answer-form button:disabled{cursor:not-allowed;opacity:.55}.feedback{min-height:92px;border:1px solid var(--line);border-radius:8px;padding:16px}.feedback span{display:inline-block;margin-right:10px;color:var(--accent-strong);font-weight:800}.feedback strong{font-size:1.6rem}.feedback p{margin:8px 0 0;color:var(--muted)}.feedback[data-state=correct],.feedback[data-state=great],.feedback[data-state=perfect]{border-color:rgba(47,143,78,.42)}.feedback[data-state=partial]{border-color:rgba(182,95,0,.42)}.feedback[data-state=error],.feedback[data-state=wrong]{border-color:rgba(180,35,24,.42)}.language-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:28px}.language-card{min-height:152px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px}.language-code{color:var(--accent-strong);font-size:.78rem;font-weight:800}.language-card h2{margin:16px 0 6px;font-size:1.35rem}.language-card p{margin:0;color:var(--muted)}.language-card strong{display:block;margin-top:18px}@media (max-width:800px){.page-shell{width:min(100% - 24px,620px);padding:24px 0}.language-strip,.workspace{grid-template-columns:1fr}.practice-panel,.workspace-copy{min-height:auto}.workspace-copy{padding:12px 0}h1{font-size:2.35rem}}:root{--bg:#f7f4ed;--surface-strong:#ffffff;--ink:#22201d;--ink-soft:#5f5950;--accent-soft:#dceeed;--success-soft:#dff1e5;--warning-soft:#faead2;--danger-soft:#f7dfdc;--violet:#5751a6;--violet-soft:#e7e4fb;--shadow:0 10px 28px rgb(45 38 28/8%);--radius:8px;--max:1180px}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.app-shell{min-height:100vh}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:rgb(247 244 237/92%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;width:min(100% - 32px,var(--max));min-height:64px;margin:0 auto;gap:20px;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800}.brand-mark{display:grid;width:34px;height:34px;border:1px solid #1e4e51;border-radius:8px;place-items:center;background:var(--accent);color:white;font-size:13px;letter-spacing:0}.main-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.mobile-nav{display:none}.main-nav a,.mobile-nav a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:9px 12px;border-radius:8px;color:var(--ink-soft);font-size:14px;font-weight:650}.main-nav a.is-active,.main-nav a:hover,.mobile-nav a.is-active,.mobile-nav a:hover{background:var(--surface);color:var(--ink)}.main-nav a.is-active,.mobile-nav a.is-active{color:var(--accent-strong);font-weight:800}.page{width:min(100% - 32px,var(--max));margin:0 auto;padding:28px env(safe-area-inset-right) 56px env(safe-area-inset-left)}.page-header{display:grid;grid-gap:10px;gap:10px;margin-bottom:24px}.page-kicker{color:var(--accent-strong);font-size:13px;font-weight:800}.page-title{max-width:780px;margin:0;font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:0}.page-summary{max-width:720px;margin:0;color:var(--ink-soft);font-size:16px}.hero-actions,.note-actions,.page-actions,.practice-actions,.review-actions{display:flex;flex-wrap:wrap;gap:10px}.page-actions{margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);grid-gap:16px;gap:16px}.hero-panel{min-height:340px;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow)}.hero-panel h1{max-width:720px;margin:0 0 14px;font-size:clamp(34px,6vw,66px);line-height:1.02;letter-spacing:0}.hero-panel p{max-width:650px;margin:0;color:var(--ink-soft);font-size:17px}.hero-actions{margin-top:24px}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:28px}.content-stack,.grid-2,.grid-3,.grid-4,.side-stack{display:grid;grid-gap:12px;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.language-card,.note-card,.review-card,.scenario-card{display:grid;grid-gap:12px;gap:12px;min-width:0;min-height:0}.card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{margin:0;font-size:20px;line-height:1.25}.card-subtitle{margin:0;color:var(--ink-soft);font-size:14px}.meta-line,.tag-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.language-code{display:grid;width:48px;height:48px;border-radius:8px;place-items:center;background:var(--violet-soft);color:var(--violet);font-weight:850}.scenario-progress{display:grid;grid-gap:8px;gap:8px}.practice-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:16px;gap:16px;align-items:start}.practice-main{display:grid;grid-gap:14px;gap:14px}.practice-prompt{padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow)}.practice-prompt h1{margin:10px 0 0;font-size:clamp(26px,5vw,48px);line-height:1.12;letter-spacing:0}.answer-box{width:100%;min-height:148px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface-strong);color:var(--ink);font-size:20px;line-height:1.5}.answer-box:focus{border-color:var(--accent);outline:3px solid var(--accent-soft)}.practice-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:10;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgb(247 244 237/70%),var(--bg) 40%)}.feedback-panel{min-height:58px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--surface)}.feedback-panel.success{border-color:#9dcba9;background:var(--success-soft)}.feedback-panel.warning{border-color:#e3bf87;background:var(--warning-soft)}.feedback-panel.danger{border-color:#e4aaa4;background:var(--danger-soft)}.hint-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.hint-list li{border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--ink-soft)}.rail{display:grid;grid-gap:12px;gap:12px}.rail-card{display:grid;grid-gap:10px;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.app-shell.is-practice-route .app-header,.app-shell.is-practice-route .mobile-nav{display:none}.app-shell.is-practice-route main{min-height:100vh}.practice-immersive-page{background:radial-gradient(circle at 72% 42%,rgb(15 139 141/7%),transparent 22%),linear-gradient(180deg,#fbfcff,#f5f7fb);color:#111827}.practice-hud{border-bottom:1px solid #e5e9f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.practice-hud-main{grid-template-columns:40px minmax(0,1fr) auto;grid-gap:16px;gap:16px;min-height:68px;padding:0 18px}.practice-menu-button{width:34px;height:34px}.practice-menu-button span{width:18px;background:#111827}.practice-course-title{color:#111827;font-size:16px;font-weight:760}.practice-course-subtitle{margin-top:3px;color:#687386;font-weight:650}.practice-icon-button{color:#111827;font-size:14px;font-weight:850}.practice-icon-button:hover,.practice-icon-button[aria-pressed=true]{border-color:#d7deea;background:#f6f8fb}.practice-progress-track{height:6px;margin:0 14px 8px;border:1px solid #cfd7e5;background:#ffffff}.practice-progress-track span{background:linear-gradient(90deg,#0f8b8d,#8a4dff)}.practice-stage{padding:22px clamp(18px,4vw,54px) 132px}.practice-status-row{position:absolute;top:20px;left:clamp(16px,3vw,32px);gap:12px;color:#97a0af;font-size:16px}.practice-timer:before{content:"";display:inline-block;width:14px;height:14px;margin-right:6px;border:2px solid;border-radius:50%;vertical-align:-2px}.practice-round-pill{display:inline-grid;min-width:34px;height:34px;place-items:center;border:1px solid #d6efe6;border-radius:999px;background:#ffffff;color:#45645d;font-size:12px}.practice-metric-pill{display:inline-grid;min-height:28px;place-items:center;border:1px solid #e0e5ee;border-radius:999px;padding:3px 9px;background:#ffffff;color:#687386;font-size:12px;font-weight:820}.practice-audio-dock{right:clamp(16px,3vw,32px);gap:8px;min-height:44px;padding:5px 8px;border:1px solid #ebedf3;box-shadow:0 18px 60px rgb(85 70 120/10%)}.practice-auto-play-pill{display:inline-grid;min-height:26px;place-items:center;border-left:1px solid #e3e8f0;padding-left:8px;color:#687386}.practice-audio-dock button{width:32px;height:32px}.audio-meter{display:inline-block;width:18px;height:18px;border-radius:50%}.audio-meter.is-muted{border:2px solid #9aa3af;border-left-color:transparent}.audio-meter.is-speaking{border:2px solid #8a4dff;background:radial-gradient(circle,#8a4dff 0 34%,transparent 38%);box-shadow:0 0 0 5px rgb(138 77 255/12%);animation:audio-pulse .92s ease-in-out infinite}.audio-meter.is-active{background:linear-gradient(90deg,transparent 0 12%,#9d4dff 12% 22%,transparent 22% 38%,#b95cff 38% 52%,transparent 52% 68%,#8a4dff 68% 78%,transparent 78%),transparent}.audio-meter.is-voice{border:2px solid #0f8b8d;border-radius:6px 6px 9px 9px;background:linear-gradient(#0f8b8d 0 58%,transparent 58%)}.audio-meter.is-recording{background:#ff5f57;box-shadow:0 0 0 6px rgb(255 95 87/16%)}.practice-focus-zone{width:min(760px,100%);min-height:560px;margin:auto;place-items:center}.practice-mode-rail{position:absolute;top:32px;left:50%;grid-template-columns:repeat(3,minmax(58px,1fr));transform:translateX(-50%);border:1px solid #e0e5ee;background:rgb(255 255 255/90%);box-shadow:0 14px 44px rgb(18 24 38/8%)}.practice-mode-rail button,.practice-mode-settings button{padding:4px 9px}.practice-mode-rail span,.practice-mode-settings span{color:#9aa3af}.practice-mode-rail button[aria-pressed=true],.practice-mode-settings button[aria-pressed=true]{border-color:#c9dedb;background:#eefaf7;color:#0f6768}.practice-prompt-stack{grid-gap:12px;gap:12px;transform:translateY(-28px)}.practice-prompt-stack h1{max-width:min(760px,88vw);color:#121826;font-size:clamp(30px,4.2vw,56px)}.practice-prompt-stack p{color:#7a8494}.practice-structure-strip{position:absolute;top:calc(50% + 58px);left:50%;width:min(620px,88vw);transform:translateX(-50%)}.practice-structure-strip span{border:1px solid #dbe3ef;background:rgb(255 255 255/82%);color:#7a8494}.practice-structure-strip span.is-open{border-color:#c6ecdc;background:#f1fbf5;color:#217a43}.practice-input-wrap{width:min(520px,88vw);margin-top:-70px}.practice-input-wrap:before{top:2px;color:#8a4dff;font-size:clamp(34px,5vw,58px);font-weight:780}.practice-input-wrap.is-empty:before{opacity:.9}.practice-answer-input{color:#8a4dff;font-size:clamp(34px,5vw,58px);font-weight:780;line-height:1.1}.practice-input-line{width:min(240px,56%);height:2px;background:#8a4dff;box-shadow:0 0 0 4px rgb(138 77 255/6%)}.practice-speech-pass{position:absolute;top:calc(50% + 92px);left:50%;z-index:4;width:min(590px,90vw);transform:translateX(-50%);border:1px solid #dfe6f0;box-shadow:0 16px 46px rgb(18 24 38/8%);color:#111827}.practice-speech-main{grid-gap:1px;gap:1px}.practice-speech-main span{color:#0f6768}.practice-speech-main small{color:#667285}.practice-speech-pass button{color:#0f6768}.practice-speech-pass button:disabled{cursor:wait;opacity:.68}.practice-speech-pass em{display:inline-flex;margin-left:8px;border-radius:999px;padding:2px 7px;background:#eef2ff;color:#5650a0;font-style:normal;font-weight:780;white-space:nowrap}.practice-speech-pass.is-recording{border-left-color:#ff5f57;background:#fff7f6}.practice-speech-pass.is-recording .practice-speech-main span,.practice-speech-pass.is-recording .practice-speech-main strong{color:#a2332d}.practice-speech-pass.is-passed{border-left-color:#35a35a;background:#f3fbf5}.practice-speech-pass.is-passed .practice-speech-main span,.practice-speech-pass.is-passed .practice-speech-main strong{color:#217a43}.practice-speech-pass.is-near{border-left-color:#d9901c;background:#fff9ed}.practice-speech-pass.is-near .practice-speech-main span,.practice-speech-pass.is-near .practice-speech-main strong{color:#8c5a11}.practice-speech-pass.is-retry{border-left-color:#d84a3e;background:#fff4f3}.practice-speech-pass.is-retry .practice-speech-main span,.practice-speech-pass.is-retry .practice-speech-main strong{color:#9a2c24}.practice-hints{width:min(560px,90vw);margin-top:-42px}.practice-hints span{border:1px solid #dce3ef;border-radius:8px;padding:5px 9px;background:#ffffff;color:#687386;font-size:13px;font-weight:700}.practice-feedback{position:absolute;top:calc(50% + 122px);left:50%;max-width:min(520px,86vw);transform:translateX(-50%);border:1px solid #e5e9f0;background:rgb(255 255 255/88%);color:#697386;box-shadow:0 12px 36px rgb(18 24 38/6%)}.practice-feedback strong{color:#111827}.practice-feedback.is-idle{opacity:0;pointer-events:none}.practice-game.has-speech-pass .practice-feedback{top:calc(50% + 172px)}.practice-game.has-speech-pass .practice-answer-reveal{top:calc(50% + 224px)}.practice-answer-reveal{position:absolute;top:calc(50% + 174px);left:50%;width:min(680px,88vw);transform:translateX(-50%);color:#111827;font-size:clamp(18px,2.3vw,28px);font-weight:760}.practice-avatar{top:50%;left:calc(50% + min(260px, 28vw));width:64px;height:64px;transform:translateY(-44px)}.practice-avatar span{position:absolute;display:block}.avatar-orbit{inset:8px;border:2px solid rgb(15 139 141/38%);border-radius:50%;transform:rotate(-18deg)}.avatar-head{top:5px;left:22px;width:20px;height:18px;border:2px solid #161b28;border-radius:8px 8px 6px 6px;background:#ffd166}.avatar-core{top:22px;left:15px;width:34px;height:28px;border:2px solid #161b28;border-radius:8px;background:linear-gradient(135deg,#8a4dff 0 48%,#0f8b8d 48% 100%)}.avatar-foot{bottom:6px;width:18px;height:8px;border:2px solid #161b28;border-radius:999px;background:#ffffff}.avatar-foot.is-left{left:12px}.avatar-foot.is-right{right:12px}.practice-avatar.is-ready{animation:avatar-float 2.2s ease-in-out infinite}.practice-avatar.is-celebrating{animation:avatar-bounce .64s ease both}.practice-avatar.is-alert .avatar-core{background:linear-gradient(135deg,#ff6b5f 0 48%,#8a4dff 48% 100%)}.practice-avatar.is-thinking .avatar-orbit{border-style:dashed}.practice-coach-offer{position:absolute;top:calc(50% + 76px);left:calc(50% + min(330px, 32vw));min-width:154px;max-width:210px;padding:10px;text-align:left;box-shadow:0 16px 44px rgb(39 97 59/10%)}.practice-coach-offer strong{font-size:12px}.practice-coach-offer span{overflow-wrap:anywhere;color:#4f7e60;font-size:12px}.practice-coach-offer button{justify-self:start;min-height:28px;border:1px solid #b8dbc5;border-radius:7px;padding:4px 9px;background:#ffffff;color:#27613b;cursor:pointer;font-size:12px;font-weight:780}.practice-detail-panel{box-shadow:0 24px 70px rgb(18 24 38/12%)}.practice-detail-panel,.practice-settings-panel{top:86px;max-height:calc(100vh - 170px);border:1px solid #e5e9f0}.practice-settings-panel{position:fixed;right:20px;z-index:55;display:grid;grid-gap:14px;gap:14px;width:min(440px,calc(100vw - 32px));overflow:auto;border-radius:8px;padding:16px;background:rgb(255 255 255/97%);box-shadow:0 26px 82px rgb(18 24 38/16%)}.practice-settings-backdrop{position:fixed;inset:0;z-index:54;background:rgb(17 24 39/34%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.practice-settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.practice-settings-tabs span{display:inline-grid;min-height:34px;place-items:center;border:1px solid #e5e9f0;border-radius:8px;background:#f7f9fc;color:#4f5968;font-size:12px;font-weight:780}.practice-mode-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.practice-mode-settings button{border-color:#e5e9f0;background:#f9fbfd}.practice-hotkey-list,.practice-setting-section{display:grid;grid-gap:8px;gap:8px;border:1px solid #edf1f6;border-radius:8px;padding:12px;background:#ffffff}.practice-hotkey-list h2,.practice-setting-section h2{margin:0 0 2px;color:#111827;font-size:15px}.practice-setting-row,.practice-setting-select{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;border:0;border-top:1px solid #edf1f6;padding:10px 0 0;background:transparent;color:#111827;cursor:pointer;text-align:left}.practice-setting-row:first-of-type{border-top:0}.practice-setting-row span:first-child,.practice-setting-select span:first-child{display:grid;grid-gap:2px;gap:2px}.practice-setting-row strong,.practice-setting-select strong{font-size:14px}.practice-setting-note,.practice-setting-row small,.practice-setting-select small{color:#667085;font-size:12px}.practice-switch{position:relative;flex:0 0 auto;width:38px;height:22px;border-radius:999px;background:#dde3ed}.practice-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px rgb(18 24 38/18%);transition:transform .14s ease}.practice-switch.is-on{background:#8a4dff}.practice-switch.is-on:after{transform:translateX(16px)}.practice-setting-select select{min-height:36px;border:1px solid #dce3ef;border-radius:8px;padding:5px 9px;background:#ffffff;color:#111827}.practice-hotkey-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;color:#4f5968;font-size:13px}.practice-hotkey-list kbd{min-width:62px;border:solid #cfd7e5;border-width:1px 1px 2px;border-radius:6px;padding:3px 7px;background:#f8fafc;color:#111827;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;text-align:center}.practice-pause-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:rgb(17 24 39/72%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.practice-pause-overlay section{display:grid;grid-gap:16px;gap:16px;width:min(500px,100%);border:1px solid #e5e9f0;border-radius:8px;padding:22px;background:#ffffff;color:#111827;box-shadow:0 28px 90px rgb(0 0 0/24%)}.practice-pause-overlay p{margin:0;color:#4f5968}.practice-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-detail-header button{display:grid;width:30px;height:30px;border:1px solid #e5e9f0;border-radius:8px;place-items:center;background:#f7f9fc;cursor:pointer;font-weight:850}.practice-detail-panel dl{display:grid;grid-gap:14px;gap:14px;margin:0}.practice-detail-panel dl>div{display:grid;grid-gap:6px;gap:6px}.practice-detail-panel dt{color:#667085;font-size:12px;font-weight:760}.practice-detail-panel dd{display:flex;flex-wrap:wrap;gap:7px;margin:0;color:#111827;font-size:14px;line-height:1.55}.practice-detail-panel dd span{border:1px solid #e5e9f0;border-radius:8px;padding:4px 8px;background:#f7f9fc;color:#4f5968;font-size:12px;font-weight:720}.practice-detail-panel dd .practice-detail-transcript{max-width:100%;overflow-wrap:anywhere;text-align:left}.practice-command-bar{gap:clamp(10px,2vw,28px);background:linear-gradient(180deg,rgb(251 252 255/0),rgb(251 252 255/94%) 24%,#fbfcff)}.practice-shortcut{border:0;color:#111827}.practice-shortcut-icon{display:none}.practice-shortcut kbd{color:#111827}.practice-primary-action{border:1px solid #8a4dff;background:#8a4dff}.practice-next-arrow:disabled{cursor:not-allowed;opacity:.35}.practice-secondary-action{border:1px solid #d7deea;color:#111827}.practice-next-arrow{display:grid;width:36px;height:36px;border:0;border-radius:8px;place-items:center;background:transparent;color:#6b7280;cursor:pointer;font-size:24px}.practice-empty-state,.practice-finish-panel{display:grid;grid-gap:16px;gap:16px;width:min(620px,100%);margin:auto;justify-items:center;text-align:center}.practice-finish-kicker{color:#0f8b8d;font-size:13px;font-weight:850}.practice-finish-panel h1{margin:0;font-size:clamp(36px,7vw,72px);line-height:1.04;letter-spacing:0}.practice-empty-state span,.practice-finish-panel p{margin:0;color:#6b7280}.practice-finish-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}@keyframes avatar-float{0%,to{transform:translateY(-44px)}50%{transform:translateY(-54px)}}@keyframes avatar-bounce{0%{transform:translateY(-44px) scale(1)}45%{transform:translateY(-70px) scale(1.08)}to{transform:translateY(-44px) scale(1)}}@keyframes audio-pulse{0%,to{transform:scale(.92)}50%{transform:scale(1.06)}}.record-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:var(--radius);background:var(--surface-strong)}.record-table td,.record-table th{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.record-table th{color:var(--ink-soft);font-size:13px}.note-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;grid-gap:14px;gap:14px;align-items:start}.note-mobile-tabs{display:none}.note-editor,.note-list,.note-side{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong)}.note-list,.note-side{padding:14px}.note-list .ui-button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.note-editor{overflow:hidden}.note-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.note-textarea{width:100%;min-height:430px;resize:vertical;border:0;padding:18px;background:var(--surface-strong);color:var(--ink);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:15px;line-height:1.65}.card-subtitle,.tag-row,.ui-badge{min-width:0;overflow-wrap:anywhere}.note-textarea:focus{outline:3px solid var(--accent-soft);outline-offset:-3px}.preview{min-height:430px;padding:18px}.preview h1,.preview h2,.preview h3{margin:0 0 10px;line-height:1.2}.preview p{margin:0 0 10px;color:var(--ink-soft)}.search-input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:9px 11px;background:var(--surface)}.search-input:focus{border-color:var(--accent);outline:3px solid var(--accent-soft)}.empty-state{display:grid;grid-gap:8px;gap:8px;padding:24px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);text-align:center}.review-start-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;border:1px solid #cfe5df;border-radius:var(--radius);padding:18px 20px;background:linear-gradient(135deg,#effaf7,#f8f5ff)}.review-start-banner div{display:grid;grid-gap:4px;gap:4px}.review-start-banner span{color:var(--ink-soft);font-size:14px}.review-practice-page{max-width:920px}.review-practice-back{margin-bottom:14px}.review-practice-back a{color:var(--ink-soft);font-size:14px;font-weight:750;text-decoration:none}.review-trainer{display:grid;grid-gap:16px;gap:16px}.review-trainer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.review-trainer-finish h1,.review-trainer-head h1{margin:6px 0 0;font-size:clamp(28px,4vw,46px);line-height:1.08}.review-trainer-count{min-width:76px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--surface-strong);color:var(--ink-soft);font-weight:850;text-align:center}.review-trainer-progress{height:8px;overflow:hidden;border:1px solid #d7dedb;border-radius:999px;background:#f3f5f4}.review-trainer-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#8a4dff);transition:width .18s ease}.review-trainer-card,.review-trainer-finish{display:grid;grid-gap:20px;gap:20px;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:clamp(22px,5vw,44px);background:var(--surface-strong);box-shadow:var(--shadow)}.review-trainer-prompt{display:grid;grid-gap:8px;gap:8px;padding:22px 0 10px;text-align:center}.review-trainer-answer span,.review-trainer-input-label,.review-trainer-prompt span{color:var(--ink-soft);font-size:13px;font-weight:780}.review-trainer-prompt h2{margin:0;font-size:clamp(28px,5vw,48px);line-height:1.18}.review-trainer-input-label{margin-bottom:-12px}.review-trainer-input{width:100%;min-height:64px;border:2px solid #d8dfdc;border-radius:12px;padding:12px 16px;background:#fff;color:var(--ink);font:inherit;font-size:clamp(18px,3vw,24px)}.review-trainer-input:focus-visible{border-color:var(--accent);outline:4px solid var(--accent-soft)}.review-trainer-input[aria-invalid=true]{border-color:#c95757}.review-trainer-feedback{display:grid;grid-gap:3px;gap:3px;border-radius:10px;padding:12px 14px;background:#f4f5f5;color:var(--ink-soft)}.review-trainer-feedback.is-correct{background:#eaf8f1;color:#176c4d}.review-trainer-feedback.is-error,.review-trainer-feedback.is-wrong{background:#fff0ef;color:#9e3535}.practice-content-feedback,.review-content-feedback{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.practice-content-feedback button,.review-content-feedback button{min-height:34px;border:1px solid #d8dedb;border-radius:999px;padding:6px 12px;background:#fff;color:var(--ink-soft);cursor:pointer;font:inherit;font-size:12px;font-weight:780}.practice-content-feedback button:hover:not(:disabled),.review-content-feedback button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.practice-content-feedback button:disabled,.review-content-feedback button:disabled{border-color:#cfe5df;background:#effaf7;color:#267567;cursor:default}.review-trainer-answer{display:grid;grid-gap:6px;gap:6px;border-left:4px solid var(--accent);padding:12px 16px;background:var(--accent-soft)}.review-trainer-answer bdi{font-size:20px;font-weight:820}.review-trainer-actions{display:flex;flex-wrap:wrap;gap:10px}.review-trainer-finish{justify-items:start}.review-trainer-finish p{margin:0;color:var(--ink-soft);font-size:17px}@media (max-width:640px){.review-start-banner,.review-trainer-head{align-items:stretch;flex-direction:column}.review-start-banner .ui-button,.review-trainer-actions .ui-button{width:100%;justify-content:center}.review-trainer-count{align-self:start}.review-trainer-card,.review-trainer-finish{padding:20px 16px}}.ui-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface-strong);box-shadow:var(--shadow)}.ui-card-interactive{transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.ui-card-interactive:hover{transform:translateY(-2px);border-color:#b9c8c4;box-shadow:0 14px 34px rgb(45 38 28/12%)}.ui-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:750;white-space:nowrap}.ui-badge-neutral{background:#ece6dc;color:#4d463e}.ui-badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.ui-badge-success{background:var(--success-soft);color:var(--success)}.ui-badge-warning{background:var(--warning-soft);color:var(--warning)}.ui-badge-danger{background:var(--danger-soft);color:var(--danger)}.ui-badge-muted{background:#eeeae2;color:var(--muted)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-weight:780;line-height:1}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button-sm{min-height:36px;padding:8px 11px;font-size:13px}.ui-button-md{padding:11px 15px;font-size:14px}.ui-button-lg{min-height:50px;padding:13px 18px;font-size:15px}.ui-button-solid.ui-button-accent{background:var(--accent);color:white}.ui-button-solid.ui-button-success{background:var(--success);color:white}.ui-button-solid.ui-button-warning{background:var(--warning);color:white}.ui-button-solid.ui-button-danger{background:var(--danger);color:white}.ui-button-soft{border-color:var(--line);background:var(--surface);color:var(--ink)}.ui-button-soft.ui-button-accent{border-color:#b9d4d2;background:var(--accent-soft);color:var(--accent-strong)}.ui-button-ghost{background:transparent;color:var(--ink-soft)}.ui-button-icon{display:inline-grid;width:18px;height:18px;place-items:center}.ui-progress{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#e9e1d5}.ui-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.ui-stat{display:grid;grid-gap:2px;gap:2px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.ui-stat dt{color:var(--ink-soft);font-size:12px;font-weight:700}.ui-stat dd{margin:0;color:var(--ink);font-size:24px;font-weight:850}.ui-stat p{margin:0;color:var(--muted);font-size:12px}.ui-tabs{display:grid;grid-gap:12px;gap:12px}.ui-tab-list{display:flex;flex-wrap:wrap;gap:6px}.ui-tab{display:inline-flex;align-items:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:var(--surface);color:var(--ink-soft);cursor:pointer;font-weight:700}.ui-tab[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.ui-tab strong{font-size:12px}@media (max-width:960px){.dashboard-grid,.note-shell,.practice-grid{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-avatar{left:calc(50% + min(210px, 24vw))}}@media (max-width:720px){.app-header-inner{min-height:56px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.main-nav{display:none}.mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;width:100%;border-top:1px solid var(--line);padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgb(255 255 255/94%);box-shadow:0 -10px 28px rgb(34 45 66/8%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav a{flex-direction:column;gap:2px;min-width:0;min-height:50px;padding:5px 2px;border-radius:6px;font-size:11px;line-height:1.1}.mobile-nav a svg{width:20px;height:20px}.app-shell:not(.is-practice-route) main{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.page{width:min(100%,var(--max));padding-top:20px;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.page-header{gap:8px;margin-bottom:18px}.page-title{font-size:27px;line-height:1.16}.page-summary{font-size:14px;line-height:1.55}.grid-2,.grid-3,.grid-4,.hero-metrics{grid-template-columns:1fr}.hero-actions .ui-button,.page-actions .ui-button,.practice-actions .ui-button{flex:1 1 120px}.page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.page-actions>*{min-width:0}.record-table,.record-table-wrap{overflow:visible}.record-table{display:block;min-width:0;background:transparent;white-space:normal}.record-table thead{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.record-table tbody,.record-table td,.record-table tr{display:block;width:100%}.record-table tr{padding:10px 0;border-bottom:1px solid var(--line)}.record-table tr:last-child{border-bottom:0}.record-table td{display:grid;grid-template-columns:minmax(74px,.42fr) minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;border:0;padding:6px 0}.record-table td:before{content:attr(data-label);color:var(--ink-soft);font-size:12px;font-weight:700}.record-table td:first-child{display:block;padding-bottom:8px;color:var(--ink);font-size:17px;font-weight:800}.record-table td:first-child:before{content:none}.note-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.note-mobile-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-soft);font-weight:750}.note-mobile-tabs button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.note-shell>.note-editor,.note-shell>.note-list,.note-shell>.note-side{display:none}.note-shell>.is-mobile-active{display:block}.note-editor-header{align-items:flex-start;flex-direction:column}.note-textarea{min-height:min(52dvh,460px);font-size:16px}.answer-box{min-height:128px;font-size:18px}.practice-hud-main{grid-template-columns:34px minmax(0,1fr);min-height:62px;gap:10px;padding:0 12px}.practice-toolbar{grid-column:1/-1;justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.practice-progress-track{margin:0 10px 7px}.practice-stage{padding:68px 14px 156px}.practice-status-row{top:12px;left:14px;gap:8px;font-size:14px}.practice-status-row .practice-metric-pill:last-of-type{display:none}.practice-audio-dock{top:10px;right:12px;min-height:38px;padding:3px 5px}.practice-audio-dock button{width:30px;height:30px}.practice-auto-play-pill{display:none}.practice-focus-zone{min-height:540px}.practice-mode-rail{top:24px;min-height:38px}.practice-mode-rail button{min-height:30px;padding-inline:7px}.practice-prompt-stack{transform:translateY(-18px)}.practice-prompt-stack h1{max-width:92vw;font-size:clamp(28px,9vw,42px)}.practice-prompt-stack p{max-width:88vw;font-size:13px}.practice-input-wrap{width:min(360px,90vw);margin-top:-56px}.practice-answer-input{min-height:62px;font-size:clamp(30px,10vw,46px)}.practice-avatar{top:calc(50% + 116px);left:50%;width:54px;height:54px;transform:translate(-50%)}.practice-coach-offer{top:calc(50% + 186px);left:50%;min-width:0;width:min(300px,86vw);transform:translateX(-50%);text-align:center}.practice-coach-offer button{justify-self:center}.practice-structure-strip{top:calc(50% + 42px);gap:6px}.practice-structure-strip span{min-width:30px;min-height:26px;padding:3px 8px}.practice-game.has-speech-pass .practice-structure-strip{top:calc(50% + 12px)}.practice-feedback{top:calc(50% + 142px);align-items:flex-start;flex-direction:column;gap:2px;width:min(340px,88vw);text-align:left}.practice-speech-pass{top:calc(50% + 74px);grid-template-columns:minmax(0,1fr) auto;width:min(350px,90vw);min-height:54px;padding:9px 10px}.practice-speech-main small,.practice-speech-main strong{white-space:normal}.practice-speech-pass button{justify-self:end;min-height:34px;padding:6px 10px}.practice-speech-pass p{grid-column:1/-1;max-height:38px;overflow:hidden;font-size:12px}.practice-game.has-speech-pass .practice-answer-reveal,.practice-game.has-speech-pass .practice-avatar{display:none}.practice-game.has-speech-pass .practice-feedback{top:calc(50% + 202px)}.practice-game.has-speech-pass .practice-answer-reveal{top:calc(50% + 268px)}.practice-answer-reveal{top:calc(50% + 214px);font-size:18px}.practice-detail-panel{top:auto;right:10px;bottom:88px;left:10px;width:auto;max-height:52vh;transform:translateY(calc(100% + 108px))}.practice-detail-panel.is-open{transform:translateY(0)}.practice-settings-panel{top:auto;right:10px;bottom:14px;left:10px;width:auto;max-height:70vh}.practice-command-bar{flex-wrap:wrap;justify-content:center;gap:10px;overflow:visible;min-height:116px;padding-inline:12px;transition:opacity .14s ease,transform .14s ease}.practice-game.is-settings-open .practice-command-bar{pointer-events:none;opacity:0;transform:translateY(18px)}.practice-shortcut{flex:0 0 auto;gap:0}.practice-shortcut span{display:none}.practice-shortcut kbd{min-width:0;padding-inline:8px}.practice-primary-action,.practice-secondary-action{order:-1;flex:0 0 min(220px,64vw);min-width:88px}.practice-next-arrow{flex:0 0 36px}}.practice-main-content{display:contents}.practice-immersive-page{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef3f7);color:#101827}.practice-game{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;min-height:100dvh}.practice-hud{position:-webkit-sticky;position:sticky;top:0;z-index:40;border-bottom:1px solid #dfe6ee;background:rgb(255 255 255/94%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.practice-hud-main{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;width:min(1280px,100%);min-height:64px;margin:0 auto;padding:0 24px}.practice-menu-button{display:grid;grid-gap:4px;gap:4px;width:36px;height:36px;align-content:center;justify-content:center;border:1px solid #d8e1ec;border-radius:8px;background:#ffffff}.practice-menu-button span{display:block;width:16px;height:2px;border-radius:999px;background:#101827}.practice-title-block{display:grid;grid-gap:3px;gap:3px;min-width:0}.practice-course-title{color:#101827;font-size:15px;font-weight:820;line-height:1.2}.practice-course-subtitle,.practice-course-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-course-subtitle{color:#657286;font-size:12px;font-weight:680;line-height:1.25}.practice-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px}.practice-icon-button{display:grid;width:34px;height:34px;border:1px solid transparent;border-radius:8px;place-items:center;background:transparent;color:#101827;cursor:pointer;font-size:13px;font-weight:860;line-height:1}.practice-icon-button:hover,.practice-icon-button[aria-pressed=true]{border-color:#ced8e6;background:#f4f7fb}.practice-progress-track{width:min(1280px,calc(100% - 48px));height:4px;margin:0 auto 8px;overflow:hidden;border:0;border-radius:999px;background:#e9eef5}.practice-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#0f8b8d;transition:width .18s ease}.practice-stage{position:relative;display:grid;grid-template-rows:auto auto;align-content:start;width:min(1280px,100%);min-height:0;margin:0 auto;padding:20px 24px 112px}.practice-status-row{position:static;display:inline-flex;align-items:center;justify-self:start;gap:9px;min-height:38px;border:1px solid #dfe6ee;border-radius:8px;padding:5px 8px;background:rgb(255 255 255/78%);color:#647184;font-size:13px;font-weight:820;box-shadow:0 10px 28px rgb(16 24 39/5%)}.practice-timer:before{width:12px;height:12px;margin-right:5px;border-width:2px}.practice-metric-pill,.practice-round-pill{min-height:26px;border:1px solid #d9e2ec;border-radius:999px;padding:3px 9px;background:#ffffff;color:#526071;font-size:12px;font-weight:820}.practice-round-pill{min-width:42px}.practice-status-row>strong{min-width:40px;color:#101827;font-size:15px;text-align:center}.practice-audio-dock{position:absolute;top:20px;right:24px;display:inline-flex;gap:6px;align-items:center;min-height:38px;border:1px solid #dfe6ee;border-radius:8px;padding:4px 6px;background:rgb(255 255 255/88%);box-shadow:0 10px 28px rgb(16 24 39/5%)}.practice-audio-dock button{display:grid;width:30px;height:30px;border:0;border-radius:8px;place-items:center;background:transparent;cursor:pointer}.practice-audio-dock button:hover{background:#f1f5f9}.practice-auto-play-pill{min-height:24px;border-left:1px solid #dde5ef;padding:3px 4px 3px 8px;color:#657286;font-size:11px;font-weight:820;white-space:nowrap}.practice-focus-zone{position:relative;display:grid;align-content:center;justify-items:center;grid-gap:16px;gap:16px;width:min(900px,100%);min-height:min(580px,calc(100vh - 242px));min-height:min(580px,calc(100dvh - 242px));margin:8px auto 0;padding:54px 28px 68px;background:rgb(255 255 255/80%);box-shadow:0 24px 72px rgb(16 24 39/8%);text-align:center}.practice-focus-zone,.practice-mode-rail{border:1px solid #dfe6ee;border-radius:8px}.practice-mode-rail{position:static;z-index:2;display:inline-grid;grid-template-columns:repeat(3,minmax(68px,1fr));gap:4px;min-height:42px;transform:none;padding:4px;background:#f8fafc;box-shadow:none}.practice-mode-rail button,.practice-mode-settings button{display:inline-grid;min-height:34px;place-items:center;border:1px solid transparent;border-radius:7px;padding:4px 11px;background:transparent;color:#647184;cursor:pointer;line-height:1.1}.practice-mode-rail strong,.practice-mode-settings strong{font-size:12px}.practice-mode-rail span,.practice-mode-settings span{color:#667085;font-size:10px;font-weight:780}.practice-mode-rail button[aria-pressed=true],.practice-mode-settings button[aria-pressed=true]{border-color:#b9d7d5;background:#eaf7f6;color:#0b6264}.practice-mode-rail button[aria-pressed=true] span,.practice-mode-settings button[aria-pressed=true] span{color:#0f8b8d}.practice-prompt-stack{display:grid;grid-gap:10px;gap:10px;justify-items:center;transform:none}.practice-prompt-stack h1{max-width:100%;margin:0;color:#101827;font-size:44px;font-weight:840;line-height:1.18;letter-spacing:0}.practice-prompt-stack p{max-width:560px;margin:0;color:#657286;font-size:14px;line-height:1.55}.practice-structure-strip{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:7px;width:min(680px,100%);transform:none}.practice-structure-strip span{display:inline-grid;min-width:34px;min-height:28px;place-items:center;border:1px solid #d8e1ec;border-radius:8px;padding:4px 9px;background:#ffffff;color:#738094;font-size:12px;font-weight:780}.practice-structure-strip span.is-open{border-color:#b8ddc7;background:#eefaf2;color:#27613b}.practice-input-wrap{position:relative;display:grid;width:min(620px,100%);justify-items:center;margin:4px 0 0;padding-top:4px}.practice-input-wrap:before{content:attr(data-cue);position:absolute;top:8px;left:50%;transform:translateX(-50%);color:#7047d7;font-size:48px;font-weight:800;line-height:1.1;opacity:0;pointer-events:none}.practice-input-wrap.is-empty:before{opacity:.88}.practice-game.has-speech-pass .practice-input-wrap.is-empty:before,.practice-input-wrap.is-revealed .practice-answer-input,.practice-input-wrap.is-revealed:before{opacity:0}.practice-input-wrap.is-revealed .practice-input-line{background:#35a35a;box-shadow:0 0 0 4px rgb(53 163 90/8%)}.practice-answer-input{width:100%;min-height:74px;border:0;background:transparent;color:#7047d7;font-size:46px;font-weight:800;letter-spacing:0;line-height:1.12;outline:none;text-align:center}.practice-answer-input::placeholder{color:transparent}.practice-input-line{display:block;width:min(280px,64%);height:3px;border-radius:999px;background:#7047d7;box-shadow:0 0 0 4px rgb(112 71 215/6%)}.practice-speech-pass{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 12px;gap:8px 12px;align-items:center;width:min(640px,100%);min-height:64px;transform:none;border:1px solid #dfe6ee;border-left:5px solid #0f8b8d;border-radius:8px;padding:10px 12px;background:rgb(255 255 255/94%);box-shadow:none;color:#101827;text-align:left}.practice-speech-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.practice-speech-main span{color:#0b6264;font-size:11px;font-weight:860;letter-spacing:0}.practice-speech-main strong{font-size:15px;line-height:1.2}.practice-speech-main small,.practice-speech-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-speech-main small{color:#657286;font-size:12px;line-height:1.35}.practice-speech-pass button{min-height:38px;border:1px solid #c7d8d5;border-radius:8px;padding:7px 11px;background:#eefaf7;color:#0b6264;cursor:pointer;font-size:13px;font-weight:820;white-space:nowrap}.practice-speech-pass p{grid-column:1/-1;margin:0;overflow-wrap:anywhere;color:#4f5968;font-size:13px;line-height:1.45}.practice-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:min(560px,100%);margin:0}.practice-feedback{position:static;display:inline-flex;align-items:center;gap:10px;max-width:min(620px,100%);min-height:40px;transform:none;border:1px solid #dfe6ee;border-radius:8px;padding:8px 12px;background:rgb(255 255 255/86%);color:#657286;box-shadow:none;font-size:13px}.practice-feedback strong{color:#101827;white-space:nowrap}.practice-feedback.is-idle{border-color:transparent;background:transparent;color:#7b8798;opacity:1;pointer-events:auto}.practice-feedback.is-success{border-color:#bce3cd;background:#f1fbf5;color:#2f6f44}.practice-feedback.is-warning{border-color:#f1d6a8;background:#fff8ed;color:#8c5a11}.practice-feedback.is-danger{border-color:#f2bbb6;background:#fff4f3;color:#9a2c24}.practice-game.has-speech-pass .practice-answer-reveal,.practice-game.has-speech-pass .practice-feedback{top:auto}.practice-answer-reveal{position:static;width:min(700px,100%);transform:none;color:#101827;font-size:26px;font-weight:780;line-height:1.35}.practice-game.has-speech-pass .practice-answer-reveal,.practice-game.has-speech-pass .practice-avatar{display:block}.practice-avatar{position:absolute;top:116px;right:58px;left:auto;width:58px;height:58px;transform:none}.practice-avatar.is-ready{animation:avatar-float-refreshed 2.2s ease-in-out infinite}.practice-avatar.is-celebrating{animation:avatar-bounce-refreshed .64s ease both}.practice-coach-offer{position:static;display:grid;grid-gap:4px;gap:4px;min-width:0;max-width:360px;border:1px solid #d9eadf;border-radius:8px;padding:10px 12px;background:rgb(246 253 248/94%);color:#27613b;text-align:center;box-shadow:none}.practice-coach-offer button{justify-self:center}.practice-detail-panel{position:fixed;top:88px;right:20px;z-index:50;display:grid;grid-gap:14px;gap:14px;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 178px);overflow:auto;transform:translateX(calc(100% + 28px));border:1px solid #dfe6ee;border-radius:8px;padding:16px;background:rgb(255 255 255/96%);box-shadow:0 24px 70px rgb(16 24 39/12%);transition:transform .18s ease}.practice-detail-panel.is-open{transform:translateX(0)}.practice-command-bar{position:fixed;right:0;bottom:0;left:0;z-index:45;display:flex;align-items:center;justify-content:center;gap:12px;min-height:76px;border-top:1px solid rgb(223 230 238/70%);padding:10px 18px max(12px,env(safe-area-inset-bottom));background:rgb(248 250 252/92%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.practice-shortcut{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:8px;padding:4px 6px;background:transparent;color:#101827;cursor:pointer;font-size:13px;font-weight:720;white-space:nowrap}.practice-shortcut:hover{border-color:#d8e1ec;background:#ffffff}.practice-shortcut kbd{min-width:42px;border:solid #cfd7e5;border-width:1px 1px 2px;border-radius:6px;padding:3px 7px;background:#f8fafc;color:#101827;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700;text-align:center}.practice-primary-action,.practice-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:820}.practice-primary-action{border:1px solid #7047d7;background:#7047d7;color:#ffffff}.practice-primary-action:disabled{cursor:not-allowed;opacity:.45}.practice-secondary-action{border:1px solid #d8e1ec;background:#ffffff;color:#101827}@keyframes avatar-float-refreshed{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes avatar-bounce-refreshed{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-18px) scale(1.08)}to{transform:translateY(0) scale(1)}}@media (max-width:960px){.practice-stage{padding-inline:18px}.practice-focus-zone{width:100%;padding-inline:22px}.practice-avatar{right:34px}}@media (max-width:720px){.practice-game{--practice-mobile-hud-extra:max(0px,calc(env(safe-area-inset-top) - 12px))}.practice-hud-main{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;min-height:60px;padding:max(4px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left))}.practice-toolbar{grid-column:auto;justify-content:flex-end;gap:4px;overflow:visible;padding-bottom:0}.practice-toolbar .practice-icon-button{display:none}.practice-toolbar .practice-icon-button.is-details,.practice-toolbar .practice-icon-button.is-settings{display:grid;width:40px;height:40px}.practice-progress-track{width:calc(100% - 24px);margin-bottom:7px}.practice-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;grid-gap:8px;gap:8px;min-height:calc(100dvh - 72px - var(--practice-mobile-hud-extra));padding:10px max(12px,env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.practice-status-row{justify-self:stretch;overflow:hidden;gap:7px;min-height:44px;padding:4px 6px;font-size:12px}.practice-status-row .practice-metric-pill:first-of-type,.practice-status-row .practice-metric-pill:last-of-type{display:none}.practice-audio-dock{position:static;align-self:start;justify-self:end;min-height:44px;padding:0}.practice-audio-dock button{width:44px;height:44px}.practice-auto-play-pill{display:none}.practice-focus-zone{grid-column:1/-1;align-self:start;min-height:max(360px,calc(100dvh - 227px - var(--practice-mobile-hud-extra)));margin-top:0;gap:12px;padding:22px 14px 28px}.practice-mode-rail{grid-template-columns:repeat(3,minmax(0,1fr));width:min(330px,100%);min-height:44px}.practice-mode-rail button{min-height:40px;padding-inline:7px}.practice-prompt-stack{gap:8px}.practice-prompt-stack h1{font-size:30px;line-height:1.22}.practice-prompt-stack p{max-width:100%;font-size:13px}.practice-structure-strip{gap:6px}.practice-structure-strip span{min-width:30px;min-height:26px;padding:3px 8px}.practice-input-wrap{width:100%;margin-top:0}.practice-input-wrap:before{top:6px;font-size:30px}.practice-answer-input{min-height:60px;font-size:30px}.practice-input-line{width:min(240px,72%)}.practice-avatar,.practice-game.has-speech-pass .practice-avatar{display:none}.practice-feedback{align-items:flex-start;flex-direction:column;gap:3px;width:100%;text-align:left}.practice-feedback.is-idle{display:none}.practice-speech-pass{grid-template-columns:minmax(0,1fr) auto;width:100%;min-height:58px;padding:9px 10px}.practice-speech-main small,.practice-speech-main strong{white-space:normal}.practice-speech-pass button{justify-self:end;min-height:44px;padding:6px 10px}.practice-speech-pass p{grid-column:1/-1;max-height:44px;overflow:hidden;font-size:12px}.practice-answer-reveal{font-size:18px}.practice-detail-panel{top:auto;right:max(10px,env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));width:auto;max-height:min(68dvh,calc(var(--practice-viewport-height, 100dvh) - 92px));transform:translateY(calc(100% + 108px))}.practice-detail-panel.is-open{transform:translateY(0)}.practice-settings-panel{top:auto;right:max(10px,env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));width:auto;max-height:min(82dvh,calc(var(--practice-viewport-height, 100dvh) - 24px))}.practice-command-bar{display:grid;grid-template-columns:52px 52px minmax(132px,1fr) 52px;grid-gap:6px;gap:6px;min-height:calc(68px + env(safe-area-inset-bottom));padding:6px max(10px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));transition:opacity .14s ease,transform .14s ease}.practice-game.is-settings-open .practice-command-bar{pointer-events:none;opacity:0;transform:translateY(18px)}.practice-shortcut{display:grid;grid-template-rows:22px auto;place-items:center;grid-gap:1px;gap:1px;min-width:0;min-height:52px;padding:3px 2px;order:0}.practice-next-arrow,.practice-shortcut kbd,.practice-shortcut.is-mobile-hidden{display:none}.practice-shortcut .practice-shortcut-icon{display:grid;place-items:center}.practice-shortcut .practice-shortcut-label{display:block;overflow:hidden;max-width:100%;color:#526076;font-size:10px;line-height:1.1;text-overflow:ellipsis}.practice-primary-action,.practice-secondary-action{order:0;min-width:0;min-height:52px;width:100%}.practice-primary-action{grid-column:3}.practice-shortcut.is-mobile-reveal{grid-column:4}}@media (max-width:420px){.practice-course-title{font-size:14px}.practice-course-subtitle{font-size:11px}.practice-icon-button{width:32px;height:32px}.practice-prompt-stack h1{font-size:27px}.practice-answer-input,.practice-input-wrap:before{font-size:28px}}@media (max-width:720px) and (max-height:640px) and (orientation:portrait){.practice-stage{gap:6px;padding-top:6px}.practice-focus-zone{min-height:340px;gap:8px;padding:14px 10px 20px}.practice-mode-rail{min-height:38px}.practice-mode-rail button{min-height:36px}.practice-prompt-stack{gap:5px}.practice-prompt-stack p{display:none}.practice-structure-strip{gap:4px}.practice-answer-input{min-height:56px}}.content-stack,.grid-2>*,.grid-3>*,.grid-4>*,.record-table-wrap,.ui-card{min-width:0;max-width:100%}.record-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.record-table{min-width:620px}@media (max-width:720px){.record-table-wrap{overflow:visible}.record-table{width:100%;min-width:0}}:where(a,button,input,textarea,select):focus-visible{outline:3px solid rgb(112 71 215/34%);outline-offset:2px}@media (hover:none){.main-nav a:hover,.mobile-nav a:hover,.practice-icon-button:hover,.practice-shortcut:hover,.ui-card-interactive:hover{transform:none}}@media (pointer:coarse){.main-nav a,.mobile-nav a,.practice-menu-button,.ui-button,button{min-width:44px;min-height:44px}.practice-input-wrap.is-revealed .practice-answer-input{pointer-events:none}}@media (max-width:720px){.practice-game.is-keyboard-open{min-height:var(--practice-viewport-height,100dvh)}.practice-game.is-keyboard-open .practice-audio-dock,.practice-game.is-keyboard-open .practice-avatar,.practice-game.is-keyboard-open .practice-coach-offer,.practice-game.is-keyboard-open .practice-hud,.practice-game.is-keyboard-open .practice-mode-rail,.practice-game.is-keyboard-open .practice-status-row,.practice-game.is-keyboard-open .practice-structure-strip{display:none}.practice-game.is-keyboard-open .practice-stage{display:block;min-height:var(--practice-viewport-height,100dvh);padding:8px max(10px,env(safe-area-inset-right)) calc(62px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.practice-game.is-keyboard-open .practice-focus-zone{justify-content:start;min-height:calc(var(--practice-viewport-height, 100dvh) - 76px);gap:10px;padding:12px}.practice-game.is-keyboard-open .practice-prompt-stack{gap:4px}.practice-game.is-keyboard-open .practice-prompt-stack .ui-badge,.practice-game.is-keyboard-open .practice-prompt-stack p{display:none}.practice-game.is-keyboard-open .practice-prompt-stack h1{font-size:20px;line-height:1.25}.practice-game.is-keyboard-open .practice-answer-input,.practice-game.is-keyboard-open .practice-input-wrap:before{font-size:24px}.practice-game.is-keyboard-open .practice-command-bar{top:calc(var(--practice-viewport-top, 0px) + var(--practice-viewport-height, 100dvh) - 58px - env(safe-area-inset-bottom));bottom:auto;grid-template-columns:minmax(0,1fr) 54px;min-height:calc(58px + env(safe-area-inset-bottom));padding:4px max(8px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.practice-game.is-keyboard-open .practice-shortcut.is-mobile-main:not(.is-mobile-reveal){display:none}.practice-game.is-keyboard-open .practice-primary-action,.practice-game.is-keyboard-open .practice-shortcut.is-mobile-reveal{min-height:50px}.practice-game.is-keyboard-open .practice-primary-action{grid-column:1}.practice-game.is-keyboard-open .practice-shortcut.is-mobile-reveal{grid-column:2}}@media (max-width:960px) and (max-height:500px) and (orientation:landscape){.practice-audio-dock,.practice-avatar,.practice-coach-offer,.practice-mode-rail,.practice-status-row,.practice-structure-strip{display:none}.practice-hud{position:fixed;inset:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) auto max(10px,env(safe-area-inset-left));z-index:48;border:0;background:transparent;box-shadow:none;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none}.practice-hud-main{display:flex;justify-content:space-between;width:100%;min-height:44px;padding:0}.practice-progress-track,.practice-title-block{display:none}.practice-menu-button{width:44px;height:44px;pointer-events:auto}.practice-toolbar{display:flex;margin-left:auto;pointer-events:none}.practice-toolbar .practice-icon-button{display:none}.practice-toolbar .practice-icon-button.is-details,.practice-toolbar .practice-icon-button.is-settings{display:grid;width:44px;height:44px;background:rgb(255 255 255/92%);pointer-events:auto}.practice-stage{display:block;min-height:100dvh;padding:8px max(12px,env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.practice-focus-zone{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;min-height:calc(100dvh - 78px);margin:0;grid-gap:10px clamp(12px,3vw,24px);gap:10px clamp(12px,3vw,24px);padding:12px clamp(10px,3vw,22px)}.practice-prompt-stack{grid-column:1;grid-row:1/span 4}.practice-prompt-stack h1{font-size:25px}.practice-answer-reveal,.practice-feedback,.practice-hints,.practice-input-wrap,.practice-speech-pass{grid-column:2}.practice-input-wrap{grid-row:1}.practice-answer-input,.practice-input-wrap:before{font-size:28px}.practice-command-bar{min-height:calc(58px + env(safe-area-inset-bottom))}}@media (forced-colors:active){.audio-meter,.mobile-nav,.practice-command-bar,.practice-input-line,.practice-progress-track,.practice-switch{border:1px solid CanvasText;forced-color-adjust:none}.audio-meter.is-active,.practice-input-line,.practice-progress-track span,.practice-switch.is-on{background:Highlight}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.practice-game{background:radial-gradient(circle at 18% 12%,rgb(112 71 215/7%),transparent 32%),linear-gradient(180deg,#f7f9fc,#eef2f7)}.practice-stage{display:flex;min-height:calc(100dvh - 72px);align-items:center;width:min(1320px,100%);padding:24px 24px 112px}.practice-workspace{display:grid;grid-template-columns:minmax(0,1fr) 286px;grid-gap:20px;gap:20px;align-items:start;width:100%}.practice-focus-zone{align-content:start;justify-items:stretch;gap:20px;width:100%;min-height:auto;margin:0;border-radius:18px;padding:clamp(28px,4vw,52px);background:rgb(255 255 255/94%);box-shadow:0 26px 80px rgb(30 41 59/9%);text-align:left}.practice-mode-rail{justify-self:start;border-radius:12px;padding:5px;background:#f3f5f9}.practice-mode-rail button,.practice-mode-settings button{border-radius:9px;padding-inline:15px}.practice-prompt-stack{justify-items:start;width:min(760px,100%)}.practice-prompt-stack h1{font-size:clamp(34px,4vw,50px);line-height:1.16}.practice-prompt-stack p{max-width:680px;color:#59677a;font-size:15px}.practice-structure-strip{justify-content:flex-start;width:100%}.practice-input-wrap{width:100%;margin-top:2px;border:1px solid #d8e0eb;border-radius:15px;padding:13px 17px 11px;background:#ffffff;box-shadow:0 12px 34px rgb(15 23 42/7%),inset 0 0 0 1px rgb(255 255 255/70%);justify-items:stretch;transition:border-color .15s ease,box-shadow .15s ease}.practice-input-wrap:focus-within{border-color:#9878e4;box-shadow:0 16px 40px rgb(112 71 215/10%),0 0 0 4px rgb(112 71 215/10%)}.practice-input-line,.practice-input-wrap:before{display:none}.practice-input-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#425067;font-size:12px;font-weight:820}.practice-input-meta small{border-radius:999px;padding:4px 8px;background:#f2eefc;color:#7047d7;font-size:11px;font-weight:760}.practice-answer-input{min-height:62px;padding:8px 0 2px;color:#2c1d55;font-size:clamp(25px,3vw,34px);font-weight:760;text-align:left}.practice-answer-input::placeholder{color:#a4adbb;opacity:1}.practice-answer-input:focus-visible{outline:none}.practice-input-wrap.is-revealed .practice-answer-input{opacity:.18}.practice-answer-reveal,.practice-feedback,.practice-speech-pass{width:100%;max-width:100%}.practice-feedback{justify-content:flex-start;border-radius:12px;padding:11px 14px}.practice-feedback.is-idle{border-color:#e4e9f0;background:#f8fafc}.practice-hints{justify-content:flex-start;width:100%;max-width:100%}.practice-avatar{display:none}.practice-session-panel{display:flex;flex-direction:column;gap:16px;min-width:0;border:1px solid #dce3ed;border-radius:18px;padding:20px;background:rgb(255 255 255/88%);box-shadow:0 22px 64px rgb(30 41 59/7%)}.practice-session-progress{display:grid;grid-gap:8px;gap:8px}.practice-session-goal>span,.practice-session-mode>span,.practice-session-progress>span{color:#788598;font-size:11px;font-weight:840;letter-spacing:.08em;text-transform:uppercase}.practice-session-progress>strong{color:#172033;font-size:34px;line-height:1}.practice-session-progress>strong small{color:#8a95a6;font-size:15px}.practice-session-progress>div{height:7px;overflow:hidden;border-radius:999px;background:#e7ecf3}.practice-session-progress>div span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7047d7,#0f8b8d)}.practice-session-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.practice-session-metrics>div{min-width:0;border:1px solid #e2e7ee;border-radius:12px;padding:10px;background:#f8fafc}.practice-session-metrics dt{color:#7a8698;font-size:11px;font-weight:740}.practice-session-metrics dd{overflow:hidden;margin:4px 0 0;color:#172033;font-size:18px;font-weight:850;text-overflow:ellipsis}.practice-session-goal,.practice-session-mode{display:grid;grid-gap:6px;gap:6px;border-top:1px solid #e3e8ef;padding-top:15px}.practice-session-goal strong,.practice-session-mode strong{color:#172033;font-size:14px}.practice-session-goal p,.practice-session-mode small{margin:0;color:#667387;font-size:12px;line-height:1.55}.practice-session-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:auto}.practice-session-actions button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:6px;border:1px solid #d8e0ea;border-radius:11px;padding:8px;background:#ffffff;color:#3f4b5f;cursor:pointer;font-size:12px;font-weight:760}.practice-session-actions button:hover{border-color:#bca9eb;color:#7047d7}.practice-session-audio{margin:-4px 0 0;color:#8490a1;font-size:11px;text-align:center}.practice-command-bar{gap:8px;padding-inline:20px}.practice-command-bar .practice-primary-action{min-width:190px}.practice-next-arrow{display:none}.practice-finish-panel{grid-column:1/-1;align-self:center;width:min(720px,100%);margin:auto;border-radius:18px}@media (max-width:980px){.practice-workspace{grid-template-columns:minmax(0,1fr) 244px;gap:14px}.practice-session-panel{padding:16px}.practice-session-goal p{display:none}}@media (max-width:720px){.practice-stage{display:block;min-height:calc(100dvh - 68px - var(--practice-mobile-hud-extra));padding:10px max(10px,env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.practice-workspace{display:flex;min-height:0;flex-direction:column;gap:8px}.practice-session-panel{order:-1;display:block;border-radius:13px;padding:8px}.practice-session-actions,.practice-session-audio,.practice-session-goal,.practice-session-mode,.practice-session-progress{display:none}.practice-session-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.practice-session-metrics>div{border:0;border-radius:9px;padding:7px 5px;text-align:center}.practice-session-metrics dd{font-size:14px}.practice-focus-zone{min-height:auto;gap:13px;border-radius:15px;padding:18px 14px 22px}.practice-mode-rail{justify-self:stretch;width:100%}.practice-prompt-stack h1{font-size:clamp(26px,8vw,32px)}.practice-prompt-stack p{font-size:12px}.practice-input-wrap{padding:11px 13px 8px}.practice-input-meta small{font-size:10px}.practice-answer-input{min-height:54px;font-size:25px}.practice-feedback.is-idle{display:flex}.practice-command-bar{grid-template-columns:46px 46px 46px minmax(112px,1fr) 46px;gap:5px}.practice-command-bar .practice-primary-action{grid-column:4;min-width:0}.practice-shortcut.is-mobile-reveal{grid-column:5}.practice-shortcut{min-height:52px}}@media (max-width:420px){.practice-input-meta{align-items:flex-start;flex-direction:column;gap:5px}.practice-command-bar{grid-template-columns:42px 42px 42px minmax(104px,1fr) 42px;padding-inline:8px}.practice-shortcut .practice-shortcut-label{font-size:9px}}@media (max-width:720px) and (max-height:640px) and (orientation:portrait){.practice-session-panel{display:none}.practice-focus-zone{min-height:340px;padding:14px 12px 18px}}@media (max-width:720px){.practice-game.is-keyboard-open .practice-workspace{min-height:calc(var(--practice-viewport-height, 100dvh) - 70px)}.practice-game.is-keyboard-open .practice-session-panel{display:none}.practice-game.is-keyboard-open .practice-focus-zone{min-height:calc(var(--practice-viewport-height, 100dvh) - 76px);padding:12px}.practice-game.is-keyboard-open .practice-command-bar{grid-template-columns:minmax(0,1fr) 50px}.practice-game.is-keyboard-open .practice-command-bar .practice-primary-action{grid-column:1}.practice-game.is-keyboard-open .practice-shortcut.is-mobile-reveal{grid-column:2}}