:root{--brand:#6b2ee0;--brand-2:#b79bff;--stage:#ffc23d;--on-stage:#1a0f33;--ink:#140a2e;--glass:#140a2ecc;--glass-2:#1f1142e6;--line:#ffffff1f;--txt:#f8fafc;--muted:#b9aed6;--ok:#22c55e;--warn:#f59e0b;--font:"Be Vietnam Pro", "Segoe UI", "SF Pro Text", Roboto, "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body,#root,.app{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--txt);-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#1b0b3f}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}input{font:inherit}.canvas-wrap{touch-action:none;position:fixed;inset:0}.canvas-wrap canvas{touch-action:none;display:block}.muted{color:var(--muted)}.err{color:#fca5a5;font-size:13px}.note-box{color:#bae6fd;background:#38bdf81f;border:1px solid #38bdf859;border-radius:10px;margin:8px 0;padding:8px 10px;font-size:13px;line-height:1.45}.warn-box{color:#fde68a;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:10px;padding:8px 10px;font-size:13px}.row{align-items:center;gap:12px;display:flex}.row.gap{justify-content:flex-end;gap:10px;margin-top:14px}.col{flex-direction:column;flex:1;gap:8px;display:flex}.btn{border:1px solid var(--line);white-space:nowrap;background:#ffffff1a;border-radius:12px;padding:10px 14px;font-weight:600;transition:transform 80ms,background .2s}.btn:hover{background:#ffffff29}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--brand), #8a4dff);color:#fff;border-color:#0000;box-shadow:0 6px 20px #6b2ee059}.btn.wide{width:100%}.btn.live{background:#22c55e33;border-color:#22c55e99}.link{color:var(--brand-2);font-size:13px;font-weight:600}.icon{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;width:38px;height:38px;font-weight:700}.onboard{background:radial-gradient(at top,#1b2a5e4d,#0f172aa6);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.onboard-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172adb;border-radius:22px;flex-direction:column;gap:16px;width:min(520px,100%);margin:auto;padding:22px;display:flex;box-shadow:0 30px 80px #0006}.brand-big{align-items:center;gap:14px;display:flex}.brand-big h1{letter-spacing:-.5px;margin:0;font-size:32px}.brand-big .zh{color:var(--brand-2);margin-left:4px;font-size:24px}.brand-big .tag{color:#cbd5e1;margin:4px 0 0;font-size:14px;line-height:1.4}.mic-dot{background:linear-gradient(135deg, var(--brand), #8a4dff);border-radius:18px;flex:none;place-items:center;width:58px;height:58px;font-size:28px;display:grid;box-shadow:0 10px 30px #6b2ee073}.field{flex-direction:column;gap:8px;display:flex}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:600}.field input{border:1px solid var(--line);color:#fff;background:#ffffff0f;border-radius:12px;outline:none;padding:12px 14px;font-size:16px}.field input:focus{border-color:var(--brand-2)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:3px solid #0000;border-radius:50%;width:30px;height:30px}.swatch.on{box-shadow:0 0 0 2px var(--brand);border-color:#fff}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:#ffffff12;border-radius:999px;padding:7px 12px;font-size:14px}.chip.big{padding:10px 14px;font-weight:600}.chip.on{border-color:var(--brand-2);color:#fff;background:#6b2ee040}.avatar-preview{border-radius:32px 32px 18px 18px;flex:none;width:70px;height:84px;position:relative;overflow:hidden}.avatar-preview .face{background:#f5d0a9;border-radius:50%;width:36px;height:36px;position:absolute;top:8px;left:17px}.avatar-preview .hair{z-index:2;background:#2b1d14;border-radius:20px 20px 4px 4px;width:40px;height:20px;position:absolute;top:4px;left:15px}.avatar-preview .hair-long{height:34px}.avatar-preview .hair-bun:after{content:"";background:#2b1d14;border-radius:50%;width:14px;height:14px;position:absolute;top:-8px;left:13px}.avatar-preview .hair-cap{background:#111827}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar-pick{aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#475569,#1e293b);border:2px solid #0000;border-radius:14px;padding:0;transition:transform .12s,border-color .15s;position:relative;overflow:hidden}.avatar-pick img{object-fit:cover;width:100%;height:100%;display:block}.avatar-pick:hover{transform:translateY(-2px)}.avatar-pick.on{border-color:var(--brand-2);box-shadow:0 0 0 3px #6b2ee059}.avatar-pick.on:after{content:"✓";background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid;position:absolute;bottom:4px;right:4px}.tag-color{gap:10px;margin-top:4px}.tag-color small{white-space:nowrap}.tag-color .swatches{gap:6px}.tag-color .swatch{border-width:2px;width:22px;height:22px}.check{color:#cbd5e1;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.check input{accent-color:var(--brand);margin-top:3px}.fine{color:var(--muted);text-align:center;margin:0;font-size:12px}.hud-top{top:calc(10px + var(--safe-t));pointer-events:none;z-index:5;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:fixed;left:10px;right:10px}.hud-top>*{pointer-events:auto}.brand{white-space:nowrap;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;flex:none;align-items:center;gap:7px;padding:7px 12px;font-size:14px;display:flex}.brand .logo{font-size:16px}.brand .zh{color:var(--brand-2)}.brand .dot{background:#ef4444;border-radius:50%;width:8px;height:8px;margin-left:4px}.brand .dot.on{background:var(--ok);box-shadow:0 0 8px var(--ok)}.brand .online{color:var(--muted);font-size:12px}.hud-right{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pill{background:var(--glass);border:1px solid var(--line);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;height:38px;padding:0 12px;font-size:13px;font-weight:700}.zone-banner{top:calc(58px + var(--safe-t));background:var(--glass);border:1px solid var(--line);z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border-left:4px solid;border-radius:12px;flex-direction:column;align-items:center;max-width:calc(100vw - 24px);padding:8px 14px;font-size:14px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.zone-banner span{color:#cbd5e1;font-size:12px}.actionbar{bottom:calc(12px + var(--safe-b));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:6;border-radius:18px;gap:6px;padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.act{border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:62px;padding:6px 8px;font-size:20px;display:flex;position:relative}.act span{color:#cbd5e1;white-space:nowrap;font-size:11px;font-weight:600}.act:hover{background:#ffffff14}.act.mic.live{background:#22c55e38}.badge{color:#fff;background:#ef4444;border-radius:999px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:800;position:absolute;top:2px;right:8px}.emote-wrap{position:relative}.emote-menu{background:var(--glass-2);border:1px solid var(--line);border-radius:14px;gap:4px;padding:6px;display:flex;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.emote-menu button{border-radius:10px;padding:4px 6px;font-size:24px}.emote-menu button:hover{background:#ffffff1a}.minichat{left:12px;bottom:calc(92px + var(--safe-b));pointer-events:none;z-index:3;flex-direction:column;gap:4px;max-width:min(360px,70vw);display:flex;position:fixed}.mc-line{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a9e;border-radius:10px;padding:5px 9px;font-size:13px;animation:.3s fadein}.scope{background:#6b2ee059;border-radius:6px;margin:0 4px;padding:1px 5px;font-size:10px;font-style:normal}.toasts{top:calc(110px + var(--safe-t));z-index:30;pointer-events:none;flex-direction:column;gap:6px;width:min(440px,100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--glass-2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14px;animation:.25s fadein;box-shadow:0 10px 30px #0000004d}.toast.ok{border-color:#22c55e99}.toast.warn{border-color:#f59e0bb3}@keyframes fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.sheet{right:12px;top:calc(110px + var(--safe-t));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:7;border-radius:18px;flex-direction:column;width:360px;max-height:calc(100vh - 210px);display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 50px #0000004d}.sheet-head{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.sheet-head>div:first-child{flex-direction:column;min-width:0;display:flex}.sheet-head .lang{color:var(--muted);font-size:12px}.head-actions{flex:none;align-items:center;gap:10px;display:flex}.head-actions .link{white-space:nowrap}.sheet-body{flex-direction:column;gap:12px;padding:12px 14px;display:flex;overflow-y:auto}.sheet.collapsed .sheet-body,.sheet.collapsed .ai-list,.sheet.collapsed:not(.chat-mode) .ai-controls{display:none}.members{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.members li{background:#ffffff0a;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.members li.speaking{background:#22c55e2e;box-shadow:inset 0 0 0 1px #22c55e80}.members li small{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.members li.empty{color:var(--muted);font-size:13px;line-height:1.4}.av{border:2px solid #ffffff80;border-radius:50%;flex:none;width:22px;height:22px}.av.big{width:44px;height:44px}.host{background:#6b2ee04d;border-radius:6px;padding:1px 6px;font-size:11px;font-style:normal}.topic{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;padding:10px 12px}.topic-head{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.topic .q{margin:6px 0 0;font-size:16px;font-weight:700;line-height:1.35}.py{color:#ffd27a;margin:4px 0 0;font-size:13px;font-style:italic}.vi{color:#cbd5e1;margin:4px 0 0;font-size:13px}.switch{align-items:flex-start;gap:10px;font-size:14px;font-weight:600;display:flex}.switch input{width:18px;height:18px;accent-color:var(--brand);flex:none;margin-top:2px}.switch small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.room-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.mic-cta{flex-direction:column;gap:6px;display:flex}.scenarios{flex-direction:column;gap:8px;display:flex}.scenario{text-align:left;border:1px solid var(--line);background:#ffffff0d;border-radius:12px;flex-direction:column;gap:3px;padding:12px;display:flex}.scenario:hover{border-color:var(--brand-2);background:#6b2ee01f}.scenario span{color:var(--muted);font-size:13px}.sheet.chat-mode{height:calc(100vh - 210px)}.sheet.chat-mode.collapsed{height:auto}.ai-list{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;position:relative;overflow-y:auto}.bubble{border-radius:14px;max-width:88%;padding:10px 12px;font-size:15px;line-height:1.4;position:relative}.bubble p{margin:0}.bubble.coach{background:#ffffff17;border-top-left-radius:4px;padding-right:34px}.bubble.me{background:linear-gradient(135deg,#6b2ee0eb,#3a1491eb);border-top-right-radius:4px;align-self:flex-end}.bubble.typing{text-align:center;letter-spacing:3px;width:54px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.4}}.replay{opacity:.8;font-size:15px;position:absolute;top:6px;right:6px}.offline{color:var(--warn);margin-top:4px;font-size:11px;display:block}.fix{background:#0f172a80;border-radius:10px;flex-direction:column;gap:2px;margin-top:8px;padding:8px;display:flex}.fix .fix-label{letter-spacing:.02em;color:#e3d4ff;font-size:11px;font-weight:700}.fix.grammar .fix-label{color:#ffb4a8}.fix.better .fix-label{color:#ffd27a}.fix.ok{background:#08714c4d;padding:5px 8px}.fix.ok .fix-label{color:#9af0c4;font-size:12px}.fix-better{font-weight:700}.fix mark{color:#fff;background:#ffc23d4d;border-radius:4px;padding:0 2px}.fix-words{flex-wrap:wrap;gap:3px 10px;margin-top:2px;font-size:12px;display:flex}.fix-words s{opacity:.7}.fix-words em{color:#cbd5e1;font-style:normal}.fix-say{color:#e3d4ff;text-underline-offset:2px;align-self:flex-start;margin-top:3px;padding:2px 0;font-size:12px;text-decoration:underline}.fix i{color:#fde68a;font-size:13px}.fix small{color:#e2e8f0;font-size:12px}.ai-controls{border-top:1px solid var(--line);padding:10px 12px calc(10px + var(--safe-b));flex-direction:column;gap:8px;display:flex}.status{color:var(--muted);text-align:center;margin:0;font-size:12px}.status.s-listening{color:#86efac}.ai-row{align-items:center;gap:8px;display:flex}.talk{background:linear-gradient(135deg, var(--brand), #8a4dff);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;width:58px;height:58px;font-size:26px;box-shadow:0 6px 20px #6b2ee073}.talk.on{background:linear-gradient(135deg,#16a34a,#22c55e);animation:1.2s infinite pulse;box-shadow:0 0 0 8px #22c55e40}.talk:disabled{opacity:.5}.ai-input{flex:1;gap:6px;min-width:0;display:flex}.ai-input input{border:1px solid var(--line);color:#fff;background:#ffffff0f;border-radius:12px;outline:none;flex:1;min-width:0;padding:10px 12px}.panel-wrap{z-index:20;background:#0206178c;place-items:center;padding:12px;animation:.2s fadein;display:grid;position:fixed;inset:0}.panel{border:1px solid var(--line);background:#0f172a;border-radius:20px;flex-direction:column;width:min(560px,100%);max-height:min(86vh,860px);display:flex;overflow:hidden;box-shadow:0 30px 80px #00000073}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.panel-head h2{margin:0;font-size:18px}.panel-body{padding:14px 16px calc(16px + var(--safe-b));flex-direction:column;gap:12px;display:flex;overflow-y:auto}.panel-body h3{color:#ffd27a;text-transform:uppercase;letter-spacing:.4px;margin:8px 0 0;font-size:14px}.panel-body section{flex-direction:column;gap:8px;display:flex}.room-list,.report-list{flex-direction:column;gap:6px;display:flex}.room-item{text-align:left;border:1px solid var(--line);border-left:4px solid var(--brand);background:#ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.room-item div{flex-direction:column;min-width:0;display:flex}.room-item span{color:var(--muted);font-size:12px}.room-item em{white-space:nowrap;background:#ffffff14;border-radius:999px;padding:3px 8px;font-size:12px;font-style:normal}.room-item em.busy{background:#22c55e40}.room-item em.full{background:#ef44444d}.room-item:hover{background:#ffffff17}.sessions{flex-direction:column;gap:8px;display:flex}.session{border:1px solid var(--line);background:#ffffff0d;border-left:4px solid;border-radius:12px;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.session.live{background:#22c55e1f}.s-time{flex-direction:column;display:flex}.s-time b{font-size:18px}.s-time span,.s-main span{color:var(--muted);font-size:12px}.s-main{flex-direction:column;gap:2px;min-width:0;display:flex}.s-act{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.s-act .btn{padding:8px 10px;font-size:13px}.ok{color:#86efac;font-size:12px;font-style:normal}.stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.stats>div{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;flex-direction:column;padding:10px;display:flex}.stats b{font-size:22px}.stats span{color:var(--muted);font-size:12px}.bullets{color:#e2e8f0;flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;line-height:1.45;display:flex}.tx{flex-direction:column;gap:4px;display:flex}.tx-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;font-size:14px;display:grid}.tx-row small{color:var(--muted);font-size:11px}.plus{color:#86efac}.minus{color:#fca5a5}.chat-list{flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.chat-line{font-size:14px;line-height:1.4}.chat-line b{margin-right:6px}.chat-input{gap:8px;display:flex}.chat-input input{border:1px solid var(--line);color:#fff;background:#ffffff0f;border-radius:12px;outline:none;flex:1;padding:10px 12px;font-size:16px}.player-card{left:50%;bottom:calc(92px + var(--safe-b));background:var(--glass-2);border:1px solid var(--line);z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px;display:flex;position:fixed;transform:translate(-50%)}.player-card>div{flex-direction:column;font-size:13px;display:flex}.player-card span{color:var(--muted);font-size:12px}.pc-act{flex-wrap:wrap;align-items:center;gap:6px;flex-direction:row!important}.report{width:min(600px,100%)}.report .row.gap{padding:12px 16px calc(12px + var(--safe-b));border-top:1px solid var(--line);background:#0f172a;margin:4px -16px -16px;position:sticky;bottom:-16px}.report.loading{text-align:center;align-items:center;gap:14px;padding:36px}.spinner{border:4px solid #ffffff26;border-top-color:var(--brand-2);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.report-head{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#6b2ee059,#1e3a8a59);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.report-head h2{margin:2px 0 0;font-size:20px}.level{background:#0f172a99;border-radius:14px;flex-direction:column;align-items:center;padding:8px 14px;display:flex}.level b{color:#ffd27a;font-size:22px}.level span{color:var(--muted);font-size:11px}.summary{margin:0;font-size:15px;line-height:1.5}.corrections{flex-direction:column;gap:8px;display:flex}.corr{background:#ffffff0d;border-radius:12px;padding:10px 12px}.corr .you{color:#fca5a5;margin:0;-webkit-text-decoration:line-through #fca5a580;text-decoration:line-through #fca5a580}.corr .better{color:#86efac;margin:4px 0;font-weight:700}.corr i{color:#fde68a;font-size:13px;font-weight:400}.corr small{color:#cbd5e1}.words{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.word{background:#ffffff0d;border-radius:12px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.word b{font-size:16px}.word i{color:#fde68a;font-size:13px}.word em{color:#ffd27a;font-size:12px;font-style:normal}.word span{color:#cbd5e1;font-size:13px}.tip{background:#22c55e1f;border-radius:12px;margin:0;padding:10px 12px;font-size:14px;line-height:1.45}.tip.next{background:#3b82f626}@media (max-width:720px){.brand .online,.brand .zh{display:none}.pill{height:34px;padding:0 9px;font-size:12px}.icon{width:34px;height:34px}.zone-banner{top:calc(54px + var(--safe-t));font-size:13px}.sheet{top:auto;left:8px;right:8px;bottom:calc(80px + var(--safe-b));width:auto;max-height:46vh}.sheet.chat-mode{height:60vh;bottom:calc(80px + var(--safe-b))}.act{min-width:52px;padding:5px 6px;font-size:18px}.act span{font-size:10px}.hud-right{flex-wrap:nowrap;gap:4px}.pill.mins{display:none}.sheet-body{gap:9px;padding:10px 12px}.members li{padding:5px 8px}.topic .q{font-size:15px}.minichat{bottom:calc(84px + var(--safe-b))}.panel-wrap{place-items:end center;padding:0}.panel{border-radius:20px 20px 0 0;width:100%;max-height:88vh}.session{grid-template-columns:58px 1fr}.s-act{flex-direction:row;grid-column:1/-1;justify-content:flex-end}.toasts{top:calc(100px + var(--safe-t))}}@media (max-width:720px) and (max-height:700px){.sheet{max-height:44vh}}.lang-switch{white-space:nowrap;font-size:12px}.missions{border-bottom:1px solid var(--line);background:#ffffff08;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.missions.in-report{border:1px solid var(--line);border-radius:12px}.mission{color:#cbd5e1;align-items:flex-start;gap:8px;font-size:13px;line-height:1.35;display:flex}.mission .tick{color:#e2e8f0;background:#ffffff1a;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.mission.done{color:#86efac}.mission.done .tick{color:#fff;background:#16a34a}.phr-toggle{align-self:flex-start;margin-top:2px}.phrases{flex-direction:column;gap:6px;max-height:26vh;display:flex;overflow-y:auto}.phrase{text-align:left;background:#6b2ee01f;border:1px solid #6b2ee04d;border-radius:10px;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.phrase b{font-size:14px}.phrase i{color:#ffd27a;font-size:12px}.phrase small{color:#cbd5e1;font-size:12px}.npc-prompt{left:50%;bottom:calc(92px + var(--safe-b));z-index:8;background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #fb923c99;border-radius:16px;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px;animation:.25s fadein;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.np-title{align-items:center;gap:10px;min-width:0;display:flex}.np-title div{flex-direction:column;min-width:0;display:flex}.np-title small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:42vw;font-size:12px;overflow:hidden}.np-icon{flex:none;font-size:24px}.np-actions{gap:6px;display:flex}.btn.primary.zh{background:linear-gradient(135deg,#b91c1c,#dc2626);box-shadow:0 6px 20px #dc262659}.npc-list{flex-direction:column;gap:6px;display:flex}.npc-list>span{font-size:12px}.npc-item{text-align:left;background:#6b2ee024;border:1px solid #6b2ee066;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.npc-item span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.npc-item small{color:#cbd5e1;font-size:12px}.npc-item em{font-size:18px;font-style:normal}.zone-card{border:1px solid var(--line);border-left:4px solid var(--brand);background:#ffffff0d;border-radius:12px;overflow:hidden}.zc-main{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.zc-main div{flex-direction:column;min-width:0;display:flex}.zc-main span{color:var(--muted);font-size:12px}.zc-main em{white-space:nowrap;background:#ffffff14;border-radius:999px;padding:3px 8px;font-size:12px;font-style:normal}.zc-main em.busy{background:#22c55e40}.zc-main em.full{background:#ef44444d}.zc-main:hover{background:#ffffff0d}.zc-ctx{flex-wrap:wrap;gap:6px;padding:0 12px 10px;display:flex}.ctx-chip{background:#6b2ee02e;border:1px solid #6b2ee073;border-radius:999px;padding:6px 10px;font-size:13px}.ctx-chip small{color:#e3d4ff}.ctx-chip:hover{background:#6b2ee04d}@media (max-width:720px){.npc-prompt{bottom:calc(84px + var(--safe-b));flex-wrap:wrap;justify-content:center}.np-title small{max-width:60vw}.missions{padding:8px 10px}.mission{font-size:12px}}.m-row{align-items:center;gap:8px;display:flex}.m-prog{flex:none;gap:4px;display:flex}.m-prog i{background:#ffffff2e;border-radius:50%;width:10px;height:10px}.m-prog i.on{background:#22c55e;box-shadow:0 0 6px #22c55e}.m-cur{color:#e2e8f0;font-size:13px;line-height:1.35}.m-links{flex-wrap:wrap;gap:6px 14px;display:flex}.m-links .link{font-size:12px}@media (max-width:720px){.sheet.chat-mode{height:64vh}.phrases{max-height:20vh}}.btn.stage{background:var(--stage);color:var(--on-stage);border-color:#0000;font-weight:800;box-shadow:0 8px 24px #ffc23d59}.mic-dot.logo-img{box-shadow:none;background:0 0;width:64px;height:64px}.mic-dot.logo-img img{filter:drop-shadow(0 10px 24px #6b2ee080);width:64px;height:64px;display:block}.brand .logo-img{width:22px;height:22px;display:block}.brand-big .wordmark{width:auto;height:30px;margin-bottom:2px;display:block}.terms{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;max-height:30vh;margin-top:8px;display:grid;overflow-y:auto}.term{text-align:left;color:var(--txt);background:#6b2ee029;border:1px solid #b79bff47;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 9px;display:flex}.term b{font-size:14px}.term i{color:#ffd27a;font-size:12px}.term small{color:var(--muted);font-size:12px}.term:hover{border-color:var(--brand-2)}.ai-sub{cursor:pointer;max-height:32vh;padding:10px 14px 6px;font-size:15px;line-height:1.4;overflow-y:auto}.ai-sub p{margin:0}.ai-sub .sub-busy{letter-spacing:3px;font-style:normal;animation:1s infinite pulse}.head-actions .fold{padding:0 2px;font-size:15px}.m-cur{cursor:pointer}.sheet.chat-mode .missions{flex:none;max-height:42%;overflow-y:auto}.sheet.chat-mode .ai-list{flex:1 1 0;min-height:96px}.sheet.chat-mode .ai-controls{flex:none}.sheet.chat-mode.collapsed .ai-controls{border-top:0;padding-top:4px}@media (max-width:720px){.sheet.chat-mode{left:6px;right:6px;bottom:calc(80px + var(--safe-b));height:auto;max-height:min(calc(var(--app-h,100vh) - 220px - var(--safe-t) - var(--safe-b)), max(330px, calc(var(--app-h,100vh) * .54)))}.sheet.chat-mode .ai-list{flex:auto;min-height:72px}.talking .actionbar,.talking .zone-banner,.talking .minichat{display:none}.talking .sheet.chat-mode{bottom:calc(8px + var(--safe-b))}.sheet.chat-mode .sheet-head{padding:8px 12px}.sheet.chat-mode .sheet-head b,.sheet.chat-mode .sheet-head .lang{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sheet.chat-mode .head-actions{gap:11px;font-size:13px}.sheet.chat-mode .missions{gap:3px;max-height:min(30vh,220px);padding:6px 12px}.sheet.chat-mode .m-row{min-width:0}.sheet.chat-mode .m-cur{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}.sheet.chat-mode .m-links{scrollbar-width:none;flex-wrap:nowrap;gap:12px;overflow-x:auto}.sheet.chat-mode .m-links .link{white-space:nowrap}.sheet.chat-mode .phrases,.sheet.chat-mode .terms{max-height:min(15vh,104px)}.sheet.chat-mode .ai-list{gap:8px;padding:10px}.sheet.chat-mode .bubble{max-width:92%}.sheet.chat-mode .ai-controls{gap:6px;padding:7px 10px 8px}.sheet.chat-mode .status.s-idle:not(.first){display:none}.sheet.chat-mode .talk{width:48px;height:48px;font-size:21px}.ai-input input{padding:10px;font-size:16px}.ai-controls .finish{min-height:38px;padding-top:6px;padding-bottom:6px;font-size:14px}.kb .sheet.chat-mode{top:calc(var(--vv-top,0px) + 6px);height:calc(var(--app-h,100vh) - 12px);max-height:none;bottom:auto}.kb .sheet.chat-mode.collapsed{height:auto}.kb .sheet.chat-mode .finish{display:none}.kb .actionbar,.kb .minichat,.kb .npc-prompt{visibility:hidden}}.near-voice{top:calc(58px + var(--safe-t));z-index:4;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border:1px solid #22c55e8c;border-radius:999px;max-width:calc(100vw - 24px);padding:7px 14px;font-size:13px;font-weight:600;animation:.25s fadein;position:fixed;left:50%;transform:translate(-50%)}.near-voice small{color:var(--muted);font-weight:500}.fb-faces{justify-content:space-between;gap:6px;margin:12px 0;display:flex}.fb-faces button{border:1px solid var(--line);filter:grayscale(.6);background:#ffffff0f;border-radius:14px;flex:1;padding:8px 0;font-size:28px;transition:transform .1s,filter .2s,background .2s}.fb-faces button.on{filter:none;border-color:var(--brand-2);background:#6b2ee059;transform:scale(1.06)}.fb-text,.fb-contact{width:100%;font:inherit;color:var(--txt);border:1px solid var(--line);resize:vertical;background:#ffffff0f;border-radius:12px;margin-bottom:8px;padding:10px 12px;font-size:16px}.fb-text::placeholder,.fb-contact::placeholder{color:var(--muted);opacity:.8}.fb-text:focus,.fb-contact:focus{outline:2px solid var(--brand-2);outline-offset:0}.panel-body>small.muted{margin:0 0 12px;font-size:12px;line-height:1.45;display:block}.quick-rate{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:14px 0 4px;padding:10px 12px;display:flex}.quick-rate>span{margin-right:auto;font-size:14px;font-weight:600}.quick-rate>button:not(.link){border-radius:8px;padding:2px 4px;font-size:24px;transition:transform .1s}.quick-rate>button:not(.link):hover{transform:scale(1.15)}@media (max-width:400px){.pill .unit{display:none}.icon{width:32px}}.panel-head h2 .streak{color:var(--muted);vertical-align:middle;background:#ffffff14;border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:13px;display:inline-flex}.panel-head h2 .streak.on{color:#fdba74;background:#f9731633}.study-tabs{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;gap:4px;padding:3px;display:flex}.study-tabs button{color:var(--muted);white-space:nowrap;border-radius:9px;flex:1;padding:8px 4px;font-size:13px;font-weight:600}.study-tabs button.on{color:#fff;background:#6b2ee066}.seg{border:1px solid var(--line);background:#ffffff0d;border-radius:10px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--muted);white-space:nowrap;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600}.seg button.on{color:#fff;background:#ffffff24}.link.center{align-self:center}.today,.book,.levels,.device,.drill,.placement{flex-direction:column;gap:10px;display:flex}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.today-head>div:first-child:not(.seg){flex-direction:column;gap:2px;display:flex}.today-head b{font-size:16px}.today-head .muted{font-size:12px}.hint-row{text-align:left;color:#fde68a;background:#ffc23d1f;border:1px solid #ffc23d59;border-radius:12px;padding:9px 12px;font-size:13px;line-height:1.45}.steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps li{border:1px solid var(--line);background:#ffffff0d;border-radius:14px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.steps li>div{flex-direction:column;gap:2px;min-width:0;display:flex}.steps li small{color:var(--muted);font-size:12px;line-height:1.4}.steps .n{background:#6b2ee059;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.steps li.done{opacity:.75}.steps li.done .n{color:#bbf7d0;background:#22c55e59}.small-note{margin:0;font-size:12px}.empty-note{margin:4px 0;font-size:13px;line-height:1.5}.cards{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.card-row{border:1px solid var(--line);background:#ffffff0a;border-left:3px solid #fca5a5;border-radius:12px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.card-row.k-word{border-left-color:#93c5fd}.c-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.c-main b{font-size:15px;line-height:1.35}.c-main i{color:#fde68a;font-size:13px}.c-main s{color:var(--muted);font-size:12px}.c-main small{color:#e2e8f0;font-size:12px;line-height:1.4}.c-main em{color:var(--muted);font-size:11px;font-style:normal}.c-act{gap:2px;display:flex}.c-act .icon{width:32px;height:32px;font-size:15px}.drill-top{justify-content:space-between;align-items:center;display:flex}.progress{background:#ffffff14;border-radius:3px;height:5px;overflow:hidden}.progress i{background:linear-gradient(90deg, var(--brand), #c084fc);height:100%;transition:width .3s;display:block}.prompt{background:#ffffff0d;border-radius:14px;flex-direction:column;gap:4px;padding:12px;display:flex}.prompt .label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:11px;font-weight:700}.prompt s{color:#fca5a5;font-size:16px}.prompt .why{color:#e2e8f0;margin:4px 0 0;font-size:13px;line-height:1.45}.target{background:#6b2ee02e;border:1px solid #b79bff59;border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.target b{font-size:19px;line-height:1.4}.target mark{color:#fff;background:#f8717159;border-radius:4px;padding:0 2px}.target i{color:#fde68a;font-size:14px}.target small{color:var(--muted);font-size:13px}.target .link{align-self:flex-start;margin-top:2px}.score{background:#ffffff0d;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.score>div:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.score small{color:var(--muted);word-break:break-word;font-size:12px;line-height:1.4}.score .ring{--c:#f87171;background:conic-gradient(var(--c) var(--p), #ffffff1a 0);border-radius:50%;flex:none;place-items:center;width:58px;height:58px;display:grid}.score .ring b{background:#0f172a;border-radius:50%;place-items:center;width:46px;height:46px;font-size:17px;display:grid}.score.ok .ring{--c:#22c55e}.mic-hold{touch-action:none;-webkit-user-select:none;user-select:none;padding:14px;font-size:15px}.mic-hold.rec{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 0 0 4px #ef444440}.mic-hold.wait{opacity:.8}.type-row{gap:6px;display:flex}.type-row input{min-width:0;color:var(--txt);border:1px solid var(--line);background:#ffffff0f;border-radius:12px;flex:1;padding:9px 12px;font-size:16px}.done-box{text-align:center;align-items:center;padding:10px 0}.done-box .big{font-size:46px}.done-box b{font-size:18px}.level-row{border:1px solid var(--line);background:#ffffff0d;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.level-row>div{flex-direction:column;gap:2px;display:flex}.level-row small{font-size:12px;line-height:1.4}.placement .q{margin:4px 0 0;font-size:18px;font-weight:600;line-height:1.45}.placement .py{color:#fde68a;font-size:13px}.opts{flex-direction:column;gap:6px;display:flex}.opt{text-align:left;border:1px solid var(--line);background:#ffffff0f;border-radius:12px;padding:12px 14px;font-size:15px}.opt:hover,.opt:focus-visible{border-color:var(--brand-2);background:#6b2ee04d}.placement.result{text-align:center;align-items:center}.placement.result .lv{background:linear-gradient(135deg,#ffd27a,#c084fc);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:52px;font-weight:800;line-height:1.1}.placement.result p{margin:0;line-height:1.5}.placement.result .tip{text-align:left}.device h3{margin:0}.dev-box{border:1px solid var(--line);background:#ffffff0d;border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.dev-box .btn{align-self:flex-start}.pair-code{flex-direction:column;gap:2px;display:flex}.pair-code span{letter-spacing:4px;font-variant-numeric:tabular-nums;color:#ffd27a;font-size:34px;font-weight:800}.fix-acts{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fix-saved{color:var(--muted);margin-left:auto;font-size:11px}.pair-link{margin-top:4px;font-size:13px}.pair-form{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.pair-form small{font-size:12px;line-height:1.4}.concierge{left:12px;bottom:calc(92px + var(--safe-b));background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:8;border:1px solid #b79bff73;border-radius:18px;flex-direction:column;width:min(380px,100vw - 24px);max-height:min(58vh,560px);animation:.25s fadein;display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 50px #00000059}.cg-head{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#6b2ee073,#6b2ee01a);align-items:center;gap:10px;padding:10px 10px 10px 12px;display:flex}.cg-head>div{flex-direction:column;flex:1;min-width:0;display:flex}.cg-head small{color:var(--muted);font-size:12px}.cg-av{background:#6b2ee0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.cg-head .icon{width:32px;height:32px}.cg-list{flex-direction:column;flex:auto;gap:8px;min-height:90px;padding:10px 12px;display:flex;overflow-y:auto}.cg-msg{flex-direction:column;gap:4px;max-width:92%;display:flex}.cg-msg p{border-radius:14px;margin:0;padding:9px 12px;font-size:14px;line-height:1.45}.cg-msg.mai{align-self:flex-start}.cg-msg.mai p{background:#ffffff14;border-top-left-radius:4px}.cg-msg.me{align-self:flex-end}.cg-msg.me p{background:linear-gradient(135deg, var(--brand), #8a4dff);color:#fff;border-top-right-radius:4px}.cg-msg i{color:#fde68a;padding:0 4px;font-size:12px}.cg-msg.typing{color:var(--muted);padding:2px 4px;font-size:13px;font-style:italic}.cg-replay{opacity:.75;vertical-align:middle;margin-left:6px;font-size:12px}.cg-go{flex-wrap:wrap;gap:6px;display:flex}.cg-go .chip{color:#fff;text-align:left;background:#6b2ee047;border-color:#b79bff8c;padding:6px 11px;font-size:13px;font-weight:600}.cg-go .chip:hover{background:#6b2ee080}.cg-input{border-top:1px solid var(--line);align-items:center;gap:6px;padding:8px 10px 10px;display:flex}.cg-input form{flex:1;gap:6px;min-width:0;display:flex}.cg-input input{min-width:0;color:var(--txt);border:1px solid var(--line);background:#ffffff0f;border-radius:12px;flex:1;padding:9px 11px;font-size:16px}.cg-input .btn{padding:9px 12px}.cg-mic{background:linear-gradient(135deg, var(--brand), #8a4dff);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;width:44px;height:44px;font-size:20px;box-shadow:0 6px 16px #6b2ee066}.cg-mic.rec{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 0 0 5px #ef444440}.npc-prompt.reception{border-color:#b79bffb3}@media (max-width:720px){.concierge{width:auto;left:8px;right:8px;bottom:calc(80px + var(--safe-b));max-height:min(52vh, calc(var(--app-h,100vh) - 170px))}.kb .concierge{max-height:calc(var(--app-h,100vh) - 24px);bottom:8px}}@media (max-width:720px) and (max-height:620px){.sheet.chat-mode .status.first{display:none}.sheet.chat-mode .talk{width:44px;height:44px}.ai-controls .finish{min-height:34px}}.fr-list{flex-direction:column;gap:6px;display:flex}.fr-row{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.fr-main{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.fr-txt{flex-direction:column;min-width:0;display:flex}.fr-txt b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.fr-txt b small{font-weight:400}.fr-txt>small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.fr-txt>small.on,.dm-title small.on{color:#86efac}.fr-face{border:2px solid #ffffff40;border-radius:50%;flex:none;width:40px;height:40px;position:relative;overflow:hidden}.fr-face img{object-fit:cover;width:100%;height:100%}.fr-face.on:after{content:"";background:#22c55e;border:2px solid #0f172a;border-radius:50%;width:11px;height:11px;position:absolute;bottom:1px;right:1px}.fr-badge{color:#fff;background:#ef4444;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-style:normal;font-weight:800}.fr-act{flex:none;align-items:center;gap:4px;display:flex}.fr-act .icon{background:#ffffff0f;border-radius:10px;width:36px;height:36px;font-size:16px}.fr-act .icon:disabled{opacity:.4}.fr-act .btn{padding:7px 12px;font-size:13px}.fr-menu{justify-content:flex-end;gap:6px;width:100%;display:flex}.fr-menu .btn{padding:6px 10px;font-size:12px}.fr-sent{padding:0 6px;font-size:12px}.fr-empty{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.fr-empty p{color:var(--muted);margin:0;line-height:1.5}.fr-find{flex-direction:column;gap:12px;display:flex}.fr-code{text-align:center;background:#6b2ee02e;border:1px solid #b79bff59;border-radius:16px;align-items:center;padding:14px}.fr-code>b{letter-spacing:3px;font-variant-numeric:tabular-nums;color:#fff;font-size:30px}.fr-code-act{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pc-sent{white-space:nowrap;align-self:center;font-size:12px}.dm-title{align-items:center;gap:8px;min-width:0;display:inline-flex}.dm-title .fr-face{width:32px;height:32px}.dm-title>span{flex-direction:column;min-width:0;font-size:15px;line-height:1.2;display:flex}.dm-title small{color:var(--muted);font-size:11px;font-weight:400}.dm-quick{gap:8px;display:flex}.dm-quick .btn{flex:1}.dm-list{gap:8px;min-height:30vh}.dm-msg{word-break:break-word;background:#ffffff14;border-radius:16px 16px 16px 4px;flex-direction:column;align-self:flex-start;gap:2px;max-width:82%;padding:8px 12px;font-size:14px;line-height:1.4;display:flex}.dm-msg.me{background:#6b2ee08c;border-radius:16px 16px 4px;align-self:flex-end}.dm-msg small{color:#ffffff8c;align-self:flex-end;font-size:10px}.top-alerts{left:50%;top:calc(64px + var(--safe-t));z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);display:flex;position:fixed;transform:translate(-50%)}.top-alerts>*{pointer-events:auto}.call-bar{background:var(--glass-2);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:10px 14px;font-size:14px;display:flex;box-shadow:0 10px 30px #00000059}.call-bar>div{gap:6px;display:flex}.call-bar small{color:var(--muted)}.call-bar.in{border-color:#22c55e99;animation:1.4s ease-in-out infinite call-pulse}.call-bar.on{border-color:#22c55e73}.call-bar.invite{border-color:#b79bff80}.call-bar .btn.ok{color:#fff;background:#16a34a}.call-bar .btn.danger{color:#fff;background:#dc2626}@keyframes call-pulse{50%{box-shadow:0 0 0 6px #22c55e2e}}.brand .online[role=button]{cursor:pointer;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.phrase.cur{background:#ffc23d1f;border-color:#ffd27a99}.phr-more{align-self:flex-start;padding:4px 2px;font-size:13px}.hint-open{color:var(--stage);background:#ffc23d24;border:1px solid #ffc23d59;border-radius:999px;margin-top:6px;padding:4px 10px;font-size:12.5px;display:inline-block}.hints{flex-direction:column;gap:6px;margin-top:8px;display:flex}.hint{border:1px solid var(--line);background:#ffffff0f;border-radius:10px;align-items:center;gap:6px;padding:4px 4px 4px 0;display:flex}.hint-t{text-align:left;flex-direction:column;flex:1;gap:1px;padding:4px 10px;display:flex}.hint-t b{font-size:14px;font-weight:600}.hint-t i{color:var(--brand-2);font-size:12px;font-style:normal}.hint-t small{color:var(--muted);font-size:12px}.hint-note{color:var(--muted);font-size:11.5px}.crit{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.crit-row{background:#ffffff0d;border-radius:10px;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 10px;display:grid}.crit-name{font-size:14px}.crit-lv{color:#fff;background:#6b2ee059;border-radius:999px;align-self:center;padding:1px 9px;font-size:13px}.crit-row small{color:var(--muted);grid-column:1/-1;font-size:12.5px;line-height:1.4}.crit.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.cando{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cando li{align-items:flex-start;gap:8px;font-size:14px;line-height:1.4;display:flex}.cando .tick{color:var(--ok);font-weight:700}.cando small{color:var(--muted);font-size:12px;display:block}.lv-chip{border:1px solid var(--brand-2);color:var(--brand-2);border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px;font-style:normal}.err-tags{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;font-size:12.5px;display:flex}.err-tag{color:#fcd34d;background:#f59e0b26;border-radius:999px;padding:2px 9px}.path{flex-direction:column;gap:14px;display:flex}.path.loading{text-align:center;color:var(--muted);align-items:center;padding:24px 8px}.path section{flex-direction:column;gap:8px;display:flex}.path h3{margin:4px 0 0;font-size:15px}.path p{margin:0;font-size:14px;line-height:1.5}.path-head{border:1px solid var(--line);background:linear-gradient(135deg,#6b2ee059,#ffc23d1f);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.lv-track{gap:4px;display:flex}.lv-track .lv{text-align:center;color:var(--muted);background:#ffffff0f;border-radius:8px;flex:1;padding:6px 0;font-size:12.5px;font-weight:600}.lv-track .lv.past{color:#bbf7d0;background:#22c55e40}.lv-track .lv.now{background:var(--brand);color:#fff;box-shadow:0 0 0 2px var(--brand-2) inset}.lv-track .lv.goal{color:var(--stage);border:1px dashed var(--stage);background:#ffc23d40}.row.gap.small{gap:6px}.focus{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.focus li{line-height:1.45}.focus small{color:var(--muted);font-size:12.5px;display:block}.focus .how{color:#ddd6fe;margin-top:2px;font-size:13px;display:block}.weeks{flex-direction:column;gap:6px;display:flex}.week{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;padding:8px 10px}.week summary{cursor:pointer;font-size:14px;line-height:1.4}.week p{color:#e2e8f0;margin-top:6px;font-size:13px}.week .cando-goal small{color:var(--muted)}.week-sc{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sessions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sessions li{gap:10px;font-size:13.5px;display:flex}.sessions .d{color:var(--muted);min-width:40px;padding-top:1px;font-size:12px}.sessions small{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.4;display:block}.goal-form{background:#ffffff0d;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:10px;display:grid}.goal-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.goal-form select,.path input[type=time]{font:inherit;color:var(--txt);border:1px solid var(--line);background:#0000004d;border-radius:8px;padding:7px 8px}.goal-form .btn{grid-column:1/-1}.coach-note{background:#6b2ee033;border:1px solid #b79bff59;border-radius:14px;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.coach-note p{margin:0;font-size:14px;line-height:1.45}.coach-note small{color:var(--stage);margin-top:4px;font-size:12.5px;line-height:1.4;display:block}.coach-ava{font-size:26px;line-height:1}.steps small.why{color:#ddd6fe;margin-top:2px;display:block}.nudge{z-index:60;left:50%;top:calc(64px + var(--safe-t));background:var(--glass-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #b79bff66;border-radius:16px;flex-direction:column;gap:8px;width:min(420px,100vw - 24px);padding:14px 16px 12px;animation:.35s ease-out nudge-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 40px #00000073}.nudge p{margin:0;font-size:14px;line-height:1.45}.nudge .row{justify-content:flex-end}.nudge-x{color:var(--muted);font-size:20px;position:absolute;top:6px;right:10px}@keyframes nudge-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.path-head .row.gap,.path section .row.gap{justify-content:flex-start;margin-top:0}@media (max-width:400px){.actionbar{justify-content:space-between;gap:2px;padding:4px;left:6px;right:6px;transform:none}.act{flex:1 1 0;min-width:0;padding:5px 1px;font-size:18px}.act span{letter-spacing:-.2px;text-overflow:ellipsis;max-width:100%;font-size:9.5px;overflow:hidden}}.tutor-panel{left:12px;bottom:calc(92px + var(--safe-b));background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:8;border:1px solid #b79bff80;border-radius:20px;flex-direction:column;width:min(400px,100vw - 24px);max-height:min(62vh,620px);animation:.25s fadein;display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 50px #00000059}.tp-head{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#6b2ee080,#6b2ee01f);align-items:center;gap:8px;padding:10px 10px 10px 12px;display:flex}.tp-who{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.tp-who>div{flex-direction:column;min-width:0;display:flex}.tp-who small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tp-ava{color:#fff;background:radial-gradient(circle at 30% 30%,#b79bff,#6b2ee0);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid;box-shadow:0 0 0 2px #ffffff40}.tp-ava.sm{width:28px;height:28px;font-size:13px}.tp-tools{align-items:center;gap:4px;display:flex}.tp-icon{min-width:32px;height:32px;color:var(--muted);background:#ffffff14;border-radius:10px;font-size:13px;font-weight:700}.tp-icon.on{color:#fff;background:#b79bff4d}.tp-lang{background:#ffffff14;border-radius:10px;padding:2px;display:flex}.tp-lang button{color:var(--muted);border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700}.tp-lang button.on{background:var(--brand);color:#fff}.tp-body{scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;padding:10px 12px;display:flex;overflow-y:auto}.tp-more{color:var(--muted);background:#ffffff0f;border-radius:99px;align-self:center;padding:2px 10px;font-size:12px}.tp-tutor{background:#ffffff12;border-radius:4px 16px 16px;flex-direction:column;gap:3px;max-width:94%;padding:10px 12px;display:flex}.tp-tutor.last{background:#b79bff29;border:1px solid #b79bff59}.tp-say{margin:0;font-size:16.5px;font-weight:600;line-height:1.45}.tp-tutor:not(.last) .tp-say{font-size:14px;font-weight:500}.tp-play{opacity:.8;vertical-align:1px;margin-left:6px;font-size:14px}.tp-py{color:#c4b5fd;font-size:13px}.tp-vi{color:var(--muted);font-size:13px;line-height:1.4}.tp-off{color:#fde68a;font-size:11px}.tp-me{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:6px;max-width:92%;display:flex}.tp-me>p{background:var(--brand);border-radius:16px 4px 16px 16px;margin:0;padding:8px 12px;font-size:14.5px;line-height:1.4}.tp-me .fix{width:100%}.tp-ok{color:#86efac;font-size:12px}.tp-typing{background:#ffffff12;border-radius:16px;align-self:flex-start;gap:5px;padding:10px 12px;display:flex}.tp-typing i{background:var(--brand-2);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite tpdot}.tp-typing i:nth-child(2){animation-delay:.15s}.tp-typing i:nth-child(3){animation-delay:.3s}@keyframes tpdot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.tp-board{color:#111;border:2px solid var(--brand);background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:10px;display:flex}.tp-board>b{color:var(--brand);font-size:13px}.tp-board>div{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;display:grid}.tp-board button{text-align:left;color:#111;background:#f3effe;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:26px 1fr;column-gap:4px;padding:6px 8px;display:grid}.tp-board button span{grid-row:span 3;align-self:center;font-size:20px}.tp-board button b{font-size:14px}.tp-board button i{color:#6b2ee0;font-size:11px}.tp-board button small{color:#4a4a4a;font-size:11.5px}.tp-saved{color:#4a4a4a;font-size:11px}.tp-start{flex-direction:column;gap:8px;display:flex}.tp-today{text-align:left;background:linear-gradient(135deg, var(--stage), #ffd978);color:var(--on-stage);border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex;box-shadow:0 6px 18px #ffc23d40}.tp-today>span{font-size:24px}.tp-today div{flex-direction:column;display:flex}.tp-today small{opacity:.8;font-size:12px}.tp-topics{flex-wrap:wrap;gap:6px;display:flex}.tp-topics small{width:100%;color:var(--muted);font-size:12px}.tp-topics button{border:1px solid var(--line);background:#ffffff17;border-radius:99px;padding:7px 11px;font-size:13px}.tp-topics button:hover{background:#b79bff40}.tp-foot{border-top:1px solid var(--line);background:#140a2e99;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.tp-help{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.tp-help::-webkit-scrollbar{display:none}.tp-help button{color:#e9e3ff;background:#ffffff14;border-radius:99px;flex:none;padding:5px 10px;font-size:12px}.tp-help button:disabled{opacity:.4}.tp-input{align-items:center;gap:8px;display:flex}.tp-input form{flex:1;gap:6px;min-width:0;display:flex}.tp-input input{border:1px solid var(--line);min-width:0;color:var(--txt);background:#ffffff12;border-radius:12px;flex:1;padding:10px 12px;font-size:15px}.tp-input .btn{padding:0 12px}.tp-mic{--lv:0;background:radial-gradient(circle at 30% 30%,#b79bff,#6b2ee0);border-radius:50%;flex:none;width:54px;height:54px;font-size:24px;transition:transform .15s;position:relative;box-shadow:0 6px 18px #6b2ee080}.tp-mic:disabled{opacity:.5}.tp-mic.on{transform:scale(calc(1 + var(--lv) * .25));box-shadow:0 0 0 calc(4px + var(--lv) * 14px) #dc262640;background:radial-gradient(circle at 30% 30%,#fca5a5,#dc2626)}.tp-status{color:var(--muted);text-align:center;font-size:11.5px}.tutor-pill{left:12px;bottom:calc(92px + var(--safe-b));z-index:7;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #b79bff80;border-radius:99px;align-items:center;gap:8px;padding:6px 14px 6px 6px;animation:.25s fadein;display:flex;position:fixed;box-shadow:0 10px 30px #0000004d}.tutor-pill small{color:var(--muted);font-size:11px}.tutor-pill.walking{border-color:var(--stage)}.act.tutor-act{background:linear-gradient(135deg,#6b2ee08c,#b79bff40)}.act.tutor-act.on{background:var(--brand)}.tutor-fade{z-index:30;background:#0b0420;place-items:center;animation:.4s tpfade;display:grid;position:fixed;inset:0}.tutor-fade span{color:#fff;background:#6b2ee059;border-radius:99px;padding:10px 18px;font-size:17px;font-weight:700}@keyframes tpfade{0%{opacity:0}to{opacity:1}}@media (max-width:720px){.tutor-panel{width:auto;left:8px;right:8px;bottom:calc(76px + var(--safe-b));max-height:min(56vh, calc(var(--app-h,100vh) - 170px))}.kb .tutor-panel{max-height:calc(var(--app-h,100vh) - 24px);bottom:8px}.tutor-pill{left:8px;bottom:calc(76px + var(--safe-b))}.tp-say{font-size:16px}}.tp-empty{color:var(--muted);text-align:center;padding:14px 4px;font-size:13.5px}.tp-topics{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.tp-topics::-webkit-scrollbar{display:none}.tp-topics small{display:none}.tp-topics button{flex:none}.tp-start>small{color:var(--muted);font-size:12px}.nb-strip{top:calc(58px + var(--safe-t));z-index:5;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:none;border:1px solid #22c55e80;border-radius:999px;align-items:center;gap:6px;max-width:calc(100vw - 16px);padding:5px 6px;animation:.25s fadein;display:flex;position:fixed;left:50%;overflow-x:auto;transform:translate(-50%)}.nb-strip::-webkit-scrollbar{display:none}.nb-strip.in-zone{top:calc(104px + var(--safe-t))}.nb-label{color:#bbf7d0;white-space:nowrap;padding:0 6px;font-size:12px;font-weight:600}.nb-mic{background:var(--stage);color:var(--on-stage);white-space:nowrap;border-radius:99px;flex:none;padding:6px 12px;font-size:12.5px;font-weight:700}.nb-chip{--lv:0;background:#ffffff14;border-radius:99px;flex:none;align-items:center;gap:6px;padding:3px 10px 3px 3px;transition:background .2s;display:flex}.nb-chip.talk{background:#22c55e40}.nb-face{background:var(--c);width:30px;height:30px;box-shadow:0 0 0 2px var(--c);border-radius:50%;place-items:center;transition:box-shadow .1s;display:grid;overflow:hidden}.nb-chip.talk .nb-face{box-shadow:0 0 0 calc(2px + var(--lv) * 4px) #22c55e}.nb-face img{object-fit:cover;width:100%;height:100%}.nb-name{white-space:nowrap;flex-direction:column;align-items:flex-start;font-size:12.5px;font-weight:700;line-height:1.15;display:flex}.nb-name small{color:var(--muted);font-size:10.5px;font-weight:500}.nb-empty{top:calc(58px + var(--safe-t));z-index:5;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;border:1px solid #b79bff73;border-radius:999px;padding:7px 14px;font-size:12.5px;animation:.25s fadein;position:fixed;left:50%;transform:translate(-50%)}.nb-empty b{color:#e9d5ff}.talk-starter{right:12px;bottom:calc(92px + var(--safe-b));z-index:6;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #22c55e73;border-radius:16px;flex-direction:column;gap:8px;width:min(340px,100vw - 24px);padding:10px 12px;animation:.3s fadein;display:flex;position:fixed;box-shadow:0 12px 30px #0000004d}.ts-head{color:var(--muted);justify-content:space-between;align-items:flex-start;gap:8px;font-size:12.5px;display:flex}.ts-head b{color:#fff}.ts-q{text-align:left;background:#ffffff14;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;display:flex}.ts-q b{font-size:15.5px}.ts-q i{color:#c4b5fd;font-size:12px}.ts-q small{color:var(--muted);font-size:12px}.ts-act{gap:6px;display:flex}.ts-act .btn{flex:1;padding:7px 8px;font-size:13px}@media (max-width:720px){.talk-starter{width:auto;left:8px;right:8px;bottom:calc(76px + var(--safe-b))}.nb-name small{display:none}}.ob-why{color:#e9e3ff;flex-direction:column;gap:4px;margin:4px 0 10px;padding:0;font-size:13px;list-style:none;display:flex}.ob-av-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ob-sex{background:#ffffff14;border-radius:10px;padding:2px;display:flex}.ob-sex button{color:var(--muted);border-radius:8px;padding:4px 12px;font-size:12.5px;font-weight:700}.ob-sex button.on{background:var(--brand);color:#fff}.ob-more{color:var(--muted);align-self:flex-start;margin:2px 0 6px;font-size:13px}.btn.danger-soft{color:#fecaca;background:#ef44442e}.pc-report{flex-direction:column;gap:4px;width:100%;display:flex}.pc-report small{color:var(--muted);font-size:12px}.pc-report .btn{text-align:left;padding:7px 10px;font-size:13px}.level .ielts{color:#fde68a;margin-top:2px;font-size:11.5px;font-weight:600;display:block}.nb-empty.gold{border-color:var(--stage);box-shadow:0 0 18px #ffc23d59}@media (max-width:720px){.talk-starter{bottom:calc(128px + var(--safe-b))}}.tp-head{position:relative}.tp-langbtn{color:#fff;padding:0 8px}.tp-langmenu{z-index:3;background:var(--glass-2,#1b1036);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;width:236px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:8px;box-shadow:0 16px 40px #00000073}.tp-langmenu button{text-align:left;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:28px 1fr;column-gap:6px;padding:7px 8px;display:grid}.tp-langmenu button span{grid-row:span 2;align-self:center;font-size:20px}.tp-langmenu button b{font-size:14px}.tp-langmenu button small{color:var(--muted);font-size:11.5px}.tp-langmenu button.on,.tp-langmenu button:hover{background:#b79bff38}.tp-langmenu>small{padding:4px 8px 2px;font-size:11px}.tp-ava img{object-fit:cover;border-radius:50%;width:100%;height:100%}.tp-today.alt{color:#fff;box-shadow:none;background:linear-gradient(135deg,#6b2ee08c,#b79bff59);border:1px solid #b79bff73}.tp-exambar{background:#facc1524;border-bottom:1px solid #facc1559;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.tp-exambar span{color:#fde68a;flex:1;font-weight:700}.tp-exambar b{font-variant-numeric:tabular-nums}.btn.small{border-radius:10px;padding:5px 10px;font-size:12px}.tp-cue{text-align:center;color:#1f1300;background:linear-gradient(135deg,#fde68a,#fbbf24);flex-direction:column;align-items:center;gap:4px;padding:12px;display:flex}.tp-cue-n{font-variant-numeric:tabular-nums;font-size:34px;font-weight:900;line-height:1}.tp-cue small{opacity:.85;max-width:300px;font-size:12px}.tp-cue .btn{margin-top:4px}.tutor-panel.exam .tp-board{border-color:#f59e0b}.tp-local{align-items:stretch;gap:6px;margin-top:4px;display:flex}.tp-local>button:first-child{text-align:left;color:#111;background:#fff;border:2px solid #f59e0b;border-radius:12px;flex:1;grid-template-rows:auto auto auto;grid-template-columns:24px 1fr;column-gap:6px;padding:7px 9px;display:grid}.tp-local>button:first-child span{grid-row:span 3;align-self:center;font-size:18px}.tp-local b{font-size:15px}.tp-local i{color:#b45309;font-size:12px;font-style:normal}.tp-local small{color:#4a4a4a;font-size:12px}.tp-try{background:#f59e0b40;border:1px solid #f59e0b99;border-radius:12px;flex:none;padding:0 10px;font-size:12.5px;font-weight:700}.tp-kiosks{flex-wrap:wrap;gap:6px;display:flex}.tp-kiosks button{border:1px solid var(--line);background:#ffffff17;border-radius:99px;padding:7px 11px;font-size:13px}.tp-kiosks button:hover{background:#f59e0b40}.tutor-panel.guide{border-color:#f59e0b99}.tutor-panel.guide .tp-head{background:linear-gradient(135deg,#b453098c,#6b2ee033)}.tp-progs{flex-direction:column;gap:8px;display:flex}.tp-progs-head{justify-content:space-between;align-items:center;display:flex}.tp-progs>small{font-size:12px;line-height:1.4}.tp-prog{border:1px solid var(--line);background:#ffffff0f;border-radius:14px;overflow:hidden}.tp-prog.open{border-color:#b79bff8c}.tp-prog-head{text-align:left;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.tp-prog-ic{flex:none;font-size:26px}.tp-prog-head>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tp-prog-head b{font-size:14px}.tp-prog-head small{color:var(--muted);font-size:11.5px}.tp-prog-bar{background:#ffffff1a;border-radius:4px;height:4px;margin-top:3px;overflow:hidden}.tp-prog-bar i{background:linear-gradient(90deg, var(--brand), #c084fc);height:100%;display:block}.tp-prog-n{color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;font-size:12px;display:flex}.tp-prog-n em{color:#fde68a;font-style:normal;font-weight:700}.tp-units{flex-direction:column;gap:5px;padding:0 10px 10px;display:flex}.tp-units>small{font-size:11.5px;line-height:1.4}.tp-level{align-items:center;gap:8px;font-size:12.5px;display:flex}.tp-level select{font:inherit;color:var(--txt);border:1px solid var(--line);background:#ffffff14;border-radius:8px;padding:4px 8px}.tp-unit{text-align:left;background:#ffffff0d;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.tp-unit>span{text-align:center;width:22px;color:var(--muted);flex:none}.tp-unit>div{flex-direction:column;flex:1;min-width:0;display:flex}.tp-unit b{font-size:13.5px}.tp-unit small{color:var(--muted);font-size:11.5px;line-height:1.35}.tp-unit em{color:#fde68a;flex:none;font-size:12px;font-style:normal;font-weight:700}.tp-unit em.go{color:var(--brand-2)}.tp-unit.next{background:#6b2ee02e;border-color:#b79bff99}.tp-unit.done>span{color:#86efac}.tp-unit.exam{background:#facc1514}.tp-unit:hover{background:#b79bff2e}.exam-result{left:12px;bottom:calc(92px + var(--safe-b));color:#111;z-index:9;background:#fff;border-radius:20px;flex-direction:column;width:min(440px,100vw - 24px);max-height:min(78vh,720px);animation:.25s fadein;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 60px #0006}.exam-result header{color:#fff;background:linear-gradient(135deg,#6b2ee0,#8a4dff);flex-direction:column;gap:2px;padding:14px 16px 12px;display:flex}.exam-result header small{opacity:.85;font-size:12px}.exam-result header>b{font-size:15px}.er-overall{justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;display:flex}.er-overall span{opacity:.85;font-size:12px}.er-overall strong{font-size:26px;font-weight:900}.er-body{flex-direction:column;flex:1;gap:10px;padding:12px 16px;font-size:14px;line-height:1.45;display:flex;overflow-y:auto}.er-body p{margin:0}.er-crit{border-collapse:collapse;width:100%;font-size:13px}.er-crit th,.er-crit td{vertical-align:top;text-align:left;border-bottom:1px solid #ececec;padding:6px 4px}.er-crit th{color:#111;width:34%;font-weight:700}.er-crit td.sc{color:#6b2ee0;white-space:nowrap;width:52px;font-weight:900}.er-crit td:last-child{color:#4a4a4a}.er-list b{font-size:13px}.er-list ul{color:#333;margin:4px 0 0;padding-left:18px}.er-model{background:#f6f3ff;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.er-model small{color:#4a4a4a}.er-model .you{color:#7c2d12;font-size:13px}.er-model .better{font-weight:700}.er-words>div{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.er-words button{text-align:left;color:#111;background:#f3effe;border-radius:10px;flex-direction:column;padding:6px 9px;display:flex}.er-words button i{color:#6b2ee0;font-size:11px;font-style:normal}.er-words button small{color:#4a4a4a;font-size:11.5px}.er-note{font-size:11.5px;color:#4a4a4a!important}.exam-result footer{padding:10px 16px calc(10px + var(--safe-b));border-top:1px solid #ececec;flex-wrap:wrap;gap:8px;display:flex}.exam-result footer .btn{color:#111;background:#f1f1f4;border-color:#e3e3ea}.exam-result footer .btn.primary{color:#fff;background:linear-gradient(135deg, var(--brand), #8a4dff)}.country-banner{border-left-color:#f59e0b}.country-banner b{align-items:center;gap:6px;display:flex}.country-banner img{object-fit:cover;border-radius:3px;width:22px;height:16px;box-shadow:0 0 0 1px #ffffff4d}.country-banner .link{font-size:12px}.act.on{background:#b79bff38}.wp{flex-direction:column;gap:10px;display:flex}.wp h3{margin:6px 0 0;font-size:14px}.wp-search{width:100%;font:inherit;border:1px solid var(--line);color:var(--txt);background:#ffffff12;border-radius:12px;padding:10px 12px;font-size:16px}.wp-ct{flex-wrap:wrap}.wp-flag{object-fit:cover;background:#ffffff14;border-radius:4px;flex:none;width:30px;height:22px;box-shadow:0 0 0 1px #ffffff2e}.wp-flag.big{border-radius:8px;width:72px;height:54px}.wp-feat{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;display:grid}.wp-feat button{border:1px solid var(--line);background:#ffffff0f;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;font-size:12.5px;display:flex;position:relative}.wp-feat button:hover,.wp-list button:hover{border-color:var(--brand-2);background:#6b2ee02e}.wp-list{flex-direction:column;gap:4px;display:flex}.wp-list button{text-align:left;background:#ffffff0a;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:7px 10px;display:flex}.wp-list button.here{border-color:#f59e0b}.wp-list span{flex-direction:column;flex:1;min-width:0;display:flex}.wp-list b{font-size:14px}.wp-list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.wp-n{color:#86efac;flex:none;font-size:11px;font-style:normal}.wp-feat .wp-n{position:absolute;top:4px;right:6px}.wp-card{flex-direction:column;gap:10px;display:flex}.wp-card .link{align-self:flex-start}.wp-card-head{align-items:center;gap:12px;display:flex}.wp-card-head h3{margin:0;font-size:20px}.wp-card-head small{color:var(--muted)}.wp-facts{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px;display:grid}.wp-facts dt{color:var(--muted)}.wp-facts dd{margin:0}.wp-wiki{color:#e2e8f0;margin:0;font-size:13.5px;line-height:1.5}.wp-home{border-color:#f59e0b}.small{font-size:13px}.travel-curtain{z-index:50;opacity:0;pointer-events:none;background:linear-gradient(160deg,#0c4a6e,#1e1b4b);place-items:center;transition:opacity .45s;display:grid;position:fixed;inset:0}.travel-curtain.on{opacity:1;pointer-events:auto}.travel-curtain>div{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:14px;padding:0 24px;font-size:18px;display:flex}.travel-curtain .plane{font-size:54px;animation:1.6s ease-in-out infinite fly}@keyframes fly{0%{transform:translate(-60px)rotate(-8deg)}50%{transform:translate(60px)rotate(4deg)}to{transform:translate(-60px)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.travel-curtain .plane{animation:none}}@media (max-width:720px){.exam-result{width:auto;left:8px;right:8px;bottom:calc(8px + var(--safe-b));max-height:86vh}.tp-langmenu{right:4px}}.exam-result footer .btn{flex:auto;padding:9px 12px;font-size:14px}.exam-result footer .btn.primary{white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;order:-1;overflow:hidden}.tp-cue{padding:9px 12px}.tp-cue-n{font-size:28px}.nb-leave{color:#fecaca;white-space:nowrap;background:#ef44442e;border:1px solid #ef444473;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:700}.talk-invites{top:calc(112px + var(--safe-t));z-index:12;flex-direction:column;gap:8px;width:min(420px,100vw - 16px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.ti-card{background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #22c55e99;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;padding:12px;animation:.25s fadein;display:grid;box-shadow:0 16px 40px #0006}.ti-ic{font-size:28px}.ti-card>div:nth-child(2){font-size:14.5px;line-height:1.4}.ti-card small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.ti-act{grid-column:1/-1;gap:8px;display:flex}.ti-act .btn{flex:1}.player-card span+span{display:block}.ts-act{flex-wrap:wrap}.ts-act .btn{white-space:nowrap}.ts-act .btn.primary{flex-basis:100%}.ob-lang{align-self:flex-end;align-items:center;gap:6px;margin-bottom:-6px;font-size:14px;display:inline-flex}.ob-lang select{font:inherit;color:inherit;border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:10px;padding:6px 10px}.ob-lang select option{color:#0f172a}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
