:root{--primary: #2f80ed;--primary-dark: #1b5fc0;--green: #27c69a;--red: #f56565;--err: #f56565;--gold: #f59e0b;--bg: #f2f7fb;--bg2: #e9f2ec;--card: #ffffff;--panel2: #edf3f8;--text: #243447;--muted: #6b7c93;--border: #e3ebf3;--line2: #cfdcea;--key-bg: #ffffff;--key-border: #d5dfe9;--header-bg: #203764;--hero-a: #2f80ed;--hero-b: #56ccf2;--bub-bg: #fffdf6;--bub-ink: #243447;--bub-line: #243447;--perch1: #8a6b4f;--perch2: #6fa07a;--perch3: #b08a5e;--env-hillF: #c7e3c2;--env-hillN: #b7d8ac;--env-grass: #a9cba0;--env-cloud: #ffffff;--env-cloudOp: .9;--env-star: 0;--env-sun: 1;--env-moon: 0;--charFilter: none}body.dark{--bg: #1d2b4c;--bg2: #223254;--card: #172A46;--panel2: #223254;--text: #d4dce8;--muted: #7e92a8;--primary: #2f80ed;--err: #f2707e;--gold: #f0c26b;--border: #2e4460;--line2: #3a4c73;--section-bg: rgba(255,255,255,.04);--section-head-bg: rgba(255,255,255,.1);--key-bg: #243244;--key-border: #34455c;--header-bg: #203764;--hero-a: #2f80ed;--hero-b: #56ccf2;--bub-bg: #2e4066;--bub-ink: #edf2fc;--bub-line: #141f3c;--perch1: #6e5a44;--perch2: #5e8a6b;--perch3: #8a6b4f;--env-hillF: #26375c;--env-hillN: #2c3f66;--env-grass: #2e4a73;--env-cloud: #8fa3c2;--env-cloudOp: .14;--env-star: 1;--env-sun: 0;--env-moon: 1;--charFilter: brightness(1.07) saturate(1.05)}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable;overflow-y:scroll;scroll-padding-top:72px;overflow-x:clip}body{font-family:Segoe UI,Inter,system-ui,sans-serif;background:linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text);line-height:1.6;transition:background .25s,color .25s}.header{background:var(--header-bg);color:#fff;position:sticky;top:0;z-index:102}.header-inner{max-width:1440px;margin:0 auto;padding:12px 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}.logo{font-size:1.35rem;font-weight:800;letter-spacing:-.5px;white-space:nowrap;justify-self:start}.logo span{color:#6db3ff}.logo-play{display:inline-block;animation:logoPlaySpin 4s ease-in-out infinite}@keyframes logoPlaySpin{0%,80%,to{transform:rotate(0)}85%{transform:rotate(20deg)}90%{transform:rotate(-15deg)}95%{transform:rotate(10deg)}to{transform:rotate(0)}}.main-nav{display:flex;gap:6px;justify-self:center}.main-nav a{color:#cfd9e4;text-decoration:none;font-weight:600;font-size:.92rem;padding:6px 14px;border-radius:20px}.main-nav a:hover{color:#fff}.main-nav a.active{background:#ffffff26;color:#fff}.header-right{display:flex;align-items:center;gap:12px;justify-self:end}.header-stats{display:flex;gap:8px}.stat-pill{background:#ffffff1f;padding:3px 12px;border-radius:20px;font-size:.82rem;white-space:nowrap;min-width:62px;text-align:center;font-variant-numeric:tabular-nums}.stat-pill.stat-rank{position:relative;overflow:hidden;min-width:118px;font-weight:700;border:0;color:inherit;font-family:inherit;line-height:inherit;cursor:pointer;transition:background .15s}.stat-pill.stat-rank:hover{background:#ffffff38}.stat-pill.stat-rank:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.stat-pill.stat-rank:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--xp, 0%);background:linear-gradient(90deg,#ffd23f,#4ade80);transition:width .6s ease}.gear{color:#cfd9e4;font-size:1.2rem}.gear:hover{color:#fff}.header-settings{display:flex;align-items:center;gap:7px;background:var(--primary);color:#fff;border:none;border-radius:22px;padding:8px 18px;font-family:inherit;font-weight:700;font-size:.9rem;cursor:pointer;transition:filter .15s,transform .15s;white-space:nowrap}.header-settings:hover{filter:brightness(1.12);transform:translateY(-1px)}.header-settings svg{flex-shrink:0}@media(max-width:1600px){.header-settings{font-size:0;gap:0;padding:9px 11px}.header .header-greeting{width:150px;min-width:150px;max-width:150px}}.header-account{display:flex;align-items:center;gap:8px}.header-account-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#fff;padding:5px 12px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.header-account-btn:hover{background:#ffffff1f;border-color:#ffffff59}.header-account-btn.user{display:flex;align-items:center;gap:6px;padding:4px 10px}.user-avatar{font-size:1rem}.user-name{font-size:.78rem;font-weight:600}.header-user-info{position:relative}.user-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:6px 0;min-width:160px;box-shadow:0 8px 24px #00000026;z-index:200}.user-dropdown button{display:block;width:100%;text-align:left;padding:8px 16px;border:none;background:none;cursor:pointer;font-size:.85rem;color:var(--text);font-family:inherit}.user-dropdown button:hover{background:#2f80ed14}.user-dropdown button[data-action=signout]{border-top:1px solid var(--border);margin-top:4px;padding-top:10px;color:#e74c3c}.icon-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:6px 10px;border-radius:8px;font-size:1.15rem}.icon-btn:hover{background:#8096b426;color:var(--text)}.icon-btn .lang-name{font-size:.7rem;font-weight:600;letter-spacing:.3px}.view-title{font-size:1.6rem;margin-bottom:4px}.view-sub{color:var(--muted);margin-bottom:26px}html.k2-lesson-boot:not(.k2-lesson-ready) .lesson-overview-wrap{visibility:hidden}.lesson-overview-wrap{padding-top:0;padding-bottom:0;scroll-margin-top:16px}.lesson-overview{max-width:1100px;margin:24px auto 26px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text)}.lesson-overview-title{font-size:1.5rem;line-height:1.25;margin:0 0 8px}.lesson-overview-intro{color:var(--muted);line-height:1.55}.lesson-overview h2{font-size:1.15rem;margin:0 0 6px}.lesson-overview h3{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}.lesson-overview p{margin:0 0 8px}.lesson-objective{line-height:1.55}.lesson-meta{color:var(--muted);font-size:.88rem}.lesson-start{margin:14px 0 2px}.lesson-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;color:var(--muted);font-size:.82rem}.lesson-breadcrumb a{color:var(--primary);font-weight:600;text-decoration:none}.lesson-breadcrumb a:hover{text-decoration:underline}.lesson-breadcrumb-sep{color:var(--muted)}.lesson-practice p{line-height:1.55}.lesson-practice-sample{margin-top:8px}.lesson-overview .lesson-sample-label{margin:0 0 4px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lesson-words{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.lesson-word{padding:2px 7px;border:1px solid var(--key-border);border-radius:6px;background:var(--key-bg);color:var(--text);font:600 .82rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lesson-sample-more{display:inline-block;margin-top:6px;color:var(--muted);font-size:.82rem}.lesson-sample-line{margin:0;padding:8px 12px;border-left:3px solid var(--primary);background:#3b82f614;color:var(--muted);font-style:italic;line-height:1.5}.lesson-tips{margin:0;padding-left:18px;line-height:1.55}.lesson-tips li{margin:6px 0}.lesson-tips strong{color:var(--text)}.lesson-nav-next{font-weight:700}.lesson-key-block{margin-top:4px}.lesson-keys{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.lesson-key{display:inline-block;padding:2px 7px;border:1px solid var(--key-border);border-radius:6px;background:var(--key-bg);color:var(--text);font:600 .82rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lesson-fingers{margin:0;padding-left:18px;color:var(--muted);font-size:.9rem}.lesson-fingers li{margin:2px 0}.lesson-count{font-weight:400;letter-spacing:0;text-transform:none}.lesson-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-weight:600}.lesson-links a,.lesson-nav a{color:var(--primary)}.lesson-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:.9rem}@media(max-width:640px){.lesson-overview{padding:14px 16px}}.games-view,body.dark .games-view{background:transparent}body.on-kids-game #gameHub,body.on-kids-game #proGames,body.on-kids-game #gamesHero{display:none!important}body.dark #ghSections h3{color:#e8f1fb!important}body.dark .tq-mode-card{background:var(--card);box-shadow:0 4px 14px #00000073,0 1px 3px #0006}body.dark .tq-mode-card:hover{background:#1e3858}body.dark .tq-mode-name{color:#e8f1fb}body.dark .tq-mode-desc{color:#8ba1bd}body.dark .tq-mode-progress{border-top-color:#ffffff24}body.dark .tq-mode-stars-label{color:#8ba1bd}body.dark .tq-difficulty-bar{background:var(--card);box-shadow:0 4px 14px #00000073,0 1px 3px #0006}body.dark .tq-difficulty-label{color:#e8f1fb}body.dark .tq-difficulty-btn{background:#ffffff0f;border-color:#ffffff29;color:#dbe6f5}body.dark .tq-difficulty-btn:hover{border-color:#3b82f6;color:#7de3f0}body.dark .tq-difficulty-hint{color:#8ba1bd}body.dark .tq-ach-badge{background:var(--card);box-shadow:0 4px 14px #00000073,0 1px 3px #0006}body.dark .tq-btn-ghost{background:#ffffff14;border-color:#fff3;color:#dbe6f5}body.dark .tq-btn-ghost:hover{color:#7de3f0;border-color:#3b82f6;background:#ffffff1f}body.dark .tq-logo-text p{color:#8ba1bd}#pageMsg{position:fixed;bottom:88px;right:24px;z-index:101;max-width:320px;border-radius:10px;display:none;align-items:flex-start;gap:8px;font-size:.78rem;color:#fff;background:#203764;padding:10px 14px;line-height:1.4;box-shadow:0 2px 12px #00000040;max-height:40vh;overflow-y:auto;height:auto}#pageMsg:not(:empty){display:flex}body.lesson-active #pageMsg{bottom:62px;top:auto}body.lesson-active .header{display:none!important}.pageMsg-toggle{position:fixed;bottom:20px;right:20px;z-index:102;width:32px;height:32px;border-radius:50%;border:none;background:#203764;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #00000040}.pageMsg-toggle:hover{background:#1a2e5a}@media(max-width:760px){#pageMsg{left:16px;right:16px;bottom:76px;max-width:none}}#pageMsg .msg-icon{flex-shrink:0;font-size:1rem;margin-top:1px}#pageMsg b{color:#5eead4}.page-wrap{max-width:1100px;margin:0 auto;padding:34px 24px 60px}.hero{background:linear-gradient(135deg,var(--hero-a) 0%,var(--hero-b) 100%);color:#fff;text-align:center;padding:32px 24px 24px}#gamesHero{padding-bottom:12px}.hero h1,.hero p.h1{font-size:1.8rem;font-weight:800;max-width:700px;margin:0 auto 8px}.hero h1 em,.hero p.h1 em{font-style:normal;color:#d7f0ff}.hero p{max-width:560px;margin:0 auto 16px;opacity:.95;font-size:.95rem}.progress-strip{text-align:center;padding:12px;color:var(--muted);font-weight:600;background:var(--card);border-bottom:1px solid var(--border);font-size:.95rem}.progress-strip .dot{margin:0 10px}.level-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;padding:10px 14px 14px;background:var(--card);border-bottom:1px solid var(--border)}.level-track:empty{display:none}.level-track .lt-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:56px;opacity:.5}.level-track .lt-item.active,.level-track .lt-item.done{opacity:1}.level-track .lt-bar{width:100%;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.level-track .lt-fill{height:100%;border-radius:999px;background:var(--primary);transition:width .3s}.level-track .lt-item.done .lt-bar,.level-track .lt-item.done .lt-fill{background:#16a34a}.level-track .lt-label{font-size:.72rem;font-weight:800;color:var(--muted);letter-spacing:.5px}.level-track .lt-item.active .lt-label{color:var(--primary)}.level-track .lt-summary{font-size:.78rem;font-weight:700;color:var(--muted);margin-left:6px}body.focus-mode .level-track{display:none}.btn{border:none;cursor:pointer;font-family:inherit;font-weight:600;border-radius:30px;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.btn.primary{background:var(--primary);color:#fff;padding:11px 28px}.btn.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn.big{font-size:1.05rem;padding:14px 40px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;text-align:center}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--muted);padding:9px 24px;min-width:100px}.btn.ghost:hover{border-color:var(--primary);color:var(--primary)}.btn.ghost.small{padding:6px 16px;min-width:0}.view-tabs{display:inline-flex;gap:4px;background:var(--panel2);border:1px solid var(--border);border-radius:999px;padding:4px}.view-tab{border:none;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.85rem;border-radius:999px;padding:6px 16px;cursor:pointer}.view-tab:hover{color:var(--text)}.view-tab.active{background:var(--primary);color:#fff}.btn.primary.small{padding:8px 20px;font-size:.88rem}.btn.primary.small:visited{color:#fff}a.btn.primary.small,a.btn.primary.small:visited,a.btn.primary.small:hover{text-decoration:none}.btn.hero-seg.ghost{background:#ffffff29;border:2px solid rgba(255,255,255,.8);color:#fff}.btn.hero-seg.ghost:hover{background:#ffffff47;border-color:#fff;color:#fff;transform:translateY(-1px)}#exitBtn{background:var(--primary);color:#fff;border-color:var(--primary);margin-left:64px}#exitBtn:hover{background:var(--primary-dark);border-color:var(--primary-dark)}#exitBtn.pulse-close{animation:pulseClose .5s ease 2;box-shadow:0 0 0 4px #2f80ed59}@keyframes pulseClose{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.btn.secondary{background:var(--border);color:var(--text);padding:11px 28px}.btn.secondary:hover{background:var(--muted);color:#fff}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}.lessons{max-width:1100px;margin:0 auto;padding:36px 24px 10px}.lesson-group{margin-bottom:40px}.lesson-group h2{font-size:1.4rem;margin-bottom:2px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.group-icon{font-size:1.3rem}.section-subtitle{font-size:.82rem;font-weight:500;color:var(--muted)}.lesson-group .sub{color:var(--muted);font-size:.92rem;margin-bottom:0}.lesson-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:760px){.lesson-grid{grid-template-columns:repeat(3,1fr)}.lesson-grid>*{min-width:0}#lessons .lesson-num{font-size:1.2rem;top:12px;left:12px;opacity:.65}#lessons .lesson-lock{top:12px;right:12px}#lessons .lesson-lock .material-symbols-rounded{font-size:17px}#lessons .lesson-done-badge{top:12px;right:12px;width:22px;height:22px}#lessons .lesson-done-badge .material-symbols-rounded{font-size:15px}}@media(max-width:520px){.lesson-grid{grid-template-columns:repeat(2,1fr)}}.lesson-group{position:relative;padding-left:18px;margin-left:8px;scroll-margin-top:90px}.lesson-group h2 .lvl-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.6px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;margin-left:8px}.lesson-card.seq-pulse{animation:seqPulse 1.2s ease;border-color:#3b82f6!important}@keyframes seqPulse{0%,to{transform:scale(1);box-shadow:0 0 #3b82f600}50%{transform:scale(1.03);box-shadow:0 0 0 8px #3b82f640}}.lesson-card[data-level="1"]{border-left:3px solid #10B981}.lesson-card[data-level="2"]{border-left:3px solid #3B82F6}.lesson-card[data-level="3"]{border-left:3px solid #F59E0B}.lesson-card[data-level="4"]{border-left:3px solid #8B5CF6}.lesson-card[data-level="5"]{border-left:3px solid #EF4444}.lesson-card[data-level="6"]{border-left:3px solid #EC4899}.lesson-card[data-level="7"]{border-left:3px solid #6366F1}.lesson-card[data-level="8"]{border-left:3px solid #14B8A6}.lesson-card[data-level="9"]{border-left:3px solid #F97316}#lessons .lesson-card[data-level]{border-left:1px solid var(--border)}.lesson-card[data-kind=intro]{border-top:3px solid #6366F1}.lesson-card[data-kind=learn]{border-top:3px solid #3B82F6}.lesson-card[data-kind=practice]{border-top:3px solid #F59E0B}.lesson-card[data-kind=play]{border-top:3px solid #A855F7}#lessons .lesson-card[data-kind]{border-top:1px solid var(--border)}.kind-pill{font-size:.6rem;font-weight:800;letter-spacing:.8px;padding:2px 10px;border-radius:999px;white-space:nowrap;align-self:center;margin:8px auto 0}.kind-intro{background:#e0e7ff;color:#3730a3}.kind-learn{background:#dbeafe;color:#1d4ed8}.kind-practice{background:#fef3c7;color:#92400e}.kind-play{background:#e9d5ff;color:#6b21a8}body.dark .kind-intro{background:#6366f140;color:#c7d2fe}body.dark .kind-learn{background:#3b82f640;color:#bfdbfe}body.dark .kind-practice{background:#f59e0b40;color:#fde68a}body.dark .kind-play{background:#a855f740;color:#e9d5ff}.play-game{font-size:.68rem;color:var(--muted);margin-top:4px;font-weight:700}.lesson-card .lesson-name{margin-bottom:2px}.lesson-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 16px 16px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;min-height:170px;display:flex;flex-direction:column;align-items:center;overflow:hidden}body:not(.dark) .lesson-card{box-shadow:0 2px 10px #00000014}body:not(.dark) .lesson-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #2f80ed2e,0 0 0 1px #2f80ed40;border-color:#2f80ed66}body.dark .lesson-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 0 15px #6db3ff40,0 0 30px #6db3ff1a,0 8px 20px #0000004d;border-color:#6db3ff73}a.lesson-card,a.lesson-card:visited,a.lesson-card:hover,a.lesson-card:active{color:inherit;text-decoration:none}.lesson-num{position:absolute;top:14px;left:14px;font-weight:800;color:var(--text);font-size:1.6rem;opacity:.5;line-height:1}.lesson-lock{position:absolute;top:14px;right:14px;opacity:.45}.lesson-lock .material-symbols-rounded{font-size:20px;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}.lesson-icon{font-size:50px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 48;line-height:1}.lesson-icon-flip{transform:scaleX(-1)}body:not(.dark) .lesson-icon{color:#4a5e78}body.dark .lesson-icon{color:#8fa4b8}.lesson-keys{font-weight:800;font-size:1.6rem;letter-spacing:4px;color:var(--primary);line-height:1}.lesson-center{flex:1;display:flex;align-items:center;justify-content:center}.lesson-name{font-size:.82rem;color:var(--text);line-height:1.3;opacity:.75;transition:opacity .2s,font-weight .2s}.lesson-card:hover .lesson-name{opacity:1;font-weight:700}.lesson-done-badge{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center}.lesson-done-badge .material-symbols-rounded{font-size:16px;font-variation-settings:"FILL" 1,"wght" 700,"GRAD" 0,"opsz" 20}#lessons .lesson-card{min-height:196px;padding:14px 12px 12px}#lessons .kind-pill{order:1;margin:0 auto 8px}#lessons .play-game{order:3}#lessons .lesson-icon{font-size:60px}#lessons .lesson-keys{font-size:1.75rem;letter-spacing:3px}#lessons .lesson-name{align-self:stretch;order:2;margin:8px -12px -12px;padding:9px 10px 11px;border-top:2px solid var(--border);background:var(--bg);border-radius:0 0 12px 12px;min-height:calc(2.6em + 22px);display:flex;align-items:center;justify-content:center;text-align:center}#lessons .lesson-card[data-level="1"] .lesson-name{border-top-color:#10b981}#lessons .lesson-card[data-level="2"] .lesson-name{border-top-color:#3b82f6}#lessons .lesson-card[data-level="3"] .lesson-name{border-top-color:#f59e0b}#lessons .lesson-card[data-level="4"] .lesson-name{border-top-color:#8b5cf6}#lessons .lesson-card[data-level="5"] .lesson-name{border-top-color:#ef4444}#lessons .lesson-card[data-level="6"] .lesson-name{border-top-color:#ec4899}#lessons .lesson-card[data-level="7"] .lesson-name{border-top-color:#6366f1}#lessons .lesson-card[data-level="8"] .lesson-name{border-top-color:#14b8a6}#lessons .lesson-card[data-level="9"] .lesson-name{border-top-color:#f97316}@media(min-width:761px){#lessons .kind-pill{font-size:.55rem;padding:1px 8px}}.footer{text-align:center;padding:26px;color:var(--muted);font-size:.88rem}.player{display:none;width:100%;min-height:70vh;background:var(--bg);flex-direction:column;scroll-margin-top:78px}.player.open{display:flex}.player-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 8px;gap:12px;min-height:38px;position:relative}.player-top .player-nav{position:absolute;left:50%;transform:translate(-50%);width:min(780px,94vw);max-width:min(780px,94vw);justify-content:space-between;align-items:center;z-index:2}#exitBtn{display:inline-flex;align-items:center;justify-content:center;height:30px;line-height:1;vertical-align:middle;padding-top:0;padding-bottom:0;box-sizing:border-box;margin-left:165px}#prevBtn,#skipBtn,.player-top .player-icons .icon-btn,.player-top .player-title{display:inline-flex;align-items:center;justify-content:center;height:30px;line-height:1;vertical-align:middle;padding-top:0;padding-bottom:0;box-sizing:border-box}.player-top .player-icons .icon-btn{padding-left:10px;padding-right:10px}.player-top .player-title{justify-content:flex-start;padding-left:8px;padding-right:8px}.player-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;z-index:2;width:min(780px,94vw);max-width:100%;margin:0 auto;padding:0;box-sizing:border-box}.player-nav .btn.small{max-width:220px;white-space:nowrap;line-height:1.3;text-align:center;flex-shrink:0}#prevBtn,#skipBtn{background:#203764;color:#fff;border-color:#203764;margin:0}#prevBtn:hover,#skipBtn:hover{background:#1a2e5a;border-color:#1a2e5a;color:#fff}.player-title{font-weight:700;color:var(--muted);text-align:center;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}.player-icons{display:flex;gap:2px;flex-shrink:0}.popover{position:fixed;top:52px;right:14px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;z-index:150;width:310px;box-shadow:0 16px 38px #0000002e;animation:popIn .15s ease}.pop-row{display:flex;align-items:center;justify-content:space-between;font-weight:600;padding:4px 0 10px;cursor:pointer}.pop-row input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.pop-row select{font-family:inherit;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text)}.pop-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:700;margin:6px 0 8px}.key-intro{flex:1;display:flex;flex-direction:column;align-items:center;padding:2px 20px 8px;overflow:visible}.key-intro-label{font-size:.78rem;letter-spacing:2px;color:var(--muted);font-weight:600}.key-intro-title{margin:6px 0 10px;font-size:1.5rem;font-weight:600;text-align:center;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%}.key-badge{display:inline-block;background:var(--primary);color:#fff;border-radius:8px;padding:1px 14px;margin:0 4px}.kb-scene{position:relative;width:min(780px,94vw);padding-bottom:110px;box-sizing:border-box;margin:14px auto 0}.keyboard{background:#e9edf2;border:1px solid var(--key-border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:7px;box-shadow:0 10px 30px #1e32501f}body.dark .keyboard{background:#0f1722}.krow{display:flex;gap:5px}.key{flex:1 1 0;height:42px;background:var(--key-bg);border:1px solid var(--key-border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#6b7c8d;transition:background .15s,transform .1s,box-shadow .15s;user-select:none;cursor:pointer;touch-action:manipulation;position:relative}.key .key-shift{position:absolute;top:3px;left:4px;font-size:.55rem;font-weight:600;color:#8e99a4;line-height:1}.key .key-base{font-size:.85rem;margin-top:4px}.key[data-w="1.4"]{flex:1.4 1 0}.key[data-w="1.6"]{flex:1.6 1 0}.key[data-w="1.9"]{flex:1.9 1 0}.key[data-w="2"]{flex:2 1 0}.key[data-w="2.1"]{flex:2.1 1 0}.key[data-w="2.5"]{flex:2.5 1 0}.key[data-w="8"]{flex:8 1 0}.key.home{color:var(--text);font-weight:600}.key.active{background:#fffbeb;border-color:#f59e0b;color:#b45309;transform:translateY(-4px) scale(1.08);box-shadow:0 6px 16px #f59e0b59,0 0 0 3px #f59e0b2e;z-index:2;animation:k2-target-pulse 1.1s ease-in-out infinite}@keyframes k2-target-pulse{0%,to{box-shadow:0 6px 16px #f59e0b59,0 0 0 3px #f59e0b2e}50%{box-shadow:0 6px 16px #f59e0b80,0 0 10px 4px #f59e0b66}}.key.kb-pressing{transform:translateY(3px) scale(.97)}.key.kb-flash-ok{background:#ecfdf5!important;border-color:#34d399!important;color:#065f46!important;box-shadow:0 0 0 3px #34d39940}.key.kb-flash-err{background:#fef2f2!important;border-color:#f87171!important;color:#b91c1c!important;box-shadow:0 0 0 3px #f8717140;animation:kb-shake .22s ease}@keyframes kb-shake{0%,to{transform:translate(0)}30%{transform:translate(-2.5px)}70%{transform:translate(2.5px)}}.kb-hint{min-height:20px;text-align:center;font-size:.85rem;font-weight:700;color:#b45309;letter-spacing:.5px;margin-top:6px}body:not(.focus-mode):not(.zen-mode) #kbScene3{display:flex;flex-direction:column}body:not(.focus-mode):not(.zen-mode) #kbScene3 .kb-hint{order:-1;margin:0 auto 6px;max-width:460px;min-height:20px;font-size:.88rem;font-weight:800;color:#047857;letter-spacing:.3px}#view-learn .kb-hint{margin:0 auto 6px;max-width:460px;min-height:20px;font-size:.88rem;font-weight:800;color:#047857;letter-spacing:.3px}#view-learn .kb-scene{padding-bottom:88px}#view-learn .keyboard{padding:10px;gap:5px}#view-learn .key{height:34px;font-size:.8rem}body.exam-mode .kb-hint,body.kb-exam-mode .kb-hint{display:none}.fg-l4,.fg-r4{background:#4285f4;color:#fff}.fg-l3,.fg-r3{background:#f9ab00;color:#fff}.fg-l2,.fg-r2{background:#34a853;color:#fff}.fg-l1,.fg-r1{background:#ea4335;color:#fff}.fg-thumb{background:#b0bec5}.hands-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}.hand-fills{opacity:.42}.hand-fill{fill:#e9eef5;stroke:none}.hand-fill.on{fill:#cfe2fd}.hand-line,.hand-edge{fill:none;stroke:#8796aa;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hand-line.on,.hand-edge.on{stroke:var(--primary);stroke-width:2.6}.hand-crease,.hand-knuckle{fill:none;stroke:#a7b4c4;stroke-width:1.1;stroke-linecap:round}.hand-fill,.hand-line,.hand-edge,.hand-crease,.hand-knuckle{transition:d .14s ease-out}body.dark .hand-fill{fill:#2a3c56}body.dark .hand-fill.on{fill:#1d3a63}body.dark .hand-line,body.dark .hand-edge{stroke:#7d93ab}body.dark .hand-line.on,body.dark .hand-edge.on{stroke:var(--primary)}body.dark .hand-crease,body.dark .hand-knuckle{stroke:#4d6178}.set-section{margin-bottom:16px;padding-bottom:6px;border-bottom:1px solid var(--border)}.set-section h4{font-size:.74rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:8px}.seg{display:flex;gap:6px;margin-bottom:10px}.seg button{flex:1;border:1px solid var(--border);background:var(--card);border-radius:10px;padding:8px 4px;cursor:pointer;font-family:inherit;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:600}.seg button:hover{border-color:var(--primary)}.seg button.active{border-color:var(--primary);color:var(--primary);background:#2f80ed14}.seg-a{font-weight:800;line-height:1}.a-s{font-size:.85rem}.a-n{font-size:1.05rem}.a-l{font-size:1.3rem}.a-vl{font-size:1.55rem}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.theme-grid button{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:9px 2px;font-size:.7rem;font-weight:600;cursor:pointer;color:var(--text);font-family:inherit}.theme-grid button:hover{border-color:var(--primary)}.theme-grid button.active{border-color:var(--primary);color:var(--primary);background:#2f80ed14}.set-row select{font-family:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text)}.drill-text.ts-small{font-size:1.25rem}.drill-text.ts-normal{font-size:1.65rem}.drill-text.ts-large{font-size:2.05rem}.drill-text.ts-vlarge{font-size:2.5rem;line-height:2}.drill-text.ts-xl{font-size:3.1rem;line-height:2}body.ks-standard .key{background:#fff;color:#546e7a;border-color:#d5dfe9}body.ks-standard .key.home{color:#37474f}body.ks-glass .key{background:#ffffff59;color:#37474f;border-color:#ffffffd9;box-shadow:inset 0 1px 2px #ffffffe6}body.ks-glass .keyboard{background:#e2ebf48c;backdrop-filter:blur(3px)}body.ks-wobbly .key{background:#fff;color:#546e7a;border-color:#d5dfe9;border-radius:12px}body.ks-wobbly .krow .key[data-w="1"]:nth-child(3n){transform:rotate(-2deg)}body.ks-wobbly .krow .key[data-w="1"]:nth-child(3n+1){transform:rotate(1.6deg)}body.ks-wobbly .krow .key[data-w="1"]:nth-child(4n){transform:rotate(2.4deg) translateY(1px)}body.ks-neon .key{background:#0b1020;color:#00e5ff;border:1px solid #00e5ff;border-radius:8px;box-shadow:0 0 8px #00e5ff80,inset 0 0 6px #00e5ff38;text-shadow:0 0 6px rgba(0,229,255,.75)}body.ks-neon .keyboard{background:#05070f;border-color:#0b1020}body.ks-neon .key.home{color:#ff4fd8;border-color:#ff4fd8;text-shadow:0 0 6px rgba(255,79,216,.75)}body.ks-neon .key.active{filter:none;background:#00e5ff;color:#05070f;box-shadow:0 0 18px #00e5fff2;text-shadow:none}body.ks-cartoon .key{background:#fff;color:#37474f;border:3px solid #37474f;border-radius:12px;font-weight:800;box-shadow:0 3px #37474f}body.ks-cartoon .keyboard{border:3px solid #37474f}body.ks-cartoon .key.active{filter:none;background:var(--primary);color:#fff}body.ks-classic .key{background:#f4ecd8;color:#6d4c41;border-color:#d7ccc8;border-radius:3px}body.ks-classic .keyboard{border-radius:6px;background:#efe6d0}body.ks-modern .key{background:#2d3748;color:#e2e8f0;border-color:#1a202c;border-radius:8px}body.ks-modern .keyboard{background:#101822;border-color:#101822}body.ks-modern .key.home{color:#fff}body.ks-modern .key.active{filter:brightness(1.6)}body.dark .ks-standard .key,body.dark.ks-standard .key{background:#243244;color:#cfd8e3;border-color:#34455c}body.dark.ks-glass .key{background:#ffffff14;color:#cfd8e3;border-color:#ffffff2e}body.dark.ks-glass .keyboard{background:#0f172299}body.dark.ks-neon .key{background:#0b1020}body.dark.ks-neon .keyboard{background:#05070f}body.dark.ks-classic .key{background:#3d3629;color:#d7ccc8;border-color:#4e4636}body.dark.ks-classic .keyboard{background:#2e2a20}body.dark.ks-cartoon .key{background:#243244;color:#e2e8f0;border-color:#78909c;box-shadow:0 3px #78909c}body.dark.ks-cartoon .keyboard{border-color:#78909c}body.dark .practice-setup-inline .psetup-group+.psetup-group{border-left-color:#6db3ff}body.dark .dstat-pipe{color:#6db3ff}#placementBtn{margin-left:14px}.coach-mark{position:fixed;background:var(--primary);color:#fff;padding:13px 24px;border-radius:10px;z-index:60;font-weight:600;box-shadow:0 10px 24px #00000040;max-width:280px;text-align:center;transition:opacity .4s ease,transform .4s ease}.coach-x{position:absolute;top:-9px;right:-9px;background:#fff;color:var(--muted);border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:.7rem;box-shadow:0 2px 6px #00000040}.coach-arrow{position:absolute;top:-8px;left:46px;width:16px;height:16px;background:var(--primary);transform:rotate(45deg)}.practice-wrap{display:flex;flex-direction:column;align-items:center;padding:6px 20px}.practice-topbar{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px;width:min(780px,94vw);min-height:38px;padding-top:4px}.psetup-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.ui-mode-bar{position:fixed;left:24px;top:68px;z-index:101;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ui-mode-bar>.seg{background:#20376414;border-radius:20px;padding:4px 6px;margin:0}.ui-mode-bar .seg.compact button{padding:5px 12px;font-size:.82rem;font-weight:600}body.focus-mode .ui-mode-bar,body.zen-mode .ui-mode-bar{display:none}html.k2-pre-focus .ui-mode-bar,html.k2-pre-zen .ui-mode-bar{display:none!important}html.k2-pre-focus .header,html.k2-pre-focus .practice-topbar .psetup-row:nth-child(2),html.k2-pre-focus .practice-topbar .practice-icons,html.k2-pre-focus .kb-scene,html.k2-pre-zen .header{opacity:0!important;pointer-events:none!important}html.k2-pre-zen .practice-topbar,html.k2-pre-zen .kb-scene,html.k2-pre-focus .site-footer,html.k2-pre-zen .site-footer{opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important}.back-to-normal{display:none;position:fixed;left:24px;top:68px;z-index:101;background:#2f80ed26;color:var(--primary, #4f80ed);border:1px solid rgba(47,128,237,.3);border-radius:8px;padding:6px 14px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.back-to-normal:hover{background:#2f80ed40}body.focus-mode .back-to-normal,body.zen-mode .back-to-normal{display:flex}.practice-icons{position:fixed;top:70px;right:20px;display:flex;gap:2px;z-index:100}.practice-topbar .psetup-group{display:flex;align-items:center;gap:2px}.practice-topbar .psetup-group+.psetup-group{border-left:none;padding-left:0}.practice-topbar .psetup-group{background:#20376414;border-radius:20px;padding:3px 6px}body.dark .practice-topbar .psetup-group{background:#ffffff12}.practice-topbar .psetup-group label{display:none}#pChildGroup{display:none;min-width:220px;justify-content:center}#pChildGroup.show{display:flex}.practice-topbar .psetup-group .seg.compact{display:flex;gap:0}.practice-topbar .seg.compact button{padding:4px 12px;font-size:.82rem;font-weight:600;border-radius:0;background:none;color:var(--muted);border:none;transition:color .15s}.practice-topbar .seg.compact button:hover{color:var(--text)}.practice-topbar .seg.compact button.active{color:var(--primary);font-weight:700}.practice-stage.lines-mode .drill-text{white-space:pre!important;overflow:visible!important;max-height:1.7em!important;height:1.7em!important;display:flex!important;align-items:center!important;position:relative;will-change:transform}.practice-stage.lines-mode .drill-text.train-active,.practice-stage.lines-mode #pText .p-caret{transition:transform .1s linear}.practice-stage.lines-mode .drill-text.train-paused{transition:transform .2s ease-out}.practice-stage.lines-mode{min-height:92px;background:transparent;border:none;border-radius:0;padding:10px 18px 2px}.practice-lang-indicator{text-align:center;color:var(--muted);font-size:.8rem;font-weight:600;padding:4px 0 6px;letter-spacing:.5px}.psetup-row{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:16px}.psetup-group .seg.compact{display:flex;flex-wrap:nowrap}.seg.compact button{white-space:nowrap}.psetup-group label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:700;margin-bottom:3px}.psetup-group .seg{margin-bottom:0}.seg.compact button{padding:4px 11px;font-size:.75rem;border-radius:8px}#pCustomText{width:min(780px,94vw);min-height:54px;border:1px solid var(--border);border-radius:10px;padding:7px 12px;font-family:inherit;font-size:.88rem;background:var(--bg);color:var(--text);resize:vertical;margin:14px 0 0;box-sizing:border-box;animation:customTextSlideIn .35s ease-out}@keyframes customTextSlideIn{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}#pCustomText:focus{outline:none;border-color:var(--primary)}#pInput{position:absolute;opacity:0;pointer-events:none}.practice-stage{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 18px 2px;cursor:text;overflow:visible;box-sizing:border-box}#pStage{width:min(780px,94vw)}#pStage .drill-meta{width:100%;padding:0 6px}.practice-stage .drill-text{width:100%;max-width:100%;margin:2px 0 0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;word-break:normal;max-height:5.1em;overflow-y:auto;overflow-x:hidden;line-height:1.7;position:relative;scroll-behavior:smooth;scrollbar-width:thin}.practice-stage .drill-text::-webkit-scrollbar{width:5px}.practice-stage .drill-text::-webkit-scrollbar-thumb{background:var(--muted);border-radius:4px}.practice-stage .drill-text::-webkit-scrollbar-track{background:transparent}.practice-stage .drill-text.ts-small{font-size:1.25rem}.practice-stage .drill-text.ts-normal{font-size:1.55rem}.practice-stage .drill-text.ts-large{font-size:1.85rem}.practice-stage .drill-text.ts-vlarge{font-size:2.2rem}.practice-stage .drill-text.ts-xl{font-size:2.65rem}.practice-wrap .kb-scene{width:min(780px,94vw);margin:14px auto 0}.practice-stage .kb-scene{padding-bottom:118px;margin:0 auto}.player-footer{display:flex;align-items:center;justify-content:center;gap:22px;padding:22px 20px 30px}.bar{width:300px;max-width:42vw;height:8px;background:var(--border);border-radius:6px;overflow:hidden}.bar.wide{width:min(560px,80vw)}.bar.battery{width:96px;height:14px;min-height:14px;background:#fff;border:2px solid #6b7c93;border-radius:5px;position:relative;overflow:visible;flex-shrink:0;padding:2px;box-sizing:border-box;box-shadow:inset 0 1px 2px #0000000f;margin-right:8px}.bar.battery .bar-fill{width:0%;height:100%;position:relative;border-radius:2px;transition:width .3s}.bar.battery .bar-fill.green{background:linear-gradient(90deg,#27c69a,#1fb386)}.bar.battery:after{content:"";position:absolute;top:50%;right:-6px;transform:translateY(-50%);width:4px;height:8px;background:#6b7c93;border-radius:0 2px 2px 0}.drill-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 8px;width:100%;padding:0 6px;box-sizing:border-box}.drill-meta .drill-stats{margin:0;gap:22px}.drill-meta .drill-stats-inline{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:600}.dstat-inline b{font-weight:700}.dstat-pipe{color:#203764;font-weight:400}.drill-meta .bar.battery{margin-right:4px;flex-shrink:0}.bar-fill{height:100%;width:0%;background:var(--primary);border-radius:6px;transition:width .3s}.bar-fill.green{background:var(--green)}.drill{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 20px 8px;overflow:visible}.drill .practice-stage{width:min(780px,94vw);box-sizing:border-box}.drill .practice-stage .drill-text{width:100%;max-width:100%;margin:6px 0 4px;max-height:5.1em;overflow-y:auto;overflow-x:hidden;line-height:1.7;font-weight:500;letter-spacing:.5px;word-spacing:4px;min-height:3em;scrollbar-width:thin;scroll-behavior:smooth;box-sizing:border-box;word-break:break-word;overflow-wrap:anywhere}.drill .practice-stage .drill-text::-webkit-scrollbar{width:5px}.drill .practice-stage .drill-text::-webkit-scrollbar-thumb{background:var(--muted);border-radius:4px}.drill .practice-stage .drill-text::-webkit-scrollbar-track{background:transparent}.drill .practice-stage .drill-text.ts-small{font-size:1.25rem}.drill .practice-stage .drill-text.ts-normal{font-size:1.55rem}.drill .practice-stage .drill-text.ts-large{font-size:1.85rem}.drill .practice-stage .drill-text.ts-vlarge{font-size:2.2rem;line-height:1.7}.drill .practice-stage .drill-text.ts-xl{font-size:2.65rem;line-height:1.7}.video-tip-content{text-align:center;padding:24px 16px}.video-tip-content .vtc-icon{font-size:42px;margin-bottom:12px}.video-tip-content .vtc-title{font-size:20px;font-weight:700;margin-bottom:10px;color:var(--text)}.video-tip-content .vtc-body{font-size:14px;line-height:1.65;max-width:460px;margin:0 auto;color:var(--muted)}body.lv-open{overflow:hidden}#lessonVideoOverlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:#0a1226c7}#lessonVideoOverlay .lv-box{width:min(880px,96vw);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 60px #00000073;overflow:hidden}#lessonVideoOverlay .lv-head{display:flex;align-items:center;gap:10px;padding:12px 16px}#lessonVideoOverlay .lv-kicker{font-size:.72rem;font-weight:800;letter-spacing:1.5px;background:#dbeafe;color:#1d4ed8;border-radius:8px;padding:4px 10px;white-space:nowrap}body.dark #lessonVideoOverlay .lv-kicker{background:#2f80ed38;color:#93c5fd}#lessonVideoOverlay .lv-title{flex:1;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#lessonVideoOverlay .lv-skip{border:none;cursor:pointer;font:inherit;font-weight:800;background:#2563eb;color:#fff;border-radius:999px;padding:8px 20px}#lessonVideoOverlay .lv-skip:hover{background:#1d4ed8}#lessonVideoOverlay .lv-video{display:block;width:100%;aspect-ratio:16 / 9;background:#000}#lessonVideoOverlay .lv-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px 14px;font-size:.82rem;color:var(--muted)}#lessonVideoOverlay .lv-replay{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:6px 16px;cursor:pointer;font:inherit}.lv-inline{width:100%;max-width:100%;margin:4px 0 14px;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #1e32501a}.lv-inline-head{display:flex;align-items:center;gap:10px;padding:8px 12px}.lv-inline .lv-kicker{font-size:.68rem;font-weight:800;letter-spacing:1.4px;background:#dbeafe;color:#1d4ed8;border-radius:8px;padding:3px 9px;white-space:nowrap}body.dark .lv-inline .lv-kicker{background:#2f80ed38;color:#93c5fd}.lv-inline-title{flex:1;min-width:0;font-weight:800;color:var(--text);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-inline .lv-skip{border:none;cursor:pointer;font:inherit;font-weight:800;background:#2563eb;color:#fff;border-radius:999px;padding:6px 16px;white-space:nowrap}.lv-inline .lv-skip:hover{background:#1d4ed8}.lv-inline .lv-video{display:block;width:100%;aspect-ratio:16 / 9;background:#000}.drill-text{width:min(780px,94vw);font-size:1.65rem;line-height:2.15;font-weight:500;letter-spacing:.5px;margin:14px 0 6px;word-spacing:4px;min-height:3em;white-space:pre-wrap;word-wrap:normal;overflow-wrap:normal}.drill-text .ok-c{color:var(--muted)}.drill-text .ok-c{background:transparent}.drill-text .err-c{color:#f56565;font-weight:700;background:transparent}.drill-text .pending-c{color:var(--text)}.drill-text .caret-c{background:#2f80ed26;box-shadow:0 3px 0 0 var(--primary);border-radius:3px 3px 0 0}#hiddenInput{position:absolute;opacity:0;pointer-events:none}.drill-stats{display:flex;gap:22px;margin-top:0;margin-bottom:0}.dstat{text-align:center}.dstat span{display:block;font-size:1.05rem;font-weight:700;line-height:1}.dstat label{font-size:.62rem;color:var(--muted);letter-spacing:.8px;text-transform:uppercase}.gh-hero{background:linear-gradient(135deg,var(--hero-a) 0%,var(--hero-b) 100%);color:#fff;padding:32px 24px 24px}.gh-hero-inner{text-align:center;padding:0!important}.gh-hero-text h1{font-size:1.8rem;font-weight:800;margin-bottom:8px}.gh-hero-text p{font-size:.95rem;opacity:.95;max-width:560px;margin:0 auto 16px}.gh-hero-stats{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.gh-stat-pill{background:#ffffff1f;padding:7px 18px;border-radius:20px;font-size:.88rem;font-weight:600;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.08)}.gh-section-title{font-size:1.35rem;font-weight:700;margin-bottom:18px;color:var(--text)}.gh-recommended{padding-top:32px}.gh-rec-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:12px}.gh-sections{padding-top:18px;padding-bottom:40px}.gh-section{margin-bottom:32px}.gh-section-head{margin-bottom:14px}.gh-section-title{font-size:1.25rem;font-weight:800;margin-bottom:4px;color:var(--text)}.gh-section-desc{font-size:.88rem;color:var(--muted);line-height:1.5;margin:0}.gh-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:1100px){.gh-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.gh-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.gh-grid{grid-template-columns:repeat(2,1fr)}}.gh-filter-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:8px 0 2px}.games-view .hero-seo{font-size:.82rem;opacity:.85;max-width:640px;margin:8px auto 0}#tqAchSection .tq-ach-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.gh-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 16px 16px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;min-height:170px;display:flex;flex-direction:column;align-items:center;overflow:hidden}body:not(.dark) .gh-card{box-shadow:0 2px 10px #00000014}body:not(.dark) .gh-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #2f80ed2e,0 0 0 1px #2f80ed40;border-color:#2f80ed66}body.dark .gh-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 0 15px #6db3ff40,0 0 30px #6db3ff1a,0 8px 20px #0000004d;border-color:#6db3ff73}.gh-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gh-card-grade{position:absolute;top:14px;left:14px;font-weight:800;color:var(--text);font-size:.68rem;opacity:.5;line-height:1;background:#2f80ed1a;padding:2px 8px;border-radius:10px}.gh-card-stars{position:absolute;top:14px;right:14px;font-size:.72rem;letter-spacing:1px;opacity:.7}body:not(.dark) .gh-card-stars{color:#4a5e78}body.dark .gh-card-stars{color:#8fa4b8}.gh-card-center{flex:1;display:flex;align-items:center;justify-content:center}.gh-card-icon-symbol{font-size:50px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 48;line-height:1;transition:transform .18s}body:not(.dark) .gh-card-icon-symbol{color:#4a5e78}body.dark .gh-card-icon-symbol{color:#8fa4b8}.gh-card:hover .gh-card-icon-symbol{transform:scale(1.08)}.gh-card-emoji{transition:transform .18s;display:inline-block;font-size:50px}.gh-card:hover .gh-card-emoji{transform:scale(1.08)}.gh-card-name{font-size:.82rem;color:var(--text);line-height:1.3;opacity:.75;transition:opacity .2s,font-weight .2s}.gh-card:hover .gh-card-name{opacity:1;font-weight:700}.gh-card-name-emoji{font-size:.9rem}@media(min-width:761px){.gh-card-name{align-self:stretch;margin:auto -16px -16px;padding:10px 12px 14px;border-top:2px solid var(--border);background:var(--bg);border-radius:0 0 12px 12px;text-align:center}}.gh-diff-overlay{position:fixed;inset:0;background:#0f192899;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.gh-diff-modal{background:var(--card);border-radius:18px;padding:28px 32px;max-width:400px;width:100%;text-align:center;box-shadow:0 24px 60px #0000004d;animation:popIn .2s ease}.gh-diff-modal h2{margin-bottom:8px}.gh-diff-modal p{color:var(--muted);font-size:.9rem;margin-bottom:20px;line-height:1.5}.gh-diff-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 14px}.gh-diff-icon-symbol{font-size:2.5rem;color:#fff;font-variation-settings:"FILL" 1,"wght" 500}.gh-diff-btns{display:flex;gap:10px;margin-bottom:16px}.gh-lv-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:2px 0 14px}.gh-lv-row .gdiff-btn{min-width:46px}a.tq-mode-card{text-decoration:none;color:inherit}.kg-hero{display:flex;align-items:center;gap:18px;margin:6px 0 14px}.kg-hero .tq-mode-icon{flex:0 0 auto;margin-top:0}@media(max-width:560px){.kg-hero{flex-direction:column;text-align:center}}.gh-diff-btn{flex:1;padding:12px 8px;border:2px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}.gh-diff-btn:hover{border-color:var(--primary);transform:translateY(-2px)}.gh-diff-btn .diff-label{display:block;font-weight:700;font-size:.95rem;color:var(--text);margin-bottom:2px}.gh-diff-btn .diff-desc{display:block;font-size:.72rem;color:var(--muted)}.gh-diff-btn.easy .diff-label{color:#34a853}.gh-diff-btn.medium .diff-label{color:#f9ab00}.gh-diff-btn.hard .diff-label{color:#ea4335}.gh-diff-cancel{margin-top:4px}.game-stage{position:relative;width:min(780px,94vw);margin:5px auto;overflow:visible}.game-topbar{position:absolute;top:0;left:0;right:0;height:0;overflow:visible;pointer-events:none;z-index:5}.game-topbar>*{pointer-events:auto}.game-topbar-left{position:absolute;left:-300px;top:8px;display:flex;align-items:center;gap:10px;white-space:nowrap}.game-topbar-right{position:absolute;right:-200px;top:8px;display:flex;align-items:center;gap:14px;font-size:.92rem;font-weight:700;color:var(--text);white-space:nowrap}.game-topbar-name{font-size:1rem;font-weight:700;color:var(--primary)}.game-topbar-right .hud-combo{color:#f9ab00}@media(max-width:1100px){.game-topbar-left{left:0}.game-topbar-right{right:0}}.game-canvas-area{position:relative;border-radius:12px;overflow:hidden}.lesson-game-area{background:var(--card);border-radius:12px;border:1px solid var(--border);overflow:hidden;margin:0 auto;width:min(780px,94vw)}.lesson-game-area .game-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--header-bg);color:#fff}.lesson-game-area .game-topbar-left{display:flex;align-items:center;gap:12px}.lesson-game-area .game-topbar-name{font-weight:700;font-size:.95rem}.lesson-game-area .game-topbar-right{font-size:.85rem;font-weight:600}.lesson-game-area .game-canvas-area{margin:0;border-radius:0}.lesson-game-area #lessonGameCanvas{width:100%;display:block;background:var(--bg)}#lessonTqMount{width:100%}#lessonTqMount:empty{display:none}#lessonTqMount .btn-back{display:none}#lessonTqMount #tq-root .balloon-wrap,#lessonTqMount #tq-root .monster-wrap,#lessonTqMount #tq-root .pet-wrap,#lessonTqMount #tq-root .race-wrap{padding:6px 12px 10px}#lessonTqMount #tq-root .balloon-title,#lessonTqMount #tq-root .monster-title,#lessonTqMount #tq-root .pet-title,#lessonTqMount #tq-root .race-title{font-size:16px}#lessonTqMount #tq-root .toggle{padding:4px 10px;font-size:12px}#lessonTqMount #tq-root .practice-toggles{gap:6px}#lessonTqMount #tq-root .stat{padding:6px 10px}#lessonTqMount #tq-root .stat b{font-size:20px}#lessonTqMount #tq-root .balloon-stats,#lessonTqMount #tq-root .monster-stats,#lessonTqMount #tq-root .pet-stats,#lessonTqMount #tq-root .race-stats{gap:6px;margin:6px 0}#lessonTqMount #tq-root .heart{width:18px;height:18px}#lessonTqMount #tq-root .balloon-field,#lessonTqMount #tq-root .monster-field,#lessonTqMount #tq-root .pet-field,#lessonTqMount #tq-root .race-field{min-height:440px}#gameCanvas{width:100%;display:block;background:var(--bg)}.game-input-bar{background:var(--header-bg);color:#fff;padding:3px 24px;margin-top:5px;text-align:center;font-size:.98rem;font-weight:700;border-radius:0 0 12px 12px;min-height:14px;position:relative}.game-input-bar #gameInputText{opacity:.8}.game-input-bar.has-text #gameInputText{opacity:1;color:#5eead4}.game-input-bar .cursor-blink{display:inline-block;width:2px;height:1.1em;background:#5eead4;margin-left:2px;vertical-align:text-bottom;animation:blink 1.5s step-end infinite}@keyframes blink{0%,45%{opacity:1}50%,95%{opacity:0}}.game-input-bar.pulse-glow{animation:pulseGlow 1.5s ease-in-out 2}@keyframes pulseGlow{0%,to{box-shadow:none}50%{box-shadow:0 0 30px #5eead4b3,inset 0 0 18px #5eead440}}.game-instruction{background:#5eead41f;color:#5eead4;padding:2px 16px;margin-top:5px;text-align:center;font-size:.74rem;font-weight:600;letter-spacing:.3px;line-height:1.2}body:not(.dark) .game-input-bar{background:var(--border);color:var(--text)}body:not(.dark) .game-input-bar #gameInputText{opacity:.5}body:not(.dark) .game-input-bar.has-text #gameInputText{opacity:1;color:var(--primary)}body:not(.dark) .game-input-bar .cursor-blink{background:var(--primary)}body:not(.dark) .game-input-bar.pulse-glow{animation:pulseGlowLight 1.5s ease-in-out 2}@keyframes pulseGlowLight{0%,to{box-shadow:none}50%{box-shadow:0 0 20px #4285f44d,inset 0 0 12px #4285f414}}body:not(.dark) .game-instruction{background:#4285f41a;color:var(--primary)}body:not(.dark) .game-topbar-left #gameBack{color:var(--text);border-color:var(--border)}body:not(.dark) .game-topbar-left #gameBack:hover{border-color:var(--primary);color:var(--primary)}#kbSceneGames{margin-top:2px}.game-overlay{display:none;position:fixed;inset:0;background:#0f19288c;z-index:200;align-items:center;justify-content:center;padding:20px}.game-overlay-box{background:var(--card);border-radius:18px;padding:28px 26px;max-width:440px;width:100%;text-align:center;box-shadow:0 24px 60px #0000004d;animation:popIn .22s ease;color:var(--text)}.game-overlay-box h2{font-size:1.6rem;margin-bottom:10px;color:var(--text)}.game-overlay-box p{max-width:420px;margin:0 auto 22px;opacity:.85;color:var(--muted);line-height:1.5}.game-overlay-btns{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:24px}.stats-top{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stats-top .chart-card{margin-bottom:0}.stats-top .span2{grid-column:span 2}@media(max-width:900px){.stats-top{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.stats-top{grid-template-columns:1fr}.stats-top .span2{grid-column:span 1}}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 12px;text-align:center}.stat-card span{display:block;font-size:1.4rem;font-weight:800;color:var(--primary);line-height:1.2}.stat-card label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:1px}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin-bottom:20px}.chart-card h3{margin-bottom:12px;font-size:1.05rem}.chart-card canvas{width:100%;height:auto}.chart-empty{color:var(--muted);font-size:.9rem;text-align:center;padding:20px 0}.weak-wrap{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 22px}.weak-wrap h3{margin-bottom:14px;font-size:1.05rem}.weak-keys{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.weak-key{background:#f565651f;color:var(--red);border:1px solid rgba(245,101,101,.3);border-radius:10px;padding:6px 14px;font-weight:800;font-size:1.15rem;display:flex;flex-direction:column;align-items:center;line-height:1.2}.weak-key small{font-size:.68rem;font-weight:600}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.badge{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px 16px;text-align:center;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;cursor:default}body:not(.dark) .badge:hover{transform:translateY(-3px);box-shadow:0 6px 20px #2f80ed26,0 0 0 1px #2f80ed33}body.dark .badge:hover{transform:translateY(-3px);box-shadow:0 0 12px #6db3ff33,0 0 24px #6db3ff14}.badge.earned{border-color:#f5a623;box-shadow:0 6px 18px #f5a6232e}body:not(.dark) .badge.earned:hover{box-shadow:0 6px 20px #f5a62340,0 0 0 1px #f5a6234d}body.dark .badge.earned:hover{box-shadow:0 0 14px #f5a6234d,0 0 28px #f5a6231f}.badge-corner{position:absolute;top:8px;right:10px;font-size:1rem;line-height:1}.badge:not(.earned) .badge-corner{color:var(--muted);opacity:.6}.badge.earned .badge-corner{color:#22c55e}.badge-icon{font-size:2.4rem;margin-bottom:8px}.badge-name{font-weight:700;margin-bottom:4px}.badge-desc{font-size:.82rem;color:var(--muted)}body:has(.modal.open){overflow:hidden}body:has(.player.open){overflow:hidden}body:has(.player.open):has(.lesson-overview){overflow:auto}body:has(#confirmModal.open){overflow:hidden}.modal{display:none;position:fixed;inset:0;background:#0f19288c;z-index:200;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{background:var(--card);border-radius:18px;padding:20px 26px;max-width:440px;width:100%;max-height:calc(100vh - 36px);overflow-y:auto;box-shadow:0 24px 60px #0000004d;animation:popIn .22s ease}#settingsModal .modal-box{padding:16px 24px;max-width:560px;display:flex;flex-direction:column;max-height:80vh}#settingsModal .settings-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-shrink:0}#settingsModal .settings-top h2{margin:0;font-size:1.2rem}#settingsModal .settings-close{font-size:1.1rem;width:32px;height:32px;border-radius:8px;background:var(--border);color:var(--text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}#settingsModal .settings-close:hover{background:var(--muted)}#settingsModal .settings-scroll{flex:1;overflow-y:auto;min-height:0}#settingsModal .settings-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--border);flex-shrink:0}#settingsModal .settings-bottom .btn.ghost{background:var(--border);color:var(--text);padding:8px 14px;border-radius:8px;font-size:.78rem}#settingsModal .settings-bottom .btn.ghost:hover{background:var(--muted)}#settingsModal .set-section{margin-bottom:10px;padding:0;border-radius:10px;overflow:visible;background:var(--section-bg, rgba(0,0,0,.03))}#settingsModal .set-section-head{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:0;position:relative;cursor:help;background:var(--section-head-bg, rgba(0,0,0,.09))}#settingsModal .set-section>.set-row,#settingsModal .set-section>.set-group,#settingsModal .set-section>.set-row+.set-row{padding-left:12px;padding-right:12px}#settingsModal .set-section:last-of-type{margin-bottom:0}#settingsModal .set-icon{font-size:1.1rem;flex-shrink:0}#settingsModal .set-section-head h4{font-size:.82rem;font-weight:700;margin:0;text-transform:none;letter-spacing:0;color:var(--text)}#settingsModal .set-group{margin:4px 0;padding-left:12px;padding-right:12px}#k2tooltip{position:fixed;z-index:9999;pointer-events:none;display:none;background:#000000d1;color:#fff;padding:8px 12px;border-radius:8px;font-size:.72rem;font-weight:400;white-space:normal;width:240px;text-align:left;line-height:1.4;box-shadow:0 4px 14px #00000040}#settingsModal .set-label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px}#settingsModal .set-row{padding:7px 12px}#settingsModal .set-row-text span{font-weight:600;font-size:.82rem}#settingsModal .seg button{padding:5px 4px}#settingsModal .theme-grid{margin-bottom:4px}#settingsModal .btn{margin-top:8px!important}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.modal-box h2{margin-bottom:14px}.results-box{text-align:center}.r-stars{font-size:2.6rem;color:#f5a623;letter-spacing:8px;margin:6px 0 18px}.r-grid{display:flex;justify-content:center;gap:34px;margin-bottom:16px}.r-cell span{display:block;font-size:1.7rem;font-weight:800}.r-cell label{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.r-msg{color:var(--muted);font-size:.95rem;margin-bottom:22px}.r-msg div{margin:3px 0}.r-btns{display:flex;justify-content:center;gap:14px}@keyframes resetPulse{0%,to{box-shadow:0 0 #2f80ed00}50%{box-shadow:0 0 12px 4px #2f80ed99}}.reset-pulse{animation:resetPulse .6s ease-in-out 3;color:var(--primary)!important;border-color:var(--primary)!important}@keyframes btnPulse{0%,to{box-shadow:0 0 #2f80ed00}50%{box-shadow:0 0 14px 4px #2f80ed73}}.rBtnFocused{outline:2px solid #fff!important;outline-offset:2px}#rNext{background:#203764;color:#fff;border-color:#203764}body.dark #rNext{background:#fff;color:#203764;border-color:#fff}.set-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border);cursor:pointer;font-weight:600}.set-row input{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%) translateY(80px);background:var(--header-bg);color:#fff;padding:12px 26px;border-radius:30px;font-weight:600;font-size:.92rem;opacity:0;transition:transform .3s,opacity .3s;z-index:300;box-shadow:0 10px 30px #0000004d}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.onboarding-modal{z-index:500}.onboarding-box{max-width:420px;text-align:center}.onboard-emoji{font-size:2.4rem;margin-bottom:6px}.onboard-step h2{margin-bottom:6px}.onboard-sub{color:var(--muted);font-size:.95rem;margin-bottom:16px;line-height:1.5}.onboard-desc{color:var(--muted);font-size:.85rem;margin-bottom:14px;line-height:1.5}.onboard-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--bg);color:var(--text);outline:none;margin-bottom:16px;box-sizing:border-box}.onboard-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.onboard-input.error{border-color:#ef4444}.onboard-btn{width:100%;padding:12px 24px;font-size:1rem}.onboard-benefits{text-align:left;margin:14px 0 18px}.onboard-benefit{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:.88rem;color:var(--text);line-height:1.4}.ob-icon{font-size:1.1rem;min-width:24px;text-align:center;margin-top:1px}.onboard-benefit strong{font-size:.88rem}.header-greeting{width:190px;min-width:190px;max-width:190px;padding:0 10px 0 0;margin:0;border:0;border-right:1px solid var(--border);background:none;font:inherit;font-size:.85rem;font-weight:600;color:#eef3f9;line-height:1.6;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;visibility:hidden}.header-greeting:hover{color:#fff}.header-greeting:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:2px;border-radius:6px}.header-profile-box{max-width:540px;color:var(--text)}.rank-box{max-height:calc(100vh - 48px);overflow-y:auto}.rank-now{display:flex;align-items:center;gap:14px;padding:12px 14px;margin:4px 0 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.rank-now-icon{font-size:2rem;line-height:1}.rank-now-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.rank-now-text b{font-size:1.05rem}.rank-now-text>span{font-size:.85rem;color:var(--muted)}.rank-bar{display:block;height:8px;border-radius:99px;background:var(--border);overflow:hidden}.rank-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd23f,#4ade80)}.rank-ladder{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.rank-step{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;opacity:.7}.rank-step.is-reached{opacity:1}.rank-step.is-now{border:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);opacity:1}.rank-step-icon{font-size:1.4rem;width:1.8rem;text-align:center}.rank-step-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.rank-step-main b{font-size:.95rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rank-step-main>span{font-size:.8rem;color:var(--muted)}.rank-unlocks{color:var(--text)!important}.rank-you{font-style:normal;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--primary);border-radius:99px;padding:1px 8px}.rank-step-state{font-size:.95rem}.rank-how{font-size:.88rem}.rank-how ul{margin:6px 0 8px;padding-left:20px;display:flex;flex-direction:column;gap:4px}#profileModal .settings-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}#profileModal .settings-top h2{margin:0;font-size:1.2rem;color:var(--text)}#profileModal .settings-close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:var(--border);color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer}#profileModal .settings-close:hover{background:var(--muted);color:#fff}.header-profile-lede{margin:0 0 16px;color:var(--muted);font-size:.88rem;line-height:1.5}.header-profile-label{display:block;margin-bottom:6px;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.header-profile-name-row{display:flex;gap:10px;align-items:stretch}.header-profile-input{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:.95rem;font-weight:600}.header-profile-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2f80ed2e}.header-profile-name-row .btn{margin:0;white-space:nowrap}.header-profile-hint{min-height:18px;margin:6px 0 16px;font-size:.78rem;color:var(--muted)}.header-profile-error{color:#e74c3c;font-weight:600}.header-profile-saved{color:#16a34a;font-weight:600}.header-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.header-profile-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}.header-profile-stat b{font-size:1.15rem;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums}.header-profile-stat span{font-size:.7rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}.header-profile-stat-icon{display:inline-block;margin-right:4px;font-size:.9rem;letter-spacing:0}.header-profile-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.header-profile-actions .btn{margin:0}.header-profile-backup{margin:4px 0 18px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#2f80ed0a}.header-profile-backup b{display:block;margin-bottom:4px}.header-profile-backup .header-profile-actions{border-top:0;padding-top:10px}.header-profile-backup .header-profile-hint{margin:6px 0 0}.header-profile-reset-btn{padding:9px 18px;border:1px solid rgba(231,76,60,.45);border-radius:30px;background:transparent;color:#e74c3c;font-size:.82rem}.header-profile-reset-btn:hover{background:#e74c3c14;border-color:#e74c3c}.header-profile-reset{margin-top:4px;padding:18px;border:1px solid rgba(231,76,60,.35);border-radius:12px;background:#e74c3c12}.header-profile-reset p{margin:0 0 16px;font-size:.86rem;line-height:1.55;color:var(--muted)}.header-profile-reset-actions{display:flex;gap:8px;justify-content:flex-end}.header-profile-reset-actions .btn{margin:0;padding:10px 20px;border-radius:30px;font-size:.84rem}.header-profile-reset-cancel{background:var(--border);border:1px solid var(--border);color:var(--text)}.header-profile-reset-cancel:hover{background:var(--muted);border-color:var(--muted);color:#fff}.header-profile-danger{background:#e74c3c;border:1px solid #e74c3c;color:#fff}.header-profile-danger:hover{background:#cf3f30;border-color:#cf3f30}@media(max-width:520px){.header-profile-name-row{flex-direction:column}.header-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.header-profile-actions{flex-direction:column-reverse;align-items:stretch}.header-profile-reset-actions{flex-direction:column-reverse}}.home-hero{background:linear-gradient(135deg,var(--hero-a),var(--hero-b));padding:44px 0 36px;color:#fff}.home-hero-inner{display:flex;align-items:center;gap:22px;max-width:1100px;margin:0 auto;padding:0 24px}.page-wrap.home-hero-inner{padding:0 24px}.home-hero-text{flex:1;margin-top:-14px}.home-hero-text h1,.home-hero-text .h1{font-size:2rem;font-weight:800;line-height:1.15;margin:0 0 12px;letter-spacing:-.5px}.home-hero-text p{font-size:1rem;line-height:1.55;margin:0 0 12px;opacity:1;max-width:520px}.home-hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.home-hero-proof{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.home-proof-pill{display:inline-flex;align-items:center;gap:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:8px 16px 8px 10px;backdrop-filter:blur(4px)}.home-proof-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#ffffff38;font-size:1.05rem}.home-proof-text{display:inline-flex;flex-direction:column;line-height:1.25}.home-proof-text strong{font-size:.92rem;font-weight:800;color:#fff}.home-proof-text small{font-size:.72rem;color:#fffffff2}a.btn.primary.big.home-cta-primary,a.btn.primary.big.home-cta-primary:visited{background:#2563eb;color:#fff;border:none;text-decoration:none}a.btn.primary.big.home-cta-primary:hover{background:#1d4ed8;color:#fff}.home-cta-secondary{background:transparent;border:2px solid #fff;color:#fff!important;text-decoration:none}.home-cta-secondary:hover{border-color:#fff;background:#ffffff1f;color:#fff!important;text-decoration:none}a.home-cta-secondary:visited{color:#fff;text-decoration:none}.home-hero-btns a,.home-hero-btns a:hover,.home-hero-btns a:visited{text-decoration:none}.home-hero-visual{flex:0 0 auto;width:480px}.home-kb-scene{position:relative;background:#ffffff1a;border-radius:14px;padding:10px 10px 4px;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15)}.home-kb-scene #heroCanvas{display:block;width:100%;height:auto}.hg-inline{position:absolute;inset:0;z-index:20;background:#eff6ff;border-radius:14px;overflow:hidden}.hg-video{width:100%;height:100%;object-fit:contain;background:#eff6ff;display:block}.hg-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:14px 30px;border:none;border-radius:999px;cursor:pointer;background:#1e40af;color:#fff;font-size:18px;font-weight:800;font-family:inherit;box-shadow:0 12px 32px #1e40af66}.hg-play:hover{background:#1d4ed8;transform:translate(-50%,-50%) scale(1.04)}.hg-play span{font-size:15px}.hg-skip{position:absolute;top:10px;right:10px;padding:6px 14px;border:none;border-radius:999px;cursor:pointer;background:#ffffffe6;color:#243447;font-size:14px;font-weight:700;font-family:inherit}.hg-skip:hover{background:#fff}.hg-sound{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:999px;cursor:pointer;background:#1e40afeb;color:#fff;font-size:14px;font-weight:800;font-family:inherit;box-shadow:0 8px 22px #1e40af66}.hg-sound:hover{background:#1d4ed8}.hg-sound[hidden]{display:none}.home-intro-btn{position:absolute;top:10px;right:10px;z-index:5;display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:none;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font:inherit;font-size:.8rem;font-weight:800;letter-spacing:.01em;white-space:nowrap;box-shadow:0 6px 18px #f9731673;animation:homeIntroPulse 2.2s ease-in-out infinite;transition:transform .15s ease,box-shadow .15s ease}.home-intro-btn:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 10px 26px #f973169e;animation-play-state:paused}.home-intro-btn:active{transform:translateY(0) scale(.98)}.home-intro-btn:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:2px}.home-intro-btn .home-intro-ic{font-size:.62rem;line-height:1}@keyframes homeIntroPulse{0%{box-shadow:0 6px 18px #f9731673,0 0 #f973168c}70%{box-shadow:0 6px 18px #f9731673,0 0 0 12px #f9731600}to{box-shadow:0 6px 18px #f9731673,0 0 #f9731600}}@media(max-width:520px){.home-intro-btn{top:8px;right:8px;padding:7px 11px;font-size:.72rem}}@media(prefers-reduced-motion:reduce){.home-intro-btn{animation:none}}.home-hero-stats{display:flex;gap:10px;margin-top:10px;justify-content:center}.home-stat-pill{background:#ffffff26;padding:6px 14px;border-radius:20px;font-size:.82rem;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.home-stat-pill strong{font-weight:700}.home-live-row{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:1.5px;color:#203764;margin:2px 2px 8px}.home-live-dot{width:9px;height:9px;border-radius:50%;background:#ff5b5b;box-shadow:0 0 #ff5b5bb3;animation:home-live-pulse 1.6s infinite}@keyframes home-live-pulse{0%{box-shadow:0 0 #ff5b5bb3}70%{box-shadow:0 0 0 9px #ff5b5b00}to{box-shadow:0 0 #ff5b5b00}}.home-progress{height:8px;border-radius:99px;background:#20376433;margin:6px 2px 4px;overflow:hidden}.home-progress-head{display:flex;align-items:baseline;justify-content:space-between;font-size:.8rem;font-weight:700;color:#203764;margin:10px 2px 0}.home-progress-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#34d399,#a7f3d0)}.home-demo-stats{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:10px;font-size:.82rem;color:#fff}.home-demo-chip{background:#ffffff24;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 14px;backdrop-filter:blur(4px)}.home-demo-chip strong{font-weight:800}.home-section{padding:34px 24px 40px}.home-section .page-wrap{padding:0;max-width:1100px;margin:0 auto}.home-section-alt{background:var(--section-bg, rgba(0,0,0,.03))}.home-section-title{text-align:center;font-size:1.75rem;font-weight:800;margin:0 0 20px;color:var(--text)}.home-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;align-items:stretch;position:relative}.home-feature-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;text-decoration:none;color:var(--text);transition:box-shadow .2s,border-color .2s,transform .15s;display:flex;flex-direction:column;height:100%;position:relative}.home-feature-card:hover{box-shadow:0 8px 28px #00000014;border-color:var(--primary);transform:translateY(-3px)}.home-feature-icon{font-size:1.6rem}.home-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#dbeafe;font-size:1.4rem;margin-bottom:10px}body.dark .home-feature-icon{background:#2f80ed38}.home-feature-num{position:absolute;top:12px;right:12px;font-size:.72rem;font-weight:800;letter-spacing:.5px;background:#dbeafe;color:#1d4ed8;border-radius:8px;padding:3px 9px}body.dark .home-feature-num{background:#2f80ed38;color:#93c5fd}.home-feature-card h3{font-size:1.05rem;font-weight:700;margin:0 0 6px}.home-feature-card p{font-size:.86rem;color:var(--muted);line-height:1.45;margin:0 0 10px;flex:1}.home-feature-link{font-size:.88rem;font-weight:600;color:var(--primary)}.home-feature-pill{display:inline-block;align-self:flex-start;margin-top:10px;font-size:.72rem;font-weight:600;color:var(--muted);background:var(--panel2);border:1px solid var(--border);border-radius:999px;padding:4px 12px}.home-steps{display:flex;align-items:center;justify-content:center;gap:24px}.home-step{text-align:center;flex:0 1 240px}.home-step-num{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.home-step h3{font-size:1.05rem;font-weight:700;margin:0 0 8px}.home-step p{font-size:.9rem;color:var(--muted);line-height:1.5;margin:0}.home-step-arrow{font-size:1.5rem;color:var(--primary);font-weight:700;flex-shrink:0}.home-benefits{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.home-benefit{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;font-size:.92rem;font-weight:500;color:var(--text);display:flex;align-items:center;gap:10px}.home-benefit:before{content:"✓";color:var(--green);font-weight:800;font-size:1.05rem;flex-shrink:0}.home-seo{max-width:720px;margin:0 auto}.home-seo h2{font-size:1.45rem;font-weight:800;margin:0 0 18px}.home-seo h3{font-size:1.1rem;font-weight:800;margin:24px 0 10px;color:var(--text)}.seo-below-fold{margin-top:420px}@media(max-width:760px){.seo-below-fold{margin-top:220px}}.home-seo p{font-size:.95rem;line-height:1.7;color:var(--muted);margin:0 0 16px}.home-final-cta{padding:28px 24px;text-align:center}.home-final-cta-inner{max-width:1100px;margin:0 auto}.home-final-cta-inner h2{font-size:1.8rem;font-weight:800;margin:0 0 12px;color:var(--text)}.home-final-cta-inner p{font-size:1rem;color:var(--muted);margin:0 0 16px}.home-final-cta .btn,.home-final-cta .btn:visited,.home-final-cta .btn:hover{text-decoration:none;color:#fff}.about-content{max-width:720px;margin:0 auto}.about-table-wrap{overflow-x:auto;margin:0 0 16px}.about-compare{width:100%;border-collapse:collapse;font-size:.86rem;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.about-compare caption{text-align:left;font-weight:700;padding:10px 12px;color:var(--text)}.about-compare th,.about-compare td{text-align:left;padding:9px 12px;border-top:1px solid var(--border)}.about-compare thead th{background:var(--panel2);font-weight:800}.about-compare tbody th[scope=row]{font-weight:700}.footer-guides{display:flex;flex-wrap:wrap;gap:6px 16px;padding:14px 0 4px;font-size:.8rem}.footer-guides span{color:var(--muted);font-weight:700}.footer-guides a{color:var(--muted);text-decoration:none}.footer-guides a:hover{color:var(--primary);text-decoration:underline}.about-content p{font-size:.95rem;color:var(--text);margin:0 0 16px}.about-content h3{font-size:1.15rem;font-weight:700;margin:28px 0 10px;color:var(--text)}.about-content ul{margin:0 0 16px;padding-left:22px}.about-content li{font-size:.93rem;color:var(--text);margin-bottom:8px;line-height:1.6}.about-content li strong{font-weight:700}.game-index{max-width:860px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px 26px}.game-index h2{margin:0 0 18px}.game-index-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 32px}.game-index h3{margin:0 0 8px;font-size:1.05rem}.game-index-list{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 18px}.game-index-list li{margin:0;font-size:.9rem;line-height:1.5}.game-index-list a{display:inline-block;padding:4px 0;color:var(--text);font-weight:600;text-decoration:none;border-bottom:1px solid transparent}.game-index-list a:hover,.game-index-list a:focus-visible{color:var(--primary);border-bottom-color:var(--primary)}@media(max-width:520px){.game-index{padding:20px 18px}.game-index-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.seo-faq{margin-top:36px;padding-top:28px;border-top:1px solid var(--border)}.seo-faq h2{margin:0 0 14px;color:var(--text);font-size:1.3rem;font-weight:800}.seo-faq details{margin-bottom:9px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px}.seo-faq summary{color:var(--text);font-size:.94rem;font-weight:800;line-height:1.4;cursor:pointer}.seo-faq details[open] summary{margin-bottom:9px}.seo-faq p{margin:0;color:var(--text);font-size:.9rem;line-height:1.65}body.lesson-active #view-learn .seo-outro,body.tq-playing #view-games .seo-outro{display:none}.site-footer{border-top:1px solid var(--border);margin-top:48px;padding:18px 24px;background:var(--card)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.footer-brand{font-size:1.15rem;font-weight:800;color:var(--text)}.footer-brand span{color:var(--primary)}.footer-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.footer-links a{font-size:.88rem;color:var(--muted);text-decoration:none;font-weight:500}.footer-links a:hover{color:var(--primary)}.footer-copy{font-size:.8rem;color:var(--muted)}.footer-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:24px;width:100%;max-width:1000px;margin:0 auto 14px;text-align:left}.footer-col h4{font-size:.82rem;margin:0 0 8px;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.footer-col a{display:block;font-size:.86rem;color:var(--muted);text-decoration:none;font-weight:500;padding:3px 0}.footer-col a:hover{color:var(--primary)}.footer-blurb{font-size:.85rem;color:var(--muted);margin:6px 0 12px;max-width:270px;line-height:1.5}@media(max-width:720px){.site-footer{margin-top:32px}.footer-cols{grid-template-columns:1fr 1fr}}body.focus-mode .header,body.focus-mode .main-nav,body.focus-mode .header-right,body.focus-mode .practice-topbar .psetup-row:nth-child(2),body.focus-mode .ui-mode-bar,body.focus-mode .practice-topbar .practice-icons,body.focus-mode .player-top .player-nav,body.focus-mode .player-top .player-icons,body.focus-mode .kb-scene,body.focus-mode .progress-strip,body.focus-mode .hero,body.focus-mode .lessons,body.focus-mode #pageMsg,body.focus-mode .pageMsg-toggle{opacity:0!important;pointer-events:none!important;transition:opacity .3s}body.focus-mode .footer-links,body.focus-mode .footer-copy,body.zen-mode .footer-links,body.zen-mode .footer-copy{opacity:0!important;pointer-events:none!important}body.focus-mode .site-footer,body.zen-mode .site-footer{opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important;padding:0!important}.zen-logo{display:none;text-align:center;font-size:1.1rem;font-weight:800;color:var(--muted);padding:16px 0 8px;letter-spacing:-.5px;opacity:.5}.zen-logo .logo-play{color:var(--primary)}body.focus-mode .zen-logo,body.zen-mode .zen-logo{display:block}body.focus-mode .practice-stage,body.focus-mode .drill,body.focus-mode .player{margin-top:0!important}body.focus-mode .player-top .btn.ghost{opacity:1!important;pointer-events:auto!important}body.zen-mode .practice-topbar,body.zen-mode .kb-scene{opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important;transition:opacity .3s}body.zen-mode .practice-stage,body.zen-mode .drill{margin-top:0!important}body.zen-mode .player-top .dstat-inline,body.zen-mode #dWpm,body.zen-mode #dAcc{visibility:hidden}body.zen-mode .drill-stats-inline .dstat-pipe,body.zen-mode .drill-stats-inline .dstat-inline:not(:first-child),body.zen-mode #pRestartBtn{visibility:hidden}body.zen-mode .header{opacity:0!important;pointer-events:none!important}.icon-btn.active-toggle,.psetup-group .seg.compact button.active-toggle{background:#2f80ed33;color:var(--primary);border-radius:8px}.practice-icons .icon-btn{padding:5px 10px;font-size:.78rem;font-weight:600;border-radius:8px;border:1px solid transparent;transition:all .15s}.practice-icons .icon-btn.active-toggle{border-color:var(--primary);background:#2f80ed1f;color:var(--primary)}.practice-icons .icon-btn:hover{background:#8096b426}.practice-icons .icon-btn.active-toggle:hover{background:#2f80ed33}.toggle-btn{padding:5px 12px;font-size:.82rem;font-weight:600;border-radius:0;background:none;color:var(--muted);border:none;transition:all .15s;cursor:pointer}.toggle-btn:hover{color:var(--text)}.toggle-btn.active{color:var(--primary);font-weight:700;background:#2f80ed1f;border-radius:8px}#pToggleSeg,#pModeSeg{display:flex;gap:2px}.r-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.r-grid .r-cell{min-width:80px}.r-replay-wrap{text-align:center;margin:10px 0 4px}#rReplayBtn{background:#27c69a26;color:#27c69a;border:1px solid rgba(39,198,154,.4);border-radius:8px;padding:6px 18px;font-size:.82rem;cursor:pointer;transition:all .2s;animation:replayPulse 2s ease-in-out infinite}#rReplayBtn:hover{background:#27c69a40;border-color:#27c69a}@keyframes replayPulse{0%,to{box-shadow:0 0 #27c69a00}50%{box-shadow:0 0 12px 3px #27c69a66}}.custom-text-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .15s;font-size:.8rem;color:var(--text)}.custom-text-item:hover{background:#2f80ed14}.custom-text-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-text-item-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:2px;line-height:1;border-radius:4px;transition:color .15s}.custom-text-item-del:hover{color:#f56565}@media(max-width:900px){.drill,.key-intro{margin-top:0!important}.home-hero-inner{flex-direction:column;text-align:center}.home-hero-text p{max-width:100%}.home-hero-btns{justify-content:center}.home-hero-visual{width:100%;max-width:420px}}@media(max-width:760px){.main-nav,.header-stats,.header-greeting{display:none}.hero h1,.hero .h1{font-size:1.4rem}.key-intro-title{font-size:1.15rem}.keyboard{padding:8px;gap:5px}.krow{gap:4px}.key{height:34px;font-size:.75rem;border-radius:5px}.key .key-base{font-size:.75rem}.kb-scene{padding-bottom:70px}.drill-text{font-size:1.25rem}.drill-stats{gap:24px}.psetup-row{flex-wrap:wrap;gap:8px}.player-top .player-nav{position:relative;left:auto;transform:none;width:100%;max-width:100%}.player-nav{padding:4px 12px 8px;gap:8px;flex-wrap:nowrap}.player-nav .btn.small{max-width:none;font-size:.78rem;flex-shrink:0}.player-title{white-space:normal;line-height:1.3}#prevBtn,#skipBtn{margin-left:0!important;margin-right:0!important}.home-hero{padding:32px 0 28px}.home-hero-text h1,.home-hero-text .h1{font-size:1.6rem}.home-hero-text p{font-size:.95rem}.home-hero-visual{width:100%;max-width:340px}.home-section{padding:36px 16px}.home-section-title{font-size:1.35rem}.home-steps{flex-direction:column;gap:16px}.home-step-arrow{transform:rotate(90deg)}.home-features,.home-benefits{grid-template-columns:1fr}.home-final-cta{padding:40px 16px}.home-final-cta-inner h2{font-size:1.4rem}}@media(max-width:560px){.hands-overlay{display:none}.kb-scene{padding-bottom:0}}.custom-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease}.custom-modal{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px 40px;width:min(420px,90vw);box-shadow:0 20px 60px #0006}.custom-modal-title{font-size:1.1rem;font-weight:600;color:var(--muted);margin-bottom:8px;opacity:.7}.custom-modal-subtitle{font-size:.85rem;color:var(--muted);margin-bottom:12px}.custom-modal-input{width:100%;padding:12px 16px;font-size:1.1rem;font-weight:600;border:2px solid var(--primary);border-radius:8px;background:var(--card);color:var(--text);outline:none;margin-bottom:16px;font-family:var(--font-mono)}.custom-modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2f80ed33}.custom-modal-hint{font-size:.78rem;color:var(--muted);margin-bottom:8px;line-height:1.5}.custom-modal-hint.secondary{opacity:.7;margin-bottom:20px}.custom-modal-hint .key{display:inline-block;padding:2px 6px;font-size:.7rem;font-weight:600;background:#8096b426;border-radius:4px;font-family:var(--font-mono)}.custom-modal-apply{width:100%;padding:12px;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;transition:background .15s}.custom-modal-apply:hover{background:var(--primary-dark, #3a72c4)}body.dark .custom-modal{background:#2c2e31;border-color:#444}.custom-icon-btn{padding:5px 10px;font-size:.85rem;border-radius:0;background:none;color:var(--muted);border:none;cursor:pointer;transition:color .15s}.custom-icon-btn:hover{color:var(--text)}.custom-icon-btn.active{color:var(--primary);font-weight:700}.custom-modal-error{font-size:.82rem;color:#e74c3c;margin-bottom:12px;font-weight:600}.custom-modal-input.input-error{border-color:#e74c3c;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.gs-modal{background:var(--card);border-radius:16px;padding:28px;max-width:440px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:modalIn .25s ease}@keyframes modalIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.gs-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:28px}.gs-icon-symbol,.gs-emoji{color:#fff;font-size:28px}.gs-modal h2{font-size:1.4rem;margin:0 0 4px}.gs-game-name{color:var(--muted);font-size:.9rem;margin:0 0 18px}.gs-stats{background:var(--bg);border-radius:10px;padding:12px 16px;margin-bottom:20px}.gs-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.gs-row:last-child{border-bottom:none}.gs-row.gs-divider{border-top:2px solid var(--accent);padding-top:10px;margin-top:4px}.gs-trend{margin:6px 0 2px}.gs-trend-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.gs-trend-bars{display:flex;align-items:flex-end;gap:5px;height:46px;padding:6px 8px;background:var(--bg);border-radius:8px}.gs-trend-bar{flex:1;min-width:8px;border-radius:3px;background:linear-gradient(180deg,#60a5fa,#2563eb)}.gs-trend-bar:last-child{background:linear-gradient(180deg,#34d399,#059669)}.gs-label{color:var(--muted);font-size:.85rem}.gs-value{font-weight:700;color:var(--text)}.gs-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.gs-btn{padding:10px 22px;border-radius:10px;border:none;font-weight:600;cursor:pointer;font-size:.9rem;transition:transform .15s}.gs-btn:hover{transform:translateY(-2px)}.gs-btn.primary{background:var(--accent);color:#fff}.gs-btn.secondary{background:var(--border);color:var(--text)}.gs-btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.lb-modal{background:var(--card);border-radius:16px;padding:24px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:modalIn .25s ease}.lb-modal h2{margin:0 0 4px;font-size:1.3rem}.lb-subtitle{color:var(--muted);font-size:.85rem;margin:0 0 16px}.lb-list{list-style:none;padding:0;margin:0 0 16px}.lb-entry{display:flex;align-items:center;padding:8px 12px;border-radius:8px;margin-bottom:4px;background:var(--bg)}.lb-entry.is-you{background:#2f80ed26;border:1px solid var(--accent)}.lb-rank{width:28px;font-weight:700;font-size:.85rem;color:var(--muted)}.lb-entry:nth-child(1) .lb-rank{color:gold}.lb-entry:nth-child(2) .lb-rank{color:silver}.lb-entry:nth-child(3) .lb-rank{color:#cd7f32}.lb-medal{font-size:16px;margin-right:4px}.lb-score{margin-left:auto;font-weight:700;color:var(--text);font-size:.9rem}.lb-btns{display:flex;gap:10px;justify-content:center}.dc-section{background:var(--card);border:2px solid var(--accent);border-radius:14px;padding:12px 18px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;transition:box-shadow .15s,transform .15s}.dc-section:hover{box-shadow:0 4px 16px #2f80ed1f}.dc-left{display:flex;align-items:center;gap:12px}.dc-badge{background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.dc-main{display:flex;align-items:center}.dc-row{display:flex;align-items:center;gap:10px}.dc-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.dc-info{flex:1}.dc-name{font-weight:700;font-size:.9rem;color:var(--text);line-height:1.2}.dc-desc{font-size:.75rem;color:var(--muted);margin-top:1px}.dc-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.dc-streak{display:flex;align-items:center;gap:3px}.dc-streak-dot{width:16px;height:16px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:8px}.dc-streak-dot.done{background:#2f80ed26}.dc-streak-dot.today{border:2px solid var(--accent)}.dc-play-btn{background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;padding:5px 14px;border-radius:8px;white-space:nowrap}@media(max-width:768px){.dc-section{flex-direction:column;align-items:flex-start;gap:10px}.dc-right{width:100%;justify-content:space-between}}.gh-card.locked{opacity:.5;filter:grayscale(.6);cursor:not-allowed}.gh-card.locked:hover{transform:none;box-shadow:0 2px 8px #00000014}.gh-card.locked .lock-overlay{display:flex}.lock-overlay{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:28px;color:var(--muted);background:#ffffff80;border-radius:14px}.gh-card{position:relative}.gh-card .best-badge{position:absolute;top:6px;right:6px;background:#ffd70033;color:#ff8f00;font-size:.65rem;padding:2px 6px;border-radius:6px;font-weight:600}.combo-glow{position:absolute;inset:0;pointer-events:none;z-index:5}@keyframes dangerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.danger-pulse{animation:dangerPulse .3s ease infinite}#confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:999;overflow:hidden}.confetti-piece{position:absolute;top:-12px;width:9px;height:14px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0) translate(0);opacity:1}to{transform:translateY(105vh) rotate(720deg) translate(24px);opacity:0}}.parent-progress{margin-top:34px;padding-top:26px;border-top:1px solid var(--border);scroll-margin-top:88px}.parent-progress .parent-head{margin-bottom:16px}.parent-progress .view-sub{max-width:760px}.parent-progress .parent-chart:last-child{margin-bottom:0}.parent-wrap{max-width:900px;margin:0 auto;padding:24px 20px}.parent-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.parent-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.parent-stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}.parent-stat b{display:block;font-size:1.4rem;color:var(--primary)}.parent-stat span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.parent-chart{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:20px}.parent-chart h3{font-size:.95rem;margin-bottom:10px}.wpm-chart{display:flex;align-items:end;gap:8px;height:120px;padding:0 4px}.wpm-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.wpm-bar{width:100%;background:linear-gradient(180deg,#3b82f6,#10b981);border-radius:6px 6px 0 0;transition:height .3s}.wpm-bar-val{font-size:.7rem;font-weight:700;color:var(--muted)}.parent-empty{color:var(--muted);font-size:.9rem;text-align:center;padding:12px}.pj-bar{height:10px;background:#7f8ca040;border-radius:999px;overflow:hidden;margin:10px 0 8px}.pj-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:999px}.pj-meta{font-size:.85rem;color:var(--muted)}.pj-big{font-size:1.05rem;font-weight:800}.ach-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.ach-badge{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 12px;opacity:.55}.ach-badge.is-unlocked{opacity:1;border-color:#f59e0b;box-shadow:0 4px 14px #f59e0b26}.ach-medal{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}#parent-ach-wall .ach-medal.multi{font-size:.6rem;letter-spacing:-1px}.ach-meta{display:flex;flex-direction:column;min-width:0}.ach-name{font-weight:700;font-size:.85rem;color:var(--text)}.ach-desc{font-size:.72rem;color:var(--muted);line-height:1.2}.ach-lock{margin-left:auto;font-size:1rem;opacity:.6}#parentDashBtn,[data-parent-dash]{position:relative;overflow:hidden;border:1.5px solid #9db4cc}body.dark #parentDashBtn,body.dark [data-parent-dash]{border-color:#ffffff4d}#parentDashBtn .lp-progress,[data-parent-dash] .lp-progress{position:absolute;left:0;bottom:0;height:4px;width:0;border-radius:0 3px 3px 0;background:linear-gradient(90deg,var(--primary),#56ccf2);box-shadow:0 0 8px #2f80edcc;transition:width .03s;pointer-events:none}#parentDashBtn.pressing,[data-parent-dash].pressing{transform:scale(.97);border-color:var(--primary)}body.exam-mode .key.fg-l1,body.exam-mode .key.fg-r1,body.exam-mode .key.fg-l2,body.exam-mode .key.fg-r2,body.exam-mode .key.fg-l3,body.exam-mode .key.fg-r3,body.exam-mode .key.fg-l4,body.exam-mode .key.fg-r4,body.exam-mode .key.fg-thumb{background:#fff!important;color:#6b7c8d!important}body.exam-mode.kb-exam-mode .hands-overlay{display:none!important}body.dark.exam-mode .key{background:#243244!important;color:#cfd8e3!important}.global-diff-wrap{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 16px;margin:0 auto 18px;max-width:900px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.global-diff-label{font-weight:700;font-size:.85rem;color:var(--text);white-space:nowrap}#globalDiffBar{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.gdiff-btn{padding:6px 12px;border:1px solid var(--border);background:var(--bg);border-radius:20px;font-size:.78rem;font-weight:700;cursor:pointer;color:var(--muted)}.gdiff-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.gdiff-btn:hover{border-color:var(--primary)}#globalDiffHint{font-size:.78rem;color:var(--muted)}#view-typequest{background:linear-gradient(180deg,#eff6ff,#fdf6ec)!important;padding-bottom:24px}.tq-menu-header{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 18px;max-width:1180px;margin:0 auto}.tq-logo{display:flex;align-items:center;gap:14px}.tq-logo-icon{filter:drop-shadow(0 3px 6px rgba(37,99,235,.25))}.tq-logo-text h1,.tq-logo-text .h1{font-size:30px;font-weight:800;letter-spacing:2px;background:linear-gradient(120deg,#2563eb,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.15;margin:0;display:block}.tq-logo-text p{font-size:13px;color:#64748b;letter-spacing:3px;font-weight:600;margin:0}.tq-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.tq-offline-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#059669;background:#d1fae5;padding:6px 12px;border-radius:999px}.tq-btn{font-family:inherit;border:none;cursor:pointer;border-radius:10px;transition:transform .15s,box-shadow .15s,background .15s}.tq-btn:active{transform:scale(.96)}.tq-btn-ghost{background:#ffffffb3;color:#64748b;padding:8px 16px;font-size:14px;font-weight:600;border:1.5px solid rgba(100,116,139,.22)}.tq-btn-ghost:hover{color:#2563eb;border-color:#3b82f6;background:#fff}.tq-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:9px 18px;font-size:14.5px;font-weight:700;letter-spacing:.5px;box-shadow:0 3px 10px #2563eb4d}.tq-btn-primary:hover{box-shadow:0 5px 16px #2563eb6b;transform:translateY(-1px)}.tq-menu-main{flex:1;min-height:0;display:flex;align-items:stretch;gap:40px;max-width:1180px;margin:0 auto;padding:0 4px}.tq-mode-grid{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-content:stretch}.tq-mode-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 16px 20px;background:#fff;border-radius:20px;border:2.5px solid transparent;box-shadow:0 4px 14px #1e293b14,0 1px 3px #1e293b0f;cursor:pointer;font-family:inherit;text-align:center;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;animation:card-in .5s cubic-bezier(.34,1.3,.64,1) both}.tq-mode-card:nth-child(1){animation-delay:.05s}.tq-mode-card:nth-child(2){animation-delay:.12s}.tq-mode-card:nth-child(3){animation-delay:.19s}.tq-mode-card:nth-child(4){animation-delay:.26s}@keyframes card-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.tq-mode-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px #2563eb2e}.tq-mode-card:active{transform:translateY(-2px) scale(.98)}.tq-mode-card[data-mode=balloonBlaster]:hover{border-color:#ff6b6b}.tq-mode-card[data-mode=monsterRun]:hover{border-color:#8b5cf6}.tq-mode-card[data-mode=petQuest]:hover{border-color:#10b981}.tq-mode-card[data-mode=tortoiseHare]:hover{border-color:#0ea5e9}.tq-mode-card:before{content:"";position:absolute;inset:0 0 auto;height:8px}.tq-mode-card[data-mode=balloonBlaster]:before{background:#ff6b6b}.tq-mode-card[data-mode=monsterRun]:before{background:#8b5cf6}.tq-mode-card[data-mode=petQuest]:before{background:#10b981}.tq-mode-card[data-mode=tortoiseHare]:before{background:#0ea5e9}.tq-mode-icon{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;margin-top:6px}.tq-mode-card[data-mode=balloonBlaster] .tq-mode-icon{background:#fff0f0}.tq-mode-card[data-mode=monsterRun] .tq-mode-icon{background:#f3eeff}.tq-mode-card[data-mode=petQuest] .tq-mode-icon{background:#eaf9f3}.tq-mode-card[data-mode=tortoiseHare] .tq-mode-icon{background:#e8f6fe}.tq-mode-name{font-size:21px;font-weight:800;letter-spacing:1px;color:#1e293b}.tq-mode-desc{font-size:13px;line-height:1.55;color:#64748b;min-height:40px}.tq-mode-progress{width:100%;margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:7px;padding-top:12px;border-top:1.5px dashed rgba(100,116,139,.2)}.tq-mode-stars-label{font-size:12px;font-weight:600;color:#64748b}.tq-mode-total{font-size:13px;font-weight:700;color:#f59e0b}.tq-star-row{display:inline-flex;gap:3px;align-items:center}.tq-star{width:18px;height:18px;color:#e2e8f0}.tq-star.lit{color:#f59e0b;animation:star-pop .4s cubic-bezier(.34,1.56,.64,1) both}.tq-star:nth-child(1).lit{animation-delay:.05s}.tq-star:nth-child(2).lit{animation-delay:.15s}.tq-star:nth-child(3).lit{animation-delay:.25s}@keyframes star-pop{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.tq-mode-card:hover .tq-mode-icon{animation:icon-bounce .6s ease}@keyframes icon-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}70%{transform:translateY(-3px)}}#gameHub .tq-mode-level{display:none}@media(min-width:761px){#gameHub .tq-mode-card .tq-mode-desc{display:none}#gameHub .tq-mode-card{min-height:0;padding:14px 12px 12px}#gameHub .tq-mode-card .tq-mode-icon{width:auto;height:auto;border-radius:0;margin:-14px -12px 0;padding:16px 12px 14px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}#gameHub .tq-mode-card .tq-mode-icon:before{content:"";position:absolute;left:50%;top:50%;width:72px;height:72px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 4px 12px #00000026}#gameHub .tq-mode-card .tq-mode-icon svg{position:relative;z-index:1;width:56px;height:56px}#gameHub .tq-mode-card[data-mode=balloon] .tq-mode-icon{background:radial-gradient(circle 40px at 50% 42%,#ffffffe6,#fff0 70%),radial-gradient(circle 20px at 80% 18%,#fffffff2,#fff0 70%),radial-gradient(circle 28px at 14% 30%,#ffffff8c,#fff0 70%),linear-gradient(180deg,#38bdf8,#bae6fd 62%,#6ee7b7 62%,#34d399)}#gameHub .tq-mode-card[data-mode=monster] .tq-mode-icon{background:radial-gradient(circle 40px at 50% 42%,#ffffff47,#fff0 70%),radial-gradient(circle 20px at 80% 18%,#fef9c3f2,#fef9c300 70%),radial-gradient(circle 3px at 20% 22%,#ffffffe6,#fff0 70%),linear-gradient(180deg,#2e1065,#7c3aed 62%,#1e1b4b 62%,#4c1d95)}#gameHub .tq-mode-card[data-mode=pet] .tq-mode-icon{background:radial-gradient(circle 40px at 50% 42%,#ffffffe6,#fff0 70%),radial-gradient(circle 22px at 18% 20%,#fffffff2,#fff0 70%),radial-gradient(circle 28px at 84% 34%,#ffffff8c,#fff0 70%),linear-gradient(180deg,#7dd3fc,#e0f2fe 62%,#6ee7b7 62%,#34d399)}#gameHub .tq-mode-card[data-mode=race] .tq-mode-icon{background:radial-gradient(circle 40px at 50% 42%,#ffffffe6,#fff0 70%),radial-gradient(circle 22px at 82% 20%,#fffffff2,#fff0 70%),radial-gradient(circle 28px at 14% 28%,#ffffff8c,#fff0 70%),linear-gradient(180deg,#38bdf8,#e0f2fe 62%,#fcd34d 62%,#f59e0b)}#gameHub .tq-mode-card .tq-mode-icon svg{filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))}#gameHub .tq-mode-level{display:inline-flex;position:absolute;top:14px;left:14px;z-index:2;background:#fffffff0;color:#1e293b;font-size:.72rem;font-weight:900;letter-spacing:.5px;padding:3px 11px;border-radius:999px;box-shadow:0 2px 6px #00000038}#gameHub .tq-mode-card .tq-mode-progress{order:1;margin-top:0;border-top:none;padding-top:0;flex-direction:row;justify-content:center;align-items:center}#gameHub .tq-mode-card .tq-mode-stars-label{display:none}#gameHub .tq-mode-card[data-mode=balloon] .tq-mode-name:before{content:"🎈 "}#gameHub .tq-mode-card[data-mode=monster] .tq-mode-name:before{content:"👾 "}#gameHub .tq-mode-card[data-mode=pet] .tq-mode-name:before{content:"🐣 "}#gameHub .tq-mode-card[data-mode=race] .tq-mode-name:before{content:"🐢 "}#gameHub .tq-mode-card .tq-mode-name{order:2;align-self:stretch;margin:auto -12px -12px;padding:10px 12px 14px;border-top:2px solid var(--border);background:var(--bg);border-radius:0 0 12px 12px;font-size:18px}}.tq-menu-ach{flex:0 0 260px;border-left:1.5px dashed rgba(100,116,139,.28);padding-left:24px}.tq-menu-ach-title{font-size:15px;font-weight:800;color:#1e293b;margin-bottom:12px}.tq-ach-wall{display:flex;flex-direction:column;gap:12px}.tq-ach-badge{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:0 4px 14px #1e293b14,0 1px 3px #1e293b0f;opacity:.55;filter:grayscale(.7);border:1.5px solid rgba(100,116,139,.14)}.tq-ach-badge.is-unlocked{opacity:1;filter:none;border-color:var(--ach-color,#3B82F6);box-shadow:0 4px 14px color-mix(in srgb,var(--ach-color,#3B82F6) 22%,transparent)}.tq-difficulty-bar{display:flex;align-items:center;gap:16px;background:#fff;border-radius:14px;box-shadow:0 4px 14px #1e293b14,0 1px 3px #1e293b0f;padding:12px 20px;max-width:1180px;margin:20px auto 0}.tq-difficulty-label{font-size:15px;font-weight:800;letter-spacing:2px;color:#1e293b;white-space:nowrap}.tq-difficulty-options{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.tq-difficulty-bar{flex-wrap:wrap;gap:10px}.tq-difficulty-options{flex:1 1 100%}.tq-difficulty-hint{margin-left:0}}.tq-difficulty-btn{font-family:inherit;border:2px solid rgba(100,116,139,.2);background:#f8fafc;color:#64748b;border-radius:999px;padding:7px 16px;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .18s;white-space:nowrap}.tq-difficulty-btn:hover{border-color:#3b82f6;color:#1d4ed8;transform:translateY(-1px)}.tq-difficulty-btn.is-active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;color:#fff;box-shadow:0 3px 10px #2563eb59}.tq-difficulty-hint{margin-left:auto;font-size:13px;color:#64748b;font-weight:600}.tq-menu-tip{text-align:center;font-size:12.5px;color:#64748bbf;letter-spacing:.5px;margin:10px auto 0;max-width:1180px}@media(max-width:1080px){.tq-mode-grid{grid-template-columns:repeat(2,1fr)}.tq-menu-main{flex-direction:column}.tq-menu-ach{border-left:none;border-top:1.5px dashed rgba(100,116,139,.28);padding-left:0;padding-top:20px}}#view-games #kbSceneGames,#view-typequest #kbSceneGames{display:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}body.typerkids-game #view-games .game-topbar,body.typerkids-game #view-typequest .game-topbar,body.tq-core-game #view-games .game-topbar,body.tq-core-game #view-typequest .game-topbar,body.typerkids-game #gameHudInfo,body.tq-core-game #gameHudInfo,body.typerkids-game #gameStage .game-topbar,body.tq-core-game #gameStage .game-topbar{display:none!important}body.typerkids-game #view-games .game-stage,body.typerkids-game #view-typequest .game-stage{background:#fff8e1!important}body.tq-original-game #view-games .game-stage,body.tq-original-game #view-typequest .game-stage{background:#fff8e1!important;height:100vh;overflow-y:auto}body.tq-original-game #view-games #tq-root,body.tq-original-game #view-typequest #tq-root{display:flex;flex-direction:column}body.typerkids-game #view-games .game-canvas-area,body.typerkids-game #view-typequest .game-canvas-area,body.tq-core-game #view-games .game-canvas-area,body.tq-core-game #view-typequest .game-canvas-area{background:#fff8e1!important}body.typerkids-game #view-games #gameCanvas,body.typerkids-game #view-typequest #gameCanvas,body.tq-core-game #view-games #gameCanvas,body.tq-core-game #view-typequest #gameCanvas,body.typerkids-game #view-games .game-input-bar,body.typerkids-game #view-games .game-instruction,body.typerkids-game #view-typequest .game-input-bar,body.typerkids-game #view-typequest .game-instruction,body.tq-core-game #view-games .game-input-bar,body.tq-core-game #view-games .game-instruction,body.tq-core-game #view-typequest .game-input-bar,body.tq-core-game #view-typequest .game-instruction,body.tq-original-game #view-games .game-topbar,body.tq-original-game #view-typequest .game-topbar,body.tq-original-game #gameStage .game-topbar,body.tq-original-game #view-games .game-input-bar,body.tq-original-game #view-games .game-instruction,body.tq-original-game #view-typequest .game-input-bar,body.tq-original-game #view-typequest .game-instruction{display:none!important}body.tq-original-game:not(.tq-adapter) #view-games #gameCanvas,body.tq-original-game:not(.tq-adapter) #view-typequest #gameCanvas{display:none!important}#tq-root{width:100%}#tq-root .balloon-kb,#tq-root .monster-kb,#tq-root .pet-kb,#tq-root .race-kb{display:none!important}#tq-root #kbScene2.shared-coach-off .key{background:#fff!important;color:#6b7c8d!important}#tq-root #kbScene2.shared-coach-off .key.home{color:#37474f!important}#tq-root .race-wrap>#kbScene2,#tq-root .balloon-wrap>#kbScene2,#tq-root .monster-wrap>#kbScene2,#tq-root .pet-wrap>#kbScene2{margin:2px auto 0;padding-bottom:72px;width:100%;max-width:100%}#tq-root #kbScene2 .kb-hint{display:none!important}#tq-root #kbScene2 .keyboard{padding:10px;gap:6px}#tq-root .scene>.race-wrap,#tq-root .scene>.balloon-wrap,#tq-root .scene>.monster-wrap,#tq-root .scene>.pet-wrap{padding-bottom:6px}#tq-root .race-wrap>.race-text{margin-bottom:4px}#tq-root .balloon-wrap>.balloon-hint,#tq-root .monster-wrap>.monster-hint,#tq-root .pet-wrap>.pet-hint,#tq-root .race-wrap>.race-hint{margin:0 0 2px}#tq-root .balloon-header,#tq-root .monster-header,#tq-root .pet-header,#tq-root .race-header{gap:10px}#tq-root .balloon-title,#tq-root .monster-title,#tq-root .pet-title,#tq-root .race-title{font-size:17px}#tq-root .balloon-stats .stat,#tq-root .monster-stats .stat,#tq-root .pet-stats .stat,#tq-root .race-stats .stat{padding:6px 10px}#tq-root .balloon-stats .stat b,#tq-root .monster-stats .stat b,#tq-root .pet-stats .stat b,#tq-root .race-stats .stat b{font-size:20px}#tq-root .balloon-hint,#tq-root .monster-hint,#tq-root .pet-hint,#tq-root .race-hint{min-height:18px;font-size:13px}#tq-root .pet-stats,#tq-root .race-stats{flex-wrap:wrap}#tq-root .balloon-header,#tq-root .monster-header,#tq-root .pet-header,#tq-root .race-header{flex-wrap:wrap;row-gap:8px}#tq-root .balloon-wrap>*,#tq-root .monster-wrap>*,#tq-root .pet-wrap>*,#tq-root .race-wrap>*{min-width:0}#tq-root .balloon-field>*,#tq-root .monster-field>*,#tq-root .pet-field>*,#tq-root .race-field>*{max-width:100%}#tq-root .race-field canvas,#tq-root .tk-stage-mount{max-width:100%}#tq-root #rc-lives{padding:4px 8px;min-width:0;display:flex;flex-wrap:wrap;gap:2px;justify-content:center;align-items:center}#view-games .game-stage{width:min(780px,94vw);box-sizing:border-box}#view-games #tq-root .balloon-field,#view-games #tq-root .monster-field{flex:0 0 auto;height:calc(100vh - 200px);min-height:420px;overflow:visible}#view-games #tq-root .balloon-wrap:has(.balloon-ready[hidden]) .balloon-field,#view-games #tq-root .monster-wrap:has(.monster-ready[hidden]) .monster-field{height:calc(100vh - 500px);min-height:280px}#view-games #tq-root .pet-field{min-height:560px}#view-games #tq-root .race-field{min-height:520px}@media(max-height:760px){#view-games #tq-root .pet-field,#view-games #tq-root .race-field{min-height:240px}}#view-games #tq-root .balloon-ready,#view-games #tq-root .monster-ready,#view-games #tq-root .pet-ready{overflow-y:auto;padding:10px 0}#view-games #tq-root .balloon-wrap:has(.balloon-ready:not([hidden]))>#kbScene2,#view-games #tq-root .monster-wrap:has(.monster-ready:not([hidden]))>#kbScene2,#view-games #tq-root .pet-wrap:has(.pet-ready:not([hidden]))>#kbScene2,#view-games #tq-root .race-wrap:has(.race-ready:not([hidden]))>#kbScene2,#view-games #tq-root #scene-result #kbScene2{display:none!important}#view-games #tq-root .balloon-wrap:has(.balloon-ready:not([hidden])) .balloon-stats,#view-games #tq-root .monster-wrap:has(.monster-ready:not([hidden])) .monster-stats,#view-games #tq-root .pet-wrap:has(.pet-ready:not([hidden])) .pet-stats,#view-games #tq-root .race-wrap:has(.race-ready:not([hidden])) .race-stats{display:none}#view-games #tq-root .balloon-wrap:has(.balloon-ready:not([hidden])) .practice-toggles,#view-games #tq-root .monster-wrap:has(.monster-ready:not([hidden])) .practice-toggles,#view-games #tq-root .pet-wrap:has(.pet-ready:not([hidden])) .practice-toggles,#view-games #tq-root .race-wrap:has(.race-ready:not([hidden])) .practice-toggles{display:none}#view-games #tq-root .ready-card{margin:auto;flex-shrink:0}#view-games #tq-root .ready-card{padding:14px 20px 16px;max-width:400px}#view-games #tq-root .ready-card h3{font-size:19px;margin-bottom:4px}#view-games #tq-root .ready-card>p{font-size:13px;margin-bottom:8px}#view-games #tq-root .ready-card ul{gap:5px;padding:10px 14px;margin-bottom:12px;font-size:12.5px}#view-games #tq-root .ready-card .btn{font-size:16px;padding:10px 24px}#view-games #tq-root .balloon-wrap,#view-games #tq-root .monster-wrap,#view-games #tq-root .pet-wrap,#view-games #tq-root .race-wrap{height:auto;min-height:100%}body.dark #view-games #tq-root{background:linear-gradient(180deg,#0b1633,#101f42)}body.dark.tq-original-game #view-games .game-stage{background:#0e1930!important}body.dark #view-games #tq-root .stat{background:var(--card);box-shadow:0 4px 14px #00000073,0 1px 3px #0006}body.dark #view-games #tq-root .stat b{color:#60a5fa}body.dark #view-games #tq-root .stat span{color:#8ba1bd}body.dark #view-games #tq-root .toggle,body.dark #view-games #tq-root .btn-ghost{background:#ffffff14;border-color:#fff3;color:#dbe6f5}body.dark #view-games #tq-root .btn-ghost:hover{background:#ffffff1f;border-color:#3b82f6;color:#7de3f0}body.dark #view-games #tq-root .ready-card{background:var(--card);box-shadow:0 4px 14px #00000073,0 1px 3px #0006}body.dark #view-games #tq-root .ready-card>p{color:#8ba1bd}body.dark #view-games #tq-root .ready-card ul{background:#ffffff0f;color:#dbe6f5}body.dark #view-games #tq-root .balloon-hint,body.dark #view-games #tq-root .monster-hint,body.dark #view-games #tq-root .pet-hint,body.dark #view-games #tq-root .race-hint{color:#8ba1bd}body.dark #view-games #tq-root .result-card{background:var(--card);box-shadow:0 4px 14px #00000073,0 1px 3px #0006}body.dark #view-games #tq-root .result-title{color:#e8f1fb}body.dark #view-games #tq-root .result-item{background:#ffffff0f}body.dark #view-games #tq-root .result-item b{color:#60a5fa}body.dark #view-games #tq-root .result-item span,body.dark #view-games #tq-root .result-hint{color:#8ba1bd}#view-games .keyboard{padding:8px;gap:5px}#view-games .krow{gap:4px}#view-games .key{height:34px;font-size:.75rem;border-radius:5px}#view-games .key .key-base{font-size:.75rem}#tq-root .balloon-wrap,#tq-root .monster-wrap,#tq-root .pet-wrap,#tq-root .race-wrap{max-width:100%;width:100%;box-sizing:border-box}#view-games .tq-top-actions,#view-typequest .tq-top-actions,#view-typequest .tq-diff-wrap,#view-typequest .global-diff-wrap{display:none!important}.tq-menu-header{flex-wrap:wrap;gap:12px}.tq-menu-header .global-diff-wrap{margin:0;max-width:none;flex:1 1 420px;min-width:0}#view-games #ghSections,#view-typequest #ghSections{padding:0!important}.typerkids-stage{background:#fff8e1;border-radius:16px;padding:12px;min-height:360px;display:flex;flex-direction:column;gap:10px}.typerkids-topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:8px 12px;box-shadow:0 2px 8px #0000000f}.typerkids-input{background:#fff;border:2px solid #E2E8F0;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px}.typerkids-input input{flex:1;border:none;outline:none;font-size:18px;font-family:JetBrains Mono,monospace}.typerkids-input.flash-correct{border-color:#10b981;background:#ecfdf5}.typerkids-input.flash-wrong{border-color:#ef4444;background:#fef2f2}.typerkids-bubble{position:absolute;background:#fff;border-radius:999px;padding:10px 18px;font-weight:700;box-shadow:0 4px 12px #00000014;border:2px solid transparent;transition:border-color .15s,background .15s}.typerkids-bubble.target{border-color:#10b981;background:#ecfdf5}.typerkids-bubble.wrong{border-color:#ef4444;background:#fef2f2}.typerkids-ghost{position:absolute;pointer-events:none;animation:ghostUp .6s ease-out forwards;font-weight:700}@keyframes ghostUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.typerkids-grid9{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:340px;margin:0 auto}.typerkids-hole{aspect-ratio:1;background:#14532d;border-radius:14px;display:grid;place-items:center;position:relative;overflow:hidden}.typerkids-critter{background:#fef3c7;border:2px solid #F59E0B;border-radius:12px;padding:8px;font-weight:800;font-size:22px;box-shadow:0 4px 8px #0000001a}.typerkids-track{height:22px;background:#e2e8f0;border-radius:999px;position:relative;overflow:hidden}.typerkids-runner{position:absolute;top:50%;transform:translateY(-50%);transition:left .3s linear}#resultsModal .modal-box{background:transparent!important;box-shadow:none!important;padding:0!important;max-width:580px}#resultsModal .result-card{background:#fff;border-radius:20px;box-shadow:0 12px 40px #1e293b2e;padding:26px 32px 22px;text-align:center;max-width:460px;width:90%;margin:0 auto;animation:card-in .45s cubic-bezier(.34,1.56,.64,1) both}#resultsModal .result-mode-tag{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);padding:3px 12px;border-radius:999px;letter-spacing:.8px;margin-bottom:8px}#resultsModal .result-title{font-size:21px;font-weight:800;letter-spacing:.3px;margin-bottom:2px;color:#1e293b;line-height:1.25}#resultsModal .result-stars{display:flex;justify-content:center;gap:8px;margin:10px 0 14px}#resultsModal .result-star{width:48px;height:48px;color:#e2e8f0}#resultsModal .result-star.lit{color:#f59e0b;animation:star-pop .5s cubic-bezier(.34,1.56,.64,1) both}#resultsModal .result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}#resultsModal .result-item{background:#f1f5f9;border-radius:12px;padding:10px 6px 8px;display:flex;flex-direction:column;gap:2px}#resultsModal .result-item b{font-size:22px;font-weight:800;color:#2563eb;font-variant-numeric:tabular-nums}#resultsModal .result-item span{font-size:11px;font-weight:600;color:#64748b}#resultsModal .result-hint{font-size:13px;color:#64748b;margin-bottom:18px}#resultsModal .result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:4px}#resultsModal .result-actions .btn{min-width:148px;padding:12px 22px;font-size:14px;font-weight:700;border-radius:12px;line-height:1;letter-spacing:.2px;transition:transform .15s,box-shadow .15s}#resultsModal .result-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;box-shadow:0 3px 10px #2563eb4d}#resultsModal .result-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px #2563eb6b}#resultsModal .result-actions .btn-ghost{background:#fff;color:#64748b;border:1.5px solid #E2E8F0}#resultsModal .result-actions .btn-ghost:hover{border-color:#3b82f6;color:#2563eb;background:#f8fafc}#resultsModal .result-actions .btn:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:2px}@media(max-width:960px){#resultsModal .result-grid{grid-template-columns:repeat(2,1fr)}#resultsModal .result-card{padding:26px 28px 24px}#resultsModal .result-star{width:52px;height:52px}}.tq-hero{background:linear-gradient(135deg,#2f80ed,#56ccf2 60%,#8b5cf6)!important}.tq-diff-wrap{background:linear-gradient(180deg,#fff,#f8fafc);border:2px solid var(--primary)!important}body.dark .tq-diff-wrap{background:linear-gradient(180deg,var(--card),#101f42)}.gdiff-btn.rec{border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b33}.gdiff-btn.locked{opacity:.45;cursor:not-allowed}.tq-recommended{position:relative;border:2px solid #f59e0b!important;box-shadow:0 6px 18px #f59e0b2e}.tq-card-badge{position:absolute;top:6px;left:50%;transform:translate(-50%);background:#f59e0b;color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.6px;padding:2px 8px;border-radius:999px;white-space:nowrap}#tqRecommendedWrap{background:linear-gradient(180deg,#fffbeb,#fff);border:1px solid #fde68a;border-radius:14px;padding:16px;margin-bottom:18px}#tqRecommendedWrap .gh-section-title{color:#92400e}.gh-card.tq-recommended .gh-card-center{margin-top:10px}.pixi-section{background:linear-gradient(180deg,#eaf6ff,#f4fbff);border-radius:18px;padding:26px 22px;margin-bottom:28px;text-align:center}.pixi-kicker{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:4px;color:#0e7490;border:1.5px solid #67e8f9;border-radius:999px;padding:5px 18px;background:#ecfeff;margin-bottom:10px}.pixi-title{font-size:2rem;font-weight:800;color:#0f2a4a;margin:0 0 4px}.pixi-title span{color:#f59e0b}.pixi-sub{color:#47617c;font-size:1rem;margin:0 0 12px}.pixi-ready{display:inline-block;background:#dcfce7;color:#15803d;font-weight:700;font-size:.82rem;border-radius:999px;padding:6px 16px;margin-bottom:16px}.pixi-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.pixi-pill{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 18px;font-family:inherit;font-weight:700;font-size:.85rem;cursor:pointer;display:flex;gap:8px;align-items:center}.pixi-pill span{background:#8096b42e;border-radius:999px;padding:1px 9px;font-size:.75rem}.pixi-pill.active{background:#06b6d4;border-color:#06b6d4;color:#fff;box-shadow:0 6px 18px #06b6d459}.pixi-pill.active span{background:#ffffff40}.pixi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;text-align:left}.pixi-card{background:var(--card);border:1px solid var(--border);border-top-width:4px;border-radius:14px;padding:16px;cursor:pointer;position:relative;transition:transform .18s,box-shadow .18s}.pixi-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px #0000001f}.pixi-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.pixi-diff{position:absolute;top:10px;left:12px;background:#f59e0b;color:#fff;font-size:.62rem;font-weight:800;border-radius:6px;padding:2px 8px}.pixi-emoji{font-size:2.4rem;text-align:center;margin:8px 0 6px}.pixi-name{font-weight:800;font-size:1.02rem;color:var(--text);margin-bottom:4px}.pixi-desc{font-size:.82rem;color:var(--muted);line-height:1.45;margin-bottom:12px;min-height:2.4em}.pixi-foot{display:flex;justify-content:space-between;align-items:center}.pixi-cat{font-size:.68rem;font-weight:800;letter-spacing:1.5px;color:#0e7490;background:#ecfeff;border-radius:8px;padding:4px 10px}.pixi-play{font-size:.8rem;font-weight:700;color:var(--primary)}.pixi-tab-frame{width:100%;height:740px;min-height:660px;border:0;overflow:hidden}.pixi-tab-bar{display:flex;gap:10px;justify-content:center;margin-bottom:12px;flex-wrap:wrap}.pixi-tab-btn{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 20px;font-family:inherit;font-weight:700;font-size:.85rem;cursor:pointer}.pixi-tab-btn.active{background:#0f2a4a;border-color:#0f2a4a;color:#fff}.tq-logo,.tq-offline-badge,.tq-badge-offline{display:none!important}.pixi-tab-new span{background:#f59e0b;color:#fff;font-size:.62rem;font-weight:800;border-radius:6px;padding:1px 7px;margin-left:4px;letter-spacing:.5px}@media(max-width:760px){.pixi-tab-frame{height:calc(100vh - 140px);min-height:520px}}.pixi-overlay{position:fixed;inset:0;background:#0a1423c7;z-index:400;display:flex;align-items:center;justify-content:center;padding:18px}.pixi-modal{background:var(--card);border-radius:18px;max-width:1040px;width:100%;max-height:94vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px #00000073}.pixi-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.pixi-modal-title{font-weight:800;font-size:1.05rem;color:var(--text)}.pixi-frame-wrap{position:relative;width:100%;aspect-ratio:3/2;background:#000}.pixi-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media(max-width:760px){.pixi-title{font-size:1.5rem}.pixi-section{padding:20px 14px}}#l1journey{text-align:center;padding:18px 12px 10px;max-width:660px;margin:0 auto}.l1-journey-top{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;margin-bottom:12px}.l1-journey-top .l1-dots{margin-bottom:0}.l1-intro-replay{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:.76rem;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #1e325014}.l1-intro-replay:hover{border-color:var(--primary);color:var(--primary)}.l1-intro-replay[hidden]{display:none!important}@media(max-width:560px){.l1-intro-replay{padding:0 9px}.l1-intro-label{display:none}}.l1-dots{display:flex;gap:6px;justify-content:center;margin-bottom:12px}.l1-dot{width:8px;height:8px;border-radius:999px;background:var(--border);transition:background .2s,transform .2s}.l1-dot.on{background:var(--primary);transform:scale(1.3)}.l1-dot.did{background:#34d399}.l1-dot.can{cursor:pointer}.l1-dot.can:hover{transform:scale(1.35)}.l1-dot.can:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.l1-kicker{font-size:.7rem;letter-spacing:2.5px;font-weight:800;color:var(--muted)}.l1-title{font-size:1.55rem;font-weight:800;color:var(--text);margin:4px 0 6px}.l1-sub{font-size:1.02rem;font-weight:600;color:var(--text);margin-bottom:8px}.l1-body{font-size:.92rem;line-height:1.65;color:var(--muted);max-width:520px;margin:0 auto 10px}.l1-body b{color:var(--text)}.l1-action{margin-top:12px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}@keyframes k2-continue-pulse{0%,to{transform:scale(1);box-shadow:0 0 #2f80ed73}50%{transform:scale(1.04);box-shadow:0 0 0 10px #2f80ed00}}.l1-action .l1-next:not([style*="display:none"]){animation:k2-continue-pulse 1.6s ease-in-out infinite}.l1-action:has(.l1-next:not([style*="display:none"])):after{content:"press Enter ↵";display:block;width:100%;text-align:center;font-size:.78rem;color:var(--muted);margin-top:6px}@media(prefers-reduced-motion:reduce){.l1-action .l1-next:not([style*="display:none"]){animation:none}}.teach-kb-wrap{width:min(540px,100%);margin:8px auto 2px}.teach-kb-wrap[hidden],.teach-cards[hidden]{display:none!important}.teach-kb-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:2px 10px;margin:0 1px 4px;font-size:.7rem;line-height:1.3;color:var(--muted)}.teach-kb-title{font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.teach-kb-legend{display:inline-flex;flex-wrap:wrap;gap:2px 9px;font-size:.66rem;font-weight:600}.teach-kb-legend[hidden]{display:none}.teach-kb-legend b{color:var(--text)}#view-learn .kb-teach{padding:5px;gap:3px;border-radius:9px;box-shadow:inset 0 0 0 1px #1e32500a}#view-learn .kb-teach .krow{gap:3px}#view-learn .kb-teach .key{height:22px;font-size:.62rem;border-radius:3px;cursor:default}#view-learn .kb-teach .key .key-base{font-size:.62rem;margin-top:1px}#view-learn .kb-teach .key .key-shift{top:0;left:2px;font-size:.4rem}.kb-teach.has-number-focus .krow:not(.teach-row-number) .key{opacity:.3}.kb-teach.has-number-focus .krow.teach-row-number .key:not(.active){opacity:.78}.kb-teach .key.active{transform:none;animation:none;background:#fffbeb;border-color:#f59e0b;color:#b45309;box-shadow:0 0 0 2px #f59e0b2e,0 2px 4px #f59e0b40;z-index:1}body.dark .kb-teach .key.active{background:#3a2f12;color:#fbbf24;border-color:#f59e0b}body.ks-wobbly .kb-teach .key{transform:none!important}body.focus-mode .teach-kb-wrap,body.zen-mode .teach-kb-wrap{display:none!important}@media(max-width:640px),(max-height:960px){.kb-teach .krow:not(.teach-row-number){display:none}.kb-teach .krow.teach-row-number .key:not(.teach-digit){display:none}#view-learn .kb-teach .key{height:34px;font-size:.7rem}#view-learn .kb-teach .key .key-base{font-size:.7rem}}@media(prefers-reduced-motion:reduce){.kb-teach .key.active{animation:none}}.l1-back{margin-top:10px}.l1-legend{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}.l1-pill{font-size:.68rem;font-weight:800;letter-spacing:1.2px;color:var(--muted);border:1.5px solid var(--border);background:var(--card);border-radius:999px;padding:4px 12px}.l1-pill.hot{color:#fff;background:var(--primary);border-color:var(--primary)}.l1-homerow{display:flex;gap:6px;justify-content:center;align-items:center;margin:10px 0 6px;flex-wrap:wrap}.l1-homerow span{min-width:34px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;background:var(--primary);border-radius:8px;padding:0 8px;box-shadow:0 3px 8px #2f80ed4d}.l1-homerow span.gap{min-width:10px;background:none;box-shadow:none;padding:0}.l1-rowlabel{font-size:.72rem;font-weight:800;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}.l1-hands2{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}.l1-hand{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 14px;min-width:220px;box-shadow:0 4px 12px #1e325014}.l1-handname{font-size:.72rem;font-weight:800;letter-spacing:1.5px;color:var(--primary);margin-bottom:8px}.l1-fmap{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.l1-fmap span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.66rem;color:var(--muted)}.l1-fmap b{min-width:32px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}.l1-posture{width:150px;height:auto;margin:6px auto 4px;display:block}.l1-tips{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0 2px}.l1-tips span{font-size:.72rem;font-weight:700;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:4px 12px}.l1-bigkeys{display:flex;gap:14px;justify-content:center;margin:14px 0 6px}.l1-bigkey{position:relative;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:800;color:var(--text);background:var(--card);border:2px solid var(--border);border-radius:14px;box-shadow:0 4px 10px #1e32501a;transition:border-color .2s,background .2s,transform .15s}.l1-bigkey.hit{border-color:#16a34a;background:#ecfdf5;color:#16a34a;transform:scale(1.06)}.l1-chars{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;font-size:1.45rem;font-weight:800;margin:12px 0 10px}.l1-ch{min-width:22px;text-align:center;color:var(--muted);opacity:.55;border-radius:6px;padding:1px 3px}.l1-ch.cur{color:#0f172a;background:#fde68a;opacity:1;transform:translateY(-2px);box-shadow:0 2px #f59e0b}.l1-ch.done{color:#16a34a;opacity:.75}.l1-ch.l1-sp{min-width:26px}.l1-bar{height:8px;border-radius:999px;background:var(--border);max-width:340px;margin:0 auto 8px;overflow:hidden}.l1-barfill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#34d399,#10b981);transition:width .2s}.l1-count{font-size:.8rem;font-weight:700;color:var(--muted)}.l1-msg{min-height:24px;font-weight:700;font-size:.9rem;margin-top:6px}.l1-msg.ok{color:#16a34a}.l1-msg.oops{color:#d97706}.l1-check{display:flex;flex-direction:column;gap:8px;max-width:380px;margin:12px auto;text-align:left}.l1-check div{display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 14px}.l1-check span{width:22px;height:22px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#fff;background:#16a34a;border-radius:999px}.key.l1-bump:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:16px;height:4px;border-radius:999px;background:var(--primary);opacity:.9}.key.has-bump:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:16px;height:4px;border-radius:999px;background:#94a3b8;opacity:.85}body.dark .key.has-bump:after{background:#64748b}@media(max-width:560px){.l1-title{font-size:1.3rem}.l1-hand{min-width:0;flex:1 1 140px}.l1-bigkey{width:56px;height:56px}}.l2-anchor{display:flex;gap:16px;justify-content:center;margin:14px 0 6px;flex-wrap:wrap}.l2-anchorkey{display:flex;flex-direction:column;align-items:center;gap:6px}.l2-anchorkey b{width:72px;height:72px;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:#fff;background:var(--primary);border-radius:16px;box-shadow:0 4px 12px #2f80ed59}.l2-anchorkey span{font-size:.72rem;font-weight:700;color:var(--muted)}.l2-target{font-size:3rem;font-weight:800;color:var(--text);background:var(--card);border:2px solid var(--border);border-radius:16px;width:96px;height:96px;display:inline-flex;align-items:center;justify-content:center;margin:12px auto 4px;box-shadow:0 4px 12px #1e32501a}.l2-stars{font-size:1.7rem;color:#f59e0b;letter-spacing:4px;margin:4px 0 2px}.l2-acc{font-size:.8rem;font-weight:700;color:var(--muted);margin-top:2px}.l2-combo{display:inline-block;font-size:.78rem;font-weight:800;color:#b45309;background:#fef3c7;border:1.5px solid #fcd34d;border-radius:999px;padding:3px 14px;margin-top:8px}.l1-weak{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:10px auto 2px}.l1-weak-label{font-size:.78rem;font-weight:700;color:var(--muted)}.l1-weak-key{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;font-size:.82rem;font-weight:800;color:#b45309;background:#fef3c7;border:1.5px solid #fcd34d;border-radius:7px}.l1-levelup{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:6px}.l1-levelup-badge{font-size:.74rem;font-weight:800;letter-spacing:1.5px;color:#fff;background:#16a34a;border-radius:999px;padding:4px 14px}.l1-levelup-next{font-size:.82rem;font-weight:700;color:var(--muted)}body.dark .l1-weak-key{background:#422006;border-color:#a16207;color:#fcd34d}.lc-sub{font-size:.78rem;font-weight:600;color:var(--muted)}.lc-speed{width:min(340px,100%);margin:8px auto 4px;text-align:left}.lc-speed-head{display:flex;align-items:baseline;gap:8px;font-size:.82rem;font-weight:700;color:var(--muted)}.lc-speed-head b{font-size:1rem;color:var(--text)}.lc-goal{margin-left:auto}.lc-speed.hit .lc-goal{color:#16a34a}.lc-bar{position:relative;height:10px;border-radius:999px;background:var(--border, #e5e7eb);overflow:visible;margin-top:4px}.lc-bar i{display:block;height:100%;border-radius:999px;background:#f59e0b;transition:width .6s ease}.lc-speed.hit .lc-bar i{background:#16a34a}.lc-bar s{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--text, #111827);opacity:.55}.lc-perfect{display:inline-block;margin:2px auto 4px;padding:3px 14px;border-radius:999px;font-size:.74rem;font-weight:900;letter-spacing:1.5px;color:#fff;background:linear-gradient(90deg,#ec4899,#8b5cf6)}.l1-weak .l1-focus{margin-left:6px}.lc-strict{color:#b45309;font-weight:700}.lc-emu{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px auto 0;font-size:.8rem;color:var(--muted);cursor:pointer}.l2-clock{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 6px;font-weight:800}.l2-timer{font-size:1.4rem;font-variant-numeric:tabular-nums;color:var(--text)}.l2-live{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.l2-live.ok{color:#16a34a}body.lg-open{overflow:hidden}.lg-overlay{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;background:#0b1020}.lg-bar{display:flex;align-items:center;gap:12px;padding:8px 14px;color:#fff;font-weight:800}.lg-bar small{font-weight:600;opacity:.75;margin-left:6px}.lg-bar .lg-close{margin-left:auto;color:#fff;border-color:#ffffff73}.lg-frame{flex:1;width:100%;border:0;display:block;background:#0b1020}.l3-spacecap{min-width:220px;height:72px;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;letter-spacing:3px;color:#fff;background:var(--primary);border-radius:16px;box-shadow:0 4px 12px #2f80ed59;margin:12px auto 4px}.l3-sp{min-width:64px;font-size:1rem;letter-spacing:1px}.gj-page{max-width:960px}.gj-crumbs{font-size:.85rem;color:var(--muted, #64748b);margin:4px 0 10px}.gj-crumbs a{color:var(--primary, #2e7d32);text-decoration:none;font-weight:700}.gj-title{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.15;color:var(--text, #1b2e1b);margin:0 0 4px}.gj-tagline{font-size:1.05rem;font-weight:700;color:var(--primary, #2e7d32);margin:0 0 14px}.gj-meta{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 16px}.gj-meta li{background:var(--card, #fff);border:1px solid var(--border, #e3ebf3);border-radius:12px;padding:8px 14px;display:flex;flex-direction:column}.gj-meta strong{font-size:.95rem;color:var(--text, #1b2e1b)}.gj-meta span{font-size:.78rem;color:var(--muted, #64748b)}.gj-intro{font-size:1.02rem;line-height:1.65;color:var(--text, #334155);margin:0 0 18px}.gj-play{margin:0 0 26px}.gj-frame{border-radius:14px;border:1px solid var(--border, #e3ebf3);background:#e8f5e9}.gj-playbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.gj-playhint{font-size:.85rem;color:var(--muted, #64748b)}.gj-section{margin:0 0 26px}.gj-section h2{font-size:1.3rem;color:var(--text, #1b2e1b);margin:0 0 10px}.gj-list{margin:0;padding-left:22px;line-height:1.7;color:var(--text, #334155)}.gj-list li{margin-bottom:6px}.gj-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 12px}.gj-chips li{background:#e8f5e9;color:#1b5e20;font-weight:700;font-size:.85rem;border-radius:999px;padding:6px 14px}.gj-chips li a{color:inherit;text-decoration:none}.gj-chips li:has(a):hover{background:#c8e6c9}.gj-rel{margin-bottom:18px}.gj-rel h2{font-size:1.1rem}.gj-rel-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;margin:0 0 12px}.gj-rel-grid a{display:block;text-decoration:none;color:inherit;background:var(--card, #fff);border:1px solid var(--border, #e3ebf3);border-radius:12px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.gj-rel-grid a:hover{transform:translateY(-3px);box-shadow:0 8px 20px #2f80ed26}.gj-rel-grid img{display:block;width:100%;height:auto;aspect-ratio:5 / 3;object-fit:cover}.gj-rel-grid span{display:block;padding:8px 10px 10px;font-size:.82rem;font-weight:700;text-align:center;color:var(--text, #1b2e1b)}@media(max-width:560px){.gj-rel-grid{grid-template-columns:repeat(3,1fr);gap:8px}.gj-rel-grid span{font-size:.68rem;padding:6px 6px 8px}}.gj-note{font-size:.92rem;line-height:1.6;color:var(--muted, #64748b)}.gj-faq-item{background:var(--card, #fff);border:1px solid var(--border, #e3ebf3);border-radius:12px;margin-bottom:8px;padding:4px 14px}.gj-faq-item summary{cursor:pointer;font-weight:700;padding:10px 0;color:var(--text, #1b2e1b)}.gj-faq-item p{margin:0 0 12px;line-height:1.65;color:var(--text, #334155)}.gj-more{text-align:center;padding:10px 0 20px}.char{position:fixed;z-index:5;width:110px;user-select:none;pointer-events:none;display:none}.char svg{width:100%;display:block;overflow:visible;filter:var(--charFilter)}body.tp-chars-on .char-owl,body.tp-chars-on .char-bunny,body.tp-chars-on .char-snail{display:block}.char-owl{left:clamp(8px,calc(50vw - 690px),120px);top:41%;transform:translateY(-50%)}.char-bunny{right:clamp(8px,calc(50vw - 690px),120px);top:41%;transform:translateY(-50%)}.char-snail{left:0;bottom:0;width:96px;z-index:1}.char .cfx{display:none}@media(max-width:1359px){.char{display:none!important}}body.focus-mode .char,body.zen-mode .char,body.focus-mode #k2HearUs,body.zen-mode #k2HearUs{display:none!important}.tp-env{position:fixed;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}.tp-env .starWrap{opacity:var(--env-star)}.tp-env .st{fill:#eaf0fb;animation:tp-tw 4.5s ease-in-out infinite}.tp-env .st:nth-child(3n){animation-delay:-1.6s}.tp-env .st:nth-child(4n){animation-delay:-2.8s}@keyframes tp-tw{0%,to{opacity:.15}50%{opacity:.85}}.tp-env .sunG{opacity:var(--env-sun);transition:opacity .5s}.tp-env .moonG{opacity:var(--env-moon);transition:opacity .5s}.tp-env .cl path{fill:var(--env-cloud)}.tp-env .cl{opacity:var(--env-cloudOp)}.tp-env .d1{animation:tp-drift 150s linear infinite}.tp-env .d2{animation:tp-drift 200s linear infinite;animation-delay:-90s}@keyframes tp-drift{0%{transform:translate(-420px)}to{transform:translate(1860px)}}.tp-env .hillF{fill:var(--env-hillF)}.tp-env .hillN{fill:var(--env-hillN)}.tp-env .grass path{stroke:var(--env-grass)}@media(prefers-reduced-motion:reduce){.tp-env .cl,.tp-env .st{animation:none}}.char svg{pointer-events:auto;cursor:pointer}.char .bub{position:absolute;bottom:97%;left:0;width:max-content;max-width:150px;background:var(--bub-bg);color:var(--bub-ink);border:2.5px solid var(--bub-line);border-radius:13px;padding:8px 12px;font-weight:600;font-size:14px;line-height:1.25;box-shadow:3px 3px #0a14282e;opacity:0;transform:translateY(6px) scale(.9);transform-origin:14% 100%;transition:opacity .2s,transform .24s;pointer-events:none;z-index:8}.char .bub.on{opacity:1;transform:none}.char .bub:after{content:"";position:absolute;left:15px;bottom:-8px;width:12px;height:12px;background:var(--bub-bg);border-right:2.5px solid var(--bub-line);border-bottom:2.5px solid var(--bub-line);transform:rotate(45deg)}.char-bunny .bub{left:auto;right:0;transform-origin:86% 100%}.char-bunny .bub:after{left:auto;right:15px;border:none;border-left:2.5px solid var(--bub-line);border-top:2.5px solid var(--bub-line)}.char-owl .bub{bottom:auto;top:102%;transform:translateY(-6px) scale(.9);transform-origin:14% 0%}.char-owl .bub.on{transform:none}.char-owl .bub:after{bottom:auto;top:-8px;border:none;border-left:2.5px solid var(--bub-line);border-top:2.5px solid var(--bub-line)}.char-snail .bub{position:fixed;left:14px;bottom:78px;max-width:160px}.zz{position:absolute;font-weight:900;font-style:italic;color:var(--muted);font-size:14px}.char-snail .cfx{position:absolute;inset:0;pointer-events:none;overflow:visible}.gj-more .gj-note{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:1400px){.stat-pill.stat-rank{min-width:0}.stat-rank .rank-name{display:none}}@media(max-width:1200px){#totalPoints{display:none}.header .header-greeting{width:130px;min-width:130px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:1100px){.header-greeting{display:none}}@media(max-width:1280px){.header-inner{gap:16px;padding-left:20px;padding-right:20px}.main-nav{gap:2px}.main-nav a{padding:6px 10px}}@media(max-width:1024px){#totalStars,#streakPill{display:none}}
