/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:host,:root{--spacing:.25rem;--font-weight-semibold:600;--radius-lg:.5rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base;@layer components{.pwa-banner{left:50%;bottom:calc(env(safe-area-inset-bottom) + 64px);z-index:9999;background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:18px;align-items:center;gap:12px;width:min(440px,100vw - 32px);padding:12px 12px 12px 14px;animation:pwa-banner-in .35s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 40px #1f3c5a2e}@keyframes pwa-banner-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.pwa-banner__icon{color:#fff;background:linear-gradient(145deg,#1f8fb0,#37c6d9);border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:22px;font-weight:800;display:grid}.pwa-banner__text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.pwa-banner__text strong{color:var(--text-primary);font-size:14px}.pwa-banner__text span{color:var(--text-secondary);font-size:12px}.pwa-banner__install{color:var(--text-inverse);background:var(--text-primary);cursor:pointer;border:0;border-radius:12px;flex-shrink:0;padding:9px 14px;font-size:13px;font-weight:700;transition:transform .15s,opacity .15s}.pwa-banner__install:hover{opacity:.92;transform:translateY(-1px)}.pwa-banner__close{background:var(--card-2);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;font-size:18px;line-height:1}.pwa-banner__close:hover{background:var(--card-3)}.offline-page{background:var(--page-bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.offline-card{text-align:center;background:var(--glass-strong);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-md);border-radius:24px;padding:36px 28px}.offline-logo{color:#fff;background:linear-gradient(145deg,#1f8fb0,#37c6d9);border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:36px;font-weight:800;display:grid}.offline-card h1{color:var(--text-primary);margin:0 0 8px;font-size:22px}.offline-card p{color:var(--text-secondary);margin:0 0 22px;font-size:14px;line-height:1.5}.offline-actions{justify-content:center;gap:10px;display:flex}.offline-retry{color:var(--text-inverse);background:var(--text-primary);cursor:pointer;border:0}.offline-home,.offline-retry{border-radius:14px;padding:11px 18px;font-size:14px;font-weight:700}.offline-home{color:var(--text-primary);background:var(--card-2);align-items:center;display:inline-flex}.offline-home:hover{background:var(--card-3)}.app-icon{vertical-align:-.125em;flex-shrink:0;display:inline-block}.app-icon.is-filled{fill:currentColor}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.w-full{width:100%}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.place-items-center{place-items:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.p-4{padding:calc(var(--spacing) * 4)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#1d2433\]{color:#1d2433}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.\[email\:dev\]{email:dev}}:root{color-scheme:light;--bg:#e9edf5;--bg-secondary:#eef1f7;--card:#fff;--card-2:#f3f4f6;--card-3:#f7f8fa;--sidebar:#f8f9fc;--glass:#f7f9fdd1;--glass-soft:#eff2f794;--glass-strong:#f7f9fddb;--glass-bar:#f7f9fdeb;--text-primary:#111216;--text-secondary:#686c75;--text-inverse:#fff;--border:#dfe2e8;--border-soft:#eef1f5;--border-strong:#cdd2db;--accent:#258bb0;--accent-soft:#eef6fb;--accent-contrast:#fff;--ok:#10b981;--warn:#f59e0b;--bad:#ef4444;--green:#bfff70;--cyan:#a9e8f7;--yellow:#ffd58c;--blue:#d9e9ff;--purple:#e2d4f7;--pink:#ffd6e5;--switch-bg:#d7dbe3;--stat-grad:linear-gradient(160deg,#f7faff,#eef4fb);--tt-today-bg:#f7fbff;--tt-today-line:#e3eefb;--shadow:0 2px 10px #00000008;--shadow-md:0 8px 24px #59627b1a;--radius:22px;--radius-lg:34px;--muted:var(--text-secondary);--ink:var(--text-primary);--line:var(--border);--white:var(--card);--shell:var(--bg-secondary);--page-bg:radial-gradient(circle at 15% 15%,#fff 0,transparent 28%),radial-gradient(circle at 85% 70%,#bfcfff 0,transparent 30%),linear-gradient(135deg,#e8edf3,#dfe4ee 50%,#e8e9f4)}[data-theme=dark]{color-scheme:dark;--bg:#0e1014;--bg-secondary:#15181f;--card:#191d25;--card-2:#20252f;--card-3:#232a35;--sidebar:#13161c;--glass:#14171eb8;--glass-soft:#191d258c;--glass-strong:#14171ed9;--glass-bar:#12151ce6;--text-primary:#e8ebf0;--text-secondary:#9aa0ab;--text-inverse:#0e1014;--border:#272b34;--border-soft:#21262e;--border-strong:#343a45;--accent:#4db3d6;--accent-soft:#14323d;--accent-contrast:#06222b;--ok:#34d399;--warn:#fbbf24;--bad:#f87171;--green:#c4f57e;--cyan:#9fdcf0;--yellow:#f6c875;--blue:#b9d4f5;--purple:#cdb6ef;--pink:#f3bcd2;--switch-bg:#3a4150;--stat-grad:linear-gradient(160deg,#1c2230,#161b24);--tt-today-bg:#15212e;--tt-today-line:#1b2c3a;--shadow:0 2px 10px #00000059;--shadow-md:0 8px 24px #00000073;--page-bg:radial-gradient(circle at 15% 15%,#1b2029 0,transparent 28%),radial-gradient(circle at 85% 70%,#1a2433 0,transparent 30%),linear-gradient(135deg,#0e1014,#12161d 50%,#0e1014)}[data-theme] *{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}@media (prefers-reduced-motion:reduce){[data-theme] *{transition:none}}[data-theme=dark] .auth-card{box-shadow:0 30px 80px #0000008c}[data-theme=dark] .ts-card{box-shadow:0 14px 35px #00000080}[data-theme=dark] .maint-card{box-shadow:var(--shadow-md)}[data-theme=dark] .results-card{box-shadow:0 25px 80px #00000080}[data-theme=dark] .ex-overlay{box-shadow:0 20px 60px #00000080}[data-theme=dark] .live-aside{box-shadow:var(--shadow)}.theme-toggle.floating{z-index:1000;background:var(--glass-bar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:42px;height:42px;box-shadow:var(--shadow-md);color:var(--text-primary);border-radius:50%;position:fixed;top:16px;right:16px}.theme-toggle.admin-theme{background:var(--card-2);color:var(--text-secondary)}body{background:var(--page-bg);min-height:100dvh;font-family:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text-primary);margin:0}button,input,textarea{font:inherit}.app{background:0 0;grid-template-columns:248px 1fr 320px;width:100vw;height:100dvh;margin:0;display:grid;overflow:hidden}.appbar,.tabbar{display:none}.app.no-right{grid-template-columns:248px 1fr}.sidebar{background:var(--glass);border-right:1px solid var(--border);flex-direction:column;padding:18px 15px;display:flex}.brand{padding:4px 8px 20px;font-size:16px}.logo{width:31px;height:31px;color:var(--accent);background:linear-gradient(145deg,#fff,#c9d9e9);border-radius:9px;place-items:center;font-size:14px;display:grid;box-shadow:inset 2px 2px 4px #fff,2px 4px 8px #6b768621}.profile{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:18px;padding:13px 12px}.avatar-wrap{margin:4px auto 10px}.avatar,.avatar-wrap{width:82px;height:82px;position:relative}.avatar{border:5px solid var(--card);z-index:1;object-fit:cover;background:linear-gradient(145deg,#ffc8b2,#f4e0c5 55%,#a9d8ef);border-radius:50%;overflow:hidden;box-shadow:0 2px 8px #33333321}.avatar-ring{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);border:3px solid #37db8a;border-radius:50%;position:absolute;inset:-3px;transform:rotate(-35deg)}.profile h3{margin:0;font-size:16px}.profile p{color:var(--text-secondary);margin:5px 0 14px;font-size:12px}.topup{background:var(--text-primary);width:100%;color:var(--text-inverse);border:0;border-radius:20px;padding:9px;font-weight:700;transition:transform .2s}.topup:hover{transform:scale(1.02)}.history{color:var(--text-secondary);text-align:center;margin-top:10px;font-size:11px;text-decoration:underline;display:block}.signout{margin-top:auto;padding-top:18px}.signout-btn{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.signout-btn:hover{background:var(--card-2);box-shadow:var(--shadow)}.signout-btn .app-icon{width:15px;height:15px}.nav{gap:4px;margin-top:22px;display:grid}.nav a,.nav button{text-align:left;color:var(--text-primary);background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:13px;transition:all .2s;display:flex}.nav a.active,.nav a:hover,.nav button.active,.nav button:hover{background:var(--card);box-shadow:var(--shadow)}.ico{text-align:center;width:25px;font-size:16px}.new{color:#124f38;background:#68d9a2;border-radius:8px;margin-left:auto;padding:2px 6px;font-weight:700}.new,.social{font-size:10px}.social{text-align:center;color:var(--text-secondary);margin-top:auto}.social div{word-spacing:8px;margin-top:8px;font-size:16px}.content{background:0 0;padding:36px 44px;overflow:auto}.app.dash-scroll{height:auto;min-height:100dvh;overflow:visible}.app.dash-scroll .content{overflow:visible}.header{justify-content:space-between;align-items:center;margin:4px 2px 28px;display:flex}.header .eyebrow{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:11px}.header h1{margin:3px 0;font-size:25px;font-weight:800}.header-actions{gap:8px;display:flex}.circle{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:50%;place-items:center;width:36px;height:36px;transition:all .2s;display:grid}.circle:hover{border-color:var(--accent);box-shadow:0 2px 8px #258bb026}.overview{grid-template-columns:1fr 1fr;gap:20px;display:grid}.info{background:var(--card);min-height:130px;box-shadow:var(--shadow);border-radius:22px;padding:18px;position:relative;overflow:hidden}.info h2{margin:4px 0;font-size:27px;font-weight:800}.info .big{font-size:47px;font-weight:800;line-height:.95}.info .muted{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.level{background:var(--card)}.level:after{content:"";background:repeating-linear-gradient(90deg,transparent 0 55px,var(--border-soft) 56px 58px);opacity:.8;height:60px;position:absolute;bottom:-30px;left:0;right:0}.chips{gap:7px;margin-top:10px;display:flex}.chip{background:var(--card-2);color:var(--text-secondary);border-radius:20px;padding:7px 12px;font-size:12px}.chip.active{background:var(--text-primary);color:var(--text-inverse)}.module{background:var(--cyan)}.module .outline{color:#4da5b8;opacity:.28;pointer-events:none;font-size:80px;font-weight:800;position:absolute;bottom:-10px;right:8px}.next{background:var(--green);min-height:190px;position:relative;overflow:hidden}.next:after{content:"";opacity:.6;border:8px dotted #89b947;border-radius:50%;width:230px;height:150px;position:absolute;bottom:-50px;right:-20px}.next h2{margin:12px 0;font-size:20px;font-weight:800}.date{color:var(--text-primary);font-size:12px;line-height:1.6}.blackbtn{background:var(--text-primary);color:var(--text-inverse);border:0;border-radius:22px;align-items:center;gap:8px;margin-top:14px;padding:12px 17px;font-weight:700;transition:all .2s;display:inline-flex}.blackbtn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.arrow{font-size:18px}.homework{background:var(--card);min-height:190px}.book{background:var(--green);border-radius:50%;place-items:center;width:38px;height:38px;font-size:16px;display:grid;position:absolute;top:20px;right:20px}.schedule{margin-top:18px}.schedule h3{color:var(--text-secondary);margin:0 0 8px;font-size:15px;font-weight:700}.tt-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.tt-navbtn{border:1px solid var(--border);background:var(--card);color:var(--text-primary);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.tt-navbtn:hover{border-color:var(--accent);box-shadow:var(--shadow)}.tt-center{flex-direction:column;align-items:center;gap:3px;margin:0 auto;display:flex}.tt-thisweek{background:var(--text-primary);color:var(--text-inverse);cursor:pointer;border:0;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .2s}.tt-thisweek:hover{transform:translateY(-1px);box-shadow:0 5px 14px #00000029}.tt-thisweek:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.tt-range{color:var(--text-secondary);font-size:12px;font-weight:600}.tt-right{align-items:center;gap:10px;display:flex}.tt-today{border:1px solid var(--border);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:18px;padding:8px 13px;font-size:11px;font-weight:800;transition:all .2s}.tt-today,.tt-today:hover{background:var(--accent-soft)}.tt-today:hover{filter:brightness(.97)}.timetable{background:var(--card);border:1px solid var(--border);--tt-time-col:62px;--tt-slot:54px;border-radius:22px;max-height:min(78vh,1380px);margin-top:14px;position:relative;overflow:auto;box-shadow:0 8px 25px #66708512}.tt-body,.tt-head{grid-template-columns:var(--tt-time-col) repeat(7,minmax(132px,1fr));min-width:max(100%,calc(var(--tt-time-col) + 7 * 132px));display:grid}.tt-head{z-index:6;border-bottom:1px solid var(--border);position:sticky;top:0}.tt-corner,.tt-head{background:var(--card)}.tt-corner{z-index:7;border-right:1px solid var(--border);color:var(--text-secondary);place-items:center;display:grid;position:sticky;top:0;left:0}.tt-dayhead{text-align:center;border-right:1px solid var(--border-soft);flex-direction:column;gap:1px;padding:11px 8px;display:flex}.tt-dayhead:last-child{border-right:0}.tt-dayhead.today{background:linear-gradient(180deg,var(--accent-soft),var(--tt-today-bg))}.tt-dname{color:var(--text-primary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.tt-dnum{font-size:21px;font-weight:800;line-height:1.05}.tt-dmon{color:var(--text-secondary);font-size:10px}.tt-dayhead.today .tt-dname,.tt-dayhead.today .tt-dnum{color:var(--accent)}.tt-body{grid-template-rows:repeat(24,var(--tt-slot));position:relative}.tt-time{z-index:5;background:var(--card);border-right:1px solid var(--border);border-bottom:1px solid var(--border-soft);color:var(--text-secondary);text-align:right;grid-column:1;padding:2px 7px 0;font-size:10px;font-weight:600;position:sticky;left:0}.tt-daycol{border-right:1px solid var(--border-soft);background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--tt-slot) - 1px),var(--border-soft) calc(var(--tt-slot) - 1px) var(--tt-slot));position:relative}.tt-daycol:last-child{border-right:0}.tt-daycol.today{background-color:var(--tt-today-bg);background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--tt-slot) - 1px),var(--tt-today-line) calc(var(--tt-slot) - 1px) var(--tt-slot))}.lesson{background:var(--accent-soft);border:1px solid var(--border);cursor:pointer;border-radius:14px;gap:2px;padding:7px 9px;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 3px 12px #6670851a}.lesson-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;line-height:1.15;overflow:hidden}.lesson-teacher{font-weight:600}.lesson-teacher,.lesson-time{color:var(--text-secondary);font-size:10px}.lesson-time{font-weight:700}.lesson-meta{gap:5px;margin-top:2px}.lesson-type{background:var(--card);border:1px solid var(--border);color:var(--accent)}.lesson-status,.lesson-type{text-transform:uppercase;letter-spacing:.4px;border-radius:7px;padding:1px 5px;font-size:8px;font-weight:800}.s-confirmed{color:#1f7a47;background:#dcf7e6;border:1px solid #b6e8c9}.s-completed{background:var(--card-2);color:var(--text-secondary);border:1px solid var(--border)}.s-pending_payment{color:#9a6b00;background:#fff3d6;border:1px solid #ffe2a0}.s-awaiting_confirmation{color:#b23a6a;background:#ffe6ef;border:1px solid #ffc7dd}.tt-now{left:var(--tt-time-col);z-index:8;pointer-events:none;border-top:2px solid #ff4d6d;height:0;position:absolute;right:0}.tt-now-dot{width:10px;height:10px;box-shadow:0 0 0 3px var(--card);border-radius:50%;top:-5px;left:-5px}.tt-now-dot,.tt-now-lbl{background:#ff4d6d;position:absolute}.tt-now-lbl{color:#fff;border-radius:6px;padding:1px 5px;font-size:9px;font-weight:800;top:-9px;left:8px}.tt-empty{margin:12px 2px 0}.tt-empty,.tt-skeleton{color:var(--text-secondary);font-size:13px}.tt-skeleton{background:var(--card);border:1px solid var(--border);height:min(70vh,1200px);border-radius:22px;place-items:center;margin-top:14px;font-weight:600;display:grid;box-shadow:0 8px 25px #66708512}.tt-daycol.clickable{cursor:pointer}.tt-daycol.clickable:hover{background-color:var(--accent-soft)}.tt-body.dragging{-webkit-user-select:none;user-select:none;cursor:crosshair}.tt-sel{background:var(--accent);position:absolute;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.tt-sel{background:color-mix(in srgb,var(--accent) 20%,transparent)}}.tt-sel{border:1px dashed var(--accent);pointer-events:none;z-index:3;border-radius:8px}.lesson.s-border-confirmed{background:#e9f9ef;border-left:4px solid #2f9e1f}.lesson.s-border-completed{border-left:4px solid var(--text-secondary);background:var(--card-2)}.lesson.s-border-pending_payment{background:#fff8e6;border-left:4px solid #e0a400}.lesson.s-border-awaiting_confirmation{background:#ffeef5;border-left:4px solid #e0457f}.lesson-join{background:var(--green);color:#0e1014;border-radius:9px;align-self:flex-start;align-items:center;gap:5px;margin-top:auto;padding:5px 10px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #2f9e1f40}.lesson-join:hover{filter:brightness(1.05)}.lesson-join.full{justify-content:center;align-self:stretch;margin-top:16px}.lesson-modal-overlay{z-index:600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e10146b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.lesson-modal{background:var(--card);border:1px solid var(--border);border-radius:18px;width:min(420px,100%);padding:22px 22px 24px;position:relative;box-shadow:0 24px 60px #0e101447}.lesson-modal-close{border:1px solid var(--border);background:var(--card-2);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:9px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.lesson-modal-close:hover{color:var(--text-primary)}.lesson-modal-eyebrow{text-transform:uppercase;letter-spacing:.6px;color:var(--accent);font-size:11px;font-weight:800}.lesson-modal-title{color:var(--text-primary);margin:4px 0 16px;padding-right:28px;font-size:20px;font-weight:800}.lesson-modal-rows{flex-direction:column;gap:11px;display:flex}.lesson-modal-row{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.lesson-modal-row svg{width:16px;height:16px;color:var(--accent);flex:none}.lesson-modal-row b{color:var(--text-primary);margin-right:4px;font-weight:800}[data-theme=dark] .lesson-modal{box-shadow:0 24px 60px #0000008c}.slot-card{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:12px;flex-direction:column;gap:1px;padding:6px 9px;display:flex;position:absolute;left:5px;right:5px;overflow:hidden}.slot-card.solid{cursor:pointer;border-style:solid}.slot-card.solid:hover{filter:brightness(1.02)}.slot-card.solid.selected{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 14px #0000002e}.slot-card.solid.selected .slot-card-time,.slot-card.solid.selected .slot-card-title{color:#0e1014}.book-grid-info{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.book-grid-info .sel-meta{color:var(--text-primary);font-size:14px;font-weight:700}.book-grid-info .sel-meta .muted{font-weight:500}.slot-card-title{color:var(--accent);font-size:11px;font-weight:800}.slot-card-time{color:var(--text-secondary);font-size:10px;font-weight:700}.slot-card .slot-x{border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;position:absolute;top:3px;right:3px}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e1480;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--border);width:min(420px,100%);color:var(--text-primary);border-radius:20px;padding:20px;box-shadow:0 20px 60px #0000004d}.modal-form{gap:12px;margin:14px 0}.modal-form,.modal-form label{flex-direction:column;display:flex}.modal-form label{color:var(--text-secondary);gap:5px;font-size:12px;font-weight:600}.modal-form input{border:1px solid var(--border);background:var(--card-2);color:var(--text-primary);border-radius:10px;padding:9px 10px;font-size:14px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.tip{background:var(--yellow);margin-top:14px}.tip h3{margin:0 0 13px;font-size:15px;font-weight:700}.tipbox{background:var(--card);text-align:center;color:var(--text-secondary);border-radius:16px;padding:16px;font-size:12px;line-height:1.5}.right{background:var(--glass-strong);border-left:1px solid var(--border);flex-direction:column;padding:18px 14px;display:flex}.teacher-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:0 5px 12px;display:flex}.small-avatar{background:linear-gradient(145deg,#9a614f,#f2c0a4);border-radius:50%;width:36px;height:36px}.online{color:#159a63;background:#cdf9dd;border-radius:8px;width:max-content;margin-top:2px;padding:2px 5px;font-size:9px;font-weight:700;display:block}.edit{background:var(--card);width:34px;height:34px;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:50%;place-items:center;margin-left:auto;display:grid}.right h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:17px 4px 7px;font-size:12px}.stars{letter-spacing:1px;margin:4px;font-size:21px}.stars span{color:#c7cad0}.feedback{border:1px solid var(--border);resize:none;background:var(--card);width:100%;height:80px;color:var(--text-primary);border-radius:16px;outline:none;padding:10px;font-size:12px}.feedback:focus{border-color:var(--accent)}.send{background:var(--card);width:100%;box-shadow:var(--shadow);border:0;border-radius:18px;margin-top:7px;padding:9px;font-weight:700;transition:all .2s}.send:hover{background:var(--text-primary);color:var(--text-inverse)}.call{background:linear-gradient(145deg,#aee7f5,#8ed6e8);border-radius:15px;place-items:center;height:150px;display:grid;position:relative;overflow:hidden}.call:before{content:"";opacity:.4;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.15'%3E%3Cpath d='M0 0h40v40H0V0zm20 20h20v20H20V20zM0 20h20v20H0V20z'/%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.call button{background:var(--card);z-index:1;border:0;border-radius:22px;align-items:center;gap:6px;padding:10px 16px;font-weight:700;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 15px #0000001a}.call button:hover{transform:scale(1.05)}.chat{gap:9px;margin-top:8px;overflow:auto}.bubble.me{background:var(--card-2)}.msg{gap:6px;margin-top:auto;padding-top:10px;display:flex}.msg input{border:1px solid var(--border);background:var(--card);min-width:0;color:var(--text-primary);border-radius:15px;outline:none;flex:1;padding:10px;font-size:12px}.msg input:focus{border-color:var(--accent)}.sendmsg{background:var(--text-primary);width:36px;height:36px;color:var(--text-inverse);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:all .2s;display:grid}.sendmsg:hover{transform:scale(1.1)}.help{border-top:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:10px;padding-top:12px;font-size:12px;display:flex}.xp-pill{color:#7c6f00;background:linear-gradient(135deg,#fff9c4,#fff176);border:1px solid #f59e0b33;border-radius:20px;gap:6px}.streak-pill,.xp-pill{align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.streak-pill{background:var(--card);color:#ef4444;border:1px solid #fecaca;border-radius:20px;gap:4px;margin-left:8px}@media (max-width:1366px){.app{grid-template-columns:224px 1fr 300px}.app.no-right{grid-template-columns:224px 1fr}.content{padding:30px 36px}}@media (max-width:1100px){.app,.app.no-right{grid-template-columns:200px 1fr}.right{display:none}.overview{grid-template-columns:1fr}.sidebar{padding:15px 10px}.content{padding:24px 28px}}@media (max-width:750px){.app{border-radius:0;flex-direction:column;grid-template-columns:none;width:100%;height:100dvh;margin:0;display:flex;overflow:hidden}.right,.sidebar{display:none}.appbar{padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--glass-bar);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.appbar-title{color:var(--text-primary);letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:800;overflow:hidden}.appbar-avatar{color:#fff;background:linear-gradient(145deg,#9a614f,#f2c0a4);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid;overflow:hidden}.appbar-avatar img{object-fit:cover;width:100%;height:100%}.content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex:1;min-height:0;padding:16px 14px 26px;display:flex;overflow:auto}.content>:not(.ai-page):not(.tp-ai-page){flex-shrink:0}.content:has(.ai-page,.tp-ai-page){padding:0}.header{justify-content:flex-end;align-items:center;gap:8px;margin:0 0 14px;display:flex}.header .eyebrow,.header h1{display:none}.tabbar{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;padding:6px 6px calc(env(safe-area-inset-bottom) + 6px);background:var(--glass-bar);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);flex-shrink:0;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tab{scroll-snap-align:center;width:74px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:3px;min-width:0;padding:5px 2px;text-decoration:none;display:flex}.tab.active{color:var(--accent)}.tab-ico{place-items:center;font-size:22px;line-height:1;display:grid}.tab-label{letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.homework,.next{min-height:170px}.app.dash-scroll{height:100dvh;overflow:hidden}.app.dash-scroll .content{flex:1;min-height:0;overflow:auto}}.ai-page{height:100%}.ai-page,.ai-tutor{flex-direction:column;min-height:0;display:flex}.ai-typing{font-style:italic}.ai-typing,.chat-empty{color:var(--text-secondary)}.ai-page>.header{margin:0 0 16px}.ai-page .header .eyebrow{letter-spacing:1.3px;color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:700}.ai-page .header h1{letter-spacing:-.7px;margin:4px 0 5px;font-size:25px;font-weight:800}.ai-page .accent-dot{color:var(--green)}.ai-page .subtitle{color:var(--text-secondary);font-size:13px}.ai-page .header-actions{align-items:center;gap:8px;display:flex}.ai-page .upgrade-pill{background:var(--card);color:var(--accent);border:0;border-radius:99px;align-items:center;gap:7px;height:34px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.ai-page .upgrade-pill:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.ai-page .status{border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:22px;align-items:center;gap:8px;padding:9px 13px;font-size:11px;display:flex}.ai-page .status .dot{background:#2cc989;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #d9f8e9}.chat-layout{flex:1;grid-template-columns:minmax(0,1fr) 220px;gap:14px;min-height:0;display:grid}.chat-panel{background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 12px 35px #2a344612}.chat-panel .ai-tutor{height:100%}.chat-panel .ai-tutor-log{flex-direction:column;flex:1;gap:10px;min-height:0;padding:27px 28px 18px;display:flex;overflow:auto}.chat-panel .ai-tutor-log .message-row{align-items:flex-start;gap:11px;display:flex}.chat-panel .ai-tutor-log .message-row.user{justify-content:flex-end}.chat-panel .ai-tutor-log .bot-avatar,.chat-panel .ai-tutor-log .user-avatar{border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.chat-panel .ai-tutor-log .bot-avatar{background:var(--accent-soft);border:1px solid var(--border);color:var(--accent);position:relative}.chat-panel .ai-tutor-log .bot-avatar:after{content:"";border:2px solid var(--card);background:#4ed59a;border-radius:50%;width:8px;height:8px;position:absolute;bottom:1px;right:-1px}.chat-panel .ai-tutor-log .user-avatar{color:#fff;background:linear-gradient(135deg,#e8ddff,#bfa9ff)}.chat-panel .ai-tutor-log .bubble-col{flex-direction:column;min-width:0;max-width:min(680px,76%);display:flex}.chat-panel .ai-tutor-log .bubble{border:1px solid var(--border);background:var(--card);border-radius:16px;align-self:stretch;width:100%;max-width:100%;padding:13px 15px;font-size:13px;line-height:1.55;box-shadow:0 5px 16px #29364d0d}.chat-panel .ai-tutor-log .bubble strong{font-weight:750}.chat-panel .ai-tutor-log .bubble.me{background:linear-gradient(135deg,#f3efff,#ebe5ff);border-color:#e0d8ff;border-bottom-right-radius:5px}.chat-panel .ai-tutor-log .message-row.bot .bubble{border-bottom-left-radius:5px}.chat-panel .ai-tutor-log .bubble .time{color:var(--text-secondary);margin-top:7px;font-size:9px}.chat-panel .ai-tutor-log .chips-wrap{margin:0 0 22px 51px}.chat-panel .ai-tutor-log .try{color:var(--text-secondary);margin-bottom:8px;font-size:11px}.chat-panel .ai-tutor-log .chips{flex-wrap:wrap;gap:7px;display:flex}.chat-panel .ai-tutor-log .chip{border:1px solid var(--border);background:var(--card);color:var(--text-primary);cursor:pointer;border-radius:99px;padding:7px 11px;font-size:10px;transition:all .2s}.chat-panel .ai-tutor-log .chip:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.chat-panel .ai-tutor-log .actions{gap:6px;margin:7px 0 2px 51px;display:flex}.chat-panel .ai-tutor-log .action{border:1px solid var(--border);background:var(--card);width:32px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;transition:all .2s;display:grid}.chat-panel .ai-tutor-log .action:hover{color:var(--text-primary)}.chat-panel .ai-tutor-log .action.active.like{color:var(--green);border-color:var(--green)}.chat-panel .ai-tutor-log .action.active.dislike{color:#e0694f;border-color:#e0694f}.chat-panel .composer-area{border-top:1px solid var(--border);padding:10px 18px 16px}.chat-panel .composer{border:1px solid var(--border);background:var(--card);border-radius:99px;align-items:center;gap:8px;height:48px;padding:5px 7px 5px 17px;display:flex;box-shadow:0 4px 14px #29364d0d}.chat-panel .composer input{color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.chat-panel .composer input::placeholder{color:var(--text-secondary)}.chat-panel .composer .tool{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;font-size:18px;transition:all .2s;display:grid}.chat-panel .composer .tool:hover{color:var(--text-primary);background:var(--card-2)}.chat-panel .composer .send{background:var(--text-primary);width:36px;height:36px;color:var(--text-inverse);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:all .2s;display:grid}.chat-panel .composer .send:hover{transform:scale(1.06)}.chat-panel .composer .send:disabled{opacity:.45;cursor:default;transform:none}.chat-panel .disclaimer{text-align:center;color:var(--text-secondary);margin-top:8px;font-size:9px}.rail{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.side-card{background:var(--card);border:1px solid var(--border);border-radius:17px;padding:15px;box-shadow:0 8px 25px #2a34460d}.side-card.helper{background:linear-gradient(145deg,#b8edf7,#d9dcff);border:0;min-height:124px;overflow:hidden}.side-card.helper .rail-title{color:var(--text-primary)}.side-card.helper .rail-text{color:#536171;max-width:145px;font-size:10px;line-height:1.5}.side-card .rail-title{color:var(--text-primary);margin:0 0 12px;font-size:12px;font-weight:800}.side-card .rail-text{color:var(--text-secondary);font-size:10px;line-height:1.5}.helper{gap:8px;display:grid}.helper div{background:var(--card-2);color:var(--text-secondary);border-radius:11px;align-items:center;gap:8px;padding:8px 9px;font-size:10px;display:flex}.recent{gap:8px;display:grid}.recent-row{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:6px 0;font-size:10px;display:flex}.recent-row:last-child{border-bottom:0}@keyframes wordIn{0%{opacity:0}to{opacity:1}}.chat-panel .ai-tutor-log .bubble .w{animation:wordIn .16s both}.chat-panel .ai-tutor-log .bubble.thinking-bubble .ella-reasoning{color:var(--text-secondary);opacity:.85;white-space:pre-wrap;word-break:break-word;max-height:130px;margin-top:9px;font-size:11px;font-style:italic;line-height:1.5;overflow:auto}[data-theme=dark] .side-card.helper{border:1px solid var(--border);background:linear-gradient(145deg,#123947,#272353)}[data-theme=dark] .side-card.helper .rail-text{color:#cdd3e0}[data-theme=dark] .helper div{background:var(--card-2);color:var(--text-secondary)}[data-theme=dark] .chat-panel .ai-tutor-log .bubble.me{background:var(--card-2);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .chat-panel .ai-tutor-log .user-avatar{color:var(--text-primary);background:linear-gradient(135deg,#2b2742,#3a3458)}[data-theme=dark] .chat-panel{box-shadow:0 12px 35px #00000073}[data-theme=dark] .chat-panel .composer{box-shadow:0 4px 14px #00000059}[data-theme=dark] .chat-panel .ai-tutor-log .bubble{box-shadow:0 5px 16px #00000052}@keyframes aiRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.chat-panel .ai-tutor-log .message-row.bot:first-child{animation:aiRise .55s both}@media (max-width:1100px){.chat-layout{grid-template-columns:1fr}.rail{display:none}}@media (max-width:750px){.ai-page,.tp-ai-page{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.ai-page>.header,.tp-ai-page>.header{margin:0 0 10px;padding:12px 14px 0}.ai-page .subtitle,.ai-page>.header .eyebrow,.ai-page>.header h1,.tp-ai-page .subtitle,.tp-ai-page>.header h1{display:none}.chat-layout,.tp-ai-wrap{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.rail{display:none}.chat-panel{border-left:0;border-right:0;border-radius:0;width:100%;min-width:0}.ai-tutor,.ai-tutor-log,.chat-panel{flex:auto;min-height:0}.ai-tutor-log{padding:16px 14px;overflow:auto}.ai-tutor-log .actions,.ai-tutor-log .chips-wrap{margin-left:0}.ai-tutor-log .bubble-col{max-width:85%}.ai-tutor-log .bubble{max-width:100%}.composer-area{padding:8px 14px calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--border);background:var(--card)}.chat-panel .composer input,.tp-ai-wrap .composer input{font-size:16px}.ai-page>.email-gate-wrap,.tp-ai-page>.email-gate-wrap{padding:16px 14px}}.os-ios .ai-tutor,.os-ios .chat-panel .ai-tutor-log,.os-ios .chat-panel .composer,.os-ios .chat-panel .composer input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.os-ios .ai-page{padding-top:env(safe-area-inset-top)}.os-ios .chat-panel .composer{border-radius:22px}.os-android .ai-tutor,.os-android .chat-panel .ai-tutor-log,.os-android .chat-panel .composer,.os-android .chat-panel .composer input{font-family:Roboto,Segoe UI,sans-serif}.os-android .ai-page{padding-top:env(safe-area-inset-top)}.os-android .chat-panel .composer{border-radius:10px}.auth-login-side{place-items:center;padding:6vh 4vw;display:grid}.admin-wrap{max-width:1100px;margin:0 auto;padding:30px 24px 70px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.admin-title{margin:0;font-size:26px;font-weight:800}.admin-sub{font-size:13px}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:11px}.stat-card .stat-num{margin-top:4px;font-size:30px;font-weight:800}.panel-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:22px;padding:22px}.panel-card h3{margin:0 0 14px;font-size:16px;font-weight:800}.chart-svg{width:100%;height:auto;display:block}.maint-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.maint-switch{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:12px;padding:8px 14px;display:inline-flex}.switch{background:var(--switch-bg);cursor:pointer;border:0;border-radius:99px;flex-shrink:0;width:52px;height:30px;transition:background .2s;position:relative}.switch.on{background:var(--ok)}.switch .knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0003}.switch.on .knob{transform:translate(22px)}.maint-status{font-size:14px;font-weight:700}.maint-status.on{color:var(--bad)}.maint-status.off{color:var(--ok)}.maintenance{place-items:center;min-height:100dvh;padding:24px;display:grid}.maint-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:460px;box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:14px;padding:44px 40px;display:flex}.maint-emoji{font-size:54px}.maint-card h1{margin:0;font-size:28px;font-weight:800}.maint-card .muted{text-transform:none;letter-spacing:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.maint-bar{background:var(--card-2);border-radius:99px;width:100%;height:8px;margin-top:6px;overflow:hidden}.maint-bar span{background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:99px;width:40%;height:100%;animation:maintSlide 1.6s ease-in-out infinite;display:block}@keyframes maintSlide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.maint-foot{color:var(--text-secondary);margin:0;font-size:12px}@media (max-width:750px){.admin-grid{grid-template-columns:1fr 1fr}}.teacher-page{display:block}.teacher-page .header{align-items:flex-end;margin-bottom:0}.teacher-page .sub{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.ts-filters{align-items:center;gap:7px;margin:18px 0 16px;padding-bottom:4px;display:flex;overflow:auto}.ts-filter{border:1px solid var(--border);background:var(--card);white-space:nowrap;color:var(--text-primary);border-radius:20px;padding:9px 15px;font-size:10px;transition:all .2s}.ts-filter:hover{border-color:var(--accent)}.ts-filter.active{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.ts-filter.sort{margin-left:auto}.ts-wrap{background:var(--glass-soft);border:1px solid var(--border);border-radius:25px;padding:26px 15px;position:relative;overflow:hidden}.ts-stage{perspective:1400px;height:340px;position:relative}.ts-card{background:var(--card);width:300px;transform-style:preserve-3d;will-change:transform,opacity;border-radius:21px;margin-left:-150px;padding:12px;transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .85s cubic-bezier(.2,.8,.2,1),filter .85s;position:absolute;top:0;left:50%;box-shadow:0 14px 35px #6670852e}.ts-card.center{opacity:1;z-index:3;transform:translate(0)scale(1)rotateY(0);box-shadow:0 22px 50px #66708542}.ts-card.left{transform:translate(-230px)scale(.8)rotateY(38deg)}.ts-card.left,.ts-card.right{opacity:.5;z-index:2;filter:blur(.4px)}.ts-card.right{transform:translate(230px)scale(.8)rotateY(-38deg)}.ts-card.far{opacity:0;z-index:1;pointer-events:none;transform:translate(0)scale(.6)rotateY(0)}.ts-photo{background:linear-gradient(145deg,#edf4fb,#f9e9ed);border-radius:16px;place-items:center;height:175px;display:grid;position:relative;overflow:hidden}.ts-portrait{color:#fff;border-radius:50%;place-items:center;width:120px;height:120px;font-size:40px;font-weight:800;display:grid;box-shadow:0 8px 22px #66708540}.ts-p1{background:linear-gradient(145deg,#8d5b49,#e6ad8e)}.ts-p2{background:linear-gradient(145deg,#bd7291,#f4c5d3)}.ts-p3{background:linear-gradient(145deg,#6e95cb,#b8d0f0)}.ts-p4{background:linear-gradient(145deg,#9c6c8d,#e7b8d3)}.ts-p5{background:linear-gradient(145deg,#6d806b,#bdcfad)}.ts-card.center .ts-photo{animation:tsKenBurns 7s ease-in-out infinite alternate}.ts-online{background:#2cc989;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;bottom:11px;left:11px}.ts-heart{background:var(--card);cursor:pointer;border:0;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;transition:all .2s;display:grid;position:absolute;top:11px;right:11px;box-shadow:0 3px 10px #0003}.ts-heart:hover{transform:scale(1.1)}.ts-heart.on{color:#ff5a7a}.ts-badge{color:#5b3b00;background:#ffd36f;border-radius:8px;padding:4px 7px;font-size:8px;font-weight:800;position:absolute;top:11px;left:11px}.ts-card h3{align-items:center;gap:6px;margin:12px 6px 4px;font-size:15px;display:flex}.ts-verified{color:#22a975;font-size:10px}.ts-bio{height:34px;color:var(--text-secondary);text-transform:uppercase;margin:0 6px 8px;font-size:9px;line-height:1.35}.ts-tags{flex-wrap:wrap;gap:4px;margin:0 6px 10px;display:flex}.ts-tag{background:var(--card-2);border-radius:10px;padding:4px 7px;font-size:8px}.ts-rating,.ts-tag{color:var(--text-secondary)}.ts-rating{margin:0 6px 11px;font-size:10px}.ts-rating b{color:#f0a61c;font-size:12px}.ts-rating .count{color:var(--text-secondary);margin-left:4px}.ts-rating .price{color:var(--text-primary);margin-left:8px;font-weight:800}.ts-view{background:var(--text-primary);width:100%;color:var(--text-inverse);cursor:pointer;text-align:center;border:0;border-radius:18px;padding:9px;font-size:10px;font-weight:700;transition:all .2s;display:block}.ts-view:hover{background:var(--accent);color:var(--accent-contrast)}.ts-arrow{z-index:5;border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;transition:all .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 20px #66708533}.ts-arrow:hover{border-color:var(--accent)}.ts-arrow.prev{left:2px}.ts-arrow.next{right:2px}.ts-hint{margin-top:12px;font-size:9px}.ts-empty,.ts-hint{text-align:center;color:var(--text-secondary)}.ts-empty{padding:40px 0}.benefits{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.benefit{background:var(--card);box-shadow:var(--shadow);border-radius:18px;align-items:flex-start;gap:10px;padding:17px;display:flex}.benefit-icon{background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.benefit h4{color:var(--text-primary);margin:0 0 4px;font-size:11px}.benefit p{color:var(--text-secondary);margin:0;font-size:9px;line-height:1.35}@keyframes tsKenBurns{0%{transform:scale(1)}to{transform:scale(1.06)}}@media (max-width:1100px){.benefits{grid-template-columns:repeat(2,1fr)}}@media (max-width:750px){.ts-stage{height:380px}.ts-card{width:260px;margin-left:-130px}.ts-card.left{transform:translate(-180px)scale(.78)rotateY(34deg)}.ts-card.right{transform:translate(180px)scale(.78)rotateY(-34deg)}.benefits{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ts-card{transition:none}.ts-card.center .ts-photo{animation:none}}.email-panel-body{margin-top:14px}.email-toolbar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.email-count{color:var(--text-secondary);font-size:12px}.email-list{border:1px solid var(--border);border-radius:14px;max-height:340px;margin:0;padding:0;list-style:none;overflow:auto}.email-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.email-row:last-child{border-bottom:0}.email-row .em{color:var(--text-primary);word-break:break-all;font-weight:600}.email-row .nm{color:var(--text-secondary)}.email-row .rl{background:var(--card-2);border-radius:8px;margin-left:auto;padding:2px 7px}.email-row .dt,.email-row .rl{color:var(--text-secondary);flex:none;font-size:10px}.email-row .dt{text-align:right;width:84px}.email-empty,.email-error{text-align:center;color:var(--text-secondary);padding:18px;font-size:12px}.email-load{margin-top:10px}.ai-feedback button{border-radius:10px;padding:4px 8px;font-size:15px;line-height:1;transition:all .15s}.ai-feedback button:hover{background:var(--card-2)}.ai-feedback button.active.like{color:#2c9c3f;background:#e7f9d8}.ai-feedback button.active.dislike{color:#d8334a;background:#ffe3e3}.chart-legend{gap:16px;margin:0 0 8px;font-size:11px;font-weight:700;display:flex}.chart-legend .lg.like{color:#5fbf4a}.chart-legend .lg.dislike{color:#ff5a6a}.recent-empty{color:var(--text-secondary);padding:14px 4px;font-size:11px}.profile-editor{flex-direction:column;gap:22px;display:flex}.profile-editor .pe-head{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:6px 4px 18px;display:flex}.profile-editor .avatar-big{border:4px solid var(--card);color:#1d2433;background:linear-gradient(145deg,#ffc8b2,#a9d8ef);border-radius:50%;flex:none;place-items:center;width:96px;height:96px;font-size:30px;font-weight:800;display:grid;overflow:hidden;box-shadow:0 4px 14px #33333326}.profile-editor .avatar-big img{object-fit:cover;width:100%;height:100%}.profile-editor .pe-id{flex-direction:column;gap:2px;display:flex}.profile-editor .pe-id h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:800}.profile-editor .pe-id .muted{color:var(--text-secondary);margin:0;font-size:13px}.profile-editor .profile-form{flex-direction:column;gap:14px;margin-top:6px;display:flex}.profile-editor .profile-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.profile-editor .verify-hint{margin:-4px 0 0;font-size:12px}.profile-editor .verify-hint.ok{color:#2f9e63}.profile-editor .verify-hint.warn{color:#c2820a}.profile-editor .notice{color:#1f7a47;background:#eafaf0;border:1px solid #bfe9cf;border-radius:12px;margin:0;padding:10px 12px;font-size:13px}.profile-page{flex-direction:column;gap:18px;display:flex}.pe-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 14px;font-size:13px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.stat{background:var(--stat-grad);border:1px solid var(--border);border-radius:16px;align-items:flex-start;gap:4px;padding:14px 16px}.stat-ico{background:var(--card);width:34px;height:34px;color:var(--accent);box-shadow:var(--shadow);border-radius:10px;place-items:center;font-size:18px;display:grid}.stat-val{color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.1}.stat-label{font-size:12px;font-weight:600}.stat-label,.theme-toggle{color:var(--text-secondary)}.theme-toggle{border:1px solid var(--border);background:var(--card-2);width:38px;height:38px;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.theme-toggle:hover{background:var(--card-3);color:var(--text-primary);border-color:var(--border-strong)}.theme-toggle__placeholder{width:18px;height:18px;display:inline-block}.sidebar-theme{color:var(--text-secondary);border-top:1px solid var(--border-soft);align-items:center;gap:10px;margin-top:6px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.sidebar-theme .theme-toggle{width:34px;height:34px}.appbar-actions{align-items:center;gap:10px;display:flex}.appbar-theme{border-radius:10px;width:34px;height:34px}.appbar-signout{border:1px solid var(--border);background:var(--card-2);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:10px;place-items:center;transition:background .15s,color .15s;display:grid}.appbar-signout:hover{background:var(--card);color:var(--text-primary)}[data-theme=dark] .s-confirmed{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .s-confirmed{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .s-confirmed{color:var(--ok)}[data-theme=dark] .s-pending_payment{background:var(--warn)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .s-pending_payment{background:color-mix(in srgb,var(--warn) 18%,var(--card))}}[data-theme=dark] .s-pending_payment{color:var(--warn)}[data-theme=dark] .s-awaiting_confirmation{background:#ff7aa8}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .s-awaiting_confirmation{background:color-mix(in srgb,#ff7aa8 18%,var(--card))}}[data-theme=dark] .s-awaiting_confirmation{color:#ff9bbb}[data-theme=dark] .online{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .online{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .online{color:var(--ok)}[data-theme=dark] .xp-pill{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .xp-pill{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}[data-theme=dark] .xp-pill{color:var(--yellow)}[data-theme=dark] .ai-bot-avatar{background:var(--card-2);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border)}[data-theme=dark] .ts-badge{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ts-badge{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}[data-theme=dark] .ts-badge{color:var(--yellow)}[data-theme=dark] .ai-feedback button.active.like{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ai-feedback button.active.like{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .ai-feedback button.active.like{color:var(--ok)}[data-theme=dark] .ai-feedback button.active.dislike{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ai-feedback button.active.dislike{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .ai-feedback button.active.dislike{color:var(--bad)}[data-theme=dark] .profile-editor .notice{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .profile-editor .notice{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .profile-editor .notice{color:var(--ok)}[data-theme=dark] .module{background:var(--card-2);border:1px solid var(--border);border-top:3px solid var(--cyan)}[data-theme=dark] .next{background:var(--card-2);border:1px solid var(--border);border-top:3px solid var(--green)}[data-theme=dark] .tip{background:var(--card-2);border:1px solid var(--border);border-top:3px solid var(--yellow);color:var(--text-primary)}.packs-page{flex-direction:column;gap:18px;padding:4px 2px;display:flex}.packs-current{border-top:3px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.pc-left{flex-direction:column;gap:4px;display:flex}.pc-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:12px;font-weight:700}.pc-name{font-size:20px}.pc-exp{color:var(--text-secondary);font-size:13px}.pc-right{flex-wrap:wrap;gap:18px}.pc-right,.pc-stat{align-items:center;display:flex}.pc-stat{flex-direction:column;gap:2px;min-width:84px}.pc-stat svg{width:18px;height:18px;color:var(--text-secondary)}.pc-stat b{color:var(--text-primary);font-size:18px}.pc-stat span{color:var(--text-secondary);font-size:11px}.packs-table-wrap{padding:0;overflow:hidden}.packs-table{border-collapse:collapse;width:100%}.packs-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--card-2);padding:14px 16px;font-size:12px}.packs-table td{border-bottom:1px solid var(--border-soft);vertical-align:top;color:var(--text-primary);padding:16px;font-size:14px}.packs-table tr:last-child td{border-bottom:none}.packs-table .row-highlight{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.packs-table .row-highlight{background:color-mix(in srgb,var(--blue) 8%,var(--card))}}.packs-table .row-current td{box-shadow:inset 3px 0 0 var(--accent)}.packs-table .row-coming-soon{opacity:.6}.pack-cell-name{flex-direction:column;gap:6px;max-width:300px;display:flex}.pack-best{text-transform:uppercase;letter-spacing:.06em;background:var(--green);color:#07210f;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:10px;font-weight:800}.pack-price{align-items:baseline;gap:8px;margin-top:2px;display:flex}.price-old{color:var(--text-secondary);font-size:13px;text-decoration:line-through}.price-now{color:var(--text-primary);font-size:20px;font-weight:800}.pack-note,.price-per{color:var(--text-secondary);font-size:12px}.pack-note{margin:4px 0 0;line-height:1.45}.pack-yes{color:var(--ok);align-items:center;gap:6px;font-weight:600;display:inline-flex}.pack-yes svg{width:16px;height:16px}.pack-dash{color:var(--text-secondary);font-size:18px}.pack-limited{color:var(--text-primary);font-weight:600}.pack-sub{color:var(--text-secondary);margin-top:2px;font-size:11px;display:block}.pack-yes-wrap{flex-direction:column;gap:2px;display:inline-flex}.packs-foot{font-size:12px}.subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.packs-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.plan-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:26px 24px 22px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:visible}.plan-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.plan-card.is-best{border:2px solid var(--green);background:var(--green)}@supports (color:color-mix(in lab,red,red)){.plan-card.is-best{background:color-mix(in srgb,var(--green) 6%,var(--card))}}.plan-card.is-current{box-shadow:inset 3px 0 0 var(--accent)}[dir=rtl] .plan-card.is-current{box-shadow:inset -3px 0 0 var(--accent)}.plan-best{background:var(--green);color:#14210a;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:10px;font-weight:900;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.plan-name{margin:2px 0 6px;font-size:19px}.plan-tagline{color:var(--text-secondary);max-width:32ch;margin:0;font-size:13px;line-height:1.5}.plan-art{justify-content:flex-end;align-items:center;height:76px;margin:6px 0 4px;display:flex}.plan-diamond{clip-path:polygon(50% 0,94% 32%,75% 100%,25% 100%,6% 32%);background:linear-gradient(145deg,var(--green),var(--green) 55%,var(--green));width:64px;height:56px}@supports (color:color-mix(in lab,red,red)){.plan-diamond{background:linear-gradient(145deg,var(--green),color-mix(in srgb,var(--green) 55%,var(--accent)) 55%,var(--green))}}.plan-diamond{filter:drop-shadow(0 12px 10px #20c9952e)}.plan-features{gap:11px;margin:14px 0 4px;display:grid}.plan-feature{color:var(--text-primary);align-items:center;gap:9px;font-size:13px;display:flex}.plan-feature.muted{color:var(--text-secondary)}.plan-check{color:var(--ok)}.plan-check,.plan-dash{width:18px;height:18px;flex:0 0 18px}.plan-dash{color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.plan-price{align-items:baseline;gap:8px;margin-top:16px;display:flex}.plan-note{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.plan-cta{margin-top:auto;padding-top:18px}.tg-offer{border:1px solid var(--border);border-top:3px solid var(--green);background:radial-gradient(circle at 92% 0,var(--purple),transparent 38%),linear-gradient(120deg,var(--card) 0,var(--card-2) 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;display:flex}@supports (color:color-mix(in lab,red,red)){.tg-offer{background:radial-gradient(circle at 92% 0,color-mix(in srgb,var(--purple) 22%,transparent),transparent 38%),linear-gradient(120deg,var(--card) 0,color-mix(in srgb,var(--card-2) 70%,var(--card)) 100%)}}.tg-offer-copy{max-width:560px}.tg-offer-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:900;display:inline-block}@supports (color:color-mix(in lab,red,red)){.tg-offer-eyebrow{color:color-mix(in srgb,var(--green) 55%,var(--text-primary))}}.tg-offer-eyebrow{background:var(--green)}@supports (color:color-mix(in lab,red,red)){.tg-offer-eyebrow{background:color-mix(in srgb,var(--green) 18%,var(--card))}}.tg-offer-eyebrow{border-radius:999px;padding:4px 10px}.tg-offer .primary-btn{background:var(--green);color:#0e1014;border:none}.tg-offer .primary-btn:hover:not(:disabled){filter:brightness(1.04)}.tg-offer h2{letter-spacing:-.4px;margin:12px 0 6px;font-size:23px}.tg-offer p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.tg-offer-price{align-items:baseline;gap:9px;margin:16px 0 14px;display:flex}.tg-offer-art{justify-content:center;align-items:center;display:flex}.tg-gem{clip-path:polygon(50% 0,95% 34%,74% 100%,26% 100%,5% 34%);background:linear-gradient(145deg,var(--green),var(--green) 55%,var(--green));width:110px;height:96px}@supports (color:color-mix(in lab,red,red)){.tg-gem{background:linear-gradient(145deg,var(--green),color-mix(in srgb,var(--green) 55%,var(--accent)) 55%,var(--green))}}.tg-gem{filter:drop-shadow(0 18px 18px #20c99538);transform:rotate(-2deg)}.tg-offer-note{font-size:13px}.tg-overlay{z-index:600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a0e8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.tg-modal{text-align:center;border-top:3px solid var(--green);width:100%;max-width:460px;max-height:calc(100dvh - 40px);padding:28px 26px;position:relative;overflow:auto}.tg-close{background:var(--card-2);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}[dir=rtl] .tg-close{left:12px;right:auto}.tg-big{background:var(--green);border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto 12px;display:grid}@supports (color:color-mix(in lab,red,red)){.tg-big{background:color-mix(in srgb,var(--green) 18%,var(--card))}}.tg-big{color:var(--green);font-size:24px}.tg-big.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.tg-big.ok{background:color-mix(in srgb,var(--ok) 20%,var(--card))}}.tg-big.ok{color:var(--ok)}.tg-glyph{font-size:26px;line-height:1}.tg-modal h2{margin:6px 0 8px;font-size:21px}.tg-modal p{color:var(--text-secondary);margin:0 0 4px;font-size:13px;line-height:1.55}.tg-widget{justify-content:center;margin:16px 0 4px;display:flex}.tg-widget-wrap{margin:14px 0 4px}.tg-or{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:4px 0;font-size:11px}.tg-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline;display:inline-block}.tg-connected{color:var(--ok);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;display:inline-flex}.tg-connected svg{width:20px;height:20px}.tg-join-btn{background:var(--green);color:#0e1014;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;margin:10px auto 4px;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.tg-status{color:var(--text-secondary);min-height:16px;margin-top:12px;font-size:12px}.tg-error{background:var(--card-2);border:1px solid var(--border);color:var(--text-primary);border-radius:12px;margin-top:14px;padding:10px 12px;font-size:12px;line-height:1.5}.tg-progress{gap:6px;margin:0 0 18px;display:flex}.tg-bar{background:var(--border);border-radius:10px;flex:1;height:5px;transition:background .3s}.tg-bar.on{background:var(--green)}.tg-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}@media (max-width:900px){.packs-grid{grid-template-columns:1fr}}@media (max-width:750px){.packs-page{gap:14px;padding:0}.packs-page>.header{justify-content:flex-start;margin:0 0 2px}.packs-page>.header .eyebrow{display:none}.packs-page>.header h1{letter-spacing:-.5px;margin:0 0 4px;font-size:24px;display:block}.packs-page>.header .subtitle{font-size:13px;display:block}.packs-current{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.packs-current .pc-name{font-size:18px}.packs-current .pc-right{justify-content:space-between;gap:10px;width:100%}.packs-current .pc-stat{min-width:4ch}.packs-current .primary-btn.small{justify-content:center;width:100%;min-height:44px;margin-top:2px}.tg-offer{flex-direction:column;align-items:stretch;gap:14px;padding:20px 18px}.tg-offer-art{display:none}.tg-offer h2{font-size:20px}.tg-offer .primary-btn{justify-content:center;width:100%;min-height:44px}.packs-grid{grid-template-columns:1fr;gap:16px}.plan-card{padding:22px 18px 20px}.plan-tagline{max-width:none}.plan-cta .ghost-btn,.plan-cta .primary-btn{justify-content:center;width:100%;min-height:44px}.packs-foot{padding-bottom:calc(env(safe-area-inset-bottom) + 4px);line-height:1.55}.tg-overlay{padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px)}.tg-modal{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px);padding:24px 18px 22px}.tg-modal h2{font-size:20px}.tg-modal .ghost-btn,.tg-modal .primary-btn{justify-content:center;width:100%;min-height:44px}.tg-actions{flex-direction:column}.tg-actions .ghost-btn,.tg-actions .primary-btn{justify-content:center;width:100%;min-height:44px}}.upgrade-overlay{z-index:120;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a0e8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.upgrade-modal{text-align:center;border-top:3px solid var(--purple);max-width:380px;padding:28px 24px;position:relative}.upgrade-icon{background:var(--purple);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.upgrade-icon{background:color-mix(in srgb,var(--purple) 22%,var(--card))}}.upgrade-icon{color:var(--purple)}.upgrade-icon svg{width:28px;height:28px}.upgrade-modal h3{margin:0 0 8px}.upgrade-modal .primary-btn{margin-top:16px}.upgrade-close{position:absolute;top:10px;right:10px}.ai-usage{background:var(--card-2);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.ai-usage svg{width:16px;height:16px}.ai-usage-bar{background:var(--border);border-radius:999px;width:80px;height:6px;overflow:hidden}.ai-usage-bar i{background:var(--green);height:100%;display:block}.ai-usage-count{color:var(--text-primary);font-weight:700}.ai-usage-empty{color:var(--purple);font-weight:700;text-decoration:none}.email-gate-wrap{justify-content:center;padding:40px 0;display:flex}.email-gate{text-align:center;border-top:3px solid var(--yellow);max-width:440px;padding:32px 26px}.email-gate h2,.email-gate h3{margin:10px 0 8px}.email-gate .primary-btn{margin-top:16px}.ai-gate{justify-content:center;align-items:center;display:flex}.materials-page{flex-direction:column;gap:16px;display:flex}.materials-included,.materials-locked{text-align:center;max-width:520px;padding:30px 26px}.materials-included{border-top:3px solid var(--blue)}.materials-locked{border-top:3px solid var(--yellow)}.materials-included .upgrade-icon,.materials-locked .upgrade-icon{margin:0 auto 12px}.gc-trial{color:var(--text-secondary);align-items:center;gap:5px;margin:2px 0 4px;font-size:11px;font-weight:700;display:inline-flex}.gc-trial svg{width:13px;height:13px}.sub-change{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.sub-change select{border:1px solid var(--border);background:var(--card);color:var(--text-primary);border-radius:8px;padding:5px 8px;font-size:12px}.wh-tz{align-items:center;gap:8px;margin-bottom:12px;display:flex}.wh-tz label{color:var(--text-secondary);font-size:12px}.wh-tz select,.wh-weeks select{border:1px solid var(--border);background:var(--card-2);color:var(--text-primary);border-radius:10px;padding:7px 9px;font-size:13px}.wh-grid{flex-direction:column;gap:6px;display:flex}.wh-row{background:var(--card-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.wh-row.on{border-color:var(--green);background:#5fbf4a1a}.wh-toggle{border:1px solid var(--border);background:var(--card);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.wh-toggle.on{background:var(--green);color:#0e1014;border-color:var(--green)}.wh-day{width:92px;color:var(--text-primary);font-size:13px;font-weight:600}.wh-times{align-items:center;gap:6px;display:flex}.price-in,.wh-times input{border:1px solid var(--border);background:var(--card);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-size:13px}.wh-dash,.wh-off{color:var(--text-secondary)}.wh-off{font-size:12px;font-style:italic}.wh-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.wh-weeks{color:var(--text-secondary);display:inline-flex}.ok-note,.wh-weeks{align-items:center;gap:6px;font-size:12px}.ok-note{color:#2f9e1f;margin-top:10px;display:flex}.tag-gen{background:var(--card-2);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.slot-right{align-items:center;gap:8px;display:inline-flex}.slot-x{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px;display:inline-flex}.slot-x:hover{color:#e0323f;background:#e0323f1f}.join-btn{background:var(--green);color:#0e1014;border-radius:10px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.join-btn:hover{filter:brightness(1.05)}.lesson{gap:16px;max-width:780px;margin:0 auto;padding:18px 18px 40px}.lesson-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-back{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.lesson-back:hover,.lesson-badge{color:var(--accent)}.lesson-badge{background:var(--accent-soft);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.lesson-head h1{color:var(--text-primary);margin:0 0 12px;font-size:26px;line-height:1.2}.lesson-progress{align-items:center;gap:12px;display:flex}.lesson-bar{background:var(--card-2);border-radius:999px;flex:1;height:8px;overflow:hidden}.lesson-bar i{background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:999px;height:100%;transition:width .3s;display:block}.lesson-pctr{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.lesson-dots{flex-wrap:wrap;gap:8px;display:flex}.lesson-dot{border:1px solid var(--border);background:var(--card);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.lesson-dot.is-active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lesson-dot.is-done{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.lesson-dot svg{width:16px;height:16px}.lesson-page{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:24px 22px;animation:lessonFade .25s;display:flex}@keyframes lessonFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lesson-page-title{color:var(--text-primary);margin:0 0 2px;font-size:20px}.lesson-intro{background:var(--card-2);border-left:3px solid var(--accent);border-radius:12px;margin:0;padding:14px 16px;font-size:14px;line-height:1.55}.lesson-h,.lesson-intro{color:var(--text-primary)}.lesson-h{margin:6px 0 0;font-size:17px}.lesson-p{margin:0;font-size:15px;line-height:1.7}.lesson-note,.lesson-p{color:var(--text-primary)}.lesson-note{border:1px solid var(--yellow);background:#ffd58c24;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.55}.lesson-note svg{color:var(--warn);flex:none;width:18px;height:18px;margin-top:1px}.block-intro{color:var(--text-secondary);margin:0 0 4px;font-size:13px;font-style:italic}.vocab-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.vocab-card{text-align:left;background:var(--card-2);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);border-radius:14px;padding:12px 14px;transition:border-color .15s,background .15s}.vocab-card:hover{border-color:var(--accent)}.vocab-card.is-open{border-color:var(--green);background:#5fbf4a1a}.vocab-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.vocab-word{font-size:16px;font-weight:700}.vocab-tools{color:var(--text-secondary);align-items:center;gap:8px;display:inline-flex}.vocab-speak{cursor:pointer;border-radius:8px;padding:3px;display:inline-flex}.vocab-speak:hover{color:var(--accent);background:var(--accent-soft)}.vocab-chev{width:16px;height:16px}.vocab-ru{flex-direction:column;gap:3px;margin-top:10px;display:flex}.vocab-mean{color:var(--accent);font-size:15px;font-weight:600}.vocab-note{color:var(--text-secondary);font-size:12.5px}.dialogue-lines{flex-direction:column;gap:8px;display:flex}.dialogue-line{background:var(--card-2);border:1px solid var(--border);border-radius:12px;grid-template-columns:84px 1fr;align-items:baseline;gap:10px;padding:10px 12px;display:grid}.dialogue-who{color:var(--accent);font-size:12px;font-weight:700}.dialogue-en{color:var(--text-primary);font-size:15px}.dialogue-ru{color:var(--text-secondary);grid-column:2;font-size:13.5px}.quiz{flex-direction:column;gap:10px;display:flex}.quiz-q{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.quiz-opts{flex-direction:column;gap:8px;display:flex}.quiz-opt{text-align:left;background:var(--card-2);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:14.5px;transition:all .12s;display:flex}.quiz-opt:hover:not(:disabled){border-color:var(--accent)}.quiz-opt:disabled{cursor:default}.quiz-mark{background:var(--card-3);width:24px;height:24px;color:var(--text-secondary);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.quiz-opt.is-correct{border-color:var(--ok);background:#10b9811f}.quiz-opt.is-correct .quiz-mark{background:var(--ok);color:#fff}.quiz-opt.is-wrong{border-color:var(--bad);background:#ef44441a}.quiz-opt.is-wrong .quiz-mark{background:var(--bad);color:#fff}.quiz-feedback{border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13.5px;line-height:1.5;display:flex}.quiz-feedback.ok{color:var(--text-primary);background:#10b9811f}.quiz-feedback.bad{color:var(--text-primary);background:#ef44441a}.quiz-feedback svg{flex:none;width:17px;height:17px;margin-top:1px}.fill-sentence{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:16px;display:flex}.fill-input{border:1px solid var(--border);background:var(--card);width:130px;color:var(--text-primary);border-radius:10px;padding:7px 10px;font-size:15px}.fill-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.fill-input.ok{border-color:var(--ok)}.fill-input.bad{border-color:var(--bad)}.fill-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fill-msg{align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.fill-msg.ok{color:var(--ok)}.fill-msg.bad{color:var(--bad)}.match-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.match-col{flex-direction:column;gap:8px;display:flex}.match-item{border:1px solid var(--border);background:var(--card-2);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:12px;padding:11px 13px;font-size:14.5px;transition:all .12s}.match-item.left.sel{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.match-item.done{border-color:var(--ok);color:var(--text-secondary);cursor:default;background:#10b9811f}.match-item.right.wrong{border-color:var(--bad);background:#ef44441f}.lesson-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.lesson-locked{max-width:640px;margin:40px auto;padding:0 18px}.primary-btn{background:var(--accent);color:var(--accent-contrast);border:none;gap:7px}.primary-btn:hover{filter:brightness(1.05)}.ghost-btn{border-radius:12px;gap:7px;padding:11px 16px;font-size:14px}.ghost-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wt-wrap{position:relative}.wt-pop{z-index:1000;background:var(--card);border:1px solid var(--border);min-width:200px;max-width:320px;box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 12px))}.wt-word{color:var(--text-primary);word-break:break-word;max-height:60px;font-size:14px;font-weight:700;overflow:auto}.wt-actions{align-items:center;gap:6px;display:flex}.wt-btn{border:1px solid var(--border);background:var(--card-2);color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:5px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.wt-btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.wt-btn:hover{filter:brightness(1.05)}.wt-btn:disabled{opacity:.5;cursor:default}.wt-result{flex-direction:column;gap:2px;display:flex}.wt-ru{color:var(--accent);word-break:break-word;font-size:16px;font-weight:700}.wt-src{color:var(--text-secondary);font-size:11px}.wt-error{color:var(--bad);font-size:13px}@media (max-width:560px){.match-cols,.vocab-grid{grid-template-columns:1fr}.lesson{padding:14px 12px 32px}.lesson-page{padding:18px 16px}.dialogue-line{grid-template-columns:70px 1fr}}.info.games{background:linear-gradient(145deg,#d6f7e2,#bfe9f7)}.info.games .muted{color:#2c6b50}.info.games h2{color:#143b2c}[data-theme=dark] .info.games{background:linear-gradient(145deg,#11342a,#0f2c3a)}[data-theme=dark] .info.games .muted{color:#9fd9c4}[data-theme=dark] .info.games h2{color:#e7fbf3}.tour-dim{z-index:9000;background:#0a0c148c;animation:tourFade .2s;position:fixed;inset:0}.tour-spotlight{border:2px solid var(--accent);z-index:9001;pointer-events:none;border-radius:14px;transition:top .25s,left .25s,width .25s,height .25s;position:fixed;box-shadow:0 0 0 6px #258bb040}.tour-tip{z-index:9002;background:var(--card);width:320px;max-width:calc(100vw - 24px);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:16px;padding:18px 16px 14px;animation:tourPop .22s;position:fixed}.tour-tip h3{margin:6px 0;font-size:16px;font-weight:800}.tour-tip p{margin:0;font-size:13px;line-height:1.5}.tour-skip,.tour-tip p{color:var(--text-secondary)}.tour-skip{cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700;position:absolute;top:10px;right:12px}.tour-skip:hover{color:var(--text-primary)}.tour-step{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:11px}.tour-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.tour-btn{background:var(--text-primary);color:var(--text-inverse);cursor:pointer;border:0;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;transition:transform .15s}.tour-btn:hover{transform:translateY(-1px)}.tour-btn.ghost{background:var(--card-2);color:var(--text-primary)}@keyframes tourFade{0%{opacity:0}to{opacity:1}}@keyframes tourPop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tab-menu-backdrop{z-index:650;background:#0a0c1473;position:fixed;inset:0}.tab-menu-sheet{z-index:660;background:var(--card);border-top:1px solid var(--border);padding:8px 14px calc(env(safe-area-inset-bottom,0px) + 14px);border-top-left-radius:18px;border-top-right-radius:18px;max-height:70vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 30px #0000002e}.tab-menu-handle{background:var(--border);border-radius:999px;width:40px;height:4px;margin:6px auto 10px}.tab-menu-list{flex-direction:column;gap:4px;display:flex}.tab-menu-item{color:var(--text-primary);background:var(--card-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:14px 12px;font-size:16px;text-decoration:none;display:flex}.tab-menu-item:active{transform:scale(.99)}.tab-menu-item svg{width:22px;height:22px;color:var(--green);flex:none}[data-theme=dark] .tab-menu-sheet{box-shadow:0 -10px 30px #00000080}.ai-fab{z-index:550;background:linear-gradient(135deg,var(--green),#4cc7a0);color:#0e1014;cursor:grab;touch-action:none;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;box-shadow:0 8px 22px #00000047}.ai-fab:active{cursor:grabbing}.ai-fab svg{width:28px;height:28px}.ai-overlay{z-index:700;background:var(--card);flex-direction:column;display:flex;position:fixed;inset:0}.ai-overlay-bar{padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:var(--card-2);border-bottom:1px solid var(--border);color:var(--text-primary);flex:none;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;display:flex}.ai-overlay-bar span{align-items:center;gap:8px;display:inline-flex}.ai-overlay-bar svg{width:22px;height:22px;color:var(--green)}.ai-overlay-exit{border:1px solid var(--border);background:var(--card);width:38px;height:38px;color:var(--text-primary);cursor:pointer;border-radius:10px;font-size:18px}.ai-overlay-body,.ai-overlay-body .chat-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.ai-overlay-body .chat-panel{border:0;border-radius:0}[data-theme=dark] .ai-fab{box-shadow:0 8px 22px #00000080}[data-theme=dark] .ai-overlay-bar{background:var(--card-2)}.game .primary-btn.full,.gp-locked .primary-btn.full{width:100%;margin-top:6px}.sidebar{transition:transform .25s,opacity .2s}.appbar-menu{border:1px solid var(--border);background:var(--card-2);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.appbar-menu:hover{border-color:var(--accent)}.sidebar-close{border:1px solid var(--border);background:var(--card-2);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.sidebar-close:hover{color:var(--text-primary)}.nav-backdrop,.nav-fab{display:none}.nav-fab{z-index:300;border:1px solid var(--border);background:var(--card);width:42px;height:42px;color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;position:fixed;top:14px;left:14px;box-shadow:0 8px 22px #0e10142e}.nav-fab:hover{border-color:var(--accent)}@media (min-width:751px){.app.nav-closed .nav-fab{display:flex}}.app.nav-closed{grid-template-columns:0 1fr 320px}.app.no-right.nav-closed{grid-template-columns:0 1fr}.app.nav-closed .sidebar{opacity:0;pointer-events:none;transform:translate(-100%)}@media (max-width:750px){.app.nav-open .sidebar{z-index:210;opacity:1;pointer-events:auto;width:264px;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(0)}.app.nav-open .nav-backdrop{z-index:205;display:block;position:fixed;inset:0}}.lesson:hover,.slot-card:hover{z-index:25;overflow:visible}.slot-tip{color:#fff;white-space:nowrap;text-align:center;opacity:0;pointer-events:none;z-index:60;background:#0e1014;border-radius:9px;padding:6px 10px;font-size:11px;font-weight:700;line-height:1.35;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0e10144d}.lesson:hover .slot-tip,.slot-card:hover .slot-tip{opacity:1}.slot-tip .tip-day{color:#8fd6ff;display:block}*{box-sizing:border-box}body,html{min-height:100dvh;font-family:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text-primary);background:var(--page-bg);background-attachment:fixed;margin:0}html{background:var(--bg)}button{cursor:pointer}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.muted{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.muted:where(.plain,[data-plain]){text-transform:none;letter-spacing:0}.primary-btn{background:var(--green);color:#14210a;border-radius:14px;align-items:center;gap:8px;padding:11px 18px;transition:transform .12s;display:inline-flex;box-shadow:0 6px 16px #78b42840}.primary-btn:hover{transform:translateY(-1px)}.primary-btn.full{justify-content:center;width:100%}.primary-btn.small{padding:8px 13px}.ghost-btn{color:var(--text-primary);border:1px solid var(--border);border-radius:22px;align-items:center;gap:8px;padding:10px 16px;font-weight:700;transition:all .2s;display:inline-flex}.ghost-btn:hover{border-color:var(--accent);box-shadow:0 4px 14px #258bb01f}.ghost-btn.small{padding:7px 12px;font-size:13px}.field{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text-primary);border-radius:14px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.field::placeholder{color:var(--text-secondary)}.field:focus{border-color:var(--accent)}.ai-input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text-primary);resize:vertical;border-radius:14px;outline:none;min-height:96px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s}.ai-input::placeholder{color:var(--text-secondary)}.ai-input:focus{border-color:var(--accent)}.link{color:var(--accent);font-weight:600}.link:hover{text-decoration:underline}.card{background:var(--card);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden}.card,.card.soft{box-shadow:var(--shadow)}.card-title{margin:0;font-size:16px;font-weight:800}.card.green{background:var(--green)}.card.cyan{background:var(--cyan)}.card.yellow{background:var(--yellow)}.card.blue{background:var(--blue)}.card.purple{background:var(--purple)}.card.pink{background:var(--pink)}.pill{background:var(--green);color:#14210a;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.pill.outline{background:var(--card);border:1px solid var(--border);color:var(--text-primary)}.pill.blue{background:var(--blue)}.pill.purple{background:var(--purple)}.tag{background:var(--card-2);color:var(--text-secondary);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.tag.active{background:var(--text-primary);color:var(--card)}.tag-btn{border:1px solid var(--border);background:var(--card);color:var(--text-primary);cursor:pointer;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.tag-btn.active,.tag-btn:hover{border-color:var(--accent)}.tag-btn.active{background:var(--accent);color:var(--accent-contrast)}.badge{color:#124f38;background:#68d9a2;padding:2px 6px}.section-title{color:var(--text-secondary);margin:18px 0 10px;font-size:15px;font-weight:700}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:0 2px 18px;display:flex}.page-title{margin:0;font-size:25px;font-weight:800}.page-head .eyebrow{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:11px}.page-head .muted{text-transform:none;letter-spacing:0}.stat{flex-direction:column;gap:2px;display:flex}.stat-num{font-size:22px;font-weight:800}.stat-row{flex-wrap:wrap;gap:18px;display:flex}.grid-2{grid-template-columns:1fr 1fr}.grid-2,.grid-3{gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mb-3{margin-bottom:12px}.p-4{padding:16px}.full{width:100%}.center{text-align:center}.small{font-size:12px}.auth-page{grid-template-columns:1.1fr 1fr;align-items:stretch;min-height:100dvh;display:grid}.auth-aside{flex-direction:column;justify-content:center;gap:14px;padding:8vh 6vw;display:flex}.auth-aside h2{margin:8px 0;font-size:34px;font-weight:800}.auth-aside .muted{text-transform:none;letter-spacing:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.auth-card{background:var(--glass-strong);border:1px solid var(--border);border-radius:28px;align-self:center;gap:14px;width:100%;max-width:420px;margin:6vh auto;padding:34px;box-shadow:0 30px 80px #59627b2e}.auth-card,.auth-form label{flex-direction:column;display:flex}.auth-form label{color:var(--text-primary);gap:6px;font-size:13px;font-weight:600}.auth-title{margin:0;font-size:22px;font-weight:800}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-error{color:#b42318;background:#fde8e8}.auth-error,.auth-success{border-radius:12px;padding:10px 12px;font-size:13px}.auth-success{color:#15803d;background:#e7f6ec}.auth-foot{margin-top:4px;font-size:13px}.auth-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-back-link{margin-bottom:8px;display:block}.demo-row{flex-direction:column;gap:8px;margin-top:4px;display:flex}.demo-row .muted{text-transform:none;letter-spacing:0}.demo-btns{flex-wrap:wrap;gap:8px;display:flex}.acct-choice{background:var(--glass-strong);border:1px solid var(--border);border-radius:28px;flex-direction:column;align-self:center;gap:14px;width:100%;max-width:680px;margin:6vh auto;padding:34px;display:flex;box-shadow:0 30px 80px #59627b2e}.acct-back{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:600}.acct-cards{grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;display:grid}.acct-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px;transition:transform .15s,box-shadow .15s;display:flex}.acct-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.acct-card.student{border-top:3px solid var(--green);background:var(--green)}@supports (color:color-mix(in lab,red,red)){.acct-card.student{background:color-mix(in srgb,var(--green) 7%,var(--card))}}.acct-card.teacher{border-top:3px solid var(--blue);background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.acct-card.teacher{background:color-mix(in srgb,var(--blue) 7%,var(--card))}}.acct-icon{color:#0e1014;border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.acct-card.student .acct-icon{background:var(--green)}.acct-card.teacher .acct-icon{background:var(--blue)}.acct-name{color:var(--text-primary);font-size:18px;font-weight:800}.acct-desc{color:var(--text-secondary);flex:1;font-size:13px;line-height:1.5}.acct-cta{color:var(--accent);gap:6px;font-size:13px}.acct-cta,.acct-ghost{align-items:center;font-weight:700;display:inline-flex}.acct-ghost{border:1px solid var(--border);background:var(--card-2);width:100%;color:var(--text-primary);cursor:pointer;border-radius:22px;justify-content:center;gap:8px;padding:12px 16px;transition:all .15s}.acct-ghost:hover{border-color:var(--accent)}.brand{align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand.big{font-size:22px}.brand-mark,.logo{width:31px;height:31px;color:var(--accent);background:linear-gradient(145deg,#fff,#c9d9e9);border-radius:9px;place-items:center;font-size:14px;display:grid;box-shadow:inset 2px 2px 4px #fff,2px 4px 8px #6b768621}.brand-name{letter-spacing:-.3px}.booking-row,.exam-card,.feature,.flip-card,.game-card,.island,.lesson,.quiz-opt,.recent-row,.slot-list>*,.stu-list>*,.t-card,.up-item{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.booking-row,.lesson-row,.recent-row,.slot-list>*,.up-item{align-items:center;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex}.booking-row:last-child,.lesson-row:last-child,.recent-row:last-child,.up-item:last-child{margin-bottom:0}.up-meta{flex-direction:column;display:flex}.up-meta strong{font-size:14px}.up-meta .muted{text-transform:none;letter-spacing:0;font-size:12px}.recent-row{justify-content:space-between}.achieve-grid,.game-grid,.islands,.memory-grid,.teacher-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.games-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.game-card{flex-direction:column;gap:10px;padding:18px;display:flex}.game-meta{color:var(--text-secondary);font-size:12px}.game-hud{align-items:center;gap:10px;display:flex}.flip-card,.flip-inner,.game-modal{border-radius:var(--radius)}.game-word{text-align:center;padding:20px 0;font-size:28px;font-weight:800}.lesson{flex-direction:column;gap:10px;padding:16px;display:flex}.lesson-head{align-items:center;gap:12px;display:flex}.boss-emoji,.feature-emoji,.game-emoji,.lesson-emoji,.tile-avatar{background:var(--cyan);border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.lesson-title{font-weight:700}.lesson-body{color:var(--text-secondary);font-size:13px}.lesson-actions{gap:8px;display:flex}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:24px;display:grid}.hero-copy h1,.hero-text h1{margin:0 0 12px;font-size:40px;font-weight:800}.hero-stats{gap:22px;margin-top:16px}.hero-actions,.hero-stats{flex-wrap:wrap;display:flex}.hero-actions{gap:10px;margin-top:18px}.boss,.float-card,.island{background:linear-gradient(145deg,var(--blue),var(--purple));place-items:center;display:grid}.boss,.float-card,.hero-art,.island{border-radius:28px;min-height:220px;padding:28px;position:relative;overflow:hidden}.hero-art{background:linear-gradient(145deg,var(--blue),var(--purple));justify-content:center;gap:12px;display:flex}.boss,.hero-art{flex-direction:column}.boss{background:linear-gradient(145deg,var(--pink),var(--yellow));gap:10px}.boss-info{text-align:center}.exam-card{flex-direction:column;gap:14px;padding:22px;display:flex}.exam-footer,.exam-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-title{font-size:18px;font-weight:800}.exam-progress,.progress-track{background:var(--card-2);border-radius:99px;height:8px;overflow:hidden}.quiz-q{font-size:18px;font-weight:700}.option,.quiz-opt{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.option:hover,.quiz-opt:hover{border-color:var(--accent)}.option.selected,.quiz-opt.selected{border-color:var(--accent);background:var(--accent-soft)}.quiz-opt.correct{border-color:var(--ok);background:#e9f9f0}.quiz-opt.incorrect,.quiz-opt.wrong{border-color:var(--bad);background:#fdeeee}.quiz-opt.chosen{border-color:var(--accent);background:var(--accent-soft)}.quiz-opts{gap:10px;margin-top:10px;display:grid}.opt-letter{border-radius:50%;width:28px;height:28px;font-size:13px;font-weight:700}.exam-result,.results-card{text-align:center}.exam-intro,.exam-play{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.exam-badges{flex-wrap:wrap;justify-content:center}.live-main,.live-stage,.video-grid,.video-tile{color:#fff;background:#11131a;border-radius:18px;overflow:hidden}.live-stage{place-items:center;min-height:420px;display:grid;position:relative}.video-grid{grid-template-columns:1fr 1fr;gap:8px;padding:8px}.video-tile{place-items:center;min-height:180px;display:grid}.tile-avatar,.v-avatar{background:linear-gradient(145deg,#9a614f,#f2c0a4)}.v-name{background:#0006;border-radius:10px;padding:2px 8px;font-size:12px;position:absolute;bottom:8px;left:8px}.live-side{flex-direction:column;gap:12px;display:flex}.live-controls{justify-content:center;gap:10px;padding:12px;display:flex}.chat-log,.live-chat{flex-direction:column;flex:1;gap:8px;display:flex;overflow:auto}.chat-msg{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:9px 10px;font-size:13px}.chat-form{gap:8px;display:flex}.toolbar{background:#1b1e27;border-radius:14px;gap:8px;padding:10px}.stat-card{border-radius:var(--radius);padding:18px}.material-grid,.notif-list,.schedule-list,.slot-list,.stu-list,.student-list{flex-direction:column;gap:10px;display:flex}.mat-item,.notif-item,.sch-item,.stu-list>*,.student-item{background:var(--card);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.stu-meta{flex-direction:column;display:flex}.s-avatar,.tile-avatar,.v-avatar{border-radius:50%;width:40px;height:40px}.s-info{flex-direction:column;display:flex}.s-xp{margin-left:auto;font-weight:800}.t-card{flex-direction:column;gap:8px;padding:18px;display:flex}.t-profile{align-items:center;gap:12px;display:flex}.quick-actions,.t-reviews{flex-wrap:wrap;gap:10px;display:flex}.chart-bar{background:var(--blue);border-radius:8px}.chart-labels{color:var(--text-secondary);font-size:11px}.booking-row{justify-content:space-between}.booking-actions{gap:8px;display:flex}.slot{background:var(--card);box-shadow:var(--shadow);border-radius:14px;margin-bottom:10px;padding:12px 14px}.slot.selected{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.slot-form{flex-direction:column;gap:12px;display:flex}.market{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.market-filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.teacher-detail{flex-direction:column;gap:12px;display:flex}.teacher-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.teacher-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:18px;transition:transform .35s,opacity .35s;display:flex}.teacher-card.pos-center{z-index:5;opacity:1;transform:scale(1.05)}.teacher-card.pos-left,.teacher-card.pos-right{opacity:.82;z-index:3;transform:scale(.86)}.teacher-card.pos-far-left,.teacher-card.pos-far-right{opacity:.45;z-index:1;transform:scale(.72)}.flip-card{perspective:1000px;padding:0}.flip-inner{transform-style:preserve-3d;place-items:center;min-height:160px;padding:20px;transition:transform .5s;display:grid}.flip-back,.flip-front{backface-visibility:hidden}.flip-back{position:absolute}.flip-back,.flip-card.open .flip-inner{transform:rotateY(180deg)}.flip-card.wrong .flip-inner{animation:flipShake .4s;transform:rotateY(180deg)}@keyframes flipShake{0%,to{transform:rotateY(180deg)translate(0)}25%{transform:rotateY(180deg)translate(-6px)}75%{transform:rotateY(180deg)translate(6px)}}.islands{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.island{flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.island.locked{opacity:.5;filter:grayscale(.7)}.island.cleared{outline:2px solid var(--ok);outline-offset:-2px}.island-emoji{font-size:28px}.features{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.feature{flex-direction:column;gap:8px;padding:20px;display:flex}.float-card{color:var(--text-primary)}.score{font-size:39px;font-weight:800}.big-score{font-size:52px;font-weight:800}.bars{align-items:flex-end;gap:6px;height:60px;display:flex}.bar-col{background:var(--cyan);border-radius:6px;width:14px}.band{background:var(--green);border-radius:12px;padding:4px 10px;font-size:12px;font-weight:700}.band,.online-dot{display:inline-block}.online-dot{background:var(--ok);border-radius:50%;width:9px;height:9px}.status{background:var(--card-2);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.status.done,.status.ok{color:var(--ok);background:#e9f9f0}.status.locked{background:var(--card-2);color:var(--text-secondary)}.rating{color:#f5a623;letter-spacing:1px}.review{color:var(--text-secondary);font-size:13px}.card .muted{text-transform:uppercase;letter-spacing:.5px}.landing{max-width:1200px;margin:0 auto;padding:0 24px 60px}.land-nav{justify-content:space-between;align-items:center;padding:22px 0;display:flex}.land-foot{text-align:center;border-top:1px solid var(--border);color:var(--text-secondary);margin-top:40px;padding:30px 0;font-size:12px}.page{max-width:1100px;min-height:100dvh;margin:0 auto;padding:0 24px 60px}.page-body{margin-top:18px}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.upcoming,.word-list{gap:10px}.upcoming,.word-item,.word-list{flex-direction:column;display:flex}.word-item{background:var(--card);box-shadow:var(--shadow);border-radius:16px;gap:8px;padding:14px}.word-foot{align-items:center;gap:10px;display:flex}.word-foot>:first-child{flex:1}.carousel{position:relative}.carousel-stage{scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px;display:flex;overflow-x:auto}.carousel-stage>*{scroll-snap-align:start;flex:none}.carousel-nav{justify-content:center;gap:10px;margin-top:16px;display:flex}.tc-top{position:relative}.tc-top .avatar,.tc-top>div:first-child{border:3px solid var(--card)}.tc-head{color:var(--text-secondary);margin:0;font-size:13px}.tc-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tc-foot{align-items:center;gap:10px;margin-top:auto;padding-top:6px;display:flex}.langs{color:var(--text-secondary);margin-top:8px;font-size:12px}.price{font-weight:800}.booking-panel{border-radius:var(--radius);padding:18px}.booking-panel,.teacher-empty{background:var(--card);box-shadow:var(--shadow)}.teacher-empty{text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:22px 18px;display:flex}.teacher-empty .small-avatar{margin-bottom:4px}.feedback-note{color:var(--text-secondary);margin:4px 4px 10px;font-size:11px;line-height:1.5}.chat-empty{font-size:12px;line-height:1.5}@media (max-width:1100px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.auth-page,.hero{grid-template-columns:1fr}.auth-card{margin:4vh auto}.auth-aside{padding:6vh 8vw 0}}@media (max-width:750px){.acct-cards,.features,.game-grid,.grid-2,.grid-3,.grid-4,.islands,.market,.teacher-grid{grid-template-columns:1fr}.acct-choice{margin:4vh auto;padding:24px 18px}.acct-card{padding:18px 16px}}[data-theme=dark] .primary-btn{background:var(--accent);color:var(--accent-contrast)}[data-theme=dark] .pill{color:var(--text-primary)}[data-theme=dark] .auth-error{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .auth-error{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .auth-error{color:var(--bad)}[data-theme=dark] .auth-success{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .auth-success{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .auth-success{color:var(--ok)}[data-theme=dark] .quiz-opt.correct{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .quiz-opt.correct{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .quiz-opt.correct{color:var(--ok)}[data-theme=dark] .quiz-opt.incorrect,[data-theme=dark] .quiz-opt.wrong{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .quiz-opt.incorrect,[data-theme=dark] .quiz-opt.wrong{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .quiz-opt.incorrect,[data-theme=dark] .quiz-opt.wrong{color:var(--bad)}[data-theme=dark] .status.done,[data-theme=dark] .status.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .status.done,[data-theme=dark] .status.ok{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .status.done,[data-theme=dark] .status.ok{color:var(--ok)}[data-theme=dark] .card.blue,[data-theme=dark] .card.cyan,[data-theme=dark] .card.green,[data-theme=dark] .card.pink,[data-theme=dark] .card.purple,[data-theme=dark] .card.yellow{background:var(--card-2);border:1px solid var(--border);color:var(--text-primary)}[data-theme=dark] .card.green{border-top:3px solid var(--green)}[data-theme=dark] .card.cyan{border-top:3px solid var(--cyan)}[data-theme=dark] .card.yellow{border-top:3px solid var(--yellow)}[data-theme=dark] .card.blue{border-top:3px solid var(--blue)}[data-theme=dark] .card.purple{border-top:3px solid var(--purple)}[data-theme=dark] .card.pink{border-top:3px solid var(--pink)}[data-theme=dark] .band{color:#0e1014}.tf-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.tf-tab{border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;box-shadow:var(--shadow);border-radius:99px;padding:9px 16px;font-size:13px;font-weight:700;transition:all .15s}.tf-tab:hover{color:var(--ink);border-color:var(--border-strong)}.tf-tab.active{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary);box-shadow:0 4px 14px #1112162e}.stat-card .delta{letter-spacing:.2px;background:var(--card-2);color:var(--muted);border-radius:99px;margin-top:10px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-block}.delta.up{color:#2f9e1f;background:#5fbf4a29}.delta.down{color:#e0323f;background:#ff5a6a24}.stat-sub{color:var(--muted);margin-top:10px;font-size:12px;font-weight:700;display:inline-block}.email-row .vrf{white-space:nowrap;border-radius:8px;flex:none;padding:2px 7px;font-size:10px;font-weight:700}.email-row .vrf.yes{color:#2f9e1f;background:#5fbf4a29}.email-row .vrf.no{background:var(--card-2);color:var(--text-secondary)}.live-panel{flex-direction:column;gap:16px;display:flex}.watch{color:#fff;background:linear-gradient(135deg,#0f1115,#1c2030);border-radius:20px;grid-template-columns:1fr 1fr;gap:14px 18px;padding:22px 24px;display:grid}.watch,.watch-top{align-items:center}.watch-top{grid-column:1/-1;gap:12px;display:flex}.live-dot{background:#46e06a;border-radius:50%;width:12px;height:12px;animation:livePulse 1.4s ease-out infinite;box-shadow:0 0 #46e06a99}@keyframes livePulse{0%{box-shadow:0 0 #46e06a8c}70%{box-shadow:0 0 0 12px #46e06a00}to{box-shadow:0 0 #46e06a00}}.watch-num{font-size:44px;font-weight:800;line-height:1}.watch-label{color:#c7ccd6;font-size:13px}.watch-mid{align-items:baseline;gap:8px;display:flex}.watch-num-sm{font-size:28px;font-weight:800}.watch-sub{color:#c7ccd6;font-size:12px}.watch-total{text-align:right;color:#aeb4c0;font-size:13px;font-weight:700}.live-chart{border:1px solid var(--line);background:var(--card);border-radius:16px;width:100%;height:auto;display:block}.live-points{gap:18px;font-weight:700}.live-legend,.live-points{color:var(--muted);font-size:12px;display:flex}.live-legend{gap:16px;margin:10px 0 4px}.chart-legend .lg.accounts{color:#5fbf4a}.chart-legend .lg.visitors,.live-legend .lg.visitors{color:#258bb0}.live-legend .lg.accounts{color:#7b5fd1}.live-note{color:var(--muted);text-align:center;margin:0;font-size:12px}.live-chart--smooth{shape-rendering:geometricprecision}.live-head-dot{animation:liveHeadPulse 1.1s ease-in-out infinite}@keyframes liveHeadPulse{0%,to{opacity:1}50%{opacity:.4}}.live-time{flex-direction:column;gap:8px;display:flex}.live-time-bar{flex-wrap:wrap;gap:14px;font-weight:700;display:flex}.live-btn,.live-time-bar{color:var(--muted);align-items:center;font-size:12px}.live-btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:99px;gap:7px;padding:6px 14px;font-weight:800;transition:all .15s;display:inline-flex}.live-btn .live-btn-dot{background:#b9bec7;border-radius:50%;width:9px;height:9px}.live-btn.on{color:#1f9e2e;background:#1f9e2e14;border-color:#1f9e2e66}.live-btn.on .live-btn-dot{background:#2fcf45;animation:livePulse 1.4s ease-out infinite}.live-range{font-variant-numeric:tabular-nums}.live-win{background:var(--card-2);color:var(--ink);border-radius:99px;padding:3px 10px}.live-hint{color:#aeb4c0;font-weight:600}.live-chart--time{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none}.admin-shell{background:var(--bg-secondary);grid-template-columns:212px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.admin-shell.collapsed{grid-template-columns:56px 1fr}.admin-sidebar{background:var(--card);border-right:1px solid var(--border);flex-direction:column;gap:6px;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0}.admin-brand{color:var(--ink);align-items:center;gap:8px;padding:2px 8px 8px;display:flex}.admin-brand .app-icon{color:var(--purple,#7b5fd1);flex:none}.brand-text{color:var(--text-primary);flex-direction:column;font-size:13px;font-weight:700;line-height:1.15;display:flex}.brand-text span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-size:9px;font-weight:600}.admin-shell.collapsed .brand-text{display:none}.admin-nav{flex-direction:column;flex:1;gap:1px;display:flex;overflow:hidden}.nav-item{color:var(--text-secondary);background:0 0;border:0;border-radius:8px;flex-direction:row;align-items:center;gap:9px;padding:7px 10px;font-size:11.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item .app-icon{stroke-width:1.6px;flex:none}.nav-item:hover{background:var(--card-2);color:var(--text-primary)}.nav-item.active{color:var(--purple,#7b5fd1);background:#7b5fd12e;font-weight:600}.admin-shell.collapsed .admin-nav{flex-direction:column;flex:none;gap:1px;display:flex}.admin-shell.collapsed .nav-item{white-space:nowrap;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:8px;width:100%;height:auto;min-height:34px;max-height:38px;padding:7px 10px;display:flex;overflow:hidden}.admin-shell.collapsed .nav-label{display:none}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:3px;padding-top:8px;display:flex}.sidebar-footer .ghost-btn{color:var(--text-secondary);text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;align-items:center;gap:8px;margin:0;padding:6px 9px;font-size:11px;font-weight:500;display:flex}.sidebar-footer .ghost-btn:hover{background:var(--card-2);color:var(--text-primary)}.admin-shell.collapsed .sidebar-footer .ghost-btn{justify-content:flex-start;padding:6px 9px}.admin-shell.collapsed .sidebar-footer .btn-label{display:none}.admin-main{padding:26px 30px 60px;overflow-x:hidden}.admin-head{margin-bottom:18px}.tab-body{flex-direction:column;gap:22px;display:flex}.toolbar{flex-wrap:wrap;margin-bottom:10px}.search{border:1px solid var(--line);background:var(--card);min-width:200px;color:var(--ink);border-radius:12px;flex:1;padding:10px 14px;font-size:14px}.search.sm{flex:0 260px;min-width:220px}.mini,.toolbar select{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:10px 12px;font-size:14px}.count-line{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600}.table-wrap{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--card-2);border-bottom:1px solid var(--line);padding:12px 16px;font-size:11px}.admin-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:12px 16px}.admin-table tr:last-child td{border-bottom:0}.admin-table .ta-right{text-align:right;white-space:nowrap}.cell-main{color:var(--ink);font-weight:600}.cell-sub{color:var(--muted);font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.q-prompt{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.badge{border-radius:8px;margin-right:6px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.badge.ok{color:#2f9e1f;background:#5fbf4a29}.badge.muted{background:var(--card-2);color:var(--text-secondary)}.badge.danger{color:#e0323f;background:#ff5a6a24}.badge.warn{color:#b98300;background:#ffb80029}.ghost-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;padding:8px 13px;font-size:13px;font-weight:600;transition:all .15s}.ghost-btn:hover{border-color:var(--border-strong)}.ghost-btn.small{margin-left:6px;padding:6px 10px;font-size:12px}.ghost-btn.danger{color:#e0323f;border-color:#ff5a6a59}.ghost-btn.ok{color:#2f9e1f;border-color:#5fbf4a59}.ghost-btn:disabled{opacity:.5;cursor:not-allowed}.primary-btn{background:var(--purple,#7b5fd1);color:#fff;cursor:pointer;border:0;border-radius:12px;align-self:flex-start;margin-top:12px;padding:11px 20px;font-size:14px;font-weight:700}.primary-btn.small{margin-top:0;padding:8px 14px;font-size:13px}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.create-form{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.empty{padding:28px 12px!important}.empty,.empty-card{text-align:center;color:var(--muted)}.empty-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:40px}.pager{justify-content:flex-end;align-items:center;gap:12px;display:flex}.pager-info{color:var(--muted);font-size:13px;font-weight:600}.games-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-select{background:var(--card);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600}.admin-select:focus{border-color:var(--accent)}.editor-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.editor-head h3{color:var(--ink);margin:0;font-size:15px;font-weight:800}.editor-actions{gap:10px;margin-top:16px;display:flex}.error-text{color:#e0323f;margin:10px 0 0;font-size:13px;font-weight:600}.row-actions{white-space:nowrap;gap:6px;display:flex}.notice{background:var(--card-2);border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--text-secondary);border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;font-size:13px;display:flex}.notice code{background:var(--card);border:1px solid var(--line);color:var(--text-primary);border-radius:6px;padding:1px 6px;font-size:12px}.bulk-import{margin-top:8px}.bulk-box{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:10px;padding:14px}.bulk-box .muted{margin:0 0 10px;font-size:12px}.bulk-textarea{box-sizing:border-box;background:var(--card-2);width:100%;color:var(--text-primary);border:1px solid var(--line);resize:vertical;border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.bulk-textarea:focus{border-color:var(--accent)}.bulk-errors{margin:8px 0 0;padding-left:18px;font-size:12px}.ok-text{color:#2f9e1f;margin-top:8px;font-size:13px;font-weight:600}.sub{flex-direction:column;gap:12px;display:flex}.sub-title{color:var(--ink);margin:0;font-size:16px;font-weight:800}.switch.small{background:var(--switch-bg);cursor:pointer;vertical-align:middle;border-radius:99px;align-items:center;width:42px;height:24px;transition:background .15s;display:inline-flex;position:relative}.switch.small input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch.small .knob{background:var(--card);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;left:3px;box-shadow:0 1px 3px #0003}.switch.small:has(input:checked){background:var(--purple,#7b5fd1)}.switch.small:has(input:checked) .knob{transform:translate(18px)}.toggle-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.toggle-line{color:var(--ink);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.maint-switch .switch:not(.small){width:52px;height:30px}.sm-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.sm-head h3{margin:0}.sm-int{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}[data-theme=dark] .live-btn.on{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .live-btn.on{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .live-btn.on{color:var(--ok);border-color:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .live-btn.on{border-color:color-mix(in srgb,var(--ok) 40%,transparent)}}[data-theme=dark] .live-btn .live-btn-dot{background:var(--text-secondary)}.admin-sub{color:var(--text-secondary);margin:2px 0 0;font-size:12px}.sub-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.game-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.src-list{flex-direction:column;gap:12px;margin-top:6px;display:flex}.src-row{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.src-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.src-name{text-transform:capitalize;color:var(--text-primary);align-items:center;gap:8px;font-weight:600;display:inline-flex}.src-tag{letter-spacing:.04em;text-transform:uppercase;background:var(--green);color:#0e1014;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.src-meta{color:var(--text-secondary);font-size:12px}.src-bar{background:var(--card);border:1px solid var(--line);width:100%;height:10px;overflow:hidden}.src-bar,.src-fill{border-radius:999px}.src-fill{background:var(--purple);height:100%;transition:width .3s}.src-share{color:var(--muted);margin-top:6px;font-size:11px;display:inline-block}.admin-note{border-left:3px solid var(--accent);background:var(--card-2);color:var(--text-secondary);border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.5}.admin-note p{margin:0 0 8px}.admin-note p:last-child{margin-bottom:0}.admin-note strong{color:var(--text-primary)}@keyframes ella-blink{0%,to{opacity:1}50%{opacity:.15}}.ella-thinking{color:var(--text-secondary);align-items:center;gap:6px;font-weight:500;display:inline-flex}.ella-thinking .ella-dots:after{content:"…";animation:ella-blink 1s step-end infinite}.ella-caret{color:var(--text-secondary);margin-left:1px;animation:ella-blink 1s step-end infinite;display:inline-block}.lp{flex-direction:column;display:flex}.lp-top{margin-bottom:4px}.lp-top .eyebrow{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:11px}.lp-top h1{margin:2px 0 0;font-size:28px;font-weight:800}.lp-sub{max-width:640px;margin-top:6px;font-size:13px}.lp-levels{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.lp-level{background:var(--card);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:99px;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:800;transition:all .2s;display:inline-flex}.lp-level:hover:not(.is-locked):not(.is-active){border-color:var(--accent);color:var(--accent)}.lp-level.is-active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.lp-level.is-current:not(.is-active){border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab,red,red)){.lp-level.is-current:not(.is-active){box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}}.lp-level.is-locked{opacity:.5;cursor:not-allowed}.lp-level-lock{width:13px;height:13px}.lp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:6px 0 18px;display:flex}.lp-header-main{flex-direction:column;gap:2px;display:flex}.lp-header h2{margin:0;font-size:30px;font-weight:800}.lp-header-meta{color:var(--text-secondary);font-size:12px}.lp-progress{flex:1;align-items:center;gap:10px;min-width:220px;max-width:320px;display:flex}.lp-bar{background:var(--card-2);flex:1;height:8px;overflow:hidden}.lp-bar,.lp-bar i{border-radius:99px}.lp-bar i{background:linear-gradient(90deg,var(--green),var(--cyan));height:100%;transition:width .5s;display:block}.lp-pct{text-align:right;min-width:38px;font-size:14px;font-weight:800}.lp-module{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:6px;padding:16px 18px}.lp-module-head{align-items:center;gap:14px;margin-bottom:8px;display:flex}.lp-module-title{flex-direction:column;display:flex}.lp-module-title b{font-size:15px}.lp-module-title span{color:var(--text-secondary);font-size:11px}.lp-module-bar{background:var(--card-2);border-radius:99px;flex:1;max-width:220px;height:6px;overflow:hidden}.lp-module-bar i{background:linear-gradient(90deg,var(--cyan),#7dd3fc);border-radius:99px;height:100%;transition:width .5s;display:block}.lp-module-count{color:var(--text-secondary);font-size:12px;font-weight:700}.lp-chain{padding:4px 0;position:relative}.lp-step{padding:6px 0;position:relative}.lp-step:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:17px}.lp-step:first-child:before{top:50%}.lp-step:last-child:before{bottom:50%}.lp-node{text-align:left;background:var(--card);border:1px solid var(--border);width:calc(100% - 46px);box-shadow:var(--shadow);cursor:pointer;font:inherit;color:inherit;border-radius:16px;align-items:center;gap:12px;margin-left:46px;padding:10px 14px;transition:all .2s;display:flex}.lp-node:hover:not(:disabled){border-color:var(--accent);transform:translate(4px)}.lp-node:disabled{cursor:not-allowed;opacity:.85}.lp-step.is-current .lp-node{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan)}@supports (color:color-mix(in lab,red,red)){.lp-step.is-current .lp-node{box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 25%,transparent)}}.lp-dot,.lp-step.is-completed .lp-node{background:var(--card-2)}.lp-dot{z-index:1;width:34px;height:34px;color:var(--text-secondary);border:2px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;transition:all .2s;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%)}.lp-dot.is-completed{background:var(--ok);color:#fff;border-color:var(--ok)}.lp-dot.is-current{background:var(--cyan);color:#06222b;border-color:var(--cyan);box-shadow:0 0 0 4px var(--cyan)}@supports (color:color-mix(in lab,red,red)){.lp-dot.is-current{box-shadow:0 0 0 4px color-mix(in srgb,var(--cyan) 35%,transparent)}}.lp-dot.is-available{background:var(--card);color:var(--accent);border-color:var(--accent)}.lp-dot.is-locked{background:var(--card-2);color:var(--text-secondary);border-style:dashed}.lp-text{flex-direction:column;line-height:1.2;display:flex}.lp-text b{font-size:14px}.lp-state{text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.lp-state.is-completed{color:var(--ok)}.lp-state.is-current{color:var(--accent)}.lp-down,.lp-state.is-available,.lp-state.is-locked{color:var(--text-secondary)}.lp-down{justify-content:center;padding:2px 0;display:flex}.lp-final{margin-top:6px}.lp-crown{color:var(--warn);justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:14px;font-weight:800;display:flex}.lp-placeholder{max-width:560px;margin:0 auto}.lp-placeholder .card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.lp-placeholder h1{margin:4px 0;font-size:24px}.lp-locked-note{color:var(--text-secondary);background:var(--card-2);border-radius:12px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;display:flex}@media (max-width:750px){.lp-levels{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.lp-level{flex-shrink:0}.lp-header{gap:12px}.lp-progress{max-width:none}.lp-module-head{flex-wrap:wrap}.lp-module-bar{order:3;width:100%;max-width:100%}}.lesson-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;max-width:1200px;margin:0 auto;padding:24px;display:grid}.lesson-main{flex-direction:column;gap:18px;min-width:0;display:flex}.lesson-tutor-panel{justify-content:center;align-self:start;display:flex;position:sticky;top:88px}.lesson-header{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px}.lesson-header h1{margin:6px 0;font-size:26px;font-weight:800}.lesson-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;display:flex}.lesson-meta span{align-items:center;gap:6px;display:inline-flex}.lesson-objective-banner{background:var(--accent-soft);border:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.lesson-objective-banner{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}}.lesson-objective-banner{color:var(--text-primary);border-radius:14px;margin:12px 0;padding:12px 14px;font-size:14px}.lesson-objectives{color:var(--text-secondary);flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;font-size:14px;display:flex}.lesson-vocab{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.lesson-vocab .chip{background:var(--card-2);border:1px solid var(--border);color:var(--text-secondary);border-radius:99px;padding:4px 12px;font-size:12px}.lesson-intro-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;max-width:640px;margin:0 auto;padding:24px;display:flex}.lesson-intro-card h1{margin:0;font-size:26px}.activity-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.activity-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.activity-head h2{margin:2px 0 0;font-size:18px}.activity-type{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);font-size:11px;font-weight:800}.activity-instruction{color:var(--text-secondary);margin:0 0 12px;font-size:14px}.lesson-note{background:var(--card-2);border:1px solid var(--border);color:var(--text-secondary);border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.lesson-complete{background:var(--card);border:1px solid var(--ok);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:20px 22px;display:flex}.lesson-complete.fail{border-color:var(--warn)}.lesson-complete h2{align-items:center;gap:8px;margin:0;display:flex}.lesson-robot-float{left:50%;bottom:calc(env(safe-area-inset-bottom) + 64px);z-index:600;pointer-events:none;width:min(330px,100vw - 24px);position:fixed;transform:translate(-50%)}.lesson-robot-float .robot{pointer-events:auto}.lx-btn{border:1px solid var(--border);background:var(--card-2);min-height:44px;color:var(--text-primary);cursor:pointer;font:inherit;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.lx-btn:hover:not(:disabled){border-color:var(--accent)}.lx-btn:disabled{opacity:.55;cursor:default}.lx-btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.lx-btn.rec{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){.lx-btn.rec{background:color-mix(in srgb,var(--bad) 15%,var(--card))}}.lx-btn.rec{border-color:var(--bad)}.lx-mcq{flex-direction:column;gap:16px;display:flex}.lx-mcq-q{margin:0 0 8px;font-weight:700}.lx-opts{flex-direction:column;gap:8px;display:flex}.lx-opt{text-align:left;border:1px solid var(--border);background:var(--card-2);min-height:44px;color:var(--text-primary);cursor:pointer;font:inherit;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.lx-opt:hover:not(:disabled){border-color:var(--accent)}.lx-opt:disabled{cursor:default}.lx-opt.is-correct{border-color:var(--ok);background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.lx-opt.is-correct{background:color-mix(in srgb,var(--ok) 15%,var(--card))}}.lx-opt.is-wrong{border-color:var(--bad);background:var(--bad)}@supports (color:color-mix(in lab,red,red)){.lx-opt.is-wrong{background:color-mix(in srgb,var(--bad) 12%,var(--card))}}.lx-mark{background:var(--border);width:22px;height:22px;color:var(--text-primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;display:grid}.lx-feedback{color:var(--text-primary);border-radius:12px;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;font-size:13px;display:flex}.lx-feedback.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.lx-feedback.ok{background:color-mix(in srgb,var(--ok) 14%,var(--card))}}.lx-feedback.bad{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){.lx-feedback.bad{background:color-mix(in srgb,var(--bad) 12%,var(--card))}}.lx-fill{flex-direction:column;gap:12px;display:flex}.lx-fill-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.lx-input{border:1px solid var(--border);background:var(--card-2);min-height:44px;color:var(--text-primary);font:inherit;border-radius:12px;min-width:120px;padding:10px 12px;font-size:15px}.lx-input.ok{border-color:var(--ok)}.lx-input.bad{border-color:var(--bad)}.lx-match{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lx-match-col{flex-direction:column;gap:8px;display:flex}.lx-match-item{border:1px solid var(--border);background:var(--card-2);min-height:48px;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;border-radius:12px;padding:10px 12px}.lx-match-item.sel,.lx-match-item:hover:not(:disabled){border-color:var(--accent)}.lx-match-item.sel{box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab,red,red)){.lx-match-item.sel{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}}.lx-match-item.done{opacity:.6;border-color:var(--ok)}.lx-match-item.wrong{border-color:var(--bad)}.lx-dlg{gap:8px}.lx-dlg,.lx-dlg-line{flex-direction:column;display:flex}.lx-dlg-line{background:var(--card-2);border:1px solid var(--border);cursor:pointer;text-align:left;font:inherit;color:var(--text-primary);border-radius:12px;gap:4px;padding:10px 12px}.lx-dlg-line.is-open{border-color:var(--accent)}.lx-dlg-who{color:var(--accent);font-size:13px;font-weight:800}.lx-dlg-en{font-size:15px}.lx-dlg-ru{color:var(--text-secondary);font-size:13px}.lx-vocab{flex-direction:column;gap:8px;display:flex}.lx-vocab-card{text-align:left;border:1px solid var(--border);background:var(--card-2);color:var(--text-primary);cursor:pointer;font:inherit;border-radius:14px;padding:12px 14px}.lx-vocab-card.is-open,.lx-vocab-card:hover{border-color:var(--accent)}.lx-vocab-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.lx-vocab-word{font-size:15px;font-weight:800}.lx-vocab-phon{color:var(--text-secondary);font-size:13px}.lx-vocab-body{flex-direction:column;gap:4px;margin-top:8px;font-size:13px;display:flex}.lx-vocab-trans{font-weight:700}.lx-vocab-ex{color:var(--text-secondary)}.lx-listen,.lx-pron,.lx-speak{flex-direction:column;gap:10px;display:flex}.lx-audio-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lx-target{color:var(--text-primary);font-size:15px;font-weight:700}.lx-q,.lx-transcript{color:var(--text-secondary);font-size:14px}.lx-result{color:var(--text-primary);font-size:14px;font-weight:700}@media (max-width:820px){.lesson-layout{grid-template-columns:1fr;gap:14px;padding:14px}.lesson-tutor-panel{display:none}.lx-match{grid-template-columns:1fr}.lesson-header{padding:16px}}.robot{--robot-size:230px;width:var(--robot-size);max-width:100%;font:inherit;color:var(--text-primary);-webkit-user-select:none;user-select:none;position:relative}.robot-stage{flex-direction:column;align-items:center;display:flex;position:relative}.robot-figure{transform-style:preserve-3d;will-change:transform;animation:breathe 5.5s ease-in-out infinite,headSway 9s ease-in-out infinite;position:relative;transform:perspective(640px)}.robot-antenna{background:var(--border-strong);border-radius:4px;width:4px;height:22px;margin:0 auto -3px;position:relative}.robot-antenna-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.robot-head{background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--border);width:124px;height:98px;box-shadow:var(--shadow);border-radius:28px;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative}.robot-eyes{gap:18px;display:flex}.robot-eye{will-change:transform;border-radius:10px;width:16px;height:22px;animation:blink 6s infinite}.robot-eye,.robot-mouth{background:var(--text-primary);transform-origin:50%}.robot-mouth{border-radius:6px;width:34px;height:6px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.robot-body{background:linear-gradient(160deg,var(--card-2),var(--card-3));border:1px solid var(--border);width:86px;height:40px;box-shadow:var(--shadow);border-radius:18px 18px 22px 22px;margin:-2px auto 0}.robot-figure.is-speaking .robot-mouth{animation:mouthMove .34s ease-in-out infinite}.robot[data-state=celebrating] .robot-mouth,.robot[data-state=encouraging] .robot-mouth,.robot[data-state=lesson_complete] .robot-mouth{border-radius:4px 4px 30px 30px;width:40px;height:14px}.robot[data-state=celebrating] .robot-eye,.robot[data-state=lesson_complete] .robot-eye{border-radius:10px 10px 12px 12px;height:18px}.robot[data-state=correcting] .robot-eye{transform:scaleY(.82)}.speech-bubble{background:var(--card);border:1px solid var(--border);max-width:250px;box-shadow:var(--shadow-md);color:var(--text-primary);border-radius:16px;margin-bottom:14px;padding:10px 14px;font-size:14px;line-height:1.45;position:relative}.speech-bubble p{margin:0}.speech-bubble:after{content:"";border:8px solid #0000;border-top:8px solid var(--border);position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.robot-controls{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.robot-btn{border:1px solid var(--border);background:var(--card-2);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;font:inherit;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.robot-btn:hover{border-color:var(--accent)}.robot-btn.primary{border-color:var(--accent)}.robot-btn.primary,.robot-tab{background:var(--accent);color:var(--accent-contrast)}.robot-tab{border:1px solid var(--border);width:52px;height:52px;box-shadow:var(--shadow-md);cursor:pointer;border-radius:50%;place-items:center;font-size:22px;display:grid}.robot.compact{--robot-size:150px}.robot.compact .robot-figure{transform:scale(.72)}.robot.compact .robot-head{width:96px;height:76px}.robot.compact .speech-bubble{max-width:220px;font-size:13px}.robot.collapsed .robot-controls,.robot.collapsed .robot-figure,.robot.collapsed .speech-bubble{display:none}@keyframes breathe{0%,to{transform:perspective(640px)translateY(0)scale(1)}50%{transform:perspective(640px)translateY(-4px)scale(1.012)}}@keyframes headSway{0%,to{transform:perspective(640px)rotateY(-5deg)}50%{transform:perspective(640px)rotateY(5deg)}}@keyframes blink{0%,to{border-color:var(--cyan)}50%{border-color:var(--green)}}@keyframes mouthMove{0%,to{height:6px}50%{height:16px}}@media (prefers-reduced-motion:reduce){.robot-eye,.robot-figure,.robot-figure.is-speaking .robot-mouth{animation:none!important}.robot-figure{transform:none!important}}[data-theme=dark] .speech-bubble{box-shadow:var(--shadow-md)}.path-wrap{width:100%;max-width:1100px;margin:0 auto;padding:28px 24px 60px}.path-overall{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px 24px}.path-overall-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:600}.path-overall h1,.path-overview{color:var(--text-primary);margin:4px 0 0;font-size:24px;line-height:1.2}.path-overall-count{color:var(--text-secondary);white-space:nowrap;font-size:14px}.path-overall-count b{color:var(--text-primary);font-size:28px}.path-progress{background:var(--card-2);border-radius:999px;height:10px;margin-top:16px;overflow:hidden}.path-progress>i{background:linear-gradient(90deg,var(--green),var(--cyan));border-radius:999px;height:100%;transition:width .5s;display:block}.path-body{grid-template-columns:1fr 300px;align-items:start;gap:24px;margin-top:24px;display:grid}.path-modules{flex-direction:column;gap:18px;display:flex}.path-module{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px 18px 20px}.path-module.is-review{border-color:var(--purple)}@supports (color:color-mix(in lab,red,red)){.path-module.is-review{border-color:color-mix(in srgb,var(--purple) 45%,var(--border))}}.path-module-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.path-module-index{width:34px;height:34px;color:var(--text-primary);background:var(--card-2);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.path-module.is-review .path-module-index{background:var(--purple)}@supports (color:color-mix(in lab,red,red)){.path-module.is-review .path-module-index{background:color-mix(in srgb,var(--purple) 22%,var(--card-2))}}.path-module-title b{color:var(--text-primary);font-size:16px}.path-module-desc{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.path-nodes{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.path-node{border-radius:var(--radius);background:var(--card-2);border:1px solid var(--border);color:var(--text-primary);align-items:center;gap:10px;min-height:64px;padding:12px 14px;text-decoration:none;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.path-node:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.path-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.path-node.is-current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.path-node.is-current{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}}.path-node.is-complete{opacity:.92;border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.path-node.is-complete{border-color:color-mix(in srgb,var(--green) 50%,var(--border))}}.path-node.is-locked{opacity:.62;cursor:not-allowed;background:var(--card-2)}.path-node-icon{background:var(--card);border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;display:grid}.path-node.is-complete .path-node-icon{color:var(--green)}.path-node.is-current .path-node-icon{color:var(--accent)}.path-node-body{flex-direction:column;flex:auto;min-width:0;display:flex}.path-node-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden}.path-node-meta{color:var(--text-secondary);align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex}.path-node-score{color:var(--green);font-weight:700}.path-now{color:var(--accent);font-weight:700}.path-locked-label,.path-now,.path-ready{text-transform:uppercase;letter-spacing:.06em}.path-badges{flex-direction:column;flex:none;gap:4px;display:flex}.badge-assessment,.badge-review{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.badge-review{background:var(--purple)}@supports (color:color-mix(in lab,red,red)){.badge-review{background:color-mix(in srgb,var(--purple) 22%,var(--card-2))}}.badge-review{color:var(--text-primary)}.badge-assessment{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.badge-assessment{background:color-mix(in srgb,var(--yellow) 35%,var(--card-2))}}.badge-assessment{color:var(--text-primary)}.path-robot{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px;position:sticky;top:84px}@media (max-width:820px){.path-wrap{padding:18px 14px 48px}.path-body{flex-direction:column;display:flex}.path-robot{order:-1;position:static;top:auto}.path-nodes{grid-template-columns:1fr 1fr}}@media (max-width:480px){.path-nodes{grid-template-columns:1fr}}[data-theme=dark] .path-module.is-review{border-color:var(--purple)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .path-module.is-review{border-color:color-mix(in srgb,var(--purple) 55%,var(--border))}}.exam-card{background:var(--card);box-shadow:var(--shadow);border-radius:24px;padding:24px;display:block;position:relative;overflow:hidden}.exam-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.exam-title h2{margin:0;font-size:20px;font-weight:800}.exam-title p{color:var(--muted);margin:4px 0 0;font-size:12px}.exam-badges{gap:8px;display:flex}.ebadge{border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;display:flex}.ebadge.q{color:#3730a3;background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.ebadge.t{background:var(--text-primary);color:var(--text-inverse);animation:tick 1s ease-in-out infinite}@keyframes tick{0%,to{box-shadow:0 0 #0b0b0c33}50%{box-shadow:0 0 12px 2px #0b0b0c26}}.progress-track{background:#e4e6ea;border-radius:2px;height:4px;margin-bottom:24px;overflow:hidden}.progress-track i{background:linear-gradient(90deg,var(--cyan),var(--green));width:5.5%;height:100%;transition:width .5s;display:block}.section-tag{color:#3730a3;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.question-text{margin-bottom:6px;font-size:20px;font-weight:700;line-height:1.4}.question-sub{color:var(--muted);margin-bottom:24px;font-size:13px}.sentence-box{text-align:center;background:linear-gradient(135deg,#a9e8f726,#ec48990d);border:2px dashed #a9e8f766;border-radius:16px;margin-bottom:24px;padding:20px;font-size:18px}.sentence-box .blank{border-bottom:3px solid var(--cyan);text-align:center;min-width:80px;color:var(--text-primary);margin:0 4px;font-weight:800;animation:blink 1.5s ease-in-out infinite;display:inline-block}.options{flex-direction:column;gap:10px;display:flex}.option{border:2px solid var(--line);background:var(--card);cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:16px 18px;transition:all .3s;display:flex;position:relative;overflow:hidden}.option:before{content:"";background:linear-gradient(to bottom,var(--cyan),var(--green));opacity:0;width:4px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.option:hover{border-color:var(--cyan);transform:translate(8px);box-shadow:0 4px 15px #0000000f}.option:hover:before{opacity:1}.option.selected{border-color:var(--cyan);background:linear-gradient(135deg,#a9e8f714,#bfff700d);transform:translate(8px)}.option.selected:before{opacity:1}.opt-letter{background:var(--card-2);width:40px;height:40px;color:var(--muted);border-radius:12px;flex-shrink:0;place-items:center;font-size:15px;font-weight:800;transition:all .3s;display:grid}.option.selected .opt-letter,.option:hover .opt-letter{background:linear-gradient(135deg,var(--cyan),var(--green));color:var(--text-primary);transform:scale(1.1)}.opt-text{font-size:15px;font-weight:600}.options .option{text-align:left;width:100%;font:inherit;color:inherit}.options .option:disabled{cursor:default}.options .option:disabled:hover{box-shadow:none;border-color:var(--line);transform:none}.options .option:disabled:hover:before{opacity:0}.options .option:disabled:hover .opt-letter{background:var(--card-2);color:var(--muted);transform:none}.option.correct,.options .option.correct:disabled:hover{background:linear-gradient(135deg,#10b9811a,#bfff700f);border-color:#10b981}.option.correct .opt-letter,.options .option.correct:disabled:hover .opt-letter{color:var(--text-primary);background:linear-gradient(135deg,#bfff70,#34d399)}.option.wrong,.options .option.wrong:disabled:hover{background:linear-gradient(135deg,#ef444417,#ef444408);border-color:#ef4444}.option.wrong .opt-letter,.options .option.wrong:disabled:hover .opt-letter{color:#7f1d1d;background:linear-gradient(135deg,#fecaca,#fca5a5)}.options .option.selected:disabled:hover{transform:translate(8px)}.options .option.selected:disabled:hover:before{opacity:1}.exam-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;display:flex}.btn-nav{cursor:pointer;border:none;border-radius:14px;align-items:center;gap:6px;padding:10px 18px;font-weight:700;transition:all .2s;display:inline-flex}.btn-nav:disabled{opacity:.45;cursor:default}.btn-prev{background:var(--card-2);color:var(--ink)}.btn-prev:hover{background:var(--border-soft)}.btn-next{background:var(--text-primary);color:var(--text-inverse)}.btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn-nav:disabled:hover{box-shadow:none;background:var(--card-2);transform:none}.btn-next:disabled:hover{background:var(--text-primary)}.combo-pill{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:800;animation:combo .5s;display:flex}@keyframes combo{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.live-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.live-stat{text-align:center;background:var(--glass-soft);border:1px solid var(--line);border-radius:12px;padding:14px}.live-stat.current{background:linear-gradient(135deg,#a9e8f733,#bfff701a);border-color:#a9e8f74d}.live-stat-val{font-size:20px;font-weight:800}.live-stat-lab{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:9px}.navigator{grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:16px;display:grid}.nav-item{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:12px;place-items:center;font-size:12px;font-weight:800;transition:all .2s;display:grid}.nav-item.ans{background:var(--green);color:var(--text-primary);box-shadow:0 2px 8px #bfff704d}.nav-item.cur{background:var(--cyan);color:var(--text-primary);animation:curpulse 2s infinite;box-shadow:0 0 15px #a9e8f766}@keyframes curpulse{0%,to{box-shadow:0 0 10px #a9e8f74d}50%{box-shadow:0 0 20px #a9e8f780}}.nav-item.una{background:var(--card-2);color:var(--text-secondary);border:2px solid var(--border-soft)}.nav-item:hover{transform:scale(1.1)}button.nav-item{font:inherit;padding:0;font-size:12px;font-weight:800}.nav-item:disabled{cursor:default}.nav-item:disabled:hover{transform:none}.section-list{flex-direction:column;gap:8px;display:flex}.sec-row{background:var(--glass-soft);border:1px solid var(--line);border-radius:12px;padding:10px}.sec-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.sec-name{font-size:12px;font-weight:700}.sec-range{color:var(--muted);font-size:11px}.sec-bar{background:#e4e6ea;border-radius:2px;height:4px;overflow:hidden}.sec-bar i{border-radius:2px;height:100%;display:block}.results-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;opacity:0;background:#0f172abf;justify-content:center;align-items:center;transition:opacity .5s;display:none;position:fixed;inset:0}.results-overlay.show{opacity:1;display:flex}.results-card{background:var(--card);text-align:center;width:90%;max-width:520px;box-shadow:var(--shadow-md);border-radius:32px;padding:40px;transition:transform .5s;transform:scale(.9)}.results-overlay.show .results-card{transform:scale(1)}.res-icon{background:linear-gradient(135deg,var(--green),#8fdc4e);border-radius:50%;place-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:36px;animation:respop .6s cubic-bezier(.34,1.56,.64,1);display:grid;box-shadow:0 10px 30px #bfff704d}@keyframes respop{0%{transform:scale(0)}to{transform:scale(1)}}.results-card h2{margin-bottom:6px;font-size:24px;font-weight:800}.results-card>p{color:var(--muted);margin-bottom:20px;font-size:13px}.res-score{background:linear-gradient(135deg,var(--text-primary),#4c9aaa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:4px;font-size:56px;font-weight:800}.res-level{background:var(--text-primary);color:var(--text-inverse);border-radius:20px;margin-bottom:20px;padding:6px 20px;font-size:14px;font-weight:700;display:inline-block}.res-break{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;display:grid}.res-item{background:var(--card-2);border-radius:16px;padding:14px}.res-item .rv{font-size:20px;font-weight:800}.res-item .rl{color:var(--muted);margin-top:2px;font-size:10px}.exam-grid{grid-template-columns:1fr 288px;align-items:start;gap:16px;display:grid}.exam-side{flex-direction:column;display:flex}.exam-side h4{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:17px 4px 7px;font-size:12px}.exam-side h4:first-child{margin-top:0}@media (max-width:1250px){.exam-grid{grid-template-columns:1fr}.navigator{grid-template-columns:repeat(9,1fr)}}@media (max-width:750px){.res-break{grid-template-columns:repeat(2,1fr)}.results-card{padding:26px}}.exam-fullscreen{z-index:1000;background:var(--page-bg);padding:24px;position:fixed;inset:0;overflow-y:auto}.exam-fullscreen .exam-grid,.exam-fullscreen .header{max-width:1100px;margin-left:auto;margin-right:auto}.exam-back{z-index:1100;background:var(--text-primary);color:var(--text-inverse);cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:14px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;top:18px;left:18px}.exam-back:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000040}.ai-report{text-align:left;background:linear-gradient(135deg,#a9e8f72e,#bfff701a);border:1px solid #a9e8f766;border-radius:18px;margin-top:24px;padding:20px}.ai-report h3{color:var(--text-primary);margin:0 0 12px;font-size:16px;font-weight:800}.ai-report-body{white-space:pre-wrap;color:var(--text-primary);font-size:14px;line-height:1.6}.ai-report-loading{color:var(--muted);margin:0;font-size:13px;font-style:italic}.ai-report-regen{background:var(--text-primary);color:var(--text-inverse);cursor:pointer;border:none;border-radius:12px;margin-top:14px;padding:8px 16px;font-size:13px;font-weight:700;transition:opacity .2s}.ai-report-regen:disabled{opacity:.5;cursor:default}[data-theme=dark] .ebadge.q{background:#7c8cff}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ebadge.q{background:color-mix(in srgb,#7c8cff 18%,var(--card))}}[data-theme=dark] .ebadge.q{color:#aab4ff}[data-theme=dark] .progress-track{background:var(--card-2)}[data-theme=dark] .section-tag,[data-theme=dark] .sentence-box{background:var(--card-2);color:var(--text-primary)}[data-theme=dark] .sentence-box{border:2px dashed var(--border)}[data-theme=dark] .option.correct{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .option.correct{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .option.correct{color:var(--ok)}[data-theme=dark] .option.wrong{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .option.wrong{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .option.wrong{color:var(--bad)}[data-theme=dark] .combo-pill{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .combo-pill{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}[data-theme=dark] .combo-pill{color:var(--yellow)}[data-theme=dark] .sec-bar{background:var(--card-2)}[data-theme=dark] .nav-item.ans,[data-theme=dark] .nav-item.cur{color:#0e1014}.featured{background:linear-gradient(135deg,var(--green),#8fdc4e);border-radius:24px;grid-template-columns:1fr;align-items:center;gap:28px;margin-bottom:20px;padding:28px;display:grid;position:relative;overflow:hidden}.featured:after{content:"";opacity:.4;border:8px dotted #6b9c3a;border-radius:50%;width:280px;height:180px;position:absolute;bottom:-60px;right:-30px}.featured-tag{background:#ffffff4d;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.featured h2,.featured-tag{z-index:1;position:relative}.featured h2{margin-bottom:8px;font-size:28px;font-weight:800}.featured p{color:#3d4a2e;max-width:340px;margin-bottom:16px;font-size:13px}.feat-stats,.featured p{z-index:1;position:relative}.feat-stats{gap:24px;margin-bottom:20px;display:flex}.feat-stat{text-align:center}.feat-stat .fv{font-size:22px;font-weight:800}.feat-stat .fl{color:#3d4a2e;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.btn-play{background:var(--text-primary);color:var(--text-inverse);cursor:pointer;z-index:1;border:0;border-radius:18px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:800;transition:all .2s;display:inline-flex;position:relative}.btn-play:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000040}.game-filters{flex-wrap:wrap;gap:8px;margin:4px 0 6px;display:flex}.gf-tab{cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text-secondary);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s}.gf-tab.active,.gf-tab:hover{border-color:var(--cyan)}.gf-tab.active{color:var(--text-primary);background:#a9e8f74d}.games-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.game-card{background:var(--card);box-shadow:var(--shadow);cursor:pointer;border-radius:20px;padding:20px;transition:all .3s;position:relative;overflow:hidden}.game-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px #0000001a}.game-card:before{content:"";background:linear-gradient(90deg,var(--cyan),var(--green));opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.game-card:hover:before{opacity:1}.gc-head{justify-content:space-between;align-items:start;margin-bottom:14px;display:flex}.gc-icon{border-radius:16px;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.gc-badge{border-radius:20px;padding:4px 10px;font-size:10px;font-weight:700}.gc-hot{color:#991b1b;background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #ef444433}.gc-new{color:#065f46;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b98133}.gc-feat{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b40}.game-card h3{margin-bottom:6px;font-size:16px;font-weight:800}.game-card p{color:var(--muted);margin-bottom:16px;font-size:12px;line-height:1.4}.gc-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.gc-xp{color:#b45309}.gc-play,.gc-xp{align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.gc-play{color:#258bb0;transition:gap .3s}.game-card:hover .gc-play{gap:8px}.quests{flex-direction:column;gap:10px;margin-top:10px;display:flex}.quest{background:var(--card);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:14px;transition:all .2s;display:flex}.quest:hover{border:1px solid var(--cyan);transform:translateY(-2px)}.q-icon{border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:16px;display:grid}.q-info{flex:1}.q-info b{font-size:13px}.q-info p{color:var(--muted);margin:2px 0 0;font-size:11px}.q-bar{background:var(--card-2);height:5px;margin-top:6px;overflow:hidden}.q-bar,.q-bar i{border-radius:99px}.q-bar i{background:linear-gradient(90deg,var(--cyan),var(--green));height:100%;display:block}.q-xp{color:#b45309;font-size:12px;font-weight:700}.lb-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:16px}.lb-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.lb-tabs{gap:6px;display:flex}.lb-tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:10px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .2s}.lb-tab.active{color:var(--text-primary);background:#a9e8f74d}.lb-row{border-radius:10px;align-items:center;gap:10px;padding:8px;transition:all .2s;display:flex}.lb-row:hover{background:#00000005}.lb-rank{border-radius:8px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.lb-rank.gold{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a)}.lb-rank.silv{color:var(--text-secondary);background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.lb-rank.bron{color:#9a3412;background:linear-gradient(135deg,#ffedd5,#fed7aa)}.lb-av{color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:700;display:grid}.lb-name{flex:1;font-size:12px;font-weight:600}.lb-xp{color:#b45309;font-size:12px;font-weight:700}.ach-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px;display:grid}.ach-item{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:14px;padding:14px;transition:all .2s}.ach-item:hover{transform:translateY(-2px)}.ach-icon{margin-bottom:4px;font-size:28px}.ach-label{color:var(--muted);font-size:10px;font-weight:700}@media (max-width:1100px){.games-grid{grid-template-columns:1fr 1fr}.featured{grid-template-columns:1fr}}@media (max-width:750px){.games-grid{grid-template-columns:1fr}}.game-card{text-align:left;color:inherit}.game-card,.ss{display:block}.ss-title{margin:0 0 14px;font-size:22px;font-weight:800}.ss-progress{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:700}.ss-target{flex-wrap:wrap;margin-bottom:6px;font-size:22px;font-weight:700;line-height:1.5;display:flex}.ss-word{border-radius:8px;margin:0 6px 6px 0;padding:2px 8px;transition:background .15s,color .15s;display:inline-block}.ss-word.pending{color:var(--text-secondary);background:var(--card-2)}.ss-word.matched{color:#065f46;background:#d1fae5}.ss-word.mismatched{color:#991b1b;background:#fee2e2;text-decoration:line-through}.ss-word.extra{color:#7c3aed;background:#ede9fe}.ss-heard{background:var(--card-2);border:1px solid var(--line);color:var(--text-secondary);border-radius:12px;min-height:20px;margin-top:12px;padding:10px 12px;font-size:13px}.ss-score{margin:6px 0 14px;font-size:38px;font-weight:800}.ss-score span{color:var(--muted);font-size:12px;font-weight:600;display:block}.ss-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.ss-list li{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.ss-ok{border-left:3px solid var(--green)}.ss-miss{border-left:3px solid #ef4444}.ss-line{color:var(--text-primary);flex:1}.ss-acc{color:var(--text-secondary);text-align:right;min-width:42px;font-weight:800}.ss-mic-btn{background:linear-gradient(135deg,var(--cyan),var(--green));color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:64px;height:64px;margin:14px auto 0;font-size:24px;transition:transform .15s;display:grid;box-shadow:0 8px 20px #00000026}.ss-mic-btn:hover{transform:translateY(-2px)}.ss-mic-btn.listening{animation:ss-pulse 1.2s infinite}@keyframes ss-pulse{0%{box-shadow:0 0 #258bb080}70%{box-shadow:0 0 0 16px #258bb000}to{box-shadow:0 0 #258bb000}}.ss-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.ss-type{border:2px solid var(--line);resize:vertical;border-radius:12px;width:100%;min-height:64px;margin-top:12px;padding:10px;font-family:inherit;font-size:14px}.ss-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:10px;padding:10px 12px;font-size:13px}.ss-rec-ind{vertical-align:middle;background:#ef4444;border-radius:50%;width:8px;height:8px;margin-right:6px;animation:ss-blink 1s infinite;display:inline-block}@keyframes ss-blink{50%{opacity:.3}}[data-theme=dark] .gc-hot{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .gc-hot{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .gc-hot{color:var(--bad)}[data-theme=dark] .gc-new{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .gc-new{background:color-mix(in srgb,var(--accent) 18%,var(--card))}}[data-theme=dark] .gc-new{color:var(--accent)}[data-theme=dark] .lb-rank.gold{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .lb-rank.gold{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}[data-theme=dark] .lb-rank.gold{color:var(--yellow)}[data-theme=dark] .lb-rank.silv{background:#cbd5e1}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .lb-rank.silv{background:color-mix(in srgb,#cbd5e1 18%,var(--card))}}[data-theme=dark] .lb-rank.silv{color:#cbd5e1}[data-theme=dark] .lb-rank.bron{background:#d6a06a}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .lb-rank.bron{background:color-mix(in srgb,#d6a06a 18%,var(--card))}}[data-theme=dark] .lb-rank.bron{color:#e0b483}[data-theme=dark] .ss-word.matched{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ss-word.matched{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .ss-word.matched{color:var(--ok)}[data-theme=dark] .ss-word.mismatched{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ss-word.mismatched{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .ss-word.mismatched{color:var(--bad)}[data-theme=dark] .ss-word.extra{background:var(--purple)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ss-word.extra{background:color-mix(in srgb,var(--purple) 20%,var(--card))}}[data-theme=dark] .ss-word.extra{color:var(--purple)}[data-theme=dark] .ss-error{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ss-error{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}[data-theme=dark] .ss-error{color:var(--bad)}[data-theme=dark] .gc-feat{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .gc-feat{background:color-mix(in srgb,var(--yellow) 18%,var(--card))}}[data-theme=dark] .gc-feat{color:var(--yellow);border-color:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .gc-feat{border-color:color-mix(in srgb,var(--yellow) 35%,transparent)}}.gp{display:block}.gp-back{color:var(--text-secondary);align-items:center;gap:6px;margin:4px 0 14px;font-size:13px;font-weight:700;text-decoration:none;transition:gap .2s,color .2s;display:inline-flex}.gp-back:hover{color:var(--accent);gap:10px}.gp-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;display:flex}.gp-icon{width:52px;height:52px;color:var(--text-primary);border-radius:16px;flex-shrink:0;place-items:center;font-size:22px;display:grid}.gp-title{flex:1;min-width:160px}.gp-title h1{margin:0;font-size:22px;font-weight:800}.gp-title p{margin:2px 0 0;font-size:13px}.gp-xp{background:var(--card-2);border:1px solid var(--line);color:#b45309;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.gp-result{text-align:center;padding:32px 24px}.gp-result-emoji{margin-bottom:6px;font-size:42px}.gp-result h1{margin:0 0 4px;font-size:26px;font-weight:800}.gp-stats{flex-wrap:wrap;justify-content:center;gap:14px;margin:20px 0;display:flex}.gp-stat{background:var(--card-2);border:1px solid var(--line);border-radius:16px;min-width:96px;padding:14px 22px}.gp-stat span{font-size:24px;font-weight:800;display:block}.gp-stat label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.gp-xp-stat span{color:#b45309}.gp-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.gp-locked{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.gp-locked .upgrade-icon{color:var(--accent);background:var(--card-2);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;font-size:40px;display:flex}.gp-locked h2{margin:0;font-size:22px;font-weight:800}.gp-locked p{max-width:420px;margin:0}.gp-locked .primary-btn{margin-top:6px}.sb-hud{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.sb-hud,.sb-score{align-items:center}.sb-score{color:#b45309;gap:5px;display:inline-flex}.sb-title{margin:14px 0 8px;font-size:20px;font-weight:800}.sb-zone-label{color:var(--text-secondary);margin:16px 0 8px;font-size:12px;font-weight:700}.sb-answer,.sb-words{flex-wrap:wrap;gap:10px;min-height:56px;display:flex}.sb-answer{background:var(--card-2);border:1px dashed var(--border-strong);border-radius:16px;padding:14px}.sb-word{border:1px solid var(--line);background:var(--card);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow);border-radius:14px;padding:12px 16px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.sb-word:hover{transform:translateY(-2px)}.sb-word.sel{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.sb-word:disabled{cursor:default;opacity:.85}.sb-empty{color:var(--text-secondary);align-self:center;font-size:13px}.sb-feedback{border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.sb-feedback.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.sb-feedback.ok{background:color-mix(in srgb,var(--ok) 14%,var(--card))}}.sb-feedback.ok{color:var(--ok);border:1px solid var(--ok)}@supports (color:color-mix(in lab,red,red)){.sb-feedback.ok{border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}}.sb-feedback.warn{background:var(--warn)}@supports (color:color-mix(in lab,red,red)){.sb-feedback.warn{background:color-mix(in srgb,var(--warn) 16%,var(--card))}}.sb-feedback.warn{color:var(--warn);border:1px solid var(--warn)}@supports (color:color-mix(in lab,red,red)){.sb-feedback.warn{border:1px solid color-mix(in srgb,var(--warn) 32%,transparent)}}.sb-xp{color:#b45309;margin-left:auto}.sb-actions{margin-top:18px}.fi-hud,.sb-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fi-hud{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;margin-bottom:12px;font-size:12px;font-weight:700}.fi-score{color:#b45309;align-items:center;gap:5px;display:inline-flex}.fi-title{margin:14px 0 8px;font-size:20px;font-weight:800}.fi-words{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.fi-word{border:1px solid var(--line);background:var(--card);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow);border-radius:14px;padding:14px 20px;font-size:18px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.fi-word:hover:not(:disabled){transform:translateY(-2px)}.fi-word:disabled{cursor:default}.fi-word.imposter{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.fi-word.imposter{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}.fi-word.imposter{border-color:var(--ok)}@supports (color:color-mix(in lab,red,red)){.fi-word.imposter{border-color:color-mix(in srgb,var(--ok) 35%,transparent)}}.fi-word.imposter{color:var(--ok)}.fi-word.wrong{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){.fi-word.wrong{background:color-mix(in srgb,var(--bad) 16%,var(--card))}}.fi-word.wrong{border-color:var(--bad)}@supports (color:color-mix(in lab,red,red)){.fi-word.wrong{border-color:color-mix(in srgb,var(--bad) 35%,transparent)}}.fi-word.wrong{color:var(--bad)}.fi-word.dim{opacity:.45}.fi-feedback{border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.fi-feedback.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.fi-feedback.ok{background:color-mix(in srgb,var(--ok) 14%,var(--card))}}.fi-feedback.ok{color:var(--ok);border:1px solid var(--ok)}@supports (color:color-mix(in lab,red,red)){.fi-feedback.ok{border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}}.fi-feedback.warn{background:var(--warn)}@supports (color:color-mix(in lab,red,red)){.fi-feedback.warn{background:color-mix(in srgb,var(--warn) 16%,var(--card))}}.fi-feedback.warn{color:var(--warn);border:1px solid var(--warn)}@supports (color:color-mix(in lab,red,red)){.fi-feedback.warn{border:1px solid color-mix(in srgb,var(--warn) 32%,transparent)}}.fi-learn{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-left:auto;font-size:12px;font-weight:800}.fi-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.fi-hint{color:var(--text-secondary);font-size:13px}@media (max-width:750px){.gp{z-index:500;background:var(--card);flex-direction:column;width:100vw;height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.gp-back{padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + 14px) 6px calc(env(safe-area-inset-left) + 14px);flex-shrink:0;margin:0}.gp-head{display:none}.gp .game-modal{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;position:relative;overflow:hidden}.game,.gp .game-modal{min-height:0;flex-direction:column;flex:1;display:flex}.game{-webkit-overflow-scrolling:touch;padding:12px calc(env(safe-area-inset-right) + 12px) calc(env(safe-area-inset-bottom) + 12px) calc(env(safe-area-inset-left) + 12px);overflow:hidden auto}.fi-actions,.quiz-opts,.sb-actions,.ss-controls{background:var(--card);padding-bottom:calc(env(safe-area-inset-bottom) + 10px);flex-shrink:0;position:sticky;bottom:0}.fi-title,.fi-word,.game-word,.quiz-opt,.sb-title,.sb-word,.ss-target{overflow-wrap:anywhere;word-break:break-word}.ai-input,.fi-word,.flip-card,.ghost-btn,.primary-btn,.quiz-opt,.sb-word,.sendmsg{min-height:44px}.ss-mic-btn{width:64px;height:64px}.game.ai-convo{overflow:hidden}.ai-convo .ai-head{flex-shrink:0}.ai-convo .chat.ai-log{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.ai-convo .ai-compose{background:var(--card);padding:10px calc(env(safe-area-inset-right) + 10px) calc(env(safe-area-inset-bottom) + 10px) calc(env(safe-area-inset-left) + 10px);flex-shrink:0}.gp-xp{justify-content:center;width:100%}.sb-word{padding:10px 13px;font-size:15px}}.live-page{z-index:9999;background:var(--bg);gap:12px;padding:14px;position:fixed;inset:0}.live-page,.live-stage,.live-wrap{flex-direction:column;display:flex}.live-stage,.live-wrap{flex:1;min-height:0;position:relative}.video-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));place-content:center;gap:12px;min-height:0;transition:grid-template-columns .3s;display:grid}.video-grid.two{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr;align-content:stretch;align-items:stretch}.video-grid.many{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.video-grid .video-tile{min-height:0}.video-grid.two .video-tile{height:100%}.video-grid.many .video-tile{aspect-ratio:1}.video-tile{background:linear-gradient(135deg,#1e293b,#0f172a);border:2px solid #0000;border-radius:20px;flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden}.video-tile.active{border-color:var(--cyan);box-shadow:0 0 20px #a9e8f733}.video-tile.speaking:after{content:"";border:3px solid var(--green);pointer-events:none;border-radius:20px;animation:speakglow 1.5s ease-in-out infinite;position:absolute;inset:0}@keyframes speakglow{0%,to{opacity:.5}50%{opacity:1}}.video-content{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.v-avatar{color:#fff;background:linear-gradient(135deg,var(--cyan),var(--green));border-radius:50%;place-items:center;width:100px;height:100px;font-size:32px;font-weight:800;display:grid;position:relative;box-shadow:0 8px 30px #a9e8f74d}.v-avatar.teacher{background:linear-gradient(135deg,#10b981,#059669)}.v-avatar:after{content:"";background:var(--green);border:3px solid #1e293b;border-radius:50%;width:20px;height:20px;position:absolute;bottom:6px;right:6px}.waves{align-items:center;gap:3px;height:24px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.wave{background:linear-gradient(to top,var(--cyan),var(--green));border-radius:2px;width:4px;animation:wave 1s ease-in-out infinite}.wave:first-child{height:40%;animation-delay:0s}.wave:nth-child(2){height:70%;animation-delay:.1s}.wave:nth-child(3){height:100%;animation-delay:.2s}.wave:nth-child(4){height:60%;animation-delay:.15s}.wave:nth-child(5){height:80%;animation-delay:50ms}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.v-info{background:#0006;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.v-name{color:#fff;font-size:13px;font-weight:700}.v-status{color:#94a3b8;font-size:11px}.pip-video,.screen-video,.tile-video,.vc-bigvideo,.vc-screenvideo,.vc-video{object-fit:cover;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.vc-video{position:absolute;inset:0}.screen-video,.vc-screenvideo{object-fit:contain;background:#000}.v-avatar.mini{width:56px;height:56px;box-shadow:none;font-size:18px}.v-avatar.mini:after{border-width:2px;width:12px;height:12px;bottom:2px;right:2px}.prejoin{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;display:flex}.prejoin-tile{width:min(420px,92%);height:300px}.prejoin-controls{align-items:center;gap:16px;display:flex}.prejoin-join{border-radius:26px;margin:0;padding:14px 26px;font-size:14px}.toolbar{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab8;border:1px solid #ffffff14;border-radius:32px;justify-content:center;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 24px);padding:10px 14px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0006}.call-stage .toolbar.vc-toolbar{border-radius:18px;flex:none;justify-content:space-between;width:100%;max-width:none;margin-top:auto;position:relative;bottom:auto;left:auto;transform:none}.call-stage .toolbar.vc-toolbar .t-center{flex:1;justify-content:center}.t-center{align-items:center;gap:10px;display:flex}.t-btn{cursor:pointer;color:#fff;border:none;border-radius:50%;place-items:center;width:46px;height:46px;font-size:16px;transition:all .2s;display:grid}.t-btn:hover{transform:translateY(-2px)}.t-btn:active{transform:translateY(0)scale(.96)}.t-btn.mic{background:#475569}.t-btn.mic:hover{background:linear-gradient(135deg,var(--cyan),#7dd3fc)}.t-btn.cam{background:#475569}.t-btn.cam:hover{background:linear-gradient(135deg,var(--cyan),#7dd3fc)}.t-btn.scr{background:#475569}.t-btn.scr:hover{background:linear-gradient(135deg,var(--yellow),#fbbf24)}.t-btn.wb{background:#475569}.t-btn.wb.on,.t-btn.wb:hover{background:linear-gradient(135deg,var(--purple),#c084fc)}.t-btn.tran{background:#475569;border-radius:50%;width:48px;height:48px;padding:0;font-size:16px;font-weight:800}.t-btn.tran.on,.t-btn.tran:hover{background:#0891b2;box-shadow:0 0 15px #06b6d44d}.t-btn.end{box-shadow:0 4px 14px #ef444459}.t-btn.end,.t-btn.end:hover{background:linear-gradient(135deg,#ef4444,#dc2626)}.t-btn.end:hover{box-shadow:0 6px 20px #ef444480}.t-left,.t-right{align-items:center;gap:10px;display:flex}.sess-timer{border:1px solid var(--line);background:#f1f5f9;border-radius:12px;padding:6px 14px;font-size:14px;font-weight:800}.qual{color:#065f46;background:#10b98114;border:1px solid #10b98126;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.t-btn.cam.on,.t-btn.mic.on{background:linear-gradient(135deg,var(--cyan),#7dd3fc);color:var(--text-primary)}.t-btn.scr.on{background:linear-gradient(135deg,var(--yellow),#fbbf24);color:#0c0d0c}.t-btn.cam.off,.t-btn.mic.off{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.t-btn:disabled{opacity:.55;cursor:not-allowed}.t-btn.chat{background:#475569}.t-btn.chat.on,.t-btn.chat:hover{background:var(--cyan);color:var(--text-primary)}.t-btn.part{background:#475569}.t-btn.part.on,.t-btn.part:hover{background:var(--cyan);color:var(--text-primary)}.t-btn.more{background:#475569}.t-btn.more.on,.t-btn.more:hover{color:#fff;background:linear-gradient(135deg,#6366f1,#818cf8)}.more-pop{background:var(--card);border:1px solid var(--border);z-index:61;border-radius:14px;flex-direction:column;gap:2px;width:210px;padding:6px;display:flex;position:absolute;bottom:86px;right:18px;box-shadow:0 20px 50px #0006}.more-item{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;transition:background .2s;display:flex}.more-item:hover{background:var(--card-2)}.more-item.on{color:var(--green)}.call-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.vc-topbar{border-bottom:1px solid var(--border);color:var(--text-secondary);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:grid}.vc-tb-left{align-items:center;gap:8px;min-width:0;display:flex}.vc-live-dot{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;animation:livedot 1.8s ease-out infinite;box-shadow:0 0 #10b98199}@keyframes livedot{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.vc-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.vc-tb-center{white-space:nowrap;justify-content:center;align-items:center;gap:12px;display:flex}.vc-timer{font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:4px 10px;font-size:13px;font-weight:800}.vc-conn{border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.vc-conn.conn-good{background:var(--green)}@supports (color:color-mix(in lab,red,red)){.vc-conn.conn-good{background:color-mix(in srgb,var(--green) 16%,var(--card))}}.vc-conn.conn-good{color:var(--green)}@supports (color:color-mix(in lab,red,red)){.vc-conn.conn-good{color:color-mix(in srgb,var(--green) 75%,var(--text-primary))}}.vc-conn.conn-weak{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.vc-conn.conn-weak{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}.vc-conn.conn-weak{color:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.vc-conn.conn-weak{color:color-mix(in srgb,var(--yellow) 70%,var(--text-primary))}}.vc-conn.conn-bad{color:#ef4444;background:#ef444424}.vc-conn.conn-connecting{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.vc-conn.conn-connecting{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}.vc-conn.conn-connecting{color:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.vc-conn.conn-connecting{color:color-mix(in srgb,var(--yellow) 70%,var(--text-primary))}}.vc-tb-right{justify-content:flex-end;align-items:center;gap:6px;display:flex}.vc-count{border:1px solid var(--border);border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:flex}.vc-count,.vc-tb-icon{color:var(--text-secondary);background:var(--card-2)}.vc-tb-icon{border:1px solid var(--border);width:38px;height:38px;cursor:pointer;border-radius:10px;place-items:center;transition:all .2s;display:grid}.vc-tb-icon:hover{color:var(--text-primary);border-color:var(--green)}.vc-tb-icon.on{background:var(--green)}@supports (color:color-mix(in lab,red,red)){.vc-tb-icon.on{background:color-mix(in srgb,var(--green) 18%,var(--card))}}.vc-tb-icon.on{color:var(--green)}@supports (color:color-mix(in lab,red,red)){.vc-tb-icon.on{color:color-mix(in srgb,var(--green) 75%,var(--text-primary))}}.vc-tb-icon.on{border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.vc-tb-icon.on{border-color:color-mix(in srgb,var(--green) 50%,var(--border))}}.vc-enc{color:var(--green);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}@supports (color:color-mix(in lab,red,red)){.vc-enc{color:color-mix(in srgb,var(--green) 70%,var(--text-primary))}}.vc-enc .app-icon{color:var(--green)}.t-btn.cap{background:#475569}.t-btn.cap.on,.t-btn.cap:hover{background:linear-gradient(135deg,var(--green),#34d399)}.t-btn.cap.on{color:#0e1014}.vc-body{gap:14px;padding:14px;display:flex}.vc-body,.vc-main{flex:1;min-height:0;overflow:hidden}.vc-main{border:1px solid var(--border);background:radial-gradient(120% 120% at 50% 0,#15233b 0,#0a1220 70%);border-radius:18px;transition:box-shadow .2s;position:relative}.vc-main.speaking{box-shadow:inset 0 0 0 3px var(--green),0 0 24px #10b98140}.vc-stage{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vc-avatar-wrap{place-items:center;display:grid}.vc-stage-name{color:#fff;background:#0000008c;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:14px;left:14px}.vc-stage-role{opacity:.72;font-size:11px;font-weight:500}.vc-captions{color:#fff;text-align:center;background:#000000b3;border-radius:10px;max-width:80%;padding:6px 14px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.vc-ended-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;background:#080c14d1;border-radius:18px;place-items:center;display:grid;position:absolute;inset:0}.vc-ended-card{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:0 20px;font-size:16px;font-weight:700;display:flex}.vc-ended-card>.app-icon{color:#fca5a5;background:#ef44442e;border-radius:50%;width:42px;height:42px;padding:10px}.vc-ended-sub{color:var(--text-secondary);font-size:12px;font-weight:500}.vc-device-banner{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:8px;margin:10px 14px 0;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.vc-device-banner>.app-icon{flex:none}.vc-sidebar{background:var(--card);border:1px solid var(--border);border-radius:18px;flex-direction:column;flex:none;gap:10px;width:280px;min-height:0;padding:12px;display:flex}.vc-side-head{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.vc-pcards{flex-direction:column;flex:1;min-height:0;overflow:auto}.vc-pcard,.vc-pcards{gap:10px;display:flex}.vc-pcard{cursor:pointer;text-align:left;color:inherit;border:1px solid #0000;border-radius:14px;align-items:center;width:100%;padding:8px;transition:all .2s}.vc-pcard,.vc-pcard:hover{background:var(--card-2)}@supports (color:color-mix(in lab,red,red)){.vc-pcard:hover{background:color-mix(in srgb,var(--card-2) 60%,var(--border))}}.vc-pcard.focused{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.vc-pcard.speaking{border-color:var(--green);box-shadow:0 0 14px #10b98159}.vc-pvideo{background:#0b1220;border-radius:12px;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative;overflow:hidden}.vc-micbadge{border:2px solid var(--card-2);border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:grid;position:absolute;bottom:3px;right:3px}.vc-micbadge.on{color:#04261a;background:#10b981f2}.vc-micbadge.off{color:#fff;background:#ef4444f2}.vc-speaking-ring{border:2px solid var(--green);pointer-events:none;border-radius:12px;animation:speakglow 1.5s ease-in-out infinite;position:absolute;inset:0}.vc-pmeta{flex-direction:column;min-width:0;display:flex}.vc-pname{color:var(--text-primary);font-size:13px;font-weight:700}.vc-pname,.vc-prole{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vc-prole{color:var(--text-secondary);font-size:11px}.self-pip{aspect-ratio:1;z-index:5;background:#0f172a;border:2px solid #ffffff40;border-radius:14px;place-items:center;width:clamp(120px,16%,170px);transition:right .3s,left .3s,top .3s,bottom .3s;display:grid;position:absolute;overflow:hidden;box-shadow:0 10px 30px #0006}.self-pip .pip-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.self-pip .v-avatar.mini{position:static}.self-pip.corner-br{bottom:18px;right:18px}.self-pip.corner-bl{bottom:18px;left:18px}.self-pip.corner-tr{top:18px;right:18px}.self-pip.corner-tl{top:18px;left:18px}.pip-name{color:#fff;z-index:2;background:#00000080;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700;position:absolute;bottom:5px;left:6px}.pip-move{color:#fff;cursor:pointer;z-index:3;background:#0000008c;border:none;border-radius:8px;place-items:center;width:24px;height:24px;transition:background .2s;display:grid;position:absolute;bottom:4px;right:4px}.pip-move:hover{background:#ffffff40}.settings-pop{background:var(--card);border:1px solid var(--border);z-index:61;border-radius:16px;flex-direction:column;gap:10px;width:min(340px,100% - 32px);padding:14px;display:flex;position:absolute;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 20px 50px #0006}.settings-head{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.settings-x{background:var(--card-2);width:26px;height:26px;color:var(--text-primary);cursor:pointer;border:none;border-radius:8px;place-items:center;display:grid}.settings-row{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.settings-row span{color:var(--text-primary);font-weight:600}.settings-row select{border:1px solid var(--border);background:var(--card-2);width:100%;color:var(--text-primary);border-radius:10px;padding:8px 10px;font-size:13px}.mic-meter{background:var(--card-2);border-radius:6px;height:8px;overflow:hidden}.mic-meter-fill{background:linear-gradient(90deg,var(--green),var(--cyan));height:100%;transition:width .12s}.present{flex-direction:column;flex:1;min-height:0;animation:wbin .3s;display:flex;position:relative}@keyframes wbin{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.present-main{border:2px solid var(--cyan);background:#1e293b;border-radius:20px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.present-main.screen-stage{border-color:var(--yellow)}.present-head{z-index:3;color:#fff;background:linear-gradient(#0000008c,#0000);justify-content:space-between;padding:12px 16px;position:absolute;top:0;left:0;right:0}.present-head,.present-tag{align-items:center;display:flex}.present-tag{gap:6px;font-size:13px;font-weight:700}.present-head .wb-tool{background:#fff3}.wb-head{color:#fff;border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:14px 18px}.wb-head,.wb-title{align-items:center;display:flex}.wb-title{gap:6px;font-weight:700}.wb-tools{gap:6px;display:flex}.wb-tool{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;place-items:center;width:34px;height:34px;transition:all .2s;display:grid}.wb-tool.on,.wb-tool:hover{background:var(--cyan);color:var(--text-primary)}.wb-canvas{background:var(--card);color:var(--text-secondary);border-radius:12px;flex:1;place-items:center;margin:12px;font-size:13px;display:grid}.screen-placeholder{color:#94a3b8;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:0 24px;font-size:13px;display:flex}.ex-overlay{border:1px solid var(--line);z-index:40;background:#fff;border-radius:20px;min-width:440px;padding:18px;display:none;position:absolute;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 20px 60px #00000026}.ex-overlay.show{animation:exin .3s;display:block}@keyframes exin{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ex-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ex-title{font-size:14px;font-weight:700}.ex-close{background:var(--card-2);cursor:pointer;border:none;border-radius:8px;width:26px;height:26px}.ex-text{margin-bottom:12px;font-size:14px}.ex-blank{border-bottom:2px solid var(--cyan);min-width:80px;margin:0 4px;display:inline-block}.ex-opts{flex-wrap:wrap;gap:8px;display:flex}.ex-opt{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.ex-opt:hover{border-color:var(--cyan);background:#a9e8f71a}.ex-opt.ok{border-color:var(--green);color:#065f46;background:#10b9811a}.trans-toast{color:#fff;z-index:60;background:linear-gradient(135deg,#06b6d4,#0891b2);border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:700;display:none;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #06b6d44d}.trans-toast.show{animation:tin .3s;display:flex}@keyframes tin{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.live-aside{background:var(--glass-strong);border:1px solid var(--border);z-index:80;border-radius:20px;flex-direction:column;width:min(360px,100% - 28px);min-height:0;padding:14px 12px;display:flex;position:absolute;top:14px;bottom:14px;right:14px}.live-aside .teacher-head{border-bottom:1px solid var(--border);margin-bottom:10px}.rtabs{border-bottom:1px solid var(--line);margin-bottom:10px;display:flex}.rtab{text-align:center;cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-size:12px;font-weight:700;transition:all .2s}.rtab:hover{color:var(--ink)}.rtab.on{color:#258bb0;background:#258bb00d;border-bottom-color:#258bb0}.rpanel{min-height:0;overflow:auto}.chat,.rpanel{flex-direction:column;flex:1;display:flex}.chat{gap:10px;padding-right:2px}.bubble{border:1px solid var(--border);background:var(--card);max-width:88%;box-shadow:var(--shadow);border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.4}.bubble.me{border-color:var(--accent);background:#a9e8f729;align-self:flex-end}.who{color:var(--text-secondary);margin-top:4px;font-size:9px}.smsg{background:var(--accent);color:#0e1014;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;transition:all .2s;display:grid}.smsg:hover{transform:scale(1.08)}.live-aside .msg{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.live-aside .msg input{border:1px solid var(--line);background:var(--card);color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:10px 14px;font-size:13px}.live-aside .msg input:focus{border-color:var(--accent)}.live-aside .msg input::placeholder{color:var(--text-secondary)}.mat-list{flex-direction:column;gap:8px;display:flex}.mat-icon{border-radius:8px;width:32px;height:32px;font-size:13px}.notes-area{border:1px solid var(--line);background:var(--card);resize:none;border-radius:14px;outline:none;width:100%;height:200px;padding:12px;font-size:12px;line-height:1.5}.notes-area:focus{border-color:#258bb0}.help{color:var(--muted);text-align:center;padding-top:8px;font-size:11px}@media (max-width:1100px){.vc-sidebar{width:240px}}@media (max-width:750px){.vc-body{flex-direction:column;gap:10px;padding:10px;overflow:hidden}.vc-main{border-radius:14px;min-height:0}.vc-sidebar{flex-direction:row;width:auto;max-height:116px;padding:10px;overflow-x:auto}.vc-side-head{display:none}.vc-pcards{flex-direction:row;overflow-x:auto}.vc-pcard{flex:none;width:200px}.vc-pvideo{width:52px;height:52px}.vc-topbar{flex-wrap:wrap;gap:6px 12px;height:auto;padding:8px 12px;display:flex}.vc-tb-center{order:3;justify-content:space-between;width:100%}.ex-overlay{width:calc(100% - 24px);min-width:0}.live-aside{width:calc(100% - 20px);inset:10px}}[data-theme=dark] .ex-overlay,[data-theme=dark] .sess-timer{background:var(--card-2);color:var(--text-primary)}[data-theme=dark] .ex-opt.ok{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .ex-opt.ok{background:color-mix(in srgb,var(--ok) 16%,var(--card))}}[data-theme=dark] .ex-opt.ok{color:var(--ok)}[data-theme=dark] .wb-tool.on,[data-theme=dark] .wb-tool:hover{color:#0e1014}.app-icon.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.stat-row{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px;display:grid}.stat-card{background:var(--card);box-shadow:var(--shadow);border-radius:18px;padding:16px;position:relative;overflow:hidden}.stat-card .muted{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.stat-card .big{margin-top:4px;font-size:32px;font-weight:800}.stat-card.green{background:var(--green)}.stat-card.cyan{background:var(--cyan)}.stat-card.yellow{background:var(--yellow)}.stat-card.blue{background:var(--blue)}.student-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.student-item{background:var(--card);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.student-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000000f}.s-avatar{background:linear-gradient(145deg,#ffc8b2,#a9d8ef);border:3px solid #fff;border-radius:50%;width:40px;height:40px;box-shadow:0 1px 4px #0000001a}.s-info{flex:1}.s-info b{font-size:13px}.s-info span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.s-progress{background:var(--card-2);border-radius:99px;width:60px;height:6px;overflow:hidden}.s-progress i{background:#8fdc4e;border-radius:99px;height:100%;display:block}.s-xp{color:#7c6f00;background:#fff9c4;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.schedule-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.sch-item{background:var(--card);border-left:4px solid var(--cyan);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.sch-time{min-width:50px;font-size:14px;font-weight:800}.sch-info{flex:1}.sch-info b{font-size:13px}.sch-info span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.sch-btn{background:var(--text-primary);width:32px;height:32px;color:var(--text-inverse);cursor:pointer;border:0;border-radius:10px;place-items:center;transition:all .2s;display:grid}.sch-btn:hover{transform:scale(1.1)}.material-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.mat-item{background:var(--card);box-shadow:var(--shadow);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px;transition:all .2s;display:flex}.mat-item:hover{border:1px solid var(--cyan);transform:translateY(-2px)}.mat-icon{background:var(--cyan);border-radius:10px;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.mat-name{flex:1;font-size:12px;font-weight:600}.mat-lock{color:var(--muted);font-size:10px}.upload-zone{border:2px dashed var(--border);text-align:center;background:var(--glass-soft);cursor:pointer;border-radius:16px;margin-top:10px;padding:20px;transition:all .2s}.upload-zone:hover{background:#258bb00d;border-color:#258bb0}.upload-zone div{margin-bottom:6px;font-size:24px}.upload-zone p{margin:0;font-size:12px;font-weight:600}.upload-zone span{color:var(--muted);font-size:10px}.chart-bar{align-items:flex-end;gap:6px;height:100px;padding:10px 0;display:flex}.chart-bar div{background:linear-gradient(#d9e9ff,#a9d8ef);border-radius:6px 6px 0 0;flex:1;min-height:10px;transition:all .3s}.chart-bar div:hover{opacity:.8}.chart-labels{color:var(--muted);justify-content:space-between;padding:0 2px;font-size:9px;display:flex}.quick-actions{flex-direction:column;gap:8px;display:flex}.qa-btn{background:var(--card);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:16px;align-items:center;gap:10px;padding:12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.qa-btn:hover{transform:translate(4px);box-shadow:0 4px 12px #0000000f}.qa-icon{border-radius:10px;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.notif-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.notif-item{background:var(--card);box-shadow:var(--shadow);border-radius:12px;padding:10px;font-size:11px;line-height:1.4}.notif-item b{margin-bottom:2px;font-size:12px;display:block}.notif-time{color:var(--muted);margin-top:4px;font-size:9px}[data-theme=dark] .s-xp{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .s-xp{background:color-mix(in srgb,var(--yellow) 20%,var(--card))}}[data-theme=dark] .s-xp{color:var(--yellow)}[data-theme=dark] .s-avatar{border-color:var(--border-strong)}[data-theme=dark] .stat-card.blue,[data-theme=dark] .stat-card.cyan,[data-theme=dark] .stat-card.green,[data-theme=dark] .stat-card.yellow{background:var(--card-2);border:1px solid var(--border)}[data-theme=dark] .stat-card.green{border-top:3px solid var(--green)}[data-theme=dark] .stat-card.cyan{border-top:3px solid var(--cyan)}[data-theme=dark] .stat-card.yellow{border-top:3px solid var(--yellow)}[data-theme=dark] .stat-card.blue{border-top:3px solid var(--blue)}[data-theme=dark] .stat-card .big{color:var(--text-primary)}.sidebar-lang.lang-switcher{color:var(--text-secondary);flex-basis:100%;align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:600;display:flex}.sidebar-lang.lang-switcher .lang-switcher-flag{display:none}.sidebar-lang.lang-switcher select{background:var(--card);color:var(--text-primary);border:1px solid var(--border);margin-left:auto}.sidebar-lang.lang-switcher select:focus-visible{border-color:var(--accent)}.ahs-overlay{z-index:400;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);-webkit-backdrop-filter:blur(4px);background:#080a108c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ahs-card{background:var(--card);border:1px solid var(--border);border-radius:22px;width:min(420px,100%);max-height:100%;padding:22px 20px 18px;position:relative;overflow:auto;box-shadow:0 24px 60px #00000059}.ahs-close{background:var(--card-2);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:10px;right:12px}.ahs-emoji{text-align:center;margin-bottom:6px;font-size:40px}.ahs-title{color:var(--text-primary);text-align:center;margin:0 0 8px;font-size:19px;font-weight:800}.ahs-sub{color:var(--text-secondary);text-align:center;margin:0 0 14px;font-size:13.5px;line-height:1.55}.ahs-steps{gap:8px;margin:0 0 16px;padding-left:20px;display:grid}.ahs-steps li{color:var(--text-primary);font-size:13.5px;line-height:1.45}.ahs-actions{justify-content:flex-end;gap:10px;display:flex}.ahs-skip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:10px 16px;font-weight:600}.ahs-done{background:var(--green);cursor:pointer;border:0;border-radius:12px;padding:10px 18px;font-weight:700}.ahs-done,[data-theme=dark] .ahs-done{color:#0e1014}.lang-switcher{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.lang-switcher-flag{font-size:.95rem;line-height:1}.lang-switcher select{appearance:none;background:var(--card-2);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:999px;outline:none;padding:.3rem .6rem;font-size:.8rem;font-weight:600}.lang-switcher select:focus-visible{border-color:var(--accent)}html[lang=ar]{font-family:var(--font-arabic),var(--font-inter),system-ui,sans-serif}[dir=rtl]{direction:rtl}[dir=rtl] .sidebar{left:auto;right:0}[dir=rtl] .appbar-title{text-align:right}[dir=rtl] .appbar-actions,[dir=rtl] .brand,[dir=rtl] .nav a{flex-direction:row-reverse}[dir=rtl] .tabbar .tab{flex-direction:column}[dir=rtl] .profile{text-align:right}[dir=rtl] .sidebar{border-left:1px solid var(--border);border-right:0}[dir=rtl] .right{border-right:1px solid var(--border);border-left:0}[dir=rtl] .edit,[dir=rtl] .email-row .rl,[dir=rtl] .fi-learn,[dir=rtl] .lp-root .bubble-user,[dir=rtl] .lp-root .live-toolbar strong,[dir=rtl] .lp-root .mission small,[dir=rtl] .lp-root .teacher-row button,[dir=rtl] .new,[dir=rtl] .s-xp,[dir=rtl] .sb-xp,[dir=rtl] .ts-filter.sort{margin-left:0;margin-right:auto}[dir=rtl] .streak-pill{margin-left:0;margin-right:8px}[dir=rtl] .ts-rating .count{margin-left:0;margin-right:4px}[dir=rtl] .ts-rating .price{margin-left:0;margin-right:8px}[dir=rtl] .ghost-btn.small,[dir=rtl] .tag-gen{margin-left:0;margin-right:6px}[dir=rtl] .badge,[dir=rtl] .ss-rec-ind{margin-left:6px;margin-right:0}[dir=rtl] .lp-theme{margin-left:0;margin-right:14px}[dir=rtl] .admin-table th,[dir=rtl] .ai-report,[dir=rtl] .game-card,[dir=rtl] .nav a,[dir=rtl] .nav button,[dir=rtl] .options .option,[dir=rtl] .packs-table th,[dir=rtl] .sidebar-footer .ghost-btn{text-align:right}[dir=rtl] .admin-table .ta-right,[dir=rtl] .email-row .dt,[dir=rtl] .skill b,[dir=rtl] .ss-acc,[dir=rtl] .watch-total{text-align:left}[dir=rtl] .sch-item{border-right:4px solid var(--cyan);border-left:0}[dir=rtl] .ss-ok{border-right:3px solid var(--green);border-left:0}[dir=rtl] .ss-miss{border-left:0;border-right:3px solid #ef4444}[dir=rtl] .v-name{left:auto;right:8px}[dir=rtl] .module .outline{left:8px;right:auto}[dir=rtl] .next:after{left:-20px;right:auto}[dir=rtl] .book{left:20px;right:auto}[dir=rtl] .rail-card.hero-tip:after{left:18px;right:auto}[dir=rtl] .ts-online{left:auto;right:11px}[dir=rtl] .ts-heart{left:11px;right:auto}[dir=rtl] .ts-badge{left:auto;right:11px}[dir=rtl] .ts-arrow.prev{left:auto;right:2px}[dir=rtl] .ts-arrow.next{left:2px;right:auto}[dir=rtl] .upgrade-close{left:10px;right:auto}[dir=rtl] .packs-table .row-current td{box-shadow:inset -3px 0 0 var(--accent)}[dir=rtl] .tt-corner{border-left:1px solid var(--border);border-right:0;left:auto;right:0}[dir=rtl] .tt-dayhead{border-left:1px solid var(--border-soft);border-right:0}[dir=rtl] .tt-dayhead:last-child{border-left:0}[dir=rtl] .tt-time{border-left:1px solid var(--border);border-right:0;left:auto;right:0}[dir=rtl] .tt-daycol{border-left:1px solid var(--border-soft);border-right:0}[dir=rtl] .tt-daycol:last-child{border-left:0}[dir=rtl] .tt-now{right:var(--tt-time-col);left:0}[dir=rtl] .tt-now-dot{left:auto;right:-5px}[dir=rtl] .tt-now-lbl{left:auto;right:8px}[dir=rtl] .featured:after{left:-30px;right:auto}[dir=rtl] .option:before{left:auto;right:0}[dir=rtl] .exam-back{left:auto;right:18px}[dir=rtl] .v-avatar:after{left:6px;right:auto}[dir=rtl] .course-hero:after{left:-20px;right:auto}[dir=rtl] .theme-toggle.floating{left:16px;right:auto}[dir=rtl] .admin-sidebar{border-left:1px solid var(--border);border-right:0}[dir=rtl] .lp-root .scene:before{left:auto;right:30%}[dir=rtl] .lp-root .scene:after{left:-20%;right:auto}[dir=rtl] .lp-root .scene-title{left:auto;right:27px}[dir=rtl] .lp-root .node.exam{left:auto;right:28px}[dir=rtl] .lp-root .node.ai{left:27px;right:auto}[dir=rtl] .lp-root .node.teacher{left:auto;right:25px}[dir=rtl] .lp-root .node.progress{left:25px;right:auto}[dir=rtl] .lp-root .c1{left:auto;right:175px}[dir=rtl] .lp-root .c2{left:175px;right:auto}[dir=rtl] .lp-root .c3{left:auto;right:175px}[dir=rtl] .lp-root .c4{left:175px;right:auto}[dir=rtl] .lp-root .glow-a{left:auto;right:-110px}[dir=rtl] .lp-root .glow-b{left:-120px;right:auto}[dir=rtl] .lp-root .coach-score{left:15px;right:auto}[dir=rtl] .lp-root .fake-video span{left:auto;right:10px}[dir=rtl] .lp-root .fake-video i{left:10px;right:auto}[dir=rtl] .lp-root .video-name{left:auto;right:18px}[dir=rtl] .lp-root .step .mini-ui{left:-12px;right:auto}[dir=rtl] .lp-root .card .mock{left:-20px;right:auto}[dir=rtl] .lp-root .cta-box:before{left:auto;right:-100px}[dir=rtl] .lp-root .cta-box:after{left:-100px;right:auto}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}