:root{color:#f6f7fb;background:#030405;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#030405}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}.landing-page{min-height:100vh;overflow:auto;background:radial-gradient(circle at 72% 18%,rgba(0,216,238,.18),transparent 28%),radial-gradient(circle at 18% 78%,rgba(255,204,39,.12),transparent 30%),#05070a;color:#f6f7fb}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding:24px}.landing-brand{display:flex;align-items:center;gap:12px;min-width:0}.landing-brand span{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:#ffcc27;color:#111827;font-size:24px;font-weight:900}.landing-brand strong{font-size:20px}.landing-header nav,.landing-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.landing-header button,.landing-actions button{height:42px;padding:0 18px;border:1px solid rgba(0,216,238,.55);border-radius:8px;background:#00d8ee24;color:#54f3ff;font-weight:800}.landing-header button.ghost,.landing-secondary{border-color:#ffffff2e;background:#ffffff0d;color:#eef3ff}.landing-hero{display:grid;gap:24px;max-width:1180px;margin:0 auto;padding:78px 24px 96px}.landing-kicker{width:fit-content;margin:0;padding:7px 12px;border:1px solid rgba(255,204,39,.35);border-radius:999px;background:#ffcc271a;color:#ffdd68;font-size:13px;font-weight:800}.landing-hero h1{max-width:880px;margin:0;color:#fff;font-size:clamp(42px,7vw,84px);line-height:1.05;letter-spacing:0}.landing-copy{max-width:720px;margin:0;color:#b8c1d4;font-size:18px;line-height:1.75}.landing-primary{min-width:168px;background:linear-gradient(135deg,#00d8ee,#7cf9ff)!important;color:#041015!important;box-shadow:0 18px 52px #00d8ee40}.landing-feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:960px;margin-top:28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff14}.landing-feature-strip article{display:grid;gap:8px;min-width:0;padding:20px;background:#0d0f14e6}.landing-feature-strip b{color:#f7fbff;font-size:16px}.landing-feature-strip span{color:#9da7ba;font-size:13px;line-height:1.6}.learning-theater{--cyan: #00d8ee;--violet: #a68dff;--panel: #0d0f14;--panel-2: #141720;--line: rgba(255, 255, 255, .12);--muted: #8f95a3;--drawer-width: min(60vw, 880px);--drawer-top-offset: 58px;position:relative;min-height:100vh;overflow:hidden;background:#030405;color:#f6f7fb}.learning-theater.desktop{--drawer-top-offset: 88px}.practice-theater{position:relative;display:grid;grid-template-rows:56px minmax(0,1fr) 154px;min-height:100vh;background:#030405}.learning-theater.desktop .practice-theater{grid-template-rows:30px 56px minmax(0,1fr) 154px}.desktop-drag-strip{position:relative;z-index:45;display:flex;align-items:center;min-width:0;height:30px;padding:0 18px 0 92px;border-bottom:1px solid rgba(255,255,255,.08);background:#040508fa;color:#dfe5f294;font-size:12px;font-weight:700;letter-spacing:0;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.desktop-drag-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-topbar{position:relative;z-index:48;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:58px;padding:0 18px;border-bottom:1px solid var(--line);background:#07080cf5;-webkit-app-region:no-drag}.topbar-left,.topbar-right,.lesson-trail,.mode-select,.session-stats{display:flex;align-items:center;min-width:0}.topbar-left{position:relative;z-index:4;gap:12px;max-width:100%;justify-self:start}.topbar-right{position:relative;z-index:6;gap:10px;max-width:100%;overflow:visible;justify-content:flex-end;justify-self:end}.top-icon,.avatar-button,.mode-select-trigger,.mode-select-menu button,.control-dock button,.shortcut-strip span,.view-toggle,.speech-eval-pill,.tray-tools button,.empty-board button,.auth-card button,.drawer-section button{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:#d9def0}.top-icon{display:grid;flex:0 0 auto;min-width:42px;height:34px;padding:0 10px;place-items:center;color:#c8cce0;font-size:13px}.fullscreen-toggle{min-width:42px}.avatar-button{display:grid;flex:0 0 auto;width:34px;height:34px;padding:0;place-items:center;border-radius:999px;color:#111318;background:linear-gradient(135deg,#ffcf33,#00d8ee);font-size:14px;font-weight:900}.top-icon:hover,.mode-select-trigger:hover,.mode-select-menu button:hover,.control-dock button:hover,.view-toggle:hover,.speech-eval-pill:hover{border-color:#00d8ee73;color:#fff}.top-icon.active,.avatar-button.active{border-color:#00d8eeb3;background:#00d8ee24;color:var(--cyan)}.lesson-trail{gap:8px;max-width:520px;white-space:nowrap}.lesson-trail span,.lesson-trail strong{overflow:hidden;text-overflow:ellipsis}.lesson-trail span{color:#aeb4c4;font-size:14px}.lesson-trail strong{color:var(--cyan);font-size:14px;font-weight:700}.lesson-trail i{width:5px;height:5px;border-top:1px solid #5d6574;border-right:1px solid #5d6574;transform:rotate(45deg)}.lesson-trail em{padding:4px 7px;border:1px solid rgba(0,216,238,.22);border-radius:6px;color:var(--cyan);font-size:11px;font-style:normal}.mode-select{position:relative;flex:0 1 auto;min-width:82px;-webkit-app-region:no-drag}.mode-select-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:34px;min-width:82px;padding:0 10px 0 12px;font-size:13px;font-weight:800}.mode-select-trigger.active,.mode-select-trigger:hover{border-color:#00d8eea6;background:#00d8ee21;color:var(--cyan)}.mode-select-trigger i{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.75;transform:translateY(-2px) rotate(45deg)}.mode-select-menu{position:absolute;top:42px;right:0;z-index:170;display:grid;width:210px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#11141cfa;box-shadow:0 18px 48px #0000006b}.mode-select-menu button{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:7px 10px;border-color:transparent;border-radius:8px;text-align:left}.mode-select-menu button span{color:#eef3ff;font-size:14px;font-weight:900}.mode-select-menu button small{overflow:hidden;color:#d5dceb9e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mode-select-menu button.active{border-color:#00d8ee7a;background:#00d8ee21}.mode-select-menu button.active span{color:var(--cyan)}.session-stats{flex:0 0 auto;gap:12px;min-width:104px;justify-content:center;color:#cad1dc}.session-stats span{color:var(--cyan);font-variant-numeric:tabular-nums}.session-stats strong{font-variant-numeric:tabular-nums}.desktop-download-center{position:relative;z-index:5;justify-self:center}.practice-topbar button,.topbar-left,.topbar-right,.mode-select,.session-stats,.desktop-download-center{pointer-events:auto}.learning-theater:fullscreen,.learning-theater:-webkit-full-screen{width:100vw;height:100vh;background:#030405}.learning-theater:fullscreen .practice-topbar,.learning-theater:-webkit-full-screen .practice-topbar,:fullscreen .practice-topbar{z-index:120;pointer-events:auto}.learning-theater:fullscreen .topbar-left,.learning-theater:-webkit-full-screen .topbar-left,:fullscreen .topbar-left{z-index:124}.learning-theater:fullscreen .topbar-right,.learning-theater:-webkit-full-screen .topbar-right,:fullscreen .topbar-right{z-index:126;overflow:visible}.learning-theater:fullscreen .desktop-download-center,.learning-theater:-webkit-full-screen .desktop-download-center,:fullscreen .desktop-download-center{z-index:122}.learning-theater:fullscreen .practice-canvas,.learning-theater:-webkit-full-screen .practice-canvas,:fullscreen .practice-canvas{z-index:1}.desktop-download-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:124px;height:40px;padding:0 15px;border:1px solid rgba(0,216,238,.65);border-radius:8px;background:linear-gradient(135deg,#00d8ee33,#a68dff2e);color:#f7fbff;box-shadow:0 12px 34px #00d8ee2e}.desktop-download-trigger span{color:var(--cyan);font-size:13px;font-weight:900}.desktop-download-trigger strong{display:none}.desktop-download-trigger.active,.desktop-download-trigger:hover{border-color:#00d8eeeb;background:linear-gradient(135deg,#00d8ee47,#a68dff3d)}.desktop-download-popover{position:absolute;top:48px;left:50%;display:grid;width:320px;gap:8px;padding:10px;border:1px solid rgba(0,216,238,.28);border-radius:8px;background:#0d1016f7;box-shadow:0 22px 70px #00000075;transform:translate(-50%)}.desktop-download-option{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:46px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0b;color:#e6ebfb;text-align:left}.desktop-download-option.active{border-color:#00d8eeb8;background:#00d8ee24}.desktop-download-option.disabled{color:#818899}.desktop-download-option span{display:grid;gap:3px;min-width:0}.desktop-download-option b,.desktop-download-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-download-option b{font-size:13px}.desktop-download-option small,.desktop-download-popover p{color:#8f96a7;font-size:11px}.desktop-download-option em{flex:0 0 auto;color:var(--cyan);font-size:12px;font-style:normal;font-weight:900}.desktop-download-popover p{margin:2px 2px 0;line-height:1.45}.quick-settings{position:absolute;top:68px;right:18px;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(470px,calc(100vw - 36px));padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#0f1118f5;box-shadow:0 22px 70px #00000075;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.account-panel{position:absolute;top:68px;right:18px;z-index:31;display:grid;gap:10px;width:min(420px,calc(100vw - 36px));max-height:calc(100vh - 88px);padding:12px;overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#0f1118f7;box-shadow:0 22px 70px #0000007a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.account-panel-header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:4px 2px 8px}.avatar-large{display:grid;width:48px;height:48px;place-items:center;border-radius:999px;color:#111318;background:linear-gradient(135deg,#ffcf33,#00d8ee);font-size:20px;font-weight:900}.account-panel h2,.account-panel p{margin:0}.account-panel h2{overflow:hidden;color:#f4f7ff;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.account-panel p{margin-top:4px;color:#8f96a7;font-size:12px}.account-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff09}.account-tabs button{min-width:0;height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#aab1c1;font-size:12px;font-weight:800}.account-tabs button.active{border-color:#00d8ee8c;color:#05e4ff;background:#00d8ee1c}.setting-card{position:relative;display:grid;min-height:72px;padding:12px 40px 11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;outline:none;background:#ffffff06;color:#eef2ff;text-align:left}.button-card{width:100%}.setting-card:hover{border-color:#00d8ee59;background:#ffffff0b}.setting-card span{color:#8c94a6;font-size:12px;line-height:1.2}.setting-card strong{overflow:hidden;margin-top:4px;color:#f4f7ff;font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.setting-card small{position:absolute;right:12px;top:18px;color:#ffffff57;font-size:14px;font-style:normal}.setting-options{position:absolute;top:calc(100% + 6px);left:0;z-index:35;display:grid;width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#11141c;box-shadow:0 18px 36px #00000061}.setting-options button{min-height:42px;padding:0 14px;border:0;background:transparent;color:#c8cedd;text-align:left}.setting-options button:hover,.setting-options button.selected{background:#00d8ee1f;color:var(--cyan)}.practice-canvas{position:relative;display:grid;min-height:0;place-items:center;padding:64px 48px 30px;overflow:hidden}.status-pill{position:absolute;top:22px;left:18px;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 36px);padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;color:#aeb5c8;font-size:13px}.status-pill span{color:var(--violet);font-weight:700}.status-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.learning-board,.dictation-board,.typing-board,.puzzle-board,.speaking-board,.translate-board,.empty-board{display:grid;justify-items:center;width:min(100%,980px);max-width:calc(100vw - 96px);text-align:center}.sentence-cn{margin:0 auto;color:#eeeeef;font-size:29px;font-weight:500;line-height:1.45}.view-toggle{height:32px;margin:14px auto 26px;padding:0 15px;color:#b2b7c3;font-size:13px}.segment-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:24px;width:min(100%,1080px);margin:0 auto}.segment-row.word-view{gap:18px}.sentence-segment{--segment-color: var(--cyan);display:grid;justify-items:center;min-width:94px;max-width:420px;padding:0 4px 4px;border:0;border-radius:0;background:transparent;color:#f4f8ff}.segment-row:not(.word-view) .sentence-segment:only-child{max-width:min(100%,980px)}.sentence-segment .role-badge{min-width:52px;margin-bottom:12px;padding:6px 11px;border-radius:6px;background:var(--segment-color);color:#051014;font-size:13px;font-weight:900}.sentence-segment strong{position:relative;display:block;max-width:100%;padding:0 6px 7px;color:#f5f7fb;font-family:var(--learner-font-family);font-size:var(--learner-font-size);font-weight:800;line-height:1.05;overflow-wrap:anywhere;text-align:center;text-wrap:balance;white-space:normal}.segment-row.word-view .sentence-segment strong{white-space:nowrap}.sentence-segment strong:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--segment-color);content:""}.sentence-segment small,.sentence-segment em{display:block;max-width:100%;overflow-wrap:anywhere}.sentence-segment small{min-height:20px;margin-top:4px;color:#a9adba;font-size:14px}.sentence-segment em{color:#c5c7cf;font-size:16px;font-style:normal;line-height:1.35}.speech-eval-pill{height:42px;margin-top:34px;padding:0 18px;border-color:#00d8ee73;background:#00d8ee1a;color:var(--cyan);font-weight:700}.grammar-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:920px;margin:42px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}.grammar-strip span{max-width:100%;padding:9px 17px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#888f9d;font-size:14px;line-height:1.3}.dictation-answer-panel{width:min(100%,920px);margin:0 auto 30px;padding:22px 28px 24px;border:1px solid rgba(164,177,204,.16);border-radius:8px;background:#12161deb;box-shadow:0 22px 80px #00000057,0 0 30px #00ffa00f}.answer-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;color:#8d95a6;font-size:13px}.answer-panel-head span{color:#eef4ff;font-weight:800}.answer-panel-head button{height:30px;padding:0 12px;border-radius:8px;color:var(--cyan)}.answer-word-row,.answer-sentence-line{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.answer-word-row button{min-width:94px;max-width:220px;padding:10px 14px;border-radius:8px;background:#ffffff0a}.answer-word-row b,.answer-sentence-line span{display:block;color:#00f0a8;font-family:var(--learner-font-family);font-size:clamp(24px,calc(var(--learner-font-size) * .58),36px);line-height:1.1}.answer-word-row small{display:block;margin-top:7px;color:#8c94a6;font-size:12px}.answer-word-row button.wrong,.answer-word-row button.missing,.answer-sentence-line span.wrong,.answer-sentence-line span.missing{border-color:#ff3067cc;background:#ff30671a;box-shadow:0 0 24px #ff306733}.answer-word-row button.wrong b,.answer-word-row button.missing b,.answer-sentence-line span.wrong,.answer-sentence-line span.missing{color:#ff3373}.dictation-answer-panel>small{display:block;margin-top:14px;color:#8f96a4;font-size:14px}.blank-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:20px;width:min(100%,960px);min-height:72px;margin:84px auto 0}.blank-row span{display:grid;width:var(--blank-width, 96px);min-width:72px;max-width:220px;height:52px;overflow:hidden;padding:0 4px;place-items:center;border-bottom:3px solid rgba(255,255,255,.24);color:#edf6ff;font-family:var(--learner-font-family);font-size:calc(var(--learner-font-size) * .72);font-weight:700;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.blank-row span.active{border-color:var(--cyan)}.blank-row span.filled{border-color:#ffffff75}.blank-row span.correct{border-color:#00d8eee6;color:#e9fdff}.blank-row span.mismatch{border-color:#ff6b6bd1;color:#ffd2d2}.blank-row span.missing{border-color:#ff3067eb;box-shadow:0 14px 30px #ff30671a}.blank-row span.overfilled{color:#ffd2d2;font-size:clamp(18px,calc(var(--learner-font-size) * .48),30px);letter-spacing:0}.dictation-feedback-inline{display:grid;justify-items:center;gap:6px;max-width:760px;margin-top:30px;padding:15px 18px;border:1px solid rgba(255,48,103,.24);border-radius:8px;background:#ff30670f;color:#ffccda}.dictation-feedback-inline strong{color:#fff;font-size:16px}.dictation-feedback-inline span{color:#aeb6c7;font-size:14px}.typing-board{gap:18px;width:min(100%,1120px)}.typing-target-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:0;width:min(100%,1040px);min-height:86px;margin:0 auto;color:#a99cff;font-family:var(--learner-font-family);font-size:clamp(34px,5.2vw,72px);font-weight:900;letter-spacing:0;line-height:1.05}.typing-target-line span{position:relative;display:inline-grid;min-width:.52em;min-height:1.15em;place-items:center;padding:0 1px 10px;border-bottom:4px solid transparent;transition:color .12s ease,filter .12s ease,opacity .12s ease,border-color .12s ease}.typing-target-line span.space{min-width:.52em}.typing-target-line span.done{color:#a99cff;border-color:transparent}.typing-target-line span.current{color:#fff;border-color:#a99cff;text-shadow:0 0 22px rgba(169,156,255,.38)}.typing-target-line span.pending{color:#d2d7e852;filter:blur(7px)}.typing-target-line span.wrong{color:#ff6b9d;border-color:#ff3373;animation:typingShake .16s ease both}.finger-keyboard{position:relative;display:grid;gap:10px;width:min(100%,1080px);margin:6px auto 0;overflow:hidden;padding:18px 18px 14px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(180deg,#121318fa,#090a0efa);box-shadow:inset 0 0 0 1px #ffffff05,0 24px 80px #0006}.finger-keyboard.error{box-shadow:inset 0 0 0 1px #ff337338,0 24px 80px #0006}.finger-keyboard-row{position:relative;z-index:3;display:flex;justify-content:center;gap:10px}.finger-keyboard-row span{position:relative;overflow:hidden;display:grid;width:calc(var(--key-unit, 1) * 56px);min-width:calc(var(--key-unit, 1) * 56px);height:56px;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:linear-gradient(180deg,#ffffff17,#ffffff0b);color:#f5f6fb;font-size:21px;font-weight:900;box-shadow:inset 0 -4px #0003;transition:transform 90ms ease,background 90ms ease,border-color 90ms ease,box-shadow 90ms ease}.finger-keyboard-row span.wide{font-size:14px}.finger-keyboard-row span.ghost{color:#dce1ec47}.finger-keyboard-row span.home{box-shadow:inset 0 -4px #0003,inset 0 2px #ffffff14}.finger-keyboard-row span.active{border-color:#a99cffeb;background:linear-gradient(180deg,#a99cff6b,#5b53d370);color:#fff;box-shadow:0 0 28px #a99cff52,inset 0 -3px #00000029;transform:translateY(2px)}.finger-keyboard-row span.active:after{position:absolute;inset:5px 9px auto;height:18px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);content:"";opacity:.7;pointer-events:none}.typing-hand-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.typing-finger{position:absolute;left:var(--finger-left, 50%);bottom:var(--finger-bottom, 20px);z-index:var(--finger-z, 8);width:var(--finger-width, 44px);height:var(--finger-height, 166px);border:3px solid rgba(231,235,242,.27);border-radius:24px 24px 17px 17px/30px 30px 17px 17px;background:radial-gradient(ellipse at 50% 10%,rgba(255,255,255,.21),transparent 20%),linear-gradient(90deg,rgba(255,255,255,.12),transparent 22%,rgba(255,255,255,.08) 50%,transparent 78%),linear-gradient(180deg,#e0e3e957,#8c8f973d);box-shadow:inset 0 1px 14px #ffffff14,inset 0 -18px 22px #00000014;opacity:.92;transform-origin:50% calc(100% + 22px);transform:translate(-50%) rotate(var(--finger-rotate, 0deg));transition:left .15s cubic-bezier(.2,.8,.2,1),bottom .15s cubic-bezier(.2,.8,.2,1),height .15s cubic-bezier(.2,.8,.2,1),width .15s cubic-bezier(.2,.8,.2,1),background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .15s cubic-bezier(.2,.8,.2,1)}.typing-finger:before{position:absolute;inset:8px 7px 18px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 28%),linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);content:"";opacity:.74}.finger-segment,.finger-nail{position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.finger-segment{width:68%;height:1px;border-radius:999px;background:#f6f8fc29;box-shadow:0 1px #0000001f}.finger-segment.top{top:27%}.finger-segment.middle{top:52%}.finger-segment.base{bottom:21%}.finger-nail{top:9px;width:42%;height:18px;border:1px solid rgba(255,255,255,.16);border-radius:999px 999px 11px 11px;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.52),transparent 44%),linear-gradient(180deg,#fff3,#dce0e814);box-shadow:inset 0 -4px 8px #0000001a;opacity:.86}.finger-nail:after{position:absolute;top:4px;left:50%;width:44%;height:4px;border-radius:999px;background:#ffffff38;content:"";transform:translate(-50%)}.typing-finger.middle{border-color:#e1e5eb52}.typing-finger.index{border-color:#e1e5eb4d}.typing-finger.pinky{opacity:.84;transform-origin:50% calc(100% + 16px)}.typing-finger.thumb{border-radius:44px 44px 32px 32px/34px 34px 28px 28px;background:radial-gradient(ellipse at 50% 13%,rgba(255,255,255,.2),transparent 22%),linear-gradient(90deg,rgba(255,255,255,.12),transparent 28%,rgba(255,255,255,.1) 60%,transparent 84%),linear-gradient(180deg,#e1e4eb5c,#898c944a);opacity:.94;transform-origin:50% calc(100% + 10px)}.typing-finger.thumb .finger-nail{top:15px;width:38%;height:18px}.typing-finger.thumb .finger-segment.top{top:34%}.typing-finger.thumb .finger-segment.middle,.typing-finger.thumb .finger-segment.base{display:none}.typing-finger.active{left:var(--finger-active-left, var(--finger-left, 50%));bottom:var(--finger-active-bottom, var(--finger-bottom, 20px));z-index:18;width:var(--finger-active-width, var(--finger-width, 44px));height:min(var(--finger-active-height, var(--finger-height, 166px)),248px);border-color:#308fffeb;background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 24%,rgba(255,255,255,.16) 52%,transparent 80%),linear-gradient(180deg,#3496ffc2,#1d64dd8a);box-shadow:0 0 28px #2d84ff8a,0 16px 32px #1859d438,inset 0 0 20px #ffffff2e;opacity:1;transform:translate(-50%) rotate(var(--finger-active-rotate, var(--finger-rotate, 0deg))) scale(1.02)}.typing-finger.active .finger-nail{border-color:#ddefff3d;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.55),transparent 45%),#daeeff38}.typing-finger.active .finger-segment{background:#deefff42}.learning-theater.gesture-realistic .typing-finger:not(.active){display:block;border-width:2px;border-color:#e9edf62e;background:radial-gradient(ellipse at 50% 9%,rgba(255,255,255,.2),transparent 22%),linear-gradient(90deg,rgba(255,255,255,.08),transparent 36%,rgba(255,255,255,.05) 68%,transparent),linear-gradient(180deg,#dce0e82e,#7479841f);box-shadow:none;opacity:.32;filter:none}.learning-theater.gesture-realistic .typing-finger.thumb:not(.active){opacity:.24}.learning-theater.gesture-realistic .typing-finger:not(.active):before{opacity:.26}.learning-theater.gesture-realistic .typing-finger:not(.active) .finger-segment,.learning-theater.gesture-realistic .typing-finger:not(.active) .finger-nail{opacity:.36}.learning-theater.gesture-realistic .typing-finger.active:after{position:absolute;inset:auto 5px 8px;height:18px;border-radius:999px;background:radial-gradient(ellipse at center,rgba(115,190,255,.34),transparent 68%);content:"";opacity:.9}.learning-theater.gesture-realistic .finger-nail{height:17px;border-color:#ffffff38;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.62),transparent 43%),linear-gradient(180deg,#f4f6fa3d,#d2d7e21a)}.learning-theater.gesture-realistic .typing-finger.active{left:var(--finger-tip-left, var(--finger-active-left, var(--finger-left, 50%)));bottom:var(--finger-tip-bottom, var(--finger-active-bottom, var(--finger-bottom, 20px)));width:var(--finger-tip-width, 46px);height:var(--finger-tip-height, 96px);border-color:#3292fff2;border-width:3px;border-radius:27px 27px 19px 19px/34px 34px 20px 20px;background:radial-gradient(ellipse at 50% 8%,rgba(255,255,255,.42),transparent 23%),linear-gradient(90deg,rgba(255,255,255,.16),transparent 24%,rgba(255,255,255,.1) 62%,transparent 88%),linear-gradient(180deg,#4aa6ffad,#1763de70);box-shadow:0 0 22px #2d84ff85,0 10px 24px #1859d42e,inset 0 0 18px #ffffff24;opacity:.78;transform:translate(-50%) rotate(var(--finger-tip-rotate, var(--finger-active-rotate, var(--finger-rotate, 0deg)))) scale(1)}.learning-theater.gesture-standard .typing-finger{border:2px dashed rgba(180,188,214,.24);background:#a0a8c20f;box-shadow:none;opacity:.34}.learning-theater.gesture-standard .typing-finger:not(.active){bottom:-30px;height:92px;border-radius:18px 18px 10px 10px;opacity:.22}.learning-theater.gesture-standard .typing-finger:before{display:none}.learning-theater.gesture-standard .finger-nail,.learning-theater.gesture-standard .finger-segment{display:none}.learning-theater.gesture-standard .typing-finger.active{border-color:#3c96ffe6;border-style:solid;background:linear-gradient(180deg,#3c96ffb3,#1964e07a);box-shadow:0 0 24px #2d84ff6b,inset 0 0 12px #ffffff1f;opacity:.98}.waveform{position:fixed;right:50%;bottom:89px;display:flex;align-items:flex-end;gap:3px;width:316px;height:42px;transform:translate(50%);pointer-events:none}.waveform i,.voice-waveform i{width:4px;border-radius:4px 4px 0 0;background:#bfc9dd8c}.voice-waveform{position:absolute;top:-52px;left:50%;z-index:4;display:flex;align-items:flex-end;justify-content:center;gap:3px;width:min(360px,calc(100vw - 96px));height:46px;margin:0;transform:translate(-50%);pointer-events:none}.voice-waveform i{background:linear-gradient(180deg,#00e5fff2,#bba7ff8c);box-shadow:0 0 12px #00e5ff3d;animation:voiceWave .72s ease-in-out infinite alternate;animation-delay:var(--wave-delay, 0ms)}.celebration-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(0,229,255,.12),transparent 24%),radial-gradient(circle at 50% 42%,rgba(0,255,160,.08),transparent 42%);pointer-events:none}.celebration-layer:before,.celebration-layer:after{position:absolute;left:50%;top:43%;width:210px;height:210px;border:2px solid rgba(0,229,255,.45);border-radius:999px;content:"";transform:translate(-50%,-50%);animation:celebrationRing .98s ease-out both}.celebration-layer:after{width:310px;height:310px;border-color:#ffd4475c;animation-delay:.14s}.celebration-layer strong{position:relative;z-index:2;padding:0;border:0;background:transparent;color:#fff;font-size:clamp(42px,6vw,86px);font-weight:900;text-shadow:0 0 22px rgba(0,229,255,.52),0 0 50px rgba(0,255,160,.24);animation:celebrationPop 1.5s ease both}.celebration-layer i{position:absolute;left:50%;top:45%;width:8px;height:8px;border-radius:999px;background:var(--spark-color);box-shadow:0 0 16px var(--spark-color);animation:sparkFly 1.05s cubic-bezier(.18,.88,.25,1.05) both;animation-delay:var(--spark-delay)}.celebration-layer i.confetti{left:var(--confetti-left);top:-10%;width:7px;height:18px;border-radius:2px;opacity:0;transform:rotate(var(--confetti-rotate));animation:confettiFall 2.2s cubic-bezier(.12,.62,.32,1) both;animation-delay:var(--spark-delay)}@keyframes voiceWave{0%{height:9px;opacity:.48;transform:translateY(5px)}to{height:calc(var(--bar-height, 30px) + 14px);opacity:1;transform:translateY(0)}}@keyframes sparkFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) scale(1.2)}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(var(--confetti-rotate))}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),110vh,0) rotate(calc(var(--confetti-rotate) + 520deg))}}@keyframes celebrationRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.34)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}@keyframes celebrationPop{0%{opacity:0;transform:translateY(18px) scale(.72)}24%{opacity:1;transform:translateY(0) scale(1)}72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-14px) scale(1.08)}}.puzzle-tray{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,650px);min-height:118px;margin:44px auto 40px;padding:20px;border:1px solid rgba(0,216,238,.74);border-radius:8px;background:#00d8ee0a;box-shadow:0 0 28px #00d8ee14}.selected-words{display:flex;flex:1;flex-wrap:wrap;gap:10px;min-width:0}.selected-words span,.candidate-words button{min-height:48px;padding:9px 18px;border:1px solid rgba(0,216,238,.6);border-radius:8px;background:#00d8ee1f;color:#f4fbff;font-family:var(--learner-font-family);font-size:calc(var(--learner-font-size) * .74);line-height:1.1}.selected-words em{margin:auto;color:#6e7583;font-style:normal}.tray-tools{display:grid;gap:8px}.tray-tools button{height:32px;min-width:54px;padding:0 10px;color:#aeb6c8;font-size:12px}.candidate-words{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:760px;margin:0 auto}.candidate-words button{border-color:#fff3;background:#ffffff12;color:#f2f5fb}.candidate-words button.used{border-style:dashed;opacity:.22}.speaking-board h2{margin:0;color:#e9fdff;font-family:var(--learner-font-family);font-size:var(--learner-font-size);font-weight:800;line-height:1.2;text-shadow:0 0 16px rgba(0,216,238,.3)}.speaking-board p{margin:22px 0 72px;color:#8f95a2;font-size:22px}.mic-button{display:grid;width:96px;height:96px;margin:0 auto 18px;place-items:center;border:2px solid var(--cyan);border-radius:999px;background:#00d8ee1f;box-shadow:0 0 28px #00d8ee40;color:var(--cyan);font-weight:900}.mic-button.recording{background:#ff6fb029;border-color:#ff6fb0;color:#ffb0d4;box-shadow:0 0 30px #ff6fb03d}.speaking-board small{color:#767d8b;font-size:15px}.translate-board .sentence-cn{margin-bottom:48px;font-size:34px;font-weight:800}.translate-line{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;min-width:180px;max-width:min(860px,90vw);min-height:74px;color:#fff;font-family:var(--learner-font-family);font-size:calc(var(--learner-font-size) * 1.05);font-weight:800;line-height:1.1;word-break:break-word}.translate-line span{display:inline-block;min-width:72px;padding-bottom:16px;border-bottom:3px solid var(--violet)}.translate-line i{width:4px;height:54px;margin-left:12px;background:#fff;animation:caret-blink 1s steps(2,start) infinite}.translate-line.typing i{background:var(--cyan)}.learning-theater.input-box .translate-line span,.learning-theater.input-box .personal-preview span{min-width:180px;padding:14px 24px;border:1px solid rgba(172,184,208,.72);border-radius:8px;background:#ffffff14}.learning-theater.input-box .translate-line span{border-bottom-width:1px}.ghost-type-input{position:fixed;left:-1000px;width:1px;height:1px;opacity:0}.empty-board h2{margin:0 0 20px;font-size:30px}.empty-board button{height:42px;padding:0 18px}.practice-bottom{position:relative;display:grid;align-content:start;justify-items:center;gap:14px;padding:0 32px 18px;background:linear-gradient(to top,#030405,#030405e6)}.bottom-progress{width:min(960px,calc(100vw - 96px));height:7px;overflow:hidden;border-radius:99px;background:#ffffff2e}.bottom-progress i{display:block;height:100%;border-radius:inherit;background:#c1bcff}.control-dock{display:flex;align-items:center;gap:10px;height:62px;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0b0d12f5}.control-dock button{min-width:72px;height:42px;padding:0 14px;color:#c9cedf;font-size:14px}.control-dock button.accent{border-color:#00d8ee73;background:#00d8ee1f;color:var(--cyan)}.shortcut-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1040px}.shortcut-strip span{min-height:32px;padding:7px 13px;color:#c9c8ff;font-size:13px;line-height:1.2}.floating-inspector{position:fixed;right:22px;bottom:134px;display:grid;gap:10px;width:316px;z-index:8}.floating-inspector section{display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0c0e14f0}.floating-inspector section.good{border-color:#00d8ee57}.floating-inspector span{color:var(--cyan);font-size:12px;font-weight:800}.floating-inspector strong{color:#f7f8ff;font-size:16px;line-height:1.4}.floating-inspector small,.floating-inspector p{margin:0;color:#a8aebd;font-size:13px;line-height:1.45}.settings-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#03060c9e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-modal{display:flex;flex-direction:column;width:min(520px,100%);max-height:min(82vh,720px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#11131bfa;box-shadow:0 24px 86px #0000007a}.settings-modal.small{width:min(490px,100%)}.settings-modal header,.settings-modal footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px}.settings-modal header{border-bottom:1px solid rgba(255,255,255,.1)}.settings-modal h3{margin:0;color:#f4f7ff;font-size:16px}.settings-modal header button,.settings-modal footer button,.shortcut-row button,.choice-grid button{min-height:34px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff0f;color:#d6dcef}.settings-modal header button{min-width:34px;padding:0 10px}.settings-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 15px}.settings-modal footer{justify-content:flex-end;border-top:1px solid rgba(255,255,255,.1);padding-bottom:calc(13px + env(safe-area-inset-bottom))}.settings-modal footer button.primary,.shortcut-row button:hover,.choice-grid button.selected{border-color:#00d8eeb3;background:#00d8ee26;color:var(--cyan)}.shortcut-row,.setting-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:54px;padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#ffffff0a}.shortcut-row+.shortcut-row,.setting-line+.setting-line,.choice-section+.choice-section,.choice-section+.range-line,.range-line+.choice-section{margin-top:10px}.shortcut-row strong,.setting-line b,.choice-section b,.range-line span{color:#f2f5ff;font-size:14px}.shortcut-row span{padding:5px 10px;border:1px solid rgba(255,255,255,.18);border-radius:7px;color:#c8cef0;font-size:13px}.setting-line span{display:grid;gap:4px;min-width:0}.setting-line small,.modal-note,.range-line small{color:#8991a2;font-size:12px;line-height:1.45}.setting-line select{min-width:110px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#171a23;color:#f5f7ff}.button-line{grid-template-columns:1fr auto;width:100%;text-align:left}.button-line strong{color:var(--cyan);font-size:14px}.choice-section{display:grid;gap:10px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-grid button{min-height:40px;justify-content:center}.choice-grid.gesture-choice-grid button{display:grid;min-height:76px;justify-content:stretch;justify-items:start;gap:6px;padding:10px 12px;text-align:left}.choice-grid.gesture-choice-grid button span{color:#f3f6ff;font-weight:800}.choice-grid.gesture-choice-grid button small{color:#9199ab;font-size:12px;line-height:1.45}.choice-grid.gesture-choice-grid button.selected small{color:#bdf8ff}.range-line{display:grid;grid-template-columns:1fr auto;gap:9px}.range-line input,.range-line small{grid-column:1 / -1}.range-line input{accent-color:var(--cyan)}.range-line strong{color:var(--cyan);font-size:13px}.personal-preview{display:grid;min-height:88px;margin-top:12px;place-items:center;border:1px solid rgba(104,121,170,.3);border-radius:8px;background:radial-gradient(circle at 50% 0,#00d8ee1a,#0d101bbf)}.personal-preview span{padding-bottom:7px;border-bottom:3px solid rgba(180,188,206,.62);color:#f8fbff;font-family:var(--learner-font-family);font-size:var(--learner-font-size);font-weight:800}.personal-preview.input-box span{border-bottom-width:1px}.learning-theater.interface-compact .practice-canvas{padding-top:38px}.learning-theater.interface-compact .sentence-cn,.learning-theater.interface-compact .translate-board .sentence-cn{font-size:24px}.learning-theater.interface-compact .grammar-strip{margin-top:24px}.learning-theater.interface-wide .learning-board,.learning-theater.interface-wide .dictation-board,.learning-theater.interface-wide .typing-board,.learning-theater.interface-wide .puzzle-board,.learning-theater.interface-wide .speaking-board,.learning-theater.interface-wide .translate-board,.learning-theater.interface-wide .empty-board{width:min(100%,1180px)}.learning-theater.theme-lightStandard,.learning-theater.theme-lightStandard .practice-theater{background:#eef3f8;color:#162032}.learning-theater.theme-lightPure,.learning-theater.theme-lightPure .practice-theater{background:#fff;color:#172033}.learning-theater.theme-lightGray,.learning-theater.theme-lightGray .practice-theater{background:#e7e9ee;color:#1d2433}.learning-theater[class*=theme-light] .practice-topbar,.learning-theater[class*=theme-light] .practice-bottom,.learning-theater[class*=theme-light] .quick-settings,.learning-theater[class*=theme-light] .account-panel,.learning-theater[class*=theme-light] .settings-modal,.learning-theater[class*=theme-light] .study-drawer,.learning-theater[class*=theme-light] .floating-inspector section{border-color:#1420341f;background:#f7f9fcf2;color:#172033}.learning-theater.theme-lightPure .practice-topbar,.learning-theater.theme-lightPure .practice-bottom,.learning-theater.theme-lightPure .quick-settings,.learning-theater.theme-lightPure .account-panel,.learning-theater.theme-lightPure .settings-modal,.learning-theater.theme-lightPure .study-drawer{background:#fffffff7}.learning-theater.theme-lightGray .practice-topbar,.learning-theater.theme-lightGray .practice-bottom,.learning-theater.theme-lightGray .quick-settings,.learning-theater.theme-lightGray .account-panel,.learning-theater.theme-lightGray .settings-modal,.learning-theater.theme-lightGray .study-drawer{background:#eef1f6f7}.learning-theater[class*=theme-light] .sentence-cn,.learning-theater[class*=theme-light] .sentence-segment strong,.learning-theater[class*=theme-light] .speaking-board h2,.learning-theater[class*=theme-light] .translate-line,.learning-theater[class*=theme-light] .typing-target-line span.done,.learning-theater[class*=theme-light] .typing-target-line span.current,.learning-theater[class*=theme-light] .floating-inspector strong,.learning-theater[class*=theme-light] .drawer-brand h1,.learning-theater[class*=theme-light] .account-panel h2,.learning-theater[class*=theme-light] .settings-modal h3,.learning-theater[class*=theme-light] .setting-card strong,.learning-theater[class*=theme-light] .shortcut-row strong,.learning-theater[class*=theme-light] .setting-line b,.learning-theater[class*=theme-light] .choice-section b,.learning-theater[class*=theme-light] .range-line span,.learning-theater[class*=theme-light] .personal-preview span{color:#172033}.learning-theater[class*=theme-light] .setting-card,.learning-theater[class*=theme-light] .shortcut-row,.learning-theater[class*=theme-light] .setting-line,.learning-theater[class*=theme-light] .choice-grid button,.learning-theater[class*=theme-light] .settings-modal header button,.learning-theater[class*=theme-light] .settings-modal footer button,.learning-theater[class*=theme-light] .top-icon,.learning-theater[class*=theme-light] .avatar-button,.learning-theater[class*=theme-light] .mode-select-trigger,.learning-theater[class*=theme-light] .mode-select-menu button,.learning-theater[class*=theme-light] .control-dock button,.learning-theater[class*=theme-light] .shortcut-strip span,.learning-theater[class*=theme-light] .view-toggle,.learning-theater[class*=theme-light] .speech-eval-pill{border-color:#14203424;background:#1720330a;color:#263246}.learning-theater[class*=theme-light] .setting-options,.learning-theater[class*=theme-light] .setting-line select{border-color:#14203424;background:#fff;color:#172033}.learning-theater[class*=theme-light] .sentence-segment em,.learning-theater[class*=theme-light] .sentence-segment small,.learning-theater[class*=theme-light] .grammar-strip span,.learning-theater[class*=theme-light] .speaking-board p,.learning-theater[class*=theme-light] .typing-target-line span.pending,.learning-theater[class*=theme-light] .setting-card span,.learning-theater[class*=theme-light] .account-panel p,.learning-theater[class*=theme-light] .setting-line small,.learning-theater[class*=theme-light] .modal-note,.learning-theater[class*=theme-light] .range-line small{color:#687386}.learning-theater[class*=theme-light] .control-dock,.learning-theater[class*=theme-light] .grammar-strip,.learning-theater[class*=theme-light] .settings-modal header,.learning-theater[class*=theme-light] .settings-modal footer{border-color:#1420341f}.study-drawer{position:fixed;inset:var(--drawer-top-offset) auto 0 0;display:flex;flex-direction:column;gap:14px;width:var(--drawer-width);max-width:var(--drawer-width);padding:18px 20px;overflow:auto;border-right:1px solid rgba(255,255,255,.12);background:#0b0d12;transform:translate(-104%);transition:transform .18s ease;z-index:20}.learning-theater.drawer-open .study-drawer{transform:translate(0)}.drawer-scrim{position:fixed;inset:0;border:0;background:transparent;z-index:15}.drawer-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-brand-main{display:flex;align-items:center;min-width:0;gap:12px}.drawer-close{min-width:54px;height:32px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0d;color:#c8cfe1;font-size:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#ffcf33;color:#111318;font-size:23px;font-weight:900}.drawer-brand h1,.drawer-brand p,.drawer-section h2,.knowledge-item p{margin:0}.drawer-brand h1{font-size:20px}.drawer-brand p{margin-top:2px;color:#8f96a7;font-size:12px}.drawer-card,.drawer-section{display:grid;gap:10px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0a}.auth-card span,.auth-card small,.drawer-card small,.drawer-section span{color:#8e96a8;font-size:12px}.auth-card strong,.drawer-card-head strong{color:#f5f6fb;font-size:15px}.auth-card input,.member-card input,.partner-card input{width:100%;height:38px;min-width:0;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;outline:none;background:#ffffff0f;color:#fff}.auth-card input:focus{border-color:#00d8ee8c}.member-card input:focus,.partner-card input:focus{border-color:#00d8ee8c}.auth-row{display:grid;grid-template-columns:1fr 68px;gap:8px}.auth-card button{min-height:36px;padding:0 10px}.member-card button,.partner-card button,.desktop-download-card button,.openapi-card button{min-height:34px;padding:0 9px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:#d9def0;font-size:12px}.member-card button:disabled,.partner-card button:disabled,.desktop-download-card button:disabled{opacity:.55}.quick-action-row,.prompt-chip-row{display:flex;flex-wrap:wrap;gap:8px}.quick-action-row button,.library-card>button,.follow-mini-row button,.ai-helper-card>button,.prompt-chip-row button{min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:#d9def0;font-size:12px;font-weight:800}.quick-action-row button:hover,.library-card>button:hover,.follow-mini-row button:hover,.ai-helper-card>button:hover,.prompt-chip-row button:hover{border-color:#00d8ee73;color:#05e4ff}.quick-action-row button:disabled,.library-card>button:disabled,.ai-helper-card>button:disabled{cursor:not-allowed;opacity:.55}.library-mini-list{display:grid;gap:8px;max-height:360px;overflow:auto}.library-mini-list article{display:grid;gap:5px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff09}.library-mini-list b,.follow-mini-row b,.ai-reply-box b{color:#f5f7ff;font-size:13px}.library-mini-list em,.follow-mini-row em{color:#05e4ff;font-size:11px;font-style:normal}.library-mini-list span{display:block;overflow:hidden;color:#c9cfdf;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.library-mini-list i{margin-left:6px;color:#8e96a8;font-style:normal}.follow-mini-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff09}.follow-mini-row img{width:56px;height:40px;border-radius:6px;object-fit:cover}.follow-mini-row span{display:grid;gap:3px;min-width:0}.follow-mini-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-helper-card textarea{min-height:86px;resize:vertical;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;outline:none;background:#ffffff0f;color:#fff;font:inherit}.ai-helper-card textarea:focus{border-color:#00d8ee8c}.ai-reply-box{display:grid;gap:6px;padding:10px;border:1px solid rgba(0,216,238,.18);border-radius:8px;background:#00d8ee12}.desktop-platform-list{display:grid;grid-template-columns:1fr;gap:7px}.desktop-platform-list button{display:flex;justify-content:space-between;gap:8px;align-items:center;width:100%;text-align:left}.desktop-platform-list button.active{border-color:#00d8eea6;background:#00d8ee24;color:var(--cyan)}.desktop-platform-list button.disabled{color:#7b8293}.desktop-platform-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-platform-list span{flex:0 0 auto;color:inherit;font-size:11px}.desktop-download-card button.primary{border-color:#00d8eeb3;background:#00d8ee2e;color:var(--cyan);font-weight:800}.desktop-update-toast{position:fixed;right:24px;bottom:104px;z-index:18;display:grid;width:min(360px,calc(100vw - 48px));gap:9px;padding:14px;border:1px solid rgba(0,216,238,.35);border-radius:8px;background:#0d1118f5;box-shadow:0 18px 44px #00000061}.desktop-update-toast div{display:grid;gap:3px}.desktop-update-toast span{color:var(--cyan);font-size:12px;font-weight:800}.desktop-update-toast strong{color:#f7f9ff;font-size:14px}.desktop-update-toast i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#ffffff1f}.desktop-update-toast b{display:block;height:100%;border-radius:inherit;background:var(--cyan)}.trial-gate{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:#0000008a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trial-gate>div{display:grid;gap:14px;width:min(460px,100%);padding:24px;border:1px solid rgba(0,216,238,.36);border-radius:10px;background:#0e121af5;box-shadow:0 24px 70px #00000073}.trial-gate span{color:var(--cyan);font-size:13px;font-weight:900}.trial-gate strong{color:#fff;font-size:24px}.trial-gate p{margin:0;color:#aeb8ca;line-height:1.7}.trial-gate button{justify-self:start;height:42px;padding:0 18px;border:1px solid rgba(0,216,238,.8);border-radius:7px;background:linear-gradient(135deg,#00d8ee,#7cf9ff);color:#031014;font-weight:900}.intro-demo-layer{position:fixed;right:50%;bottom:168px;z-index:24;display:grid;width:min(760px,calc(100vw - 48px));gap:14px;padding:18px;border:1px solid rgba(0,216,238,.3);border-radius:8px;background:linear-gradient(180deg,#0a0e16f0,#06080dfa),#080b12;box-shadow:0 24px 90px #00000085,0 0 42px #00d8ee14;transform:translate(50%)}.intro-demo-copy{display:grid;gap:5px;text-align:center}.intro-demo-copy span{color:var(--cyan);font-size:12px;font-weight:900}.intro-demo-copy strong{overflow-wrap:anywhere;color:#f8fbff;font-size:22px}.intro-demo-copy small{color:#9aa3b7;font-size:13px}.virtual-keyboard{display:grid;gap:8px}.keyboard-row{display:flex;justify-content:center;gap:8px}.keyboard-row span{display:grid;min-width:42px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:linear-gradient(180deg,#ffffff17,#ffffff09);color:#dfe6f6;font-size:13px;font-weight:800;box-shadow:inset 0 -3px #00000038;transition:transform .08s ease,border-color .08s ease,background .08s ease,box-shadow .08s ease}.keyboard-row span.wide{min-width:88px}.keyboard-row span.active{border-color:#00d8eef2;background:#00d8ee33;color:#fff;box-shadow:0 0 22px #00d8ee59,inset 0 -2px #0000002e;transform:translateY(2px) scale(.98)}.intro-shortcut-panel{display:grid;gap:8px;padding:12px;border:1px solid rgba(166,141,255,.24);border-radius:8px;background:#ffffff0b}.intro-shortcut-panel b{color:#f6f7fb;font-size:14px}.intro-shortcut-panel span{color:#b8bfd0;font-size:13px}.intro-shortcut-panel button{justify-self:end;min-height:36px;padding:0 14px;border:1px solid rgba(0,216,238,.65);border-radius:8px;background:#00d8ee26;color:var(--cyan);font-size:13px;font-weight:900}.coupon-row,.plan-actions{display:grid;gap:8px}.coupon-row{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-actions{grid-template-columns:1fr}.plan-actions button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left}.plan-actions button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-actions button small{color:#8f96a7;font-size:11px;white-space:nowrap}.member-lock-hint{color:#ffd36a!important}.commerce-notice{padding:8px 10px;border:1px solid rgba(0,216,238,.2);border-radius:8px;background:#00d8ee14;color:#c9f8ff!important;line-height:1.5}.partner-intro-button{border-color:#00d8ee99!important;background:#00d8ee24!important;color:var(--cyan)!important;font-weight:800}.affiliate-compliance-line{color:#aeb6c8!important;line-height:1.5}.affiliate-intro-modal{position:fixed;inset:0;z-index:42;display:grid;place-items:center;padding:28px;background:#00000094;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.affiliate-intro-shell{display:grid;width:min(960px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:radial-gradient(circle at 20% 0%,rgba(0,216,238,.12),transparent 32%),linear-gradient(180deg,#10131dfa,#080a10fa);color:#eef3ff;box-shadow:0 32px 120px #0000008f}.affiliate-intro-shell header,.affiliate-intro-shell footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px}.affiliate-intro-shell header{border-bottom:1px solid rgba(255,255,255,.1)}.affiliate-intro-shell footer{justify-content:flex-end;border-top:1px solid rgba(255,255,255,.1)}.affiliate-intro-shell h2,.affiliate-intro-shell p{margin:0}.affiliate-intro-shell header span{color:var(--cyan);font-size:12px;font-weight:900}.affiliate-intro-shell h2{margin-top:6px;color:#fff;font-size:25px;line-height:1.25}.affiliate-intro-shell header p{margin-top:8px;color:#aeb7cb;font-size:14px;line-height:1.55}.affiliate-intro-shell button{min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff0f;color:#e8edf8;font-weight:800}.affiliate-intro-shell button.primary{border-color:#00d8eeb3;background:#00d8ee2e;color:var(--cyan)}.affiliate-value-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 22px 0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px}.affiliate-value-strip div{display:grid;gap:5px;min-width:0;padding:16px;border-right:1px solid rgba(255,255,255,.1);background:#ffffff09}.affiliate-value-strip div:last-child{border-right:0}.affiliate-value-strip span{color:#8f98ac;font-size:12px}.affiliate-value-strip strong{overflow:hidden;color:#fff;font-size:23px;text-overflow:ellipsis;white-space:nowrap}.affiliate-intro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 22px 0}.affiliate-intro-grid article,.affiliate-flow,.affiliate-risk{display:grid;gap:8px;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff09}.affiliate-intro-grid b,.affiliate-risk b{color:#fff;font-size:15px}.affiliate-intro-grid p,.affiliate-flow li,.affiliate-risk p{color:#aeb7cb;font-size:13px;line-height:1.65}.affiliate-flow,.affiliate-risk{margin:10px 22px 0}.affiliate-flow span{color:var(--cyan);font-size:13px;font-weight:900}.affiliate-flow ol{display:grid;gap:7px;margin:0;padding-left:20px}.affiliate-risk{border-color:#ffd36a33;background:#ffd36a0e}.auth-card button.primary{border-color:#00d8ee99;background:#00d8ee29;color:var(--cyan);font-weight:800}.drawer-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-progress{height:7px;overflow:hidden;border-radius:999px;background:#ffffff1f}.drawer-progress i{display:block;height:100%;border-radius:inherit;background:var(--cyan)}.drawer-section h2{color:#dfe5f7;font-size:15px}.drawer-catalog{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;overflow:auto;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#ffffff06}.catalog-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalog-field{display:grid;gap:6px;min-width:0}.catalog-field span{color:#8e96a8;font-size:12px}.catalog-field select{width:100%;min-width:0;height:38px;padding:0 34px 0 12px;border:1px solid rgba(255,255,255,.13);border-radius:6px;background:#090c11eb;color:#edf3ff;font-size:13px;outline:none}.catalog-field select:focus{border-color:#00d8eecc;box-shadow:0 0 0 2px #00d8ee1f}.package-column{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:8px}.package-column header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.1)}.package-column header strong{overflow:hidden;color:#f4f7ff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.package-column header span,.package-column p{color:#8e96a8;font-size:12px}.package-column p{margin:12px;line-height:1.6}.scenario-copy-button:hover,.scenario-enter-button:hover,.package-summary:hover{background:#ffffff0b}.course-package-list{min-height:0;overflow:auto}.course-package-row{border-bottom:1px solid rgba(255,255,255,.1)}.course-package-row.active{background:#00d8ee0f}.package-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px;border:0;border-left:3px solid transparent;border-radius:0;background:transparent;color:#d9def0;text-align:left}.package-toggle{color:var(--cyan);font-size:12px;font-style:normal;white-space:nowrap}.course-package-row.active .package-summary{border-left-color:var(--cyan)}.package-copy{display:grid;gap:4px;min-width:0}.package-copy b,.scenario-copy-button span{overflow:hidden;color:#f4f7ff;text-overflow:ellipsis;white-space:nowrap}.package-copy b{font-size:14px}.package-copy small,.scenario-copy-button small{overflow:hidden;color:#a7afc0;font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.package-copy em,.package-copy i,.scenario-copy-button em{color:#7f8798;font-size:11px;font-style:normal}.package-copy i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-list{display:grid;gap:0;padding:0 12px 12px 24px}.scenario-item{display:grid}.scenario-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px;min-width:0;border-left:2px solid rgba(255,255,255,.12)}.scenario-row.active{border-left-color:var(--cyan);background:#00d8ee14}.scenario-copy-button{display:grid;gap:3px;width:100%;padding:8px 10px;border:0;border-radius:0;background:transparent;color:#d9def0;text-align:left}.scenario-enter-button{justify-self:end;width:128px;height:34px;margin-right:10px;border:1px solid rgba(255,92,105,.82);border-radius:4px;background:#ff5c691c;color:#ff6c79;font-size:13px;font-weight:900;text-align:center;box-shadow:0 0 18px #ff5c691f}.scenario-enter-button:hover{border-color:#ff5c69;background:#ff5c692e;color:#ff8f98}.lesson-sentence-preview{display:grid;gap:2px;min-width:0;margin-top:4px}.lesson-sentence-preview i{overflow:hidden;color:#8e96a8;font-size:11px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.catalog-empty{align-self:start;padding:18px 12px}.lesson-detail-panel{display:grid;gap:10px;margin:0 0 10px;padding:12px;border:1px solid rgba(0,216,238,.22);border-radius:8px;background:#00d8ee0d}.lesson-detail-panel header{min-height:auto;padding:0;border-bottom:0}.lesson-detail-panel p{margin:0;color:#aab4c6;font-size:12px;line-height:1.55}.lesson-detail-sentences{display:grid;gap:7px}.lesson-detail-sentences span{display:grid;gap:2px;min-width:0;padding:7px 9px;border-radius:6px;background:#ffffff0a}.lesson-detail-sentences b,.lesson-detail-sentences em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-detail-sentences b{color:#edf3ff;font-size:12px}.lesson-detail-sentences em{color:#8e96a8;font-size:11px;font-style:normal}.knowledge-item{display:grid;gap:5px;padding:10px;border-radius:8px;background:#ffffff0d}.knowledge-item b{color:#e6eaf8;font-size:13px}.knowledge-item p{color:#8d94a4;font-size:12px;line-height:1.45}@keyframes caret-blink{50%{opacity:0}}@media(max-width:1180px){.learning-theater{--drawer-top-offset: 58px}.learning-theater.desktop{--drawer-top-offset: 88px}.learning-theater.desktop .practice-theater{grid-template-rows:30px 56px minmax(0,1fr) 154px}.practice-topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:58px;padding:0 12px}.topbar-left{max-width:min(46vw,420px)}.topbar-right{gap:8px}.lesson-trail{max-width:280px}.desktop-download-trigger{min-width:118px;height:36px}.floating-inspector{right:16px;width:280px}.typing-finger.active{width:min(var(--finger-active-width, var(--finger-width, 44px)),66px);height:min(var(--finger-active-height, var(--finger-height, 166px)),218px)}}@media(max-width:900px){.landing-header{align-items:flex-start;flex-direction:column}.landing-hero{padding-top:34px}.landing-feature-strip{grid-template-columns:1fr}.learning-theater{--drawer-width: min(92vw, 420px);--drawer-top-offset: 58px}.learning-theater.desktop{--drawer-top-offset: 88px}body{overflow:auto}.practice-theater{grid-template-rows:auto minmax(620px,1fr) auto;min-height:100vh}.typing-finger.active{width:min(var(--finger-active-width, var(--finger-width, 44px)),48px);height:min(var(--finger-active-height, var(--finger-height, 166px)),166px)}.learning-theater.desktop .practice-theater{grid-template-rows:30px auto minmax(620px,1fr) auto}.practice-topbar{grid-template-areas:none;grid-template-columns:minmax(0,1fr) auto;min-height:auto;padding:8px 10px}.topbar-left,.topbar-right{grid-area:auto;width:auto}.topbar-left{max-width:100%}.desktop-download-center{grid-area:auto;position:relative;display:flex;width:auto;justify-content:center;transform:none}.desktop-download-popover{top:46px;width:min(320px,calc(100vw - 24px))}.topbar-right{justify-content:flex-end;justify-self:end;gap:6px}.mode-select,.mode-select-trigger{min-width:72px}.session-stats{min-width:84px;gap:8px}.account-panel{top:108px;right:12px;width:calc(100vw - 24px);max-height:calc(100vh - 128px)}.affiliate-intro-modal{padding:12px}.affiliate-intro-shell{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.affiliate-intro-shell header,.affiliate-intro-shell footer{align-items:stretch;flex-direction:column}.affiliate-intro-shell header button,.affiliate-intro-shell footer button{width:100%}.affiliate-value-strip,.affiliate-intro-grid{grid-template-columns:1fr}.affiliate-value-strip div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.affiliate-value-strip div:last-child{border-bottom:0}.drawer-catalog{overflow:auto}.catalog-selectors{grid-template-columns:1fr}.scenario-list{padding-left:12px}.practice-canvas{padding:74px 18px 24px}.intro-demo-layer{bottom:96px;padding:14px}.keyboard-row{gap:5px}.keyboard-row span{min-width:29px;height:32px;font-size:11px}.keyboard-row span.wide{min-width:72px}.sentence-cn{font-size:25px}.segment-row{gap:18px}.sentence-segment strong{white-space:normal;font-size:29px}.typing-board{gap:16px;max-width:calc(100vw - 36px)}.typing-target-line{min-height:58px;font-size:clamp(28px,8vw,44px)}.typing-target-line span{min-width:.48em;padding-bottom:8px;border-bottom-width:3px}.finger-keyboard{width:min(100%,680px);gap:6px;padding:12px 10px 10px;border-radius:16px}.finger-keyboard-row{gap:5px}.finger-keyboard-row span{width:calc(var(--key-unit, 1) * 32px);min-width:calc(var(--key-unit, 1) * 32px);height:34px;border-radius:6px;font-size:13px}.finger-keyboard-row span.wide{font-size:10px}.typing-finger{width:calc(var(--finger-width, 44px) * .62);border-width:3px;border-radius:18px 18px 12px 12px}.typing-finger.thumb{border-radius:22px 22px 18px 18px}.blank-row{flex-wrap:wrap;gap:14px;margin-top:52px}.puzzle-tray{display:grid;min-height:132px}.tray-tools{grid-template-columns:repeat(2,1fr)}.shortcut-strip{display:none}.practice-bottom{gap:10px;padding:0 14px 14px}.bottom-progress{width:calc(100vw - 42px)}.control-dock{max-width:100%;overflow-x:auto}.floating-inspector{position:static;width:auto;margin:0 14px 12px}.waveform{display:none}}@media(max-width:560px){.landing-hero h1{font-size:38px}.landing-copy{font-size:15px}.landing-actions button{width:100%}.practice-theater{grid-template-rows:auto minmax(540px,1fr) auto}.topbar-right{gap:6px}.top-icon{min-width:38px;padding:0 8px;font-size:12px}.lesson-trail{max-width:calc(100vw - 92px)}.session-stats{min-width:86px;gap:7px;font-size:13px}.scenario-row{grid-template-columns:minmax(0,1fr);gap:4px;padding-bottom:8px}.scenario-enter-button{justify-self:stretch;width:auto;margin:0 10px}.status-pill{right:12px;left:12px}.sentence-cn,.translate-board .sentence-cn{font-size:23px}.sentence-segment{max-width:100%}.sentence-segment strong{font-size:26px}.grammar-strip{margin-top:28px}.grammar-strip span{width:100%;border-radius:8px}.selected-words span,.candidate-words button{font-size:22px}.speaking-board h2{font-size:29px}.speaking-board p{margin-bottom:52px;font-size:18px}.translate-line{font-size:31px}.control-dock button{min-width:64px;padding:0 10px}}
