@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--purple: #6128a9;--purple-edge: #4a1d87;--purple-bright: #7b3fc4;--purple-soft: #ede3fb;--purple-faint: #f7f1fe;--ink: #2b1558;--text: #3c2a5e;--muted: #8a7ba3;--gold: #ffc21a;--gold-edge: #e5a000;--gold-soft: #fff4cc;--peach: #f8a58c;--cream: #fdead7;--bg: #ffffff;--surface: #ffffff;--surface-2: #f6f2fb;--border: #e4dcf0;--border-strong: #cfc3e3;--overlay: rgba(30, 12, 60, .55);--ok: #58cc02;--ok-edge: #58a700;--ok-text: #4a9a00;--ok-bg: #d7ffb8;--err: #ff4b4b;--err-edge: #ea2b2b;--err-text: #d93636;--err-bg: #ffdfe0;--info: #1cb0f6;--info-edge: #1899d6;--info-bg: #ddf4ff;--info-border: #84d8ff;--flame: #ff9600;--flame-edge: #e08000;--heart: #ff4b4b;--u-purple: #7b3fc4;--u-purple-edge: #5a2a98;--u-blue: #1cb0f6;--u-blue-edge: #1899d6;--u-green: #58cc02;--u-green-edge: #46a302;--u-pink: #ce5ba5;--u-pink-edge: #a3427f;--u-orange: #ff9600;--u-orange-edge: #d97e00;--u-red: #ff6a6a;--u-red-edge: #d94f4f;--radius: 16px;--radius-lg: 20px;--font: "Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--shadow-pop: 0 10px 40px rgba(43, 21, 88, .18);--sidebar-w: 256px;--right-w: 368px;--content-w: 640px;--tabbar-h: 68px}:root[data-theme=dark]{--bg: #14091f;--surface: #1d1030;--surface-2: #261840;--border: #3a2a58;--border-strong: #4d3a73;--ink: #f3ecff;--text: #e3d8f6;--muted: #a493c4;--purple-soft: #2d1a4d;--purple-faint: #1f1236;--info-bg: #123149;--ok-bg: #1d3a10;--err-bg: #4a1d22;--gold-soft: #3d3010}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);font-weight:600;font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{margin:0;color:var(--ink);font-weight:800;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--info-border);outline-offset:2px}::selection{background:var(--purple-soft)}.btn{--b: var(--purple);--e: var(--purple-edge);--c: #fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:2px solid var(--b);border-bottom-width:5px;border-color:var(--b) var(--b) var(--e);background:var(--b);color:var(--c);border-radius:var(--radius);font-weight:900;font-size:15px;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;transition:transform .06s,filter .15s;-webkit-user-select:none;user-select:none;position:relative;top:0}.btn:hover{filter:brightness(1.06)}.btn:active:not(:disabled){border-bottom-width:2px;top:3px;margin-bottom:3px}.btn:disabled{--b: #e5e0ee;--e: #e5e0ee;--c: #b3a8c7;cursor:not-allowed;border-bottom-width:2px;filter:none;background:#e5e0ee}:root[data-theme=dark] .btn:disabled{--b: #34274e;--e: #34274e;--c: #7f6fa0;background:#34274e}.btn.block{width:100%}.btn.lg{min-height:54px;font-size:16px}.btn.sm{min-height:38px;padding:0 14px;font-size:13px;border-bottom-width:4px}.btn.green{--b: var(--ok);--e: var(--ok-edge)}.btn.red{--b: var(--err);--e: var(--err-edge)}.btn.blue{--b: var(--info);--e: var(--info-edge)}.btn.gold{--b: var(--gold);--e: var(--gold-edge);--c: #5a3d00}.btn.white{--b: #fff;--e: var(--border-strong);--c: var(--purple);border-color:var(--border) var(--border) var(--border-strong);background:#fff}.btn.ghost{--b: var(--surface);--e: var(--border);--c: var(--purple);border-color:var(--border) var(--border) var(--border-strong);background:var(--surface)}:root[data-theme=dark] .btn.white,:root[data-theme=dark] .btn.ghost{--c: #c9a9f5}.btn.flat{border:0;background:transparent;color:var(--purple);padding:0 10px;min-height:40px;top:0!important;margin:0!important}.btn.flat:hover{background:var(--purple-faint)}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:18px}.card.hover:hover{background:var(--surface-2);cursor:pointer}.card h3{font-size:18px}.field{display:block;width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-weight:700}.field:focus{outline:none;border-color:var(--info-border);background:var(--surface)}.label{display:block;margin:0 0 6px 4px;font-size:13px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.switch{width:54px;height:32px;border-radius:99px;border:2px solid var(--border);background:var(--border);padding:2px;position:relative;flex:none;transition:background .2s,border-color .2s}.switch i{display:block;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px #00000026;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.switch.on{background:var(--info);border-color:var(--info-edge)}.switch.on i{transform:translate(22px)}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px}.muted{color:var(--muted)}.title-xl{font-size:clamp(30px,5vw,46px);font-weight:900;letter-spacing:-.5px}.err-text{color:var(--err-text);font-weight:700}.pbar{position:relative;height:16px;border-radius:99px;background:var(--border);overflow:hidden;flex:1}.pbar>i{display:block;height:100%;border-radius:99px;background:var(--ok);transition:width .45s cubic-bezier(.3,.9,.3,1);position:relative;min-width:16px}.pbar>i:after{content:"";position:absolute;left:8px;right:8px;top:4px;height:4px;border-radius:4px;background:#ffffff59}.pbar.gold>i{background:var(--gold)}.pbar.purple>i{background:var(--purple-bright)}.pbar.sm{height:12px}.chip{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:17px;padding:6px 8px;border-radius:12px;border:0;background:transparent}.chip.flame{color:var(--flame)}.chip.heart{color:var(--heart)}.chip.paw{color:#e0884a}.chip.xp{color:var(--gold-edge)}.chip.off{color:var(--muted);filter:grayscale(1)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;z-index:100;padding:16px;animation:fade .15s}.overlay.sheet{place-items:end center;padding:0}.modal{background:var(--surface);border-radius:24px;padding:24px;width:min(460px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow-pop);animation:pop .2s cubic-bezier(.3,1.4,.5,1)}.sheet .modal{border-radius:24px 24px 0 0;width:min(560px,100%);animation:slideup .25s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.92);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes floatin{0%{opacity:0;transform:translateY(14px)}}.shake{animation:shake .35s}.floatin{animation:floatin .35s both}.toasts{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + 16px);transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}@media(min-width:900px){.toasts{bottom:24px}}.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-weight:800;box-shadow:var(--shadow-pop);animation:floatin .25s both}:root[data-theme=dark] .toast{background:#f3ecff;color:#2b1558}.lex-say{display:flex;align-items:center;gap:12px}.bubble{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:16px;padding:12px 16px;font-weight:700;max-width:420px}.bubble:before{content:"";position:absolute;left:-9px;top:50%;width:14px;height:14px;background:var(--surface);border-left:2px solid var(--border);border-bottom:2px solid var(--border);transform:translateY(-50%) rotate(45deg)}.bubble.top:before{left:24px;top:-9px;transform:rotate(135deg)}.shell{display:grid;min-height:100%;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:2px solid var(--border);display:flex;flex-direction:column;gap:6px;background:var(--bg)}.sidebar .logo{padding:6px 10px 20px}.nav-item{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px;border:2px solid transparent;font-weight:800;letter-spacing:.6px;text-transform:uppercase;font-size:14px;color:var(--muted);background:transparent;width:100%;text-align:left}.nav-item svg{flex:none;width:30px;height:30px}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--purple-faint);border-color:var(--purple-bright);color:var(--purple)}:root[data-theme=dark] .nav-item.active{color:#c9a9f5}.nav-item .dot{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--err);color:#fff;font-size:12px;display:grid;place-items:center;letter-spacing:0}.sidebar .spacer{flex:1}.main{min-width:0;display:grid;grid-template-columns:minmax(0,var(--content-w)) var(--right-w);justify-content:center;gap:32px;padding:0 24px}.main.wide{grid-template-columns:minmax(0,1fr)}.page{padding:24px 0 120px;min-width:0}.rcol{padding:24px 0;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px;scrollbar-width:none}.rcol::-webkit-scrollbar{display:none}.rcol .stats-row{display:flex;justify-content:space-between;align-items:center}.topbar-mobile,.tabbar{display:none}@media(max-width:1180px){.main{grid-template-columns:minmax(0,var(--content-w))}.rcol{display:none}}@media(max-width:1023px){.shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding:16px 10px;align-items:center}.sidebar .nav-item{width:56px;height:56px;padding:0;justify-content:center}.sidebar .nav-item span,.sidebar .logo-text{display:none}.sidebar .nav-item .dot{position:absolute;top:4px;right:4px;margin:0}.sidebar .nav-item{position:relative}}@media(max-width:719px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 14px}.page{padding:12px 0 calc(var(--tabbar-h) + 28px)}.topbar-mobile{display:flex;position:sticky;top:0;z-index:30;background:var(--bg);justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:2px solid var(--border)}.tabbar{position:fixed;z-index:40;left:0;right:0;bottom:0;height:var(--tabbar-h);padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:2px solid var(--border);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:center}.tabbar a{display:grid;place-items:center;height:100%;color:var(--muted);position:relative}.tabbar a svg{width:32px;height:32px}.tabbar a.active{color:var(--purple)}.tabbar a.active:before{content:"";position:absolute;top:8px;right:12px;bottom:8px;left:12px;border:2px solid var(--purple-bright);background:var(--purple-faint);border-radius:14px;z-index:-1}.tabbar .dot{position:absolute;top:10px;right:22%;width:12px;height:12px;border-radius:50%;background:var(--err);border:2px solid var(--bg)}}.rcard{border:2px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;background:var(--surface)}.rcard h3{font-size:18px;display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.rcard h3 a{font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--info-edge);font-weight:900}.quest{display:flex;gap:14px;align-items:center;padding:8px 0}.quest .qi{width:40px;height:40px;flex:none;display:grid;place-items:center}.quest .qb{flex:1;min-width:0}.quest .qb b{font-weight:800;color:var(--ink);display:block;margin-bottom:6px}.rcol .links{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding:4px 8px}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.page-anim{animation:pageIn .38s var(--ease-out) backwards}.stagger>*{animation:floatin .45s var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.stagger>*:nth-child(5){animation-delay:.2s}.stagger>*:nth-child(6){animation-delay:.25s}.stagger>*:nth-child(7){animation-delay:.3s}.stagger>*:nth-child(8){animation-delay:.34s}.stagger>*:nth-child(9){animation-delay:.38s}.stagger>*:nth-child(10){animation-delay:.42s}.stagger>*:nth-child(n+11){animation-delay:.45s}@keyframes zoomin{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}@keyframes slidel{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes slider{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.zoomin{animation:zoomin .4s var(--ease-spring) both}.slidel{animation:slidel .35s var(--ease-out) both}.slider{animation:slider .35s var(--ease-out) both}.card,.rcard,.l-feature{transition:transform .18s var(--ease-out),box-shadow .18s,border-color .18s,background .15s}.card.hover,.l-feature{box-shadow:0 4px 0 var(--border)}.card.hover:hover,.l-feature:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--border)}.card.hover:active{transform:translateY(4px);box-shadow:none}.tile,.opt,.nav-item,.chat-item,.tabbar a{transition:transform .12s var(--ease-out),background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled):not(.flat):not(:active){border-bottom-width:3px;top:2px;margin-bottom:2px;filter:none}.btn:active:not(:disabled):not(.flat){border-bottom-width:1px;top:4px;margin-bottom:4px}.btn{transition:top .1s var(--ease-out),margin .1s var(--ease-out),border-bottom-width .1s var(--ease-out),filter .15s}.opt:hover:not(:disabled):not(.sel):not(.right):not(.wrong),.tile:hover:not(:disabled):not(.used){transform:translateY(2px);border-bottom-width:2px;margin-bottom:2px}.opt:active:not(:disabled),.tile:active:not(:disabled){transform:translateY(4px);border-bottom-width:0;margin-bottom:4px}.guide-btn:hover,.seg button:hover{transform:translateY(2px);border-bottom-width:2px}.skip.btn:hover:not(:disabled){filter:none}.nav-item:hover svg{animation:wiggle .5s}@keyframes wiggle{20%{transform:rotate(-10deg) scale(1.1)}50%{transform:rotate(8deg) scale(1.1)}80%{transform:rotate(-4deg)}}.tabbar a.active svg{animation:tabpop .4s var(--ease-spring)}@keyframes tabpop{0%{transform:scale(.7)}to{transform:scale(1)}}.btn:not(:disabled):not(.flat):not(.skip):not(.white):not(.ghost):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);background-size:250% 100%;background-position:130% 0}.btn:not(:disabled):hover:after{background-position:-30% 0;transition:background-position .7s}.btn.pulse{animation:btnpulse 1.8s ease-in-out infinite}@keyframes btnpulse{50%{transform:scale(1.04)}}@keyframes lexbob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-1.2deg)}}@keyframes lexpop{0%{transform:scale(.4) rotate(-8deg);opacity:0}60%{transform:scale(1.08) rotate(3deg);opacity:1}to{transform:none}}@keyframes lexjump{0%,to{transform:translateY(0)}30%{transform:translateY(-22px) scale(1.04,.97)}55%{transform:translateY(0) scale(.97,1.04)}}.lex-idle{animation:lexbob 3.4s ease-in-out infinite;transform-origin:50% 90%}.lex-pop{animation:lexpop .6s var(--ease-spring) both}.lex-jump{animation:lexjump .9s ease-in-out 2}.lex-pop.lex-idle{animation:lexpop .6s var(--ease-spring) both,lexbob 3.4s .7s ease-in-out infinite}.lex-say .bubble{animation:zoomin .4s .15s var(--ease-spring) both;transform-origin:left center}@keyframes flicker{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.08,1.12) rotate(-3deg)}60%{transform:scale(.96,1.06) rotate(2deg)}}.chip.flame:not(.off) svg,.streak-flame{animation:flicker 1.6s ease-in-out infinite;transform-origin:50% 90%}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.12)}}.chip.heart svg{animation:beat 2.4s ease-in-out infinite}.chip.heart.lost svg{animation:heartbreak .6s}@keyframes heartbreak{0%{transform:scale(1)}30%{transform:scale(1.4) rotate(-12deg)}60%{transform:scale(.7) rotate(10deg);filter:grayscale(1)}to{transform:scale(1)}}@keyframes spinpaw{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.chip.paw:hover svg{animation:spinpaw .8s}.bump{animation:bump .45s var(--ease-spring)}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.pbar>i{background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);background-size:220% 100%;animation:shine 2.6s linear infinite}@keyframes shine{to{background-position:-120% 0}}@keyframes correctflash{0%{box-shadow:0 0 #58cc0299}to{box-shadow:0 0 0 18px #58cc0200}}@keyframes wrongshake{0%,to{transform:translate(0)}18%{transform:translate(-9px)}36%{transform:translate(8px)}54%{transform:translate(-5px)}72%{transform:translate(3px)}}.opt.right,.tile.right{animation:correctflash .6s,bump .4s var(--ease-spring)}.opt.wrong,.tile.wrong,.stress-word button.ch.wrong,.gap.wrong,.punct .g.wrong{animation:wrongshake .45s}.stress-word button.ch.right,.gap.right,.punct .g.right{animation:correctflash .6s,bump .4s var(--ease-spring)}.fb .badge{animation:lexpop .5s var(--ease-spring) both}.fb h3{animation:slidel .35s .08s var(--ease-out) both}.combo{transition:all .25s}.combo:not(:empty){animation:bump .5s var(--ease-spring)}.stat-tile{animation:zoomin .5s var(--ease-spring) both}.stat-tile:nth-child(2){animation-delay:.12s}.stat-tile:nth-child(3){animation-delay:.24s}.stat-tile:nth-child(4){animation-delay:.36s}.streak-big{animation:streakcount .9s var(--ease-spring) both}@keyframes streakcount{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.18)}to{transform:scale(1);opacity:1}}.week .c.on{animation:bump .5s var(--ease-spring) both}.week .d:nth-child(2) .c.on{animation-delay:.1s}.week .d:nth-child(3) .c.on{animation-delay:.2s}.week .d:nth-child(4) .c.on{animation-delay:.3s}.week .d:nth-child(5) .c.on{animation-delay:.4s}.week .d:nth-child(6) .c.on{animation-delay:.5s}.week .d:nth-child(7) .c.on{animation-delay:.6s}.node-row{animation:zoomin .5s var(--ease-spring) both}.node-row:nth-child(2){animation-delay:.05s}.node-row:nth-child(3){animation-delay:.1s}.node-row:nth-child(4){animation-delay:.15s}.node-row:nth-child(5){animation-delay:.2s}.node.k-chest:hover:not(.locked){transform:scale(1.08);box-shadow:none}.node.just-done{animation:unlock .8s var(--ease-spring)}@keyframes unlock{0%{transform:scale(.8);filter:brightness(1.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.unit-head{animation:slidel .4s var(--ease-out) both}.u-lex{animation:lexbob 4s ease-in-out infinite}.msg{animation:msgin .28s var(--ease-out) both}.msg.mine{--from: 14px}.msg.theirs{--from: -14px}@keyframes msgin{0%{opacity:0;transform:translate(var(--from, 0)) scale(.95)}}.chat-item{animation:slidel .3s var(--ease-out) both}.badge{animation:bump .4s var(--ease-spring)}.typing-dots span{display:inline-block;width:6px;height:6px;margin:0 1.5px;border-radius:50%;background:currentColor;animation:dots 1.1s infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes dots{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.ctx,.emoji-pop{animation:zoomin .18s var(--ease-out) both;transform-origin:top right}.toast{animation:toastin .4s var(--ease-spring) both}@keyframes toastin{0%{opacity:0;transform:translateY(20px) scale(.9)}}.bell-ring{animation:bellring .9s;transform-origin:50% 0}@keyframes bellring{10%{transform:rotate(18deg)}25%{transform:rotate(-16deg)}40%{transform:rotate(12deg)}55%{transform:rotate(-8deg)}70%{transform:rotate(4deg)}}.grow-x{transform-origin:left;animation:growx .8s var(--ease-out) both}@keyframes growx{0%{transform:scaleX(0)}}.grow-y{transform-origin:bottom;animation:growy .7s var(--ease-out) both}@keyframes growy{0%{transform:scaleY(0)}}.draw{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.1s var(--ease-out) forwards}@keyframes draw{to{stroke-dashoffset:0}}.sk{background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:14px}.speaking{animation:speaking 1.2s ease-in-out infinite}@keyframes speaking{50%{box-shadow:0 0 0 5px #58cc028c}}.rec-pulse{animation:btnpulse 1s ease-in-out infinite}.sparkles:before,.sparkles:after{content:"✦";position:absolute;color:var(--gold);font-size:22px;animation:twinkle 1.8s ease-in-out infinite}.sparkles:before{left:8%;top:14%}.sparkles:after{right:10%;top:26%;animation-delay:.7s}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(25deg)}}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){html:not([data-motion=on]) *,html:not([data-motion=on]) *:before,html:not([data-motion=on]) *:after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.btn{border-width:2px!important;border-color:var(--b)!important;top:0!important;margin:0 0 5px!important;box-shadow:0 5px 0 var(--e);transform:translateY(0);transition:transform .1s var(--ease-out),box-shadow .1s var(--ease-out),filter .15s,background .15s!important}.btn.white,.btn.ghost{border-color:var(--border)!important}.btn:hover:not(:disabled):not(.flat):not(:active){transform:translateY(2px);box-shadow:0 3px 0 var(--e);filter:none}.btn:active:not(:disabled):not(.flat){transform:translateY(5px);box-shadow:0 0 0 var(--e)}.btn:disabled{box-shadow:0 2px #cfc7de;transform:none}:root[data-theme=dark] .btn:disabled{box-shadow:0 2px #281c3d}.btn.flat{box-shadow:none!important;margin:0!important;transform:none!important}.btn.sm{margin-bottom:4px!important;box-shadow:0 4px 0 var(--e)}.btn.sm:hover:not(:disabled):not(.flat):not(:active){transform:translateY(2px);box-shadow:0 2px 0 var(--e)}.btn.sm:active:not(:disabled):not(.flat){transform:translateY(4px);box-shadow:0 0 0 var(--e)}.btn.pulse{animation:none}.tile,.opt,.tab,.seg button,.exam-grid button,.item.click,.guide-btn{--sh: var(--border);border-bottom-width:2px!important;margin-bottom:4px;box-shadow:0 4px 0 var(--sh);transform:translateY(0);transition:transform .1s var(--ease-out),box-shadow .1s var(--ease-out),background .15s,border-color .15s,color .15s!important}.tile.sel,.opt.sel,.tab.on,.seg button.on,.exam-grid button.done{--sh: var(--info-border)}.opt.right,.tile.right{--sh: var(--ok)}.opt.wrong,.tile.wrong{--sh: var(--err)}.tile.used{--sh: transparent;box-shadow:none}.guide-btn{--sh: rgba(0, 0, 0, .18)}.opt:hover:not(:disabled):not(.right):not(.wrong),.tile:hover:not(:disabled):not(.used),.tab:hover,.seg button:hover,.exam-grid button:hover,.item.click:hover,.guide-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--sh);margin-bottom:4px}.opt:active:not(:disabled),.tile:active:not(:disabled),.tab:active,.seg button:active,.exam-grid button:active,.item.click:active,.guide-btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--sh)}.tile.used:hover{transform:none;box-shadow:none}.card.hover:hover{margin-bottom:0}.node{width:76px;height:76px;display:grid;place-items:center;padding:0;animation:none!important}.node svg{display:block;margin:0;flex:none}.node.current:before,.node.k-chest.current:before{display:none!important}.node:hover:not(.locked){transform:translateY(3px);box-shadow:0 5px 0 var(--e)}.node:active:not(.locked){transform:translateY(7px);box-shadow:0 1px 0 var(--e)}.node.k-chest{width:76px;height:76px}.ring{position:absolute;left:50%;top:38px;width:100px;height:100px;margin:-50px 0 0 -50px;border-radius:50%;border:5px solid var(--u);pointer-events:none;z-index:0;animation:ringpulse 1.7s ease-in-out infinite}@keyframes ringpulse{0%,to{transform:scale(.93);opacity:1}50%{transform:scale(1.12);opacity:.25}}.node-row>.node{position:relative;z-index:1}.start-bubble{top:-52px}.pop{top:96px}.fullview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:flex;flex-direction:column;animation:fade .15s}.fullview>header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:2px solid var(--border);background:var(--surface)}.fv-body{flex:1;min-height:0;padding:12px 16px 16px;display:flex;flex-direction:column}.fv-body>*{flex:1;min-height:0}.docx{background:#fff;color:#222;border-radius:14px;padding:clamp(18px,4vw,48px);max-width:920px;margin:0 auto;line-height:1.6;font-weight:500;box-shadow:0 2px 0 var(--border)}.docx h1,.docx h2,.docx h3{color:#111;margin:1em 0 .4em}.docx p{margin:0 0 .8em}.docx img{max-width:100%;height:auto}.docx table{border-collapse:collapse;margin:1em 0}.docx td,.docx th{border:1px solid #ccc;padding:6px 10px}.docx a{color:#1a62c9}.xlsx{background:#fff;color:#222;border-radius:14px;padding:8px;overflow:auto}.xlsx table{border-collapse:collapse;font-size:14px}.xlsx td,.xlsx th{border:1px solid #d5d5d5;padding:4px 8px;white-space:nowrap}.pptx{display:flex;flex-direction:column;align-items:center;gap:16px;padding-bottom:20px}.slide{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px #00000040;flex:none;font-family:Nunito Variable,sans-serif}.slide-n{position:absolute;right:8px;bottom:6px;font-size:11px;font-weight:800;color:#808080b3;z-index:5}:root{--topbar-h: 56px}html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}.cnt{min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--err);color:#fff;font-size:12px;font-weight:900;line-height:1;display:inline-grid;place-items:center;font-style:normal;letter-spacing:0;box-shadow:0 0 0 2px var(--bg);font-variant-numeric:tabular-nums}.nav-item .cnt{margin-left:auto}.bank-meta{display:flex;align-items:center;gap:6px}.bank-actions,.unit-actions{display:flex;align-items:center;gap:4px}.sched-add{display:inline-flex;align-items:center;gap:6px}.cnt.float{position:absolute;top:-4px;right:-6px}.more-item .cnt.float{top:6px;right:12px}@media(max-width:1180px){.sidebar .nav-item .cnt{position:absolute;top:2px;right:2px;margin:0}}.notif .ni{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--purple-faint);color:var(--purple);flex:none}.overlay{place-items:center!important;padding:16px!important}.modal{animation:pop .2s cubic-bezier(.3,1.4,.5,1)!important;border-radius:24px!important;max-height:90vh}.modal.wide{width:min(980px,100%)!important}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:env(safe-area-inset-bottom)}.more-item{position:relative;display:grid;justify-items:center;gap:6px;padding:16px 6px 12px;border:2px solid var(--border);border-radius:18px;background:var(--surface);color:var(--muted);font-weight:800;font-size:13px;text-align:center}.more-item.on{background:var(--purple-faint);border-color:var(--purple-bright);color:var(--purple)}.more-item .dot{position:absolute;top:6px;right:10px;min-width:20px;height:20px;border-radius:99px;background:var(--err);color:#fff;font-size:12px;display:grid;place-items:center;padding:0 5px}.tabbtn{background:none;border:0;color:var(--muted);position:relative;display:grid;place-items:center;height:100%}.tabbar .tl{display:none}@media(max-width:719px){.topbar-mobile{height:var(--topbar-h);padding:env(safe-area-inset-top) 12px 0;box-sizing:content-box;z-index:50}.tabbar{height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:50;padding-bottom:env(safe-area-inset-bottom)}.tabbar a,.tabbar .tabbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--tabbar-h)}.tabbar .tl{display:block;font-size:11px;font-weight:800;letter-spacing:.2px;line-height:1}.tabbar a svg,.tabbar .tabbtn svg{width:28px;height:28px}.tabbar a.active,.tabbar .tabbtn.active{color:var(--purple)}.tabbar a.active:before{top:6px;right:8px;bottom:6px;left:8px;z-index:-1}.tabbar .tabbtn.active:before{content:"";position:absolute;top:6px;right:8px;bottom:6px;left:8px;border:2px solid var(--purple-bright);background:var(--purple-faint);border-radius:14px;z-index:-1}.tabbar .dot{top:8px;right:24%}.page{padding:14px 0 calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px)}.path .unit-head{top:calc(var(--topbar-h) + env(safe-area-inset-top) + 6px);z-index:20;margin-top:4px}.path .unit-head h2{font-size:20px}.path .unit-head{padding:12px 14px 12px 16px}.page-anim:has(.chat){animation:none!important}.chat{position:fixed!important;left:0;right:0;top:calc(var(--topbar-h) + env(safe-area-inset-top));bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));height:auto!important;margin:0!important;z-index:40;background:var(--bg);grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr);overflow:hidden}.chat.open{top:0;bottom:0;z-index:80}.chat .chat-list{border-right:0;padding:10px 10px 0}.chat .chat-items{padding-bottom:12px;overscroll-behavior:contain}.chat.open .chat-pane{display:block;height:100%}.chat .conv{height:100%;min-height:0}.chat.open .conv-head{padding:calc(8px + env(safe-area-inset-top)) 10px 8px;gap:8px}.chat .conv-head .back{display:grid;place-items:center;font-size:22px}.chat .msgs{padding:10px;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat .bubble-wrap{max-width:86%}.chat .composer{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.chat .cinput,.field,textarea,select,input{font-size:16px}.chat .more{opacity:.5}.chat .ctx{min-width:180px;max-width:78vw}.main{padding:0 14px}.main[style*="padding: 0"]{padding:0!important}.page-head h1{font-size:24px}.page-head{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:12px}.page-head>.row{flex-wrap:wrap;gap:8px}.page-head>.row>.btn{flex:1 1 auto;justify-content:center}.bank-item{flex-wrap:wrap;gap:8px 10px}.item.bank-item .grow{flex:1 1 100%}.bank-meta{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.bank-actions{display:flex;gap:2px;margin-left:auto}.filters>*{flex:1 1 100%!important;min-width:0!important}.filters{gap:8px}.unit-row{flex-wrap:wrap;gap:6px 10px}.item.unit-row .grow{flex:1 1 calc(100% - 40px)}.unit-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}.sec-head h2{font-size:20px;flex:1 1 100%}.sec-actions{width:100%;gap:6px}.sec-actions .btn{flex:1 1 auto}.mat-bar{gap:8px}.mat-bar .pill-select{flex:1 1 100%!important;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin:0 -14px;padding-left:14px;padding-right:14px}.mat-bar .pill-select::-webkit-scrollbar{display:none}.mat-bar .pill{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.mat-bar .field{width:100%!important}.sched-bar{flex-direction:column;align-items:stretch;gap:8px}.sb-nav{gap:6px}.sb-nav h2{flex:1;text-align:center;font-size:18px;line-height:1.15}.sb-nav .btn{padding:8px 12px}.sb-tools{gap:8px}.sb-tools .seg{flex:1;grid-template-columns:repeat(4,1fr)!important}.sb-tools .seg button{padding:9px 2px;font-size:14px}.sb-ics{display:none}.sched-add{position:fixed;top:auto!important;left:auto;height:auto;min-height:52px;margin:0!important;right:16px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);z-index:45;border-radius:99px;padding:14px 20px;box-shadow:0 4px 0 var(--e),0 8px 22px #6128a959!important}.tgrid .tg-body{max-height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - 250px)!important}.grid.auto{grid-template-columns:1fr}.modal.wide{max-height:92vh;overflow:auto}.modal{max-height:86vh}.notif-pop{position:fixed!important;left:10px!important;right:10px!important;top:calc(var(--topbar-h) + env(safe-area-inset-top) + 6px)!important;bottom:auto!important;width:auto!important}}.syntax-underline{padding:16px;border:2px solid var(--border);border-radius:18px;background:var(--surface)}.syntax-underline-title{font-size:1.3rem;font-weight:800;margin-bottom:8px}.syntax-underline>p{line-height:1.55;margin:4px 0 14px}.syntax-role-key{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 20px}.syntax-role-key-item{min-height:50px;padding:9px 12px;border-radius:13px;border:2px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left}.syntax-role-key-item.selected{border-color:#4d82cb;background:#e8f2ff;box-shadow:0 0 0 2px #3778c81f}.syntax-role-key-item:disabled,.syntax-word:disabled{cursor:default;opacity:1}.syntax-role-line{font-weight:750;padding-bottom:5px}.syntax-word-sentence{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:12px;row-gap:20px;margin:14px 0;padding:14px 10px;border-radius:13px;background:#afcefa1a}.syntax-word{font-size:1.16rem;line-height:1.7;font-weight:700;min-height:49px;border:0;border-radius:6px;padding:3px 5px;background:transparent;cursor:pointer;touch-action:manipulation;white-space:nowrap}.syntax-word.assigned{background:#82cdb526}.syntax-word.correct{outline:2px solid #278453}.syntax-word.incorrect{outline:2px solid #bf5555}.syntax-underline-result{font-weight:650;line-height:1.6}@media(max-width:600px){.syntax-underline{padding:11px}.syntax-role-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.syntax-role-key-item{padding:8px;min-height:54px;font-size:.83rem}.syntax-word-sentence{column-gap:8px;row-gap:14px}.syntax-word{font-size:1.08rem;min-height:48px}}.grade5-video-card{--g5-ink:#20334f;--g5-blue:#e9f3ff;--g5-pink:#fff0f7;--g5-mint:#eafbf1;--g5-gold:#fff4db;color:var(--g5-ink);font-size:1.04rem;line-height:1.55;max-width:100%;overflow-wrap:anywhere}.grade5-video-card>.stack:first-child{background:linear-gradient(110deg,var(--g5-blue),var(--g5-pink));border:2px solid #b7d4f5;border-radius:19px;padding:14px 18px;margin-bottom:12px}.grade5-video-card .q-title{font-size:clamp(1.27rem,2.1vw,1.85rem);line-height:1.36;font-weight:900;color:var(--g5-ink);white-space:pre-line;overflow-wrap:anywhere;margin:0}.grade5-video-card .q-instruction{font-size:.98rem;font-weight:750;line-height:1.5;background:var(--g5-gold);border-left:5px solid #e6b855;border-radius:11px;padding:10px 13px;margin:8px 0 13px;color:var(--g5-ink)}.grade5-video-card .question-pack-intro{display:flex;flex-wrap:wrap;gap:7px 14px;background:var(--g5-mint);border:2px solid #abdbbb;border-radius:14px;padding:12px 14px;margin-bottom:11px}.grade5-video-card .question-pack-intro strong{font-weight:900;color:var(--g5-ink);font-size:1.1rem}.grade5-video-card .question-pack-row{background:var(--g5-blue);border:1.5px solid #c6dff7;border-radius:16px;padding:15px;margin-bottom:12px;box-shadow:0 3px 9px #2c5b920d}.grade5-video-card .question-pack-row:nth-of-type(2n){background:var(--g5-pink);border-color:#f2cade}.grade5-video-card .question-pack-row:nth-of-type(3n){background:var(--g5-mint);border-color:#bce2cb}.grade5-video-card .question-pack-row h3{font-size:1.1rem;font-weight:850;line-height:1.5;margin:0 0 12px;white-space:pre-line;color:var(--g5-ink)}.grade5-video-card .opt{font-size:1.02rem;min-height:46px;border-radius:12px;white-space:normal;line-height:1.45;padding:10px 13px;text-align:left;touch-action:manipulation}.grade5-video-card .opts{gap:8px}.grade5-video-card .tile{min-height:45px;padding:8px 14px;border-radius:11px;font-weight:800;touch-action:manipulation}.grade5-video-card .study-info{border-radius:17px;padding:15px 18px;max-width:100%;overflow-wrap:anywhere}.grade5-video-card .study-rule{background:var(--g5-blue);border:2px solid #afcdec}.grade5-video-card .study-table{background:var(--g5-pink);border:2px solid #f0c6d9}.grade5-video-card .study-scheme{background:var(--g5-mint);border:2px solid #abd6b5}.grade5-video-card .study-hack{background:var(--g5-gold);border:2px solid #ead19b}.grade5-video-card .study-table-scroll{max-width:100%;overflow-x:auto}.grade5-video-card .study-checklist{display:grid;gap:10px}.grade5-video-card .study-goal{display:flex;gap:12px;align-items:flex-start;background:var(--g5-mint);border:1px solid #b6deca;padding:11px 13px;border-radius:12px;font-weight:700}.grade5-video-card .study-goal input{width:23px;height:23px;flex:none;accent-color:#408c70;cursor:pointer}.grade5-video-card .study-paragraph{line-height:1.65}.grade5-video-card .question-spinner-wrap{background:var(--g5-gold);border:2px solid #ead19b;border-radius:19px;padding:12px;margin:12px 0}.grade5-video-card .study-info .life-situation{background:var(--g5-blue)!important;border-color:#b7d4f5!important}.grade5-video-card .word{font-size:1.17rem;line-height:1.7;white-space:pre-wrap}.grade5-video-card input.field,.grade5-video-card textarea.field{font-size:1.05rem;min-height:44px}@media(max-width:700px){.grade5-video-card>.stack:first-child{padding:11px 12px;border-radius:15px}.grade5-video-card .q-title{font-size:1.27rem}.grade5-video-card .question-pack-row{padding:12px}.grade5-video-card .question-pack-row h3{font-size:1rem}.grade5-video-card .opt{min-height:49px;font-size:.99rem;padding:9px 11px}.grade5-video-card .study-info{padding:12px}.grade5-video-card .q-instruction{font-size:.93rem}}.g5-lesson-jumps{display:flex;gap:9px;flex-wrap:wrap;align-items:center;background:#f5f1ff;border:1px solid #d8c8f8;border-radius:16px;padding:12px}.g5-lesson-jumps .tile{background:#fff;border:2px solid #baa8e8;border-radius:12px;font-size:14px;font-weight:850;color:#3d315d;min-height:42px;padding:9px 12px}.g5-lesson-jumps .tile:hover,.g5-lesson-jumps .tile:focus-visible{background:#ede2ff;border-color:#8560ce}.grade5-video-card .question-wheel-text{max-height:56vh;overflow:auto;font-size:18px!important;line-height:1.75!important;border:2px solid #cbd9f4;border-radius:16px;background:#fffdf5;padding:17px}.grade5-video-card .question-wheel-text p{font-size:inherit!important;line-height:inherit!important}@media(max-width:700px){.g5-lesson-jumps{padding:8px;gap:6px}.g5-lesson-jumps .tile{font-size:12px;min-height:41px}.grade5-video-card .question-wheel-text{font-size:16px!important;padding:11px;max-height:60vh}}.oral-wheel-task{background:#fff0f7;border:2px solid #edbfd8;border-radius:17px;padding:15px 18px;color:#343456}.oral-wheel-task strong{font-size:16px}.oral-wheel-task p{font-size:19px;line-height:1.45;margin:9px 0 0;font-weight:750}.oral-wheel-spinner{width:min(440px,84vw)!important;height:min(440px,84vw)!important;box-shadow:0 7px 24px #2c457044!important}.oral-wheel-label{position:absolute;transform:translate(-50%,-50%);width:104px;max-height:58px;overflow:hidden;overflow-wrap:anywhere;text-align:center;line-height:1.14;color:#20334f;background:#ffffffed;border-radius:10px;padding:6px 5px;font-size:13px;font-weight:900;box-shadow:0 2px 5px #1a245b29}.oral-wheel-result{display:grid;gap:7px;background:#eafbf1;border:2px solid #8dd4aa;border-radius:16px;padding:16px;text-align:center;color:#224736}.oral-wheel-result strong{font-size:24px;line-height:1.35;overflow-wrap:anywhere}.oral-wheel-result span{font-size:15px}@media(max-width:650px){.oral-wheel-spinner{width:min(315px,88vw)!important;height:min(315px,88vw)!important}.oral-wheel-label{width:76px;font-size:10px;padding:4px 3px;max-height:54px}.oral-wheel-task p{font-size:17px}.oral-wheel-result strong{font-size:20px}}.g5-vpr-dense-card .word{font-size:clamp(12px,1.45vw,16px);font-weight:600;line-height:1.25;white-space:pre-line;text-align:left;letter-spacing:0;padding:2px 0;overflow-wrap:normal}.g5-vpr-dense-card .gap{min-width:.65em;border-bottom:1.5px solid var(--border-strong);margin:0 1px;padding:0 1px;line-height:1.15}.g5-vpr-dense-card>.stack:first-child{padding:7px 11px;margin-bottom:5px;border-radius:10px}.g5-vpr-dense-card .q-title{font-size:clamp(13px,1.6vw,17px);line-height:1.23}.g5-vpr-dense-card .chips{gap:3px;margin:5px 0 0;position:sticky;bottom:0;background:var(--surface,#fff);padding:5px;z-index:2}.g5-vpr-dense-card .tile{min-height:29px;padding:3px 7px;font-size:13px}@media(max-width:700px){.g5-vpr-dense-card .word{font-size:12px;line-height:1.2}.g5-vpr-dense-card .gap{margin:0}.g5-vpr-dense-card>.stack:first-child{padding:6px 8px}}.grade5-video-card .study-reflection{background:linear-gradient(140deg,#fff0f7,#e9f3ff 52%,#eafbf1);border:2px solid #b8d0ed;padding:17px;border-radius:19px}.g5-reflection-sections{display:grid;gap:13px;margin-top:12px}.g5-reflection-section{border:2px solid #debce3;border-radius:15px;padding:12px;background:#fff8fc}.g5-reflection-section:nth-child(2){background:#f1f8ff;border-color:#b2d6f7}.g5-reflection-section:nth-child(3){background:#effff3;border-color:#afe2bf}.g5-reflection-section legend{padding:0 7px;font-size:1.04rem;font-weight:900;color:#243b59}.g5-reflection-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.g5-reflection-option{display:flex;align-items:center;gap:9px;padding:11px;background:#fff;border:2px solid #d9def2;border-radius:13px;cursor:pointer;line-height:1.35;font-weight:750;transition:background .15s,border-color .15s}.g5-reflection-option.selected{background:#fff2b9;border-color:#d29e3f;box-shadow:0 2px 8px #c98c3130}.g5-reflection-option input{accent-color:#9950a9;width:20px;height:20px;flex:none}@media(max-width:700px){.g5-reflection-options{grid-template-columns:1fr}.g5-reflection-option{padding:9px;font-size:.93rem}}.g5-reflection-grade{display:flex;gap:16px;align-items:center;padding:10px 12px;background:#fff;border-radius:13px;border:2px solid #d6bee4}.g5-reflection-grade input[type=range]{flex:1;accent-color:#a34bbc;min-width:80px}.g5-reflection-grade strong{font-size:1.4rem;color:#50376e;white-space:nowrap}.landing{min-height:100%;background:var(--bg)}.l-head{max-width:1120px;margin:0 auto;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}.l-hero{max-width:1120px;margin:0 auto;padding:24px 20px 56px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.l-lex{justify-self:center;filter:drop-shadow(0 18px 24px rgba(97,40,169,.2));animation:bounce 3.2s ease-in-out infinite;max-width:100%}.l-copy{display:flex;flex-direction:column;gap:20px}.l-sub{font-size:20px;color:var(--muted);font-weight:700;max-width:520px}.l-cta{display:flex;flex-direction:column;gap:14px;max-width:360px;margin-top:8px}.l-features{max-width:1120px;margin:0 auto;padding:8px 20px 56px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.l-feature{border:2px solid var(--border);border-radius:22px;padding:22px;background:var(--surface)}.l-feature h3{font-size:19px;margin:12px 0 6px}.l-feature p{color:var(--muted);font-weight:700}.l-ico{width:56px;height:56px;border-radius:16px;background:var(--purple-faint);display:grid;place-items:center}.l-band{max-width:1120px;margin:0 auto 40px;padding:28px;border-radius:28px;background:var(--purple);color:#fff;display:flex;align-items:center;gap:28px}.l-band h2{color:#fff;font-size:30px;margin-bottom:8px}.l-band p{margin-bottom:16px;font-weight:700;opacity:.92;max-width:560px}.l-foot{text-align:center;padding:28px;color:var(--muted);font-weight:800}@media(max-width:880px){.l-hero{grid-template-columns:1fr;text-align:center;padding-top:4px}.l-lex{width:240px!important}.l-copy{align-items:center}.l-cta{width:100%}.l-features{grid-template-columns:1fr}.l-band{flex-direction:column;text-align:center}}.auth{min-height:100%;display:grid;place-items:center;padding:20px;background:var(--bg)}.auth-card{width:min(440px,100%);display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:28px;text-align:center}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg button{padding:12px;border-radius:14px;border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);font-weight:800}.seg button.on{background:var(--info-bg);border-color:var(--info-border);color:var(--info-edge)}.demo{background:var(--purple-faint);border:2px dashed var(--purple-soft);border-radius:14px;padding:12px 14px;font-size:14px}.demo button{background:none;border:0;padding:0;color:var(--purple);font-weight:900;text-decoration:underline}.flow{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.flow-top{display:flex;align-items:center;gap:16px;width:min(1000px,100%);margin:0 auto;padding:22px 20px 10px}.flow-body{flex:1;width:min(640px,100%);margin:0 auto;padding:16px 20px 40px;display:flex;flex-direction:column;gap:22px}.flow-bottom{border-top:2px solid var(--border);padding:18px 20px;display:flex;justify-content:flex-end;gap:14px}.flow-bottom>.btn{min-width:170px}.icon-btn{width:36px;height:36px;border:0;background:transparent;font-size:26px;color:var(--muted);border-radius:10px;font-weight:900;line-height:1}.icon-btn:hover{background:var(--surface-2)}.opts{display:flex;flex-direction:column;gap:12px}.opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:16px 18px;border-radius:16px;border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);font-weight:800;font-size:17px;color:var(--text)}.opt em{font-style:normal;color:var(--muted);font-weight:700;font-size:15px}.opt:hover{background:var(--surface-2)}.opt.sel{background:var(--info-bg);border-color:var(--info-border);color:var(--info-edge)}.opt.sel em{color:var(--info-edge)}.lesson{min-height:100%;display:flex;flex-direction:column;background:var(--bg);position:relative}.lesson-top{display:flex;align-items:center;gap:16px;width:min(1000px,100%);margin:0 auto;padding:22px 20px 6px}.combo{text-align:center;font-size:12px;font-weight:900;letter-spacing:1px;color:var(--gold-edge);height:18px}.lesson-body{flex:1;width:min(640px,100%);margin:0 auto;padding:10px 20px 28px;display:flex;flex-direction:column;gap:22px}.q-title{font-size:clamp(22px,3.4vw,28px);font-weight:900;color:var(--ink)}.q-sub{font-size:14px;font-weight:900;color:var(--err-text);text-transform:uppercase;letter-spacing:.8px;display:flex;gap:6px;align-items:center}.q-body{font-size:22px;font-weight:800;color:var(--ink);padding:14px 18px;border:2px solid var(--border);border-radius:16px;background:var(--surface-2)}.opt .num{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid var(--border);display:grid;place-items:center;font-size:13px;color:var(--muted)}.opt.sel .num{border-color:var(--info-border);color:var(--info-edge)}.opt.right{background:var(--ok-bg);border-color:var(--ok);color:var(--ok-text)}.opt.wrong{background:var(--err-bg);border-color:var(--err);color:var(--err-text)}.opt.center{justify-content:center}.opt:disabled{cursor:default}.tf{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tf .opt{flex-direction:column;justify-content:center;min-height:130px;font-size:20px}.tf .opt svg{width:44px;height:44px}.word{font-size:clamp(34px,7vw,54px);font-weight:900;color:var(--ink);text-align:center;letter-spacing:1px;padding:14px 0}.gap{display:inline-block;min-width:1.1em;border-bottom:5px solid var(--border-strong);margin:0 3px;color:var(--purple)}.gap.has{border-color:var(--info-border)}.gap.right{color:var(--ok-text);border-color:var(--ok)}.gap.wrong{color:var(--err-text);border-color:var(--err)}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.tile{min-width:56px;padding:12px 16px;border-radius:14px;border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);font-weight:800;font-size:20px;color:var(--ink)}.tile:hover:not(:disabled){background:var(--surface-2)}.tile.sel{background:var(--info-bg);border-color:var(--info-border);color:var(--info-edge)}.tile.used{background:var(--surface-2);color:transparent;border-color:var(--border);border-bottom-width:2px}.tile:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.tile.right{background:var(--ok-bg);border-color:var(--ok);color:var(--ok-text)}.tile.wrong{background:var(--err-bg);border-color:var(--err);color:var(--err-text)}.answer-line{min-height:118px;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;padding:10px 0;background-image:linear-gradient(var(--border) 2px,transparent 2px);background-size:100% 59px;background-position:0 57px}.pool{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:60px}.match{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.match .tile{width:100%;font-size:17px}.stress-word{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.stress-word .ch{font-size:clamp(38px,8vw,58px);font-weight:900;color:var(--ink);min-width:.7em;text-align:center;border:0;background:transparent;padding:0 2px;border-radius:12px}.stress-word button.ch{cursor:pointer;background:var(--surface-2);border-bottom:4px solid var(--border);padding:0 8px}.stress-word button.ch:hover{background:var(--purple-soft)}.stress-word button.ch.sel{background:var(--info-bg);color:var(--info-edge);border-bottom-color:var(--info-border)}.stress-word button.ch.right{background:var(--ok-bg);color:var(--ok-text);border-bottom-color:var(--ok)}.stress-word button.ch.wrong{background:var(--err-bg);color:var(--err-text);border-bottom-color:var(--err)}.punct{display:flex;flex-wrap:wrap;align-items:center;row-gap:14px;font-size:22px;font-weight:800;color:var(--ink);line-height:1.9}.punct .w{padding:0 2px}.punct .g{width:26px;height:40px;border-radius:10px;border:2px dashed var(--border-strong);background:transparent;margin:0 2px;color:var(--purple);font-weight:900;font-size:24px;padding:0;line-height:36px}.punct .g:hover{background:var(--purple-faint)}.punct .g.on{border-style:solid;border-color:var(--info-border);background:var(--info-bg);color:var(--info-edge)}.punct .g.right{border:2px solid var(--ok);background:var(--ok-bg);color:var(--ok-text)}.punct .g.wrong{border:2px solid var(--err);background:var(--err-bg);color:var(--err-text)}.punct .g.miss{border:2px dashed var(--ok);color:var(--ok-text)}.punct .tap{border:2px solid var(--border);border-bottom-width:4px;border-radius:10px;background:var(--surface);padding:0 8px;margin:0 3px}.input-big{font-size:24px;text-align:center;padding:18px;font-weight:800}.speak{width:64px;height:64px;border-radius:18px;border:2px solid var(--info-border);border-bottom-width:5px;background:var(--info-bg);color:var(--info-edge);display:grid;place-items:center;justify-self:center}.lesson-bottom{border-top:2px solid var(--border);background:var(--bg);transition:background .2s}.lesson-bottom .inner{width:min(1000px,100%);margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:108px}.lesson-bottom.ok{background:var(--ok-bg);border-top-color:transparent;animation:slideup .25s}.lesson-bottom.bad{background:var(--err-bg);border-top-color:transparent;animation:slideup .25s}.fb{display:flex;align-items:center;gap:16px;min-width:0}.fb .badge{width:66px;height:66px;flex:none;border-radius:50%;background:#fff;display:grid;place-items:center}.fb h3{font-size:24px}.ok .fb h3,.ok .fb p{color:var(--ok-text)}.bad .fb h3,.bad .fb p{color:var(--err-text)}.fb p{font-weight:700;font-size:16px}.fb .sm{font-weight:800}.btn.skip{--b: var(--surface);--e: var(--border-strong);--c: var(--muted);border-color:var(--border) var(--border) var(--border-strong);background:var(--surface)}.done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:28px}.done h1{color:var(--gold-edge);font-size:32px}.tiles{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.stat-tile{width:150px;border-radius:16px;border:2px solid var(--b);overflow:hidden;background:var(--surface)}.stat-tile .h{background:var(--b);color:#fff;font-size:12px;font-weight:900;letter-spacing:1px;padding:4px;text-transform:uppercase}.stat-tile .v{padding:14px 6px;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--b)}.week{display:flex;gap:10px;justify-content:center}.week .d{display:grid;justify-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--muted)}.week .c{width:36px;height:36px;border-radius:50%;background:var(--border);display:grid;place-items:center;color:#fff}.week .c.on{background:var(--flame)}.week .d.today{color:var(--flame)}.streak-big{font-size:96px;font-weight:900;color:var(--flame);line-height:1}@keyframes slideup{0%{transform:translateY(100%)}}@media(max-width:560px){.lesson-bottom .inner{flex-direction:column;align-items:stretch;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.lesson-bottom .inner .btn{width:100%}.fb h3{font-size:20px}.flow-bottom>.btn{width:100%}}.lesson.grade9 .q-title,.vcontent.grade9 .q-title{font-size:21px;line-height:1.35}.lesson.grade9 .q-body,.vcontent.grade9 .q-body{font-size:16px;line-height:1.5;font-weight:700;white-space:pre-wrap}.lesson.grade9 .opt,.vcontent.grade9 .opt,.lesson.grade9 .match,.vcontent.grade9 .match{font-size:16px}.lesson.grade9 .stress-word .ch,.vcontent.grade9 .stress-word .ch{font-size:clamp(28px,6vw,42px)}.lesson.grade5 .q-body,.vcontent.grade5 .q-body{font-size:18px;line-height:1.5;font-weight:650}.lesson.grade5 .q-title,.vcontent.grade5 .q-title{font-size:23px;line-height:1.35}.lesson.grade6 .q-title,.vcontent.grade6 .q-title,.grade6-page .q-title{font-size:21px;line-height:1.35}.lesson.grade6 .q-body,.vcontent.grade6 .q-body,.grade6-page .q-body{font-size:16px;line-height:1.5;font-weight:650;white-space:pre-wrap}.lesson.grade7 .q-title,.vcontent.grade7 .q-title{font-size:21px;line-height:1.35}.lesson.grade7 .q-body,.vcontent.grade7 .q-body{font-size:16px;line-height:1.5;font-weight:650;white-space:pre-wrap}.lesson.grade9 .q-body,.vcontent.grade9 .q-body{font-size:15px}.lesson.grade9 .q-title,.vcontent.grade9 .q-title{font-size:20px}.lesson.grade6 .opt,.vcontent.grade6 .opt,.grade6-page .opt,.lesson.grade6 .tile,.vcontent.grade6 .tile,.grade6-page .tile{font-size:16px;line-height:1.35}.lesson.grade6 .word,.vcontent.grade6 .word,.grade6-page .word{font-size:clamp(27px,5vw,39px)}.lesson.grade6 .punct,.vcontent.grade6 .punct,.grade6-page .punct{font-size:17px}.lesson.grade7 .opt,.vcontent.grade7 .opt,.lesson.grade7 .tile,.vcontent.grade7 .tile{font-size:16px;line-height:1.35}.lesson.grade7 .word,.vcontent.grade7 .word{font-size:clamp(27px,5vw,39px)}.lesson.grade7 .punct,.vcontent.grade7 .punct{font-size:17px}.lesson.grade9 .tile,.vcontent.grade9 .tile{font-size:16px}.study-info{display:grid;gap:12px;font-size:16px;line-height:1.55}.study-info p{margin:0;white-space:pre-wrap}.study-rule,.study-hack{padding:15px 18px;border:2px solid #f581bf;border-radius:16px;background:#fff0f8;color:#482039}.study-rule .study-paragraph{padding:10px 12px;border-left:4px solid #f050a2;background:#ffffffb8;border-radius:8px}.study-rule h3,.study-hack h3{color:#b51f71;font-size:14px;margin:0 0 5px;letter-spacing:.02em}.study-hack{border-color:#51aef1;background:#eaf6ff;color:#183d60}.study-hack .study-paragraph{padding:9px 12px;border-left:4px solid #258cde;background:#ffffffbf;border-radius:8px}.study-hack h3{color:#1566a5}.study-table,.study-scheme{padding:15px;border:2px solid #60a7ed;border-radius:16px;background:#edf7ff;color:#173f62}.study-table-scroll{overflow-x:auto}.study-table table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.45;min-width:420px}.study-table th{background:#257dc0;color:#fff;text-align:left;padding:10px 12px}.study-table td{padding:10px 12px;border:1px solid #b5d6ef;background:#ffffffdb}.study-table tbody tr:nth-child(2n) td{background:#e0efff}.study-steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:9px}.study-steps li{counter-increment:step;display:flex;align-items:flex-start;gap:12px;padding:10px;background:#fff;border-radius:10px}.study-steps li:before{content:counter(step);display:grid;place-items:center;min-width:27px;height:27px;border-radius:8px;background:#258cde;color:#fff;font-weight:900}.study-extra{font-size:14px}.study-extra summary{cursor:pointer;font-weight:800}.study-extra p{margin-top:8px}.study-checklist{display:grid;gap:6px;margin:8px 0;padding:0}.study-goal{display:flex;align-items:flex-start;gap:9px;padding:7px 9px;border-radius:8px;background:#eef5ff;color:#183f68;font-size:13px;line-height:1.35;cursor:pointer}.study-goal input{flex:none;width:19px;height:19px;margin:0;accent-color:#375bd1}.study-goal:has(input:checked){background:#e1f7e9;color:#185c3d}.study-goal:has(input:checked) span{text-decoration:underline;text-decoration-color:#48ab72}.fill-inline{display:inline-block;width:clamp(62px,14ch,160px);min-height:34px;padding:3px 6px;margin:2px 3px;font:inherit;font-size:.92em;border:2px solid #5399df;vertical-align:baseline;background:#fff;color:#132b43}.sort-task{display:grid;gap:8px;margin:12px 0}.sort-tokens{display:flex;gap:6px;flex-wrap:wrap}.sort-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.sort-column{display:grid;align-content:start;gap:7px;min-height:100px;padding:8px;border:2px dashed #5b92d4;border-radius:10px;background:#ecf5ff;text-align:left;color:#173c63;cursor:pointer}.sort-column>strong{display:block;border-bottom:1px solid #9ec3ec;padding-bottom:5px}.sort-column>span{display:flex;gap:4px;flex-wrap:wrap}.sort-placed{display:inline-block;background:#fff;border-radius:6px;padding:3px 5px}.sort-placed.wrong{background:#ffe0e0}.sort-placed.right{background:#d8f5df}[data-theme=dark] .study-rule{background:#48203a;color:#ffe5f5}[data-theme=dark] .study-hack,[data-theme=dark] .study-table,[data-theme=dark] .study-scheme{background:#183c59;color:#e4f5ff}[data-theme=dark] .study-paragraph,[data-theme=dark] .study-steps li,[data-theme=dark] .study-table td{background:#101730b3;color:#f4f4ff}@media(max-width:600px){.study-info{font-size:15px}.study-table table{min-width:340px;font-size:13px}}.study-exception{border:2px solid #fa7a9d;background:#fff0f1;padding:15px 18px;border-radius:16px;color:#7f214a}.study-exception-words{display:flex;flex-wrap:wrap;gap:8px;white-space:pre-line}.study-exception-words span{background:#ffcfdf;padding:8px 12px;border-radius:10px;font-weight:800}.study-paragraph.study-emphasis{border-color:#f98d27;background:#ffefd6;color:#653b08}[data-theme=dark] .study-exception{background:#4d1e38;color:#ffe7ef}[data-theme=dark] .study-exception-words span{background:#71304d}[data-theme=dark] .study-paragraph.study-emphasis{background:#563710;color:#fff1d7}.lesson.grade7 .q-title,.vcontent.grade7 .q-title,.lesson-bank-preview.grade7 .q-title{padding:10px 14px;border:2px solid #9a7bf2;border-radius:14px;background:linear-gradient(135deg,#f6edff,#e6f4ff);color:#3c246d}.lesson.grade7 .study-rule,.vcontent.grade7 .study-rule,.lesson-bank-preview.grade7 .study-rule{border-color:#ff4fa3;background:linear-gradient(145deg,#fff0f8,#ffe0f0);color:#541538;box-shadow:0 8px 22px #e22b8324}.lesson.grade7 .study-table,.vcontent.grade7 .study-table,.lesson-bank-preview.grade7 .study-table{border-color:#168ce5;background:linear-gradient(145deg,#eaf7ff,#d9efff);color:#123f66;box-shadow:0 8px 22px #168ce524}.lesson.grade7 .study-table th,.vcontent.grade7 .study-table th,.lesson-bank-preview.grade7 .study-table th{background:linear-gradient(135deg,#176bd1,#7449d8)}.lesson.grade7 .study-scheme,.vcontent.grade7 .study-scheme,.lesson-bank-preview.grade7 .study-scheme{border-color:#20a968;background:linear-gradient(145deg,#ebfff3,#d7f8e6);color:#174c35;box-shadow:0 8px 22px #20a96824}.lesson.grade7 .study-scheme .study-steps li:before,.vcontent.grade7 .study-scheme .study-steps li:before,.lesson-bank-preview.grade7 .study-scheme .study-steps li:before{background:#1b9b5d}.lesson.grade7 .study-hack,.vcontent.grade7 .study-hack,.lesson-bank-preview.grade7 .study-hack{border-color:#f19b18;background:linear-gradient(145deg,#fff8d9,#ffe9a8);color:#603b04;box-shadow:0 8px 22px #f19b1829}.lesson.grade7 .study-hack h3,.vcontent.grade7 .study-hack h3,.lesson-bank-preview.grade7 .study-hack h3{color:#a55205}.lesson-grade-tabs{display:flex;gap:7px;overflow-x:auto;padding:3px 0}.lesson-grade-tabs .tile{white-space:nowrap;min-width:94px;font-weight:800}.lesson-grade-tabs small{margin-left:4px;opacity:.7}.lesson-bank-grid{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:16px;align-items:start}.lesson-bank-list{max-height:min(78vh,900px);overflow:auto}.lesson-bank-list h2,.lesson-bank-preview h2{margin:0}.lesson-bank-section{font-size:14px;color:var(--purple);margin:12px 0 2px}.lesson-bank-row{display:flex;flex-direction:column;text-align:left;gap:2px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 11px;cursor:pointer;width:100%}.lesson-bank-row:hover,.lesson-bank-row.selected{border-color:#a769e8;background:var(--purple-faint)}.lesson-bank-row small{color:#9c347d;font-weight:800}.lesson-bank-preview{min-width:0}.lesson-bank-card{padding:16px;border:1px solid var(--line);border-radius:14px;touch-action:pan-y}@media(max-width:800px){.lesson-bank-grid{grid-template-columns:1fr}.lesson-bank-list{max-height:38vh}}.lesson.grade5 .q-body,.vcontent.grade5 .q-body,.lesson-bank-preview.grade5 .q-body{font-size:16px;line-height:1.45}.lesson.grade5 .q-title,.vcontent.grade5 .q-title,.lesson-bank-preview.grade5 .q-title{font-size:20px}.lesson.grade6 .q-body,.vcontent.grade6 .q-body,.grade6-page .q-body,.lesson-bank-preview.grade6 .q-body{font-size:15px;line-height:1.45}.lesson.grade6 .q-title,.vcontent.grade6 .q-title,.grade6-page .q-title,.lesson-bank-preview.grade6 .q-title{font-size:19px}.lesson.grade7 .q-body,.vcontent.grade7 .q-body,.lesson-bank-preview.grade7 .q-body{font-size:15px;line-height:1.45}.lesson.grade7 .q-title,.vcontent.grade7 .q-title,.lesson-bank-preview.grade7 .q-title{font-size:19px}.lesson.grade9 .q-body,.vcontent.grade9 .q-body,.lesson-bank-preview.grade9 .q-body{font-size:14px;line-height:1.45}.lesson.grade9 .q-title,.vcontent.grade9 .q-title,.lesson-bank-preview.grade9 .q-title{font-size:18px}.lesson-bank-preview.grade5 .opt,.lesson-bank-preview.grade5 .tile{font-size:15px}.lesson-bank-preview.grade6 .opt,.lesson-bank-preview.grade6 .tile,.lesson-bank-preview.grade7 .opt,.lesson-bank-preview.grade7 .tile,.lesson-bank-preview.grade9 .opt,.lesson-bank-preview.grade9 .tile{font-size:14px}.lesson-bank-preview.exam-demo .q-body{font-size:13px;line-height:1.4;white-space:pre-wrap}.lesson-bank-preview.exam-demo .q-title{font-size:17px;line-height:1.3}.lesson-bank-preview.exam-demo .lesson-bank-card{max-width:100%}.lesson-bank-bottom{position:sticky;bottom:8px;z-index:5;background:var(--surface);padding:10px;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px #0000001a;flex-wrap:wrap}.lesson-bank-pacing{margin:0;padding:8px 11px;border-radius:10px;background:#edf5ff;color:#194984;font-size:13px;line-height:1.42}.exam-prompt{display:flex;flex-direction:column;gap:18px;margin:0 0 18px}.exam-task-label{white-space:pre-wrap;padding:14px 18px;border-left:5px solid #ad3454;background:#fff0f3;color:#872544!important;border-radius:12px;font-size:20px!important;line-height:1.5!important}.exam-source-text{white-space:pre-wrap;padding:20px 22px;border:2px solid var(--border);border-radius:15px;background:var(--surface);font-size:18px;line-height:1.8;color:var(--ink);font-weight:500}@media(max-width:580px){.exam-task-label{font-size:17px!important;padding:12px}.exam-source-text{font-size:16px;padding:14px;line-height:1.7}}.editorial-card-header{display:grid;gap:10px;margin-bottom:4px}.editorial-card-title{font-size:clamp(22px,2.5vw,29px)!important;line-height:1.2;font-weight:900;color:var(--ink);letter-spacing:-.025em}.editorial-card-task{font-size:clamp(16px,1.8vw,20px);line-height:1.48;font-weight:650;color:var(--ink);white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere}.lesson.grade9 .editorial-card-title,.vcontent.grade9 .editorial-card-title{font-size:22px!important}.lesson.grade9 .editorial-card-task,.vcontent.grade9 .editorial-card-task{font-size:16px}.study-rule-visual{font-size:clamp(20px,2.3vw,26px);font-weight:850;line-height:1.55;white-space:pre-wrap}.lesson .study-rule .study-paragraph p,.vcontent .study-rule .study-paragraph p,.lesson-bank-preview .study-rule .study-paragraph p,.lesson .study-hack .study-paragraph p,.vcontent .study-hack .study-paragraph p,.lesson-bank-preview .study-hack .study-paragraph p{font-size:clamp(18px,2.2vw,24px);line-height:1.55;font-weight:730}.lesson .study-rule h3,.vcontent .study-rule h3,.lesson-bank-preview .study-rule h3{font-size:clamp(20px,2.5vw,27px);font-weight:900}.study-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.study-table table{font-size:clamp(15px,1.6vw,19px);line-height:1.5}.study-table th{font-weight:900;font-size:1.05em;white-space:normal}.study-table td{font-weight:670;overflow-wrap:anywhere}.integrated-wheel-wrap{position:relative;width:min(310px,84vw);height:min(310px,84vw);margin:15px auto}.integrated-wheel-pointer{position:absolute;z-index:2;top:-13px;left:50%;transform:translate(-50%);font-size:32px;color:#be346b}.integrated-wheel-disc{height:100%;width:100%;border-radius:50%;border:6px solid #7356b2;box-shadow:0 5px 20px #35225b35;background:conic-gradient(#f4d7ec 0,#f4d7ec 60deg,#d6eafd 60deg,#d6eafd 120deg,#fde6ad 120deg,#fde6ad 180deg,#d9f8e3 180deg,#d9f8e3 240deg,#e7ddfe 240deg,#e7ddfe 300deg,#fbd4d4 300deg,#fbd4d4 360deg);position:relative;transition:transform .85s cubic-bezier(.25,.7,.2,1)}.integrated-wheel-sector{position:absolute;left:calc(50% - 44px);top:calc(50% - 22px);width:88px;min-height:44px;display:grid;place-items:center;text-align:center;padding:2px 4px;border-radius:9px;font-size:12px;line-height:1.12;font-weight:850;overflow-wrap:anywhere;background:#fffffff0;color:#33264f}@media(max-width:600px){.integrated-wheel-wrap{width:min(250px,78vw);height:min(250px,78vw)}.integrated-wheel-sector{font-size:10px;left:calc(50% - 36px);top:calc(50% - 19px);width:72px;min-height:38px;transform-origin:center!important}.study-table table{min-width:340px;font-size:15px}.editorial-card-title{font-size:22px!important}.editorial-card-task{font-size:16px;line-height:1.5}.study-rule .study-paragraph p,.study-hack .study-paragraph p{font-size:18px!important}}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .editorial-card-header{border:3px solid #28a568;border-radius:18px;background:linear-gradient(125deg,#e3ffed,#d9f8f0);padding:16px 18px;margin:0 0 14px;box-shadow:0 5px 14px #0a6e3c1a}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .editorial-card-title{color:#115936!important;font-size:clamp(23px,3vw,32px)!important;font-weight:950;overflow-wrap:anywhere}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .editorial-card-task{color:#183e2e;font-size:clamp(16px,1.65vw,20px)}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-rule{border:4px solid #16a34a;background:linear-gradient(135deg,#dcfce7,#f0fdf4);color:#12412b;border-radius:20px;padding:18px 20px;box-shadow:0 7px 18px #12784521}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-rule .study-paragraph{background:#fff;border-left:6px solid #ef4444}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-rule .study-paragraph p{font-size:clamp(18px,2vw,25px);font-weight:750;color:#123b26;line-height:1.58}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-table{border:3px solid #16a34a;background:#ebfff0;color:#123b26}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-table th{background:#15803d;color:#fff;font-weight:900;font-size:clamp(16px,1.6vw,21px)}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-table td:first-child{color:#b91c1c;background:#fff0f0;font-weight:900}.theory-key{display:inline;font-weight:950;color:#b91c1c;background:#fee2e2;padding:0 4px;border-radius:4px}.study-table-notes{white-space:pre-wrap;border-left:5px solid #e63946;background:#fff1f2;padding:12px 15px;font-weight:800;font-size:clamp(16px,1.8vw,20px);color:#991b1b;border-radius:8px}@media(max-width:600px){:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .editorial-card-header{padding:12px}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .editorial-card-title{font-size:22px!important}:is(.lesson.grade5,.lesson.grade6,.lesson.grade7,.lesson.grade9,.vcontent.grade5,.vcontent.grade6,.vcontent.grade7,.vcontent.grade9,.lesson-bank-preview.grade5,.lesson-bank-preview.grade6,.lesson-bank-preview.grade7,.lesson-bank-preview.grade9) .study-rule .study-paragraph p{font-size:18px}}.exam-instruction-panels{display:grid;gap:16px;margin:14px 0 22px}.exam-instruction-panel{display:flex;align-items:flex-start;gap:16px;border-radius:18px;border:2px solid #16a34a;background:#eafbef;padding:18px 20px;color:#123e29;box-shadow:0 5px 14px #14532d14}.exam-instruction-panel:nth-child(2n){border-color:#ef4444;background:#fff0f0;color:#641b1b}.exam-instruction-panel p{font-size:clamp(17px,1.9vw,21px);font-weight:680;white-space:pre-wrap;line-height:1.7;margin:0;max-width:100%;overflow-wrap:anywhere}.exam-instruction-step{flex:none;display:grid;place-items:center;border-radius:50%;width:35px;height:35px;color:#fff;background:#15803d;font-size:17px;font-weight:900}.exam-instruction-panel:nth-child(2n) .exam-instruction-step{background:#b91c1c}@media(max-width:600px){.exam-instruction-panel{padding:13px;gap:10px}.exam-instruction-panel p{font-size:16px}}.path{display:flex;flex-direction:column;gap:0;align-items:stretch}.skeleton{height:600px;border-radius:20px;background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.unit{--u: var(--u-purple);--e: var(--u-purple-edge)}.unit.c-blue{--u: var(--u-blue);--e: var(--u-blue-edge)}.unit.c-green{--u: var(--u-green);--e: var(--u-green-edge)}.unit.c-pink{--u: var(--u-pink);--e: var(--u-pink-edge)}.unit.c-orange{--u: var(--u-orange);--e: var(--u-orange-edge)}.unit.c-red{--u: var(--u-red);--e: var(--u-red-edge)}.unit-head{position:sticky;top:8px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 16px 22px;margin:6px 0 22px;border-radius:18px;background:var(--u);color:#fff;border-bottom:5px solid var(--e)}.unit-head .u-sec{font-size:13px;font-weight:900;letter-spacing:1px;text-transform:uppercase;opacity:.8}.unit-head h2{color:#fff;font-size:24px;margin:2px 0}.unit-head .u-sub{font-weight:700;opacity:.92;font-size:15px}.guide-btn{display:inline-flex;align-items:center;gap:8px;flex:none;padding:12px 14px;border-radius:14px;border:2px solid rgba(0,0,0,.18);border-bottom-width:4px;background:#ffffff2e;color:#fff;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.6px}.guide-btn:hover{background:#ffffff47}.guide-btn:active{border-bottom-width:2px;transform:translateY(2px)}@media(max-width:480px){.guide-btn span{display:none}}.nodes{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:56px 0 38px;margin-top:-30px}.node-row{position:relative;z-index:1;display:grid;justify-items:center;scroll-margin-top:160px}.node{width:78px;height:70px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;background:var(--u);box-shadow:0 8px 0 var(--e);position:relative;top:0;transition:transform .08s,box-shadow .08s}.node:active{transform:translateY(6px);box-shadow:0 2px 0 var(--e)}.node.done{background:var(--u)}.node.gold{background:var(--gold);box-shadow:0 8px 0 var(--gold-edge);color:#fff}.node.locked{background:#e5e0ee;box-shadow:0 8px #cfc7de;color:#b3a8c7}:root[data-theme=dark] .node.locked{background:#34274e;box-shadow:0 8px #281c3d}.node.current{animation:pulse 2s ease-in-out infinite}.node.current:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:5px solid var(--border);border-top-color:var(--u);border-right-color:var(--u);transform:rotate(-35deg)}.node.k-chest{background:transparent;box-shadow:none}.node.k-chest.locked{filter:grayscale(1) opacity(.6);background:transparent;box-shadow:none}.node.k-chest.current{animation:bounce 1.4s ease-in-out infinite}.node.k-chest.current:before{display:none}.node.k-trophy{width:84px}@keyframes pulse{50%{transform:scale(1.04)}}.crowns{display:flex;gap:2px;margin-top:12px}.start-bubble{position:absolute;top:-48px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:14px;background:var(--surface);border:2px solid var(--border);color:var(--u);font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:15px;z-index:3;animation:bounce 1.2s ease-in-out infinite;pointer-events:none;white-space:nowrap}.start-bubble:after{content:"";position:absolute;left:50%;bottom:-8px;width:12px;height:12px;background:var(--surface);border-right:2px solid var(--border);border-bottom:2px solid var(--border);transform:translate(-50%) rotate(45deg)}.pop{position:absolute;z-index:15;top:88px;width:min(300px,80vw);padding:16px;border-radius:18px;background:var(--u);color:#fff;box-shadow:0 6px 0 var(--e);animation:pop .18s;display:flex;flex-direction:column;gap:6px}.pop:before{content:"";position:absolute;top:-8px;left:50%;width:18px;height:18px;background:var(--u);transform:translate(-50%) rotate(45deg);border-radius:3px}.pop h4{color:#fff;font-size:19px}.pop p{opacity:.9;font-weight:700;margin-bottom:6px}.pop .btn{--c: var(--u)}.u-lex{position:absolute;right:-4px;top:30%;pointer-events:none}@media(max-width:560px){.u-lex{width:96px!important;right:-10px;top:40%}}@media(min-width:720px){.u-lex{right:4%}}.end-card{text-align:center;padding:30px 10px;display:grid;justify-items:center;gap:8px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.page-head h1{font-size:clamp(26px,4vw,34px)}.page-head p{margin-top:4px}.tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:18px;padding-bottom:4px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;padding:10px 18px;border-radius:14px;border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);font-weight:900;letter-spacing:.4px;text-transform:uppercase;font-size:13px;color:var(--muted)}.tab.on{background:var(--info-bg);border-color:var(--info-border);color:var(--info-edge)}.tab em{font-style:normal;background:var(--err);color:#fff;border-radius:99px;padding:1px 7px;margin-left:8px;font-size:12px}.empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:36px 16px}.grid{display:grid;gap:14px}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}@media(max-width:720px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c2{grid-template-columns:1fr}}.badge-pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:900;letter-spacing:.4px;text-transform:uppercase}.badge-pill.info{background:var(--info-bg);color:var(--info-edge)}.badge-pill.ok{background:var(--ok-bg);color:var(--ok-text)}.badge-pill.err{background:var(--err-bg);color:var(--err-text)}.badge-pill.warn{background:var(--gold-soft);color:#a77500}.badge-pill.purple{background:var(--purple-soft);color:var(--purple)}.hero{display:flex;align-items:center;gap:18px;padding:20px 22px;border-radius:22px;background:var(--purple);color:#fff;margin-bottom:20px;overflow:hidden;position:relative}.hero h2{color:#fff;font-size:24px;margin-bottom:4px}.hero p{opacity:.92;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{border:2px solid var(--border);border-radius:16px;padding:14px 16px;background:var(--surface)}.stat b{display:block;font-size:28px;color:var(--ink);line-height:1.1}.stat span{font-size:13px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.list{display:flex;flex-direction:column;gap:10px}.item{display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px solid var(--border);border-bottom-width:4px;border-radius:16px;background:var(--surface);text-align:left;width:100%}.item.click:hover{background:var(--surface-2)}.item .grow{flex:1;min-width:0}.item .grow b{color:var(--ink);display:block}.item .grow small{color:var(--muted);font-weight:700;display:block}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:8px 12px;border-bottom:2px solid var(--border)}.table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr.click:hover td{background:var(--surface-2);cursor:pointer}.form{display:flex;flex-direction:column;gap:12px}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.form .two{grid-template-columns:1fr}}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}.chk{display:flex;align-items:center;gap:10px;padding:8px 4px;font-weight:700}.chk input{width:20px;height:20px;accent-color:var(--purple)}.pill-select{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:8px 14px;border-radius:99px;border:2px solid var(--border);background:var(--surface);font-weight:800;font-size:14px}.pill.on{background:var(--purple-soft);border-color:var(--purple-bright);color:var(--purple)}.sep{height:2px;background:var(--border);border:0;margin:6px 0}.notif-pop{position:absolute;z-index:60;left:0;bottom:100%;width:340px;max-height:70vh;overflow:auto;background:var(--surface);border:2px solid var(--border);border-radius:18px;padding:10px;box-shadow:var(--shadow-pop);transform-origin:bottom left}.topbar-mobile .notif-pop{left:auto;right:0;top:100%;bottom:auto;transform-origin:top right;width:min(340px,92vw)}.notif{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:10px 8px;border:0;background:transparent;border-radius:12px}.notif:hover{background:var(--surface-2)}.notif .ni{font-size:22px}.notif b{display:block;color:var(--ink)}.notif small{color:var(--muted);display:block;font-weight:700}.notif time{font-size:12px;color:var(--muted)}.cal{border:2px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface)}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2);font-size:12px;font-weight:900;text-transform:uppercase;color:var(--muted);text-align:center;padding:8px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-day{min-height:96px;border:0;border-top:1px solid var(--border);border-left:1px solid var(--border);padding:6px;background:transparent;text-align:left;display:flex;flex-direction:column;gap:3px;min-width:0}.cal-day:nth-child(7n+1){border-left:0}.cal-day:hover{background:var(--surface-2)}.cal-day .n{font-weight:900;font-size:13px;color:var(--muted)}.cal-day.today .n{background:var(--purple);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}.cal-day.out{opacity:.4}.cal-day.sel{background:var(--purple-faint)}.cal-ev{font-size:11px;font-weight:800;background:var(--purple-soft);color:var(--purple);border-radius:6px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ev.done{background:var(--ok-bg);color:var(--ok-text)}.cal-ev.cancelled{background:var(--surface-2);color:var(--muted);text-decoration:line-through}@media(max-width:720px){.cal-day{min-height:56px;padding:3px}.cal-ev{display:none}.cal-day .dots{display:flex;gap:3px;flex-wrap:wrap}.cal-day .dots i{width:7px;height:7px;border-radius:50%;background:var(--purple)}}@media(min-width:721px){.cal-day .dots{display:none}}.sched-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.tgrid{border:2px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface)}.tg-head{display:grid;grid-template-columns:56px repeat(var(--cols),minmax(0,1fr));background:var(--surface-2);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:5}.tg-dh{text-align:center;padding:8px 2px;cursor:pointer;display:grid;gap:2px;justify-items:center}.tg-dh small{font-weight:900;color:var(--muted);text-transform:uppercase;font-size:12px}.tg-dh b{font-size:20px;color:var(--ink);width:34px;height:34px;display:grid;place-items:center;border-radius:50%}.tg-dh.today b{background:var(--purple);color:#fff}.tg-dh:hover b{background:var(--purple-soft)}.tg-dh.today:hover b{background:var(--purple)}.tg-body{display:grid;grid-template-columns:56px repeat(var(--cols),minmax(0,1fr));overflow-y:auto;position:relative}.tg-hours>div{position:relative}.tg-hours span{position:absolute;top:-8px;right:8px;font-size:12px;font-weight:800;color:var(--muted)}.tg-col{position:relative;border-left:1px solid var(--border);cursor:pointer}.tg-col.today{background:var(--purple-faint)}.tg-cell{border-top:1px solid var(--border);box-sizing:border-box}.tg-col:hover .tg-cell{background:#6128a908}.tg-now{position:absolute;left:0;right:0;height:2px;background:var(--err);z-index:3;pointer-events:none}.tg-now:before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--err)}.tg-ev{position:absolute;z-index:2;text-align:left;border:0;border-left:4px solid var(--purple);border-radius:10px;background:var(--purple-soft);color:var(--purple);padding:4px 8px;overflow:hidden;display:flex;flex-direction:column;gap:1px;font-size:13px;line-height:1.2;box-shadow:0 1px #0000000f;transition:transform .12s,box-shadow .12s}.tg-ev:hover{transform:translateY(1px);box-shadow:none;z-index:4}.tg-ev b{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-ev span{opacity:.8;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-ev.done{background:var(--ok-bg);color:var(--ok-text);border-left-color:var(--ok)}.tg-ev.cancelled{background:var(--surface-2);color:var(--muted);border-left-color:var(--border-strong);text-decoration:line-through}.tgrid .tg-body{max-height:calc(100vh - 260px);min-height:420px}@media(max-width:720px){.tg-head,.tg-body{grid-template-columns:40px repeat(var(--cols),minmax(0,1fr))}.tg-hours span{right:4px;font-size:11px}.tgrid .tg-body{max-height:calc(100vh - 300px)}}.bars{display:flex;align-items:flex-end;gap:6px;height:130px;padding-top:8px}.bars .bar{flex:1;background:var(--purple-bright);border-radius:6px 6px 3px 3px;min-height:3px;position:relative;opacity:.9}.bars .bar.zero{background:var(--border)}.bars .bar:hover{opacity:1}.bars .bar:after{content:attr(data-v);position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:11px;font-weight:900;color:var(--muted)}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.heat i{aspect-ratio:1;border-radius:6px;background:var(--border);display:block}.heat i.l1{background:#e7d8f7}.heat i.l2{background:#c6a3ea}.heat i.l3{background:#9a62d6}.heat i.l4{background:var(--purple)}.acc-row{display:flex;align-items:center;gap:12px;margin:8px 0}.acc-row .t{width:42%;font-weight:800;color:var(--ink);font-size:14px}.acc-row .pbar{flex:1}.acc-row .v{width:44px;text-align:right;font-weight:900}.lg-row{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px}.lg-row.me{background:var(--ok-bg)}.lg-row .rk{width:28px;text-align:center;font-weight:900;color:var(--muted)}.lg-row .nm{flex:1;font-weight:800;color:var(--ink)}.lg-row .xp{font-weight:900;color:var(--muted)}.lg-row .rk.top{color:var(--gold-edge);font-size:20px}.lg-zone{text-align:center;font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;padding:8px 0;color:var(--ok-text);border-top:2px dashed var(--ok);margin-top:6px}.tiers{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 14px}.tier{flex:none;width:66px;height:74px;border-radius:18px 18px 30px 30px;display:grid;place-items:center;font-weight:900;color:#fff;background:#cfc7de}.tier.reached{background:var(--purple-bright)}.tier.cur{background:var(--gold);box-shadow:0 6px 0 var(--gold-edge);transform:scale(1.1)}.ach{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:2px solid var(--border)}.ach:last-child{border:0}.ach .medal{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:var(--gold-soft);flex:none}.ach .medal.zero{filter:grayscale(1);opacity:.5}.shop-item{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid var(--border);border-radius:18px}.shop-item .si{width:64px;height:64px;border-radius:18px;background:var(--purple-faint);display:grid;place-items:center;font-size:34px;flex:none}.streak-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.streak-cal b{font-size:11px;color:var(--muted)}.streak-cal i{aspect-ratio:1;border-radius:50%;background:var(--border);display:grid;place-items:center;color:#fff;font-style:normal;font-size:12px;font-weight:900}.streak-cal i.on{background:var(--flame)}.kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.kind{display:grid;gap:2px;text-align:left;padding:12px;border:2px solid var(--border);border-radius:16px;background:var(--surface)}.kind .ki{font-size:24px}.kind b{color:var(--ink);font-size:15px}.kind small{color:var(--muted);font-weight:700;font-size:12px;line-height:1.25}.kind.on{background:var(--info-bg);border-color:var(--info-border)}.builder-preview{position:sticky;top:12px}@media(max-width:720px){.builder-preview{position:static}.kinds{grid-template-columns:repeat(2,1fr)}}.exam{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%;background:var(--bg)}.exam-nav{border-right:2px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;overflow:auto}.exam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.exam-grid button{aspect-ratio:1;border-radius:12px;border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);font-weight:900}.exam-grid button.done{background:var(--purple-soft);border-color:var(--purple-bright);color:var(--purple)}.exam-grid button.cur{outline:3px solid var(--info-border)}.exam-main{padding:28px 28px 120px;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}.timer{font-size:30px;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}.timer.low{color:var(--err);animation:btnpulse 1s infinite}@media(max-width:800px){.exam{grid-template-columns:1fr}.exam-nav{position:static;height:auto;border-right:0;border-bottom:2px solid var(--border)}.exam-grid{grid-template-columns:repeat(8,1fr)}.exam-main{padding:18px 16px 120px}}.review-card{border:2px solid var(--border);border-left-width:6px;border-radius:16px;padding:16px 18px;background:var(--surface)}.review-card.ok{border-left-color:var(--ok)}.review-card.bad{border-left-color:var(--err)}.chat{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100vh + -0px);margin:-24px 0 -120px;border:0}.chat-list{border-right:2px solid var(--border);display:flex;flex-direction:column;gap:10px;padding:16px 12px 0;min-height:0}.chat-list-head{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.chat-items{overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px 100px}.chat-item{display:flex;gap:12px;width:100%;padding:10px;border:0;background:transparent;border-radius:14px;text-align:left;align-items:center}.chat-item:hover{background:var(--surface-2)}.chat-item.on{background:var(--purple-faint)}.ci-main{flex:1;min-width:0}.ci-top,.ci-bot{display:flex;justify-content:space-between;gap:8px;align-items:center}.ci-top b{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ci-top span{font-size:12px;color:var(--muted);flex:none}.ci-prev{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{background:var(--purple);color:#fff;font-style:normal;font-size:12px;font-weight:900;min-width:22px;height:22px;border-radius:99px;display:grid;place-items:center;padding:0 6px;flex:none}.chat-empty,.chat-empty-list{display:grid;place-items:center;text-align:center;gap:8px;padding:30px 20px;align-content:center;height:100%}.chat-pane{min-width:0;min-height:0;background:var(--surface-2)}.conv{display:flex;flex-direction:column;height:100%}.conv-head{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg);border-bottom:2px solid var(--border)}.conv-head .back{display:none}.ch-title{color:var(--ink);display:block}.ch-status{font-size:13px;color:var(--muted);font-weight:700}.conv-search{background:var(--bg);padding:8px 16px;border-bottom:2px solid var(--border);max-height:220px;overflow:auto}.conv-search .sr{padding:8px 4px;border-bottom:1px solid var(--border);font-size:14px}.msgs{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:2px}.day{text-align:center;margin:12px 0 8px}.day span{background:#6128a91f;color:var(--purple);font-size:13px;font-weight:800;padding:4px 12px;border-radius:99px}.sysmsg{text-align:center;margin:8px 0}.sysmsg span{font-size:13px;color:var(--muted);font-weight:700;background:var(--surface);padding:4px 12px;border-radius:99px}.msg{display:flex;gap:8px;margin:2px 0;align-items:flex-end}.msg.mine{justify-content:flex-end}.bubble-wrap{position:relative;max-width:min(76%,520px)}.mb{position:relative;padding:8px 12px 6px;border-radius:18px;background:var(--surface);box-shadow:0 1px 0 var(--border);word-break:break-word}.mine .mb{background:var(--purple);color:#fff;border-bottom-right-radius:6px}.theirs .mb{border-bottom-left-radius:6px}.who{font-size:13px;font-weight:900;color:var(--purple-bright)}.txt{white-space:pre-wrap;padding-right:2px}.meta{font-size:11px;opacity:.7;text-align:right;margin-top:2px;display:flex;gap:4px;justify-content:flex-end;align-items:center;font-weight:700}.ticks{display:inline-flex}.ticks.read{color:#9be8ff;opacity:1}.quote{border-left:3px solid var(--purple-bright);background:#6128a914;padding:4px 8px;border-radius:6px;margin-bottom:4px;font-size:13px;display:grid}.mine .quote{border-left-color:#fff;background:#ffffff2e}.quote span{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.pic{max-width:100%;max-height:300px;border-radius:12px;display:block;margin-bottom:4px}.voice{height:40px;max-width:100%}.filecard{display:flex;gap:10px;align-items:center;color:inherit;padding:4px 0}.filecard small{display:block;opacity:.75}.fi{font-size:26px}.more{position:absolute;top:2px;right:4px;border:0;background:transparent;color:inherit;opacity:0;font-size:18px;line-height:1;padding:2px 6px;border-radius:8px;font-weight:900}.mb:hover .more{opacity:.7}@media(hover:none){.more{opacity:.45}}.reacts{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}.reacts button{border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:1px 8px;font-size:13px;font-weight:800}.reacts button.me{background:var(--purple-soft);border-color:var(--purple-bright)}.ctx-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400}.ctx{position:fixed;z-index:401;background:var(--surface);border:2px solid var(--border);border-radius:14px;box-shadow:var(--shadow-pop);padding:6px;min-width:200px;display:grid}.ctx{box-sizing:border-box;padding:8px;gap:2px;overflow:hidden}.ctx .rx,.msg-menu .rx{display:flex;justify-content:space-between;gap:0;padding:0 0 8px;margin:0 0 6px;border-bottom:1px solid var(--border)}.ctx .rx button,.msg-menu .rx button{width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:22px;line-height:1;border-radius:10px;margin:0!important;box-shadow:none!important;transform:none!important}.ctx>button{width:100%;padding:11px 12px;font-size:16px;font-weight:800;border-radius:10px;margin:0!important;box-shadow:none!important;transform:none!important}.msg{position:relative;touch-action:pan-y}.swipe-ic{position:absolute;left:-38px;top:50%;margin-top:-16px;width:32px;height:32px;border-radius:50%;background:var(--purple-faint);color:var(--purple);display:grid;place-items:center;opacity:var(--sw, 0);transform:scale(calc(.5 + var(--sw, 0) * .5));pointer-events:none}@media(hover:none){.mb{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.msgs{overflow-x:hidden}}.msg-menu{display:grid;gap:4px;min-width:min(300px,80vw)}.msg-menu .rx{flex-wrap:wrap;justify-content:center;padding-bottom:8px}.msg-menu .rx button{font-size:26px;padding:4px 6px}.msg-menu>button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:0;padding:12px 10px;border-radius:10px;font-weight:800;font-size:16px}.msg-menu>button:active{background:var(--surface-2)}.ctx>button{display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:0;padding:8px 10px;border-radius:8px;font-weight:700}.ctx>button:hover{background:var(--surface-2)}.rx{display:flex;gap:2px;padding:2px 2px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.rx button{background:transparent;border:0;font-size:20px;padding:2px 4px;border-radius:8px}.rx button:hover{background:var(--surface-2)}.composer{background:var(--bg);border-top:2px solid var(--border);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.banner{display:flex;justify-content:space-between;align-items:center;border-left:3px solid var(--purple);padding:2px 10px;margin-bottom:6px;background:var(--purple-faint);border-radius:6px}.banner div{display:grid;min-width:0}.banner span{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cbar,.rec{display:flex;gap:8px;align-items:flex-end}.rec{align-items:center;min-height:50px}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--err);animation:pulse 1s infinite}.cinput{resize:none;border-radius:22px;padding:12px 46px 12px 16px;max-height:140px;line-height:1.35}.emoji-btn{position:absolute;right:4px;bottom:4px}.emoji-pop{position:absolute;bottom:56px;right:0;background:var(--surface);border:2px solid var(--border);border-radius:16px;padding:8px;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;box-shadow:var(--shadow-pop);z-index:20}.emoji-pop button{background:transparent;border:0;font-size:24px;padding:4px;border-radius:8px}.emoji-pop button:hover{background:var(--surface-2)}.send{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:var(--purple);color:#fff;font-size:18px}.send:disabled{opacity:.5}.mic{width:46px;height:46px;font-size:22px;flex:none}@media(max-width:900px){.chat{grid-template-columns:1fr;height:calc(100vh - var(--tabbar-h) - 52px);margin:-12px 0 -90px}.chat .chat-pane,.chat.open .chat-list{display:none}.chat.open .chat-pane,.conv-head .back{display:block}.bubble-wrap{max-width:84%}}.vroom{height:100vh;height:100dvh;display:flex;flex-direction:column;background:#1b0e30;color:#fff}.vroom.pre{overflow-y:auto;align-items:center;justify-content:safe center;gap:16px;padding:24px;text-align:center}.vhead{display:flex;align-items:center;gap:14px;padding:12px 18px;background:#24133f}.vhead .logo,.vhead svg+*{color:#fff}.vstage{flex:1;display:flex;min-height:0}.vmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;padding:12px}.vmain{position:relative}.vmain>.vtile.big{flex:1;min-height:0}.vcontent{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;background:#2d1a4d;border-radius:18px;padding:12px;overflow:hidden}.vcbody{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.vcbody>*{flex:1;min-height:0}.vmain>.vcontent~.vgrid{flex:none;height:130px;grid-template-columns:repeat(auto-fit,minmax(160px,200px));justify-content:center}.vgrid{display:grid;gap:10px;min-height:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:1fr}.vmain>.vtile.big~.vgrid{flex:none;height:150px;grid-template-columns:repeat(auto-fit,minmax(180px,220px));justify-content:center}.vgrid.n1:not(:only-child){grid-template-columns:minmax(0,1fr)}.vgrid.n2,.vgrid.n3,.vgrid.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.vtile{position:relative;background:#2d1a4d;border-radius:18px;overflow:hidden;min-height:120px;display:grid;place-items:center;cursor:pointer;transition:box-shadow .2s}.vtile video{width:100%;height:100%;background:#000}.vavatar{display:grid;place-items:center}.vname{position:absolute;left:10px;bottom:8px;background:#0000008c;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:800;display:flex;gap:6px;align-items:center}.hand{animation:lexjump .9s infinite;display:inline-flex}.vdev{display:grid;gap:8px;width:min(460px,100%);text-align:left}.vdev label{display:grid;gap:4px;font-weight:800;font-size:14px}.vdev label span{display:inline-flex;align-items:center;gap:6px;opacity:.85}.vdev .field{background:#2d1a4d;border-color:#3d2566;color:#fff;padding:10px 12px}.vmeter{height:10px;border-radius:99px;background:#3d2566;overflow:hidden}.vmeter i{display:block;height:100%;background:linear-gradient(90deg,#58cc02,#ffc21a);border-radius:99px;transition:width .08s linear}.vhint{color:#b9a8d8;margin-top:-2px}.modal .vdev .field{background:var(--surface);border-color:var(--border);color:var(--ink)}.modal .vdev label,.modal .vhint{color:var(--ink)}.modal .vmeter{background:var(--border)}.vsound{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:3;white-space:nowrap}.vwarn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;max-width:520px;background:#ff960029;border:2px solid #ff9600;color:#ffd9a3;border-radius:16px;padding:10px 14px;font-weight:700;font-size:14px;text-align:left}.preview{width:min(520px,100%);aspect-ratio:16/9}.preview .vtile{height:100%}.vbar{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px;background:#24133f;flex-wrap:wrap}.vbtn{position:relative;width:54px;height:54px;border-radius:50%;border:0;background:#3d2566;color:#fff;font-size:22px;display:grid;place-items:center;transition:transform .12s,background .15s}.vbtn:hover{background:#503582;transform:translateY(2px)}.vbtn:active{transform:translateY(4px)}.vbtn.off{background:var(--err)}.vbtn.on{background:var(--purple-bright);box-shadow:0 0 0 3px #ffffff4d}.vbtn.leave{background:var(--err)}.vdot{position:absolute;top:-2px;right:-2px;background:var(--gold);color:#3a2a00;min-width:20px;height:20px;border-radius:99px;font-size:12px;display:grid;place-items:center}.vpanel{width:320px;background:#24133f;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0;animation:slider .25s var(--ease-out)}.rchat{flex:1;display:flex;flex-direction:column;min-height:0;gap:10px}.rmsgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px}.rmsg{background:#3d2566;border-radius:14px;padding:8px 12px;max-width:90%;display:grid}.rmsg b{font-size:12px;color:#c9a9f5}.rmsg.mine{align-self:flex-end;background:var(--purple)}.rchat .field{background:#2d1a4d;border-color:#3d2566;color:#fff}.rchat .send{width:42px;height:42px;border-radius:50%;border:0;background:var(--purple-bright);color:#fff;flex:none}.board{position:relative;flex:1;background:#2a1747;border-radius:18px;overflow:hidden;min-height:0}.board canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.btools{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;gap:8px;align-items:center;background:#0009;padding:8px 12px;border-radius:99px;flex-wrap:wrap;justify-content:center;max-width:94%}.cdot{width:26px;height:26px;border-radius:50%;border:3px solid transparent}.cdot.on{border-color:#fff;transform:scale(1.15)}.tbtn{background:#3d2566;color:#fff;border:0;border-radius:99px;padding:6px 12px;font-weight:800}.tbtn.on{background:var(--purple-bright)}.vstrip{display:flex;gap:8px;height:100px}.vstrip .vtile{width:150px;min-height:0;flex:none}@media(max-width:800px){.vpanel{position:fixed;inset:56px 0 76px auto;width:min(340px,90vw);z-index:10}.vmain>.vtile.big~.vgrid{height:110px}.vbtn{width:46px;height:46px;font-size:19px}}.vcard-mark-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px}.vcard-mark-layer{position:relative;min-height:140px}.vcard-shared-surface{box-sizing:border-box;width:720px;max-width:none;padding:2px}.vcard-marks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;touch-action:none;cursor:crosshair}.vmain.with-board:has(.vcontent){display:grid;grid-template-columns:minmax(260px,42%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 100px}.vmain.with-board:has(.vcontent) .board{grid-column:1;grid-row:1}.vmain.with-board:has(.vcontent) .vcontent{grid-column:2;grid-row:1;min-width:0}.vmain.with-board:has(.vcontent) .vstrip{grid-column:1 / -1;grid-row:2}.board-entry{position:absolute;top:8px;left:8px;right:8px;z-index:3;display:flex;gap:5px;align-items:center;background:#25183b;border-radius:10px;padding:6px}.board-entry .field{min-width:0;flex:1;padding:6px;font-size:13px}.board-entry .tbtn{white-space:nowrap;font-size:12px}.board-items{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.board-item{position:absolute;max-width:80%;padding:6px 9px;background:#fff2cb;color:#2d1a39;border-radius:8px;overflow-wrap:anywhere;white-space:pre-wrap;pointer-events:auto;font-size:14px}.board-item a{color:#163c94}@media(max-width:850px){.vmain.with-board:has(.vcontent){display:flex}.vmain.with-board:has(.vcontent) .board{min-height:220px;flex:none}.vmain.with-board:has(.vcontent) .vcontent{min-height:260px}.vmain.with-board:has(.vcontent) .vstrip{flex:none}.board-entry{flex-wrap:wrap}}.vroom-no-template{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 14px;background:#734114;color:#fff;font-size:14px;font-weight:700}@media(max-width:850px){.vmain.with-board:has(.vcontent){overflow-y:auto;min-height:0;overscroll-behavior:contain}.vmain.with-board:has(.vcontent) .vcontent{order:0;flex:none;min-height:360px;max-height:65dvh}.vmain.with-board:has(.vcontent) .board{order:1;flex:none;min-height:260px}.vmain.with-board:has(.vcontent) .vstrip{order:2;flex:none}}.vmain.with-board:has(.vcontent){display:grid;grid-template-columns:minmax(180px,38%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.vmain.with-board:has(.vcontent) .board{grid-column:1;grid-row:1;min-height:0}.vmain.with-board:has(.vcontent) .vcontent{grid-column:2;grid-row:1;min-width:0;min-height:0;max-height:none;order:initial}.floating-video{position:absolute;z-index:6;width:158px;height:113px;background:#24133f;border:2px solid #fff;border-radius:12px;box-shadow:0 6px 20px #0009;overflow:hidden;display:flex;flex-direction:column}.floating-video-handle{flex:none;height:22px;width:100%;border:0;background:#442972;color:#fff;font-size:11px;font-weight:800;cursor:grab;touch-action:none;text-align:center;padding:0}.floating-video-handle:active{cursor:grabbing}.floating-video .vtile{flex:1;min-height:0;border-radius:0;cursor:default}.floating-video .vname{font-size:10px;max-width:94%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;bottom:2px;left:3px;padding:1px 5px}.vroom .vcontent{padding:8px;gap:5px}.vroom .vcontent .vcbody>.stack{padding:9px!important}.vroom .vcontent .q-title{font-size:16px;line-height:1.28}.vroom .vcontent .q-body{font-size:13px;line-height:1.4}.vroom .vcontent .opt,.vroom .vcontent .tile,.vroom .vcontent .match,.vroom .vcontent .punct{font-size:13px;line-height:1.35}.vroom .vcontent .btn.sm,.vroom .vcontent .tile{padding:5px 7px}.vroom .vcontent .chips{gap:4px;flex-wrap:wrap}@media(max-width:850px){.vmain.with-board:has(.vcontent){display:grid;grid-template-columns:minmax(104px,30%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.vmain.with-board:has(.vcontent) .board{min-height:0;flex:initial;order:initial}.vmain.with-board:has(.vcontent) .vcontent{min-height:0;max-height:none;flex:initial;order:initial}.floating-video{width:108px;height:88px}.floating-video-handle{height:18px;font-size:9px}.vroom .vhead{padding:6px 8px;gap:5px;font-size:12px}.vroom .vhead b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:43vw}.vroom .vbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:5px;padding:5px 7px;flex:none}.vroom .vbar .vbtn{width:38px;height:38px;flex:none}.vroom .vbar .btn{flex:none}.vroom .vmain{padding:5px;gap:5px}.vroom .vcontent .q-title{font-size:14px}.vroom .vcontent .q-body,.vroom .vcontent .opt,.vroom .vcontent .tile,.vroom .vcontent .match{font-size:12px}.vroom .vcontent .btn.sm{font-size:11px}.vroom .vcontent .row{flex-wrap:wrap;gap:4px}.vroom .board-entry{flex-wrap:wrap;padding:3px;gap:3px}.vroom .board-entry .field{font-size:11px;padding:4px}.vroom .board-entry .tbtn{font-size:10px;padding:3px}.vroom .btools{padding:4px;gap:3px;bottom:4px}.vroom .cdot{width:18px;height:18px}}.vcheck-row{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 8px;background:#1d473f;border-radius:9px;font-size:12px;font-weight:800}.vcheck-row .btn{flex:none}.vcheck-row strong{color:#c9ff91}@media(max-width:850px){.vcheck-row{font-size:11px;padding:5px}.vcheck-row .btn{font-size:11px;padding:5px 7px}}.vroom .q-instruction{margin:2px 0 7px;color:#184576;background:#eaf5ff;border-radius:8px;padding:5px 8px;font-size:12px;line-height:1.35;font-weight:750}.question-wheel{display:grid;gap:10px;min-width:0}.question-wheel-nav{display:grid;gap:7px;padding:8px;border-radius:12px;background:#e9f3ff;color:#1b466c;font-size:12px}.question-wheel-dots{display:flex;gap:5px;overflow-x:auto;padding:2px 0}.question-wheel-dot{width:30px;height:30px;border-radius:50%;border:2px solid #9ab8d8;background:#fff;color:#1d4668;flex:none;font-weight:800}.question-wheel-dot.answered{border-color:#26a476}.question-wheel-dot.active{background:#375bd1;color:#fff;border-color:#375bd1}.question-wheel-item{min-width:0;touch-action:pan-y}.question-wheel-item h3{font-size:15px;line-height:1.35;margin:3px 0 9px}.question-wheel-actions{display:flex;gap:7px;justify-content:space-between}.question-wheel-actions .btn{font-size:12px}.question-wheel-text{max-height:48vh;overflow:auto;border:1px solid #d5e6ff;border-radius:12px;padding:16px;font-size:18px!important;line-height:1.75!important;background:#fffdf6;color:#1d2939}.question-wheel-text p{font-size:inherit;line-height:inherit;margin:12px 0}.question-spinner{min-width:156px}@media(max-width:850px){.question-wheel-item h3{font-size:13px}.question-wheel-dot{width:26px;height:26px}.question-wheel-actions .btn{font-size:10px;padding:5px}}.question-spinner-wrap{display:grid;justify-items:center;gap:5px;position:relative;padding:5px 0;color:#34506c;font-size:11px}.question-spinner{width:156px;height:156px;border-radius:50%;border:5px solid #fff;box-shadow:0 3px 15px #27448555;position:relative;transition:transform 1.65s cubic-bezier(.13,.66,.08,1);flex:none}.question-spinner-number{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#243f68;font-size:16px;box-shadow:0 1px 4px #0004}.question-spinner-pointer{position:absolute;z-index:2;top:-11px;color:#d42659;font-size:25px;filter:drop-shadow(0 1px 1px #fff)}@media(max-width:850px){.question-spinner{width:118px;height:118px}.question-spinner-number{width:22px;height:22px;font-size:13px}}.vtitle{display:grid;line-height:1.15;min-width:0}.vtitle b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vtitle small{color:#b9a8d8;font-weight:700;font-size:12px}.vchip{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:99px;padding:6px 12px;font-weight:800;font-size:13px;color:#fff;background:#3d2566;cursor:pointer;white-space:nowrap}.vchip i{width:9px;height:9px;border-radius:50%;background:#9a86c4}.vchip.ok i{background:#58cc02}.vchip.wait i{background:#ffc21a}.vchip.bad i{background:#ff4b4b;animation:pulse 1s infinite}.vhead-btn{background:#3d2566!important;color:#fff!important;border-color:#2d1a4d!important;display:inline-flex;align-items:center;gap:6px}.vbanners{display:grid;gap:6px;padding:6px 12px 0}.vbanners:empty{display:none}.vbanner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:12px;padding:8px 12px;font-weight:700;font-size:14px}.vbanner.warn{background:#ff96002e;border:2px solid #ff9600;color:#ffe2b8}.vbanner span{flex:1;min-width:180px}.vbar2{gap:10px 16px}.vgroup{display:flex;gap:6px;align-items:flex-end;padding-right:14px;border-right:1px solid #3d2566}.vctl{position:relative;display:grid;justify-items:center;gap:3px;min-width:64px;padding:4px 6px;border:0;border-radius:14px;background:transparent;color:#fff;font-weight:800;font-size:11px;cursor:pointer}.vctl .ci{width:46px;height:46px;border-radius:50%;background:#3d2566;display:grid;place-items:center;transition:background .15s,transform .12s}.vctl:hover .ci{background:#503582;transform:translateY(-1px)}.vctl:active .ci{transform:translateY(1px)}.vctl.on .ci{background:var(--purple-bright);box-shadow:0 0 0 3px #ffffff4d}.vctl.off .ci,.vctl.danger .ci{background:var(--err)}.vctl .lbl{opacity:.85}.vperson{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;background:#2d1a4d}.vperson.hand{background:#4a2f1a;outline:2px solid #ffc21a}.vperson .grow{flex:1;min-width:0}.vperson b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vperson small{color:#b9a8d8;display:block;font-weight:700}.vdot-state{display:inline-block;width:9px;height:9px;border-radius:50%;background:#58cc02;flex:none}.vdot-state.bad{background:#ff4b4b}.vdot-state.wait{background:#ffc21a}.vconn,.vkeys{display:grid;gap:6px;margin-top:6px}.vconn h3,.vkeys h3{font-size:15px}.modal .vchip{background:var(--purple-faint,#efe7fb);color:var(--ink)}@media(max-width:850px){.vctl .lbl,.vhead-btn .lbl{display:none}.vctl{min-width:42px;padding:2px}.vctl .ci{width:40px;height:40px}.vgroup{padding-right:6px;gap:3px}.vbar2{gap:6px 8px}.vchip{font-size:11px;padding:4px 8px}.vbanners{padding:4px 6px 0}.vbanner{font-size:12px;padding:6px 8px}}@media(max-width:850px){.vroom .vhead{flex-wrap:wrap;gap:6px 8px;padding:6px 8px}.vroom .vhead>span:first-child{display:none!important}.vroom .vhead>span:nth-child(4){display:none}.vroom .vtitle{flex:1 1 0;order:1;min-width:0}.vroom .vhead .vhead-btn,.vroom .vhead .btn.red{order:2;flex:none}.vroom .vhead .vchip{order:3;flex-basis:100%;justify-content:flex-start}.vroom .vhead b{max-width:none}.vroom .vbar.vbar2{flex-wrap:wrap;justify-content:center;overflow:visible;gap:4px 6px;padding:6px 4px}.vroom .vbar2 .vgroup{border-right:0;padding-right:0}.vroom .vctl .ci{width:38px;height:38px}}.question-spinner{width:min(290px,72vw);height:min(290px,72vw);min-width:0;border:7px solid #fff;box-shadow:0 5px 20px #30477b55}.question-spinner-number{width:70px;min-height:31px;height:auto;padding:4px 5px;border-radius:9px;font-size:11px;line-height:1.1;text-align:center;overflow-wrap:anywhere}.question-spinner-wrap>.btn{font-size:16px;padding:11px 20px;border-radius:12px}.grade5 .question-wheel-text,.grade5-video-card .question-wheel-text{font-size:18px!important;line-height:1.7!important;max-height:55vh}.vroom .vcontent.grade5 .question-wheel-text{font-size:17px!important;line-height:1.7!important}@media(max-width:850px){.question-spinner{width:min(235px,67vw);height:min(235px,67vw)}.question-spinner-number{width:56px;font-size:9px;min-height:28px}.grade5 .question-wheel-text,.grade5-video-card .question-wheel-text,.vroom .vcontent.grade5 .question-wheel-text{font-size:16px!important;line-height:1.65!important}}.student-mirror{display:grid;gap:7px;border:2px solid #91b3e9;border-radius:12px;padding:10px;background:#eff7ff;color:#1f3553;min-width:0}.student-mirror-row{display:grid;gap:5px;border-top:1px solid #d3e1f6;padding-top:7px;font-size:12px;overflow-wrap:anywhere}.student-mirror-options{display:flex;flex-wrap:wrap;gap:5px}.student-mirror-option{font-size:12px;padding:5px 8px;border:1px solid #bfd0e6;background:#fff;border-radius:8px;overflow-wrap:anywhere;min-width:0;max-width:100%}.student-mirror-option.chosen{border:2px solid #2861d9;background:#dce8ff;font-weight:800}.student-mirror-option.correct{border-color:#16845d;background:#d6fae3}.student-mirror-option.incorrect{border-color:#c42c45;background:#ffe0e5}.vroom .vcontent.grade9 .q-title{font-size:clamp(14px,1.35vw,17px);line-height:1.35;overflow-wrap:anywhere}.vroom .vcontent.grade9 .question-wheel-item h3,.vroom .vcontent.grade9 .question-pack-row h3{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.vroom .vcontent.grade9 .q-body{overflow-wrap:anywhere;white-space:pre-wrap}.vroom .vcontent.grade9 .opt{white-space:normal;overflow-wrap:anywhere;height:auto;min-height:36px}@media(max-width:850px){.vroom .vmain.with-board:has(.vcontent){display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-height:0}.vroom .vmain.with-board:has(.vcontent) .vcontent{order:0;width:100%;min-height:min(72dvh,620px);max-height:none;flex:1 0 auto;overflow:visible}.vroom .vmain.with-board:has(.vcontent) .board{order:1;min-height:160px;height:180px;flex:none;width:100%}.vroom .vcontent{overflow:visible}.vroom .vcontent .vcbody{overflow-y:visible;overflow-x:hidden}.vroom .vcontent.grade9 .q-title{font-size:15px;line-height:1.38}.vroom .vcontent.grade9 .q-body,.vroom .vcontent.grade9 .opt,.vroom .vcontent.grade9 .question-wheel-item h3{font-size:13px;line-height:1.48}.vroom .vcontent.grade9 .question-spinner-number,.vroom .vcontent.grade9 .oral-wheel-label{font-size:9px;overflow-wrap:anywhere}.vroom .vcontent.grade9 .question-wheel-text{font-size:14px!important;line-height:1.52!important;max-height:none}.vroom .vcontent.grade9 .chips{gap:5px;flex-wrap:wrap}.vroom .vcontent.grade9 .vcbody>.stack{padding:7px!important;min-width:0}.vroom .vcontent.grade9 .student-mirror-options{display:grid;grid-template-columns:1fr 1fr}.floating-video{width:96px;height:80px}}@media(max-width:430px){.vroom .vcontent.grade9 .student-mirror-options{grid-template-columns:1fr}.vroom .vcontent.grade9 .question-spinner{width:min(215px,65vw);height:min(215px,65vw)}}.vroom .vcard-shared-surface .q-title{font-size:17px;line-height:1.35}.vroom .vcard-shared-surface .q-body,.vroom .vcard-shared-surface .opt,.vroom .vcard-shared-surface .question-wheel-item h3,.vroom .vcard-shared-surface .question-pack-row h3{font-size:14px;line-height:1.48}.vroom .vcard-shared-surface .question-spinner{width:260px;height:260px}.vroom .vcard-shared-surface .question-spinner-number{width:64px;min-height:31px;font-size:11px}.vroom .vcard-shared-surface .question-wheel-text{font-size:16px!important;line-height:1.6!important;max-height:none}.dictation-teacher-words{border:2px solid #15803d;border-radius:12px;padding:14px;background:#e7f9e9;color:#134e31;font-size:17px;line-height:1.7}.dictation-teacher-words b{color:#991b1b}.dictation-student-sheet{margin-top:12px;padding:14px;border:2px solid #f1d7d7;border-radius:12px;background:#fff;color:#222;min-height:160px}.dictation-student-sheet>b{display:block;color:#9b1c1c;margin-bottom:8px}.dictation-written{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.1;font-size:20px;min-height:110px;background:repeating-linear-gradient(transparent,transparent 40px,#f1dddd 41px);padding:4px 12px}
