@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&family=Poppins:wght@400;500;600;700&display=swap";:root{--ink: #1b1f3b;--paper: #fffdf7;--marigold: #ffb238;--marigold-deep: #f2921a;--grass: #2f9e5b;--berry: #c64191;--sky: #2f8fd1;--ink-70: rgba(27, 31, 59, .7);--ink-45: rgba(27, 31, 59, .45);--radius-l: 28px;--font-display: "Baloo 2", sans-serif;--ease: .35s cubic-bezier(.4, 0, .2, 1)}.pv-hero{min-height:92vh;display:flex;align-items:center;gap:48px;padding:130px 6% 60px;background:radial-gradient(circle at 85% 10%,rgba(255,178,56,.16),transparent 45%),radial-gradient(circle at 5% 85%,rgba(198,65,145,.1),transparent 40%),var(--paper)}.pv-hero-copy{flex:1;max-width:560px}.pv-hero-badge{display:inline-flex;align-items:center;gap:8px;background:#ffb23829;color:var(--marigold-deep);font-weight:800;font-size:.8rem;padding:7px 16px;border-radius:999px;margin-bottom:18px}.pv-hero-badge .pv-hero-dot{width:7px;height:7px;border-radius:50%;background:var(--marigold-deep)}.pv-hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.1;margin-bottom:16px;color:var(--ink)}.pv-hero-title .pv-warm{color:var(--marigold-deep)}.pv-hero-title .pv-cool{color:var(--grass)}.pv-hero-sub{font-size:1.02rem;color:var(--ink-70);line-height:1.75;margin-bottom:30px}.pv-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}.pv-hero-stats{display:flex;gap:34px;flex-wrap:wrap}.pv-hero-stats .pv-num{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--ink)}.pv-hero-stats .pv-label{font-size:.72rem;color:var(--ink-45);font-weight:700}.pv-hero-panel{flex:1;max-width:380px;width:100%;background:var(--ink);border-radius:var(--radius-l);padding:26px 24px;color:var(--paper);position:relative;box-shadow:0 30px 60px #1b1f3b40}.pv-hero-panel .pv-quest-tag{font-size:.72rem;font-weight:800;color:var(--marigold);margin-bottom:4px}.pv-hero-panel h3{font-family:var(--font-display);font-size:1.15rem;margin-bottom:2px;color:var(--paper)}.pv-hero-panel .pv-quest-sub{font-size:.8rem;color:#fffdf78c;margin-bottom:18px}.pv-hp-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pv-hp-row .pv-subj{font-size:.75rem;font-weight:700;min-width:62px;color:#fffdf7cc}.pv-hp-track{flex:1;height:7px;background:#fffdf71f;border-radius:6px;overflow:hidden}.pv-hp-fill{height:100%;border-radius:6px;transition:width .6s ease}.pv-hp-pct{font-size:.72rem;font-weight:700;color:#fffdf799;min-width:30px;text-align:right}.pv-badge-float{position:absolute;background:var(--paper);color:var(--ink);font-weight:800;font-size:.72rem;padding:8px 14px;border-radius:12px;box-shadow:0 10px 26px #0000002e;white-space:nowrap}.pv-badge-float.pv-streak{bottom:-14px;left:-18px;color:var(--marigold-deep)}.pv-badge-float.pv-xp{top:-14px;right:-14px;color:var(--grass)}@media (max-width: 900px){.pv-hero{flex-direction:column;text-align:center;padding:110px 6% 50px;min-height:auto}.pv-hero-copy{max-width:100%}.pv-hero-btns,.pv-hero-stats{justify-content:center}.pv-hero-panel{margin-top:36px;max-width:420px}}@media (max-width: 640px){.pv-hero{padding:100px 5% 44px;gap:32px}.pv-hero-badge{font-size:.72rem;padding:6px 14px}.pv-hero-sub{font-size:.9rem;margin-bottom:22px}.pv-hero-btns{gap:8px}.pv-hero-btns .btn{font-size:.8rem;padding:10px 20px}.pv-hero-stats{gap:22px}.pv-hero-stats .pv-num{font-size:1.2rem}.pv-hero-panel{padding:20px 18px;margin-top:44px}.pv-hero-panel h3{font-size:1rem}.pv-hp-row .pv-subj{min-width:50px;font-size:.68rem}.pv-hp-pct{font-size:.65rem;min-width:26px}.pv-badge-float{font-size:.62rem;padding:6px 10px}.pv-badge-float.pv-streak{left:-8px;bottom:-10px}.pv-badge-float.pv-xp{right:-8px;top:-10px}}@media (max-width: 380px){.pv-hero-title{font-size:1.7rem}.pv-hero-stats{gap:14px}}:root{--ink: #1b1f3b;--ink-soft: #2c3159;--paper: #fffdf7;--paper-dim: #f5f1e6;--marigold: #ffb238;--marigold-deep: #f2921a;--grass: #2f9e5b;--berry: #c64191;--sky: #2f8fd1;--ink-70: rgba(27, 31, 59, .7);--ink-45: rgba(27, 31, 59, .45);--radius-s: 10px;--radius-m: 18px;--radius-l: 28px;--font-display: "Baloo 2", sans-serif;--font-body: "Nunito", sans-serif;--ease: .35s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none}.container{max-width:1200px;margin:0 auto;padding:0 6%}.btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.92rem;padding:13px 28px;border-radius:999px;transition:transform var(--ease),box-shadow var(--ease)}.btn:hover{transform:translateY(-2px)}.btn-marigold{background:var(--marigold);color:var(--ink);box-shadow:0 6px 20px #ffb23866}.btn-marigold:hover{box-shadow:0 10px 26px #ffb23880}.btn-ink{background:var(--ink);color:var(--paper);box-shadow:0 6px 20px #1b1f3b40}.btn-berry{background:var(--berry);color:#fff;box-shadow:0 6px 20px #c6419159}.btn-outline{background:transparent;color:var(--ink);border:2px solid rgba(27,31,59,.15)}.btn-outline:hover{border-color:var(--marigold-deep);color:var(--marigold-deep)}.pv-nav{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:space-between;padding:14px 6%;background:#fffdf7e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:box-shadow var(--ease)}.pv-nav.scrolled{box-shadow:0 4px 24px #1b1f3b14}.pv-brand{display:flex;align-items:center;gap:10px}.pv-brand img{height:38px;width:38px;border-radius:10px;object-fit:cover}.pv-brand span{font-family:var(--font-display);font-weight:800;font-size:1.2rem}.pv-brand .accent{color:var(--marigold-deep)}.pv-links{display:flex;align-items:center;gap:6px}.pv-links a.link{font-weight:700;font-size:.85rem;color:var(--ink-70);padding:8px 14px;border-radius:999px;transition:background var(--ease),color var(--ease)}.pv-links a.link:hover{background:var(--paper-dim);color:var(--ink)}.pv-links .role-btns{display:flex;gap:8px;margin-left:8px}.role-btn{font-size:.78rem;padding:9px 18px;border-radius:999px;font-weight:800}.role-btn.student{background:var(--marigold);color:var(--ink)}.role-btn.teacher{background:var(--ink);color:var(--paper)}.role-btn.parent{background:var(--berry);color:#fff}.pv-hamburger{display:none;flex-direction:column;gap:5px}.pv-hamburger span{width:22px;height:2.5px;background:var(--ink);border-radius:4px}.pv-mobile-menu{display:none;flex-direction:column;gap:8px;padding:18px 6% 22px;background:var(--paper);box-shadow:0 10px 30px #1b1f3b1a}.pv-mobile-menu.open{display:flex}.pv-mobile-menu a{font-weight:700;padding:10px 14px;border-radius:12px}.pv-mobile-menu a:hover{background:var(--paper-dim)}@media (max-width: 860px){.pv-links{display:none}.pv-hamburger{display:flex}}.journey-path-section{padding:90px 0 70px;background:var(--paper);overflow:hidden}.jp-head{text-align:center;max-width:560px;margin:0 auto 50px}.jp-head h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:10px}.jp-head p{color:var(--ink-70);font-size:.95rem;line-height:1.7}.jp-path-wrap{position:relative;max-width:980px;margin:0 auto;padding:10px 0 30px}.jp-svg-line{position:absolute;top:40px;left:0;width:100%;height:auto;z-index:0}.jp-stops{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start}.jp-stop{display:flex;flex-direction:column;align-items:center;text-align:center;width:200px}.jp-node{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:0 10px 26px #1b1f3b2e;margin-bottom:16px;border:5px solid var(--paper)}.jp-stop:nth-child(1) .jp-node{background:var(--marigold-deep)}.jp-stop:nth-child(2) .jp-node{background:var(--sky)}.jp-stop:nth-child(3) .jp-node{background:var(--berry)}.jp-stop:nth-child(4) .jp-node{background:var(--grass)}.jp-stop:nth-child(2n){margin-top:70px}.jp-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-bottom:4px}.jp-desc{font-size:.8rem;color:var(--ink-70);line-height:1.5}@media (max-width: 860px){.jp-svg-line{display:none}.jp-stops{flex-direction:column;align-items:center;gap:36px}.jp-stop:nth-child(2n){margin-top:0}.jp-stop{width:100%;max-width:280px}}.section-label{font-weight:800;font-size:.78rem;color:var(--marigold-deep);margin-bottom:6px}.section-h2{font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:10px}.section-p{color:var(--ink-70);font-size:.92rem;max-width:520px}.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.subjects-row{padding:50px 0 30px}.chip-scroll{display:flex;gap:12px;overflow-x:auto;padding:20px 0 4px}.chip{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--paper-dim);border-radius:999px;font-weight:700;font-size:.85rem;white-space:nowrap;border:2px solid transparent;cursor:pointer;transition:border-color var(--ease),background var(--ease)}.chip:hover{border-color:var(--marigold-deep)}.chip .chip-count{font-size:.68rem;background:#1b1f3b14;padding:1px 8px;border-radius:999px;font-weight:700;color:var(--ink-45)}.guest-banner{display:flex;align-items:center;gap:10px;background:#2f8fd11a;border:1.5px solid rgba(47,143,209,.25);color:var(--sky);font-weight:700;font-size:.82rem;padding:10px 18px;border-radius:999px;margin-bottom:20px;width:fit-content}.guest-banner strong{color:var(--ink)}.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.pv-card{background:#fff;border-radius:var(--radius-m);overflow:hidden;border:1px solid rgba(27,31,59,.06);box-shadow:0 4px 16px #1b1f3b0d;display:flex;flex-direction:column;transition:transform var(--ease),box-shadow var(--ease);cursor:pointer}.pv-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px #1b1f3b1f}.pv-card-thumb{width:100%;aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,var(--marigold-deep),var(--marigold));display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.pv-card-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.pv-card-thumb .thumb-emoji{font-size:2.4rem;opacity:.85}.pv-card-thumb .thumb-tag{position:absolute;bottom:8px;left:8px;background:#1b1f3b99;color:#fff;font-size:.62rem;font-weight:800;padding:3px 10px;border-radius:999px;text-transform:uppercase}.pv-card-thumb .thumb-tag.right{left:auto;right:8px}.pv-card-thumb .thumb-lock{position:absolute;top:8px;right:8px;background:#ffffffeb;color:var(--ink);font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:999px}.pv-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.pv-card-title{font-family:var(--font-display);font-weight:700;font-size:1rem}.pv-card-desc{font-size:.8rem;color:var(--ink-70);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pv-card-meta{display:flex;gap:10px;font-size:.72rem;color:var(--ink-45);font-weight:700;flex-wrap:wrap}.pv-card-action{margin-top:8px;align-self:flex-start;background:var(--ink);color:var(--paper);font-weight:800;font-size:.78rem;padding:8px 18px;border-radius:999px}.pv-card-action.play{background:var(--berry);color:#fff}.pv-card-action.locked{background:var(--paper-dim);color:var(--ink-45)}.pv-empty{grid-column:1 / -1;text-align:center;padding:40px 16px;color:var(--ink-45);font-size:.9rem}.why-row{padding:60px 0;background:var(--paper-dim)}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:24px}.why-card{background:#fff;border-radius:var(--radius-m);padding:22px 18px;text-align:center;box-shadow:0 4px 14px #1b1f3b0d}.why-card .w-icon{font-size:1.8rem;margin-bottom:8px}.why-card h4{font-family:var(--font-display);font-size:.95rem;margin-bottom:4px}.why-card p{font-size:.8rem;color:var(--ink-70);line-height:1.6}.testi-row{padding:60px 0}.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:24px}.testi-card{background:var(--paper-dim);border-radius:var(--radius-m);padding:20px 18px}.testi-stars{color:var(--marigold-deep);font-size:.85rem;letter-spacing:2px;margin-bottom:8px}.testi-text{font-size:.85rem;color:var(--ink-soft);line-height:1.7;margin-bottom:14px;font-style:italic}.testi-author{display:flex;align-items:center;gap:10px}.testi-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;background:#fff;flex-shrink:0}.testi-name{font-weight:800;font-size:.82rem}.testi-role{font-size:.7rem;color:var(--ink-45)}.cta-band{background:var(--ink);color:var(--paper);padding:70px 0;text-align:center}.cta-band h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px}.cta-band .warm{color:var(--marigold)}.cta-band p{color:#fffdf7a6;max-width:460px;margin:0 auto 30px;font-size:.95rem;line-height:1.7}.cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}footer{background:var(--ink);color:#fffdf7b3;padding:0 0 30px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:20px 0 30px;border-bottom:1px solid rgba(255,253,247,.08)}.footer-brand span{font-family:var(--font-display);font-weight:800;color:var(--paper)}.footer-col h4{color:var(--paper);font-size:.85rem;margin-bottom:12px}.footer-col ul{list-style:none}.footer-col li{margin-bottom:6px;font-size:.8rem}.footer-col a:hover{color:var(--marigold)}.footer-bottom{display:flex;justify-content:space-between;padding-top:18px;font-size:.75rem;flex-wrap:wrap;gap:8px}@media (max-width: 640px){.footer-inner{grid-template-columns:1fr}.pv-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}@media (max-width: 768px){.container{padding:0 5%}.subjects-row{padding:34px 0 20px}#courses,#games,#iq-puzzles{padding:20px 0 40px!important}.why-row,.testi-row{padding:40px 0}.cta-band{padding:50px 0}.section-h2{font-size:1.3rem}.section-p{font-size:.85rem;max-width:100%}.section-head-row{margin-bottom:16px}.chip-scroll{margin:0 -5%;padding:14px 5% 6px}.chip{font-size:.78rem;padding:8px 14px}.guest-banner{font-size:.76rem;padding:9px 14px;width:100%}.pv-grid{grid-template-columns:repeat(2,1fr);gap:12px}.pv-card-title{font-size:.88rem}.pv-card-desc{font-size:.72rem;-webkit-line-clamp:2}.pv-card-meta{font-size:.65rem}.pv-card-action{font-size:.7rem;padding:6px 14px}.pv-card-body{padding:10px 12px 12px;gap:4px}.why-grid,.testi-grid{grid-template-columns:1fr 1fr;gap:12px}.why-card{padding:16px 12px}.why-card h4{font-size:.85rem}.why-card p{font-size:.72rem}.cta-band h2{font-size:1.4rem}.cta-band p{font-size:.85rem}.cta-btns{gap:8px}.cta-btns .btn{font-size:.8rem;padding:10px 18px}.footer-inner{gap:22px;padding:16px 0 24px}.footer-bottom{flex-direction:column;align-items:flex-start}.pv-game-overlay-header{padding:10px 14px;font-size:.85rem}.pv-game-close{font-size:.72rem;padding:6px 12px}}@media (max-width: 420px){.pv-grid{grid-template-columns:1fr 1fr;gap:10px}.why-grid,.testi-grid{grid-template-columns:1fr}.section-h2{font-size:1.15rem}.chip{font-size:.72rem;padding:7px 12px}}.pv-game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:var(--paper);display:flex;flex-direction:column;overflow-y:auto}.pv-game-overlay-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--ink);color:var(--paper);font-family:var(--font-display);font-weight:700;font-size:1rem}.pv-game-close{background:#fffdf71f;color:var(--paper);font-weight:700;font-size:.82rem;padding:7px 16px;border-radius:999px}.pv-game-close:hover{background:#fffdf738}#root .pv-grid .pv-card,#root .container .pv-card,html body #root .pv-card{background:#fff!important;border:1px solid rgba(27,31,59,.06)!important;border-radius:var(--radius-m, 18px)!important;overflow:hidden!important;box-shadow:0 4px 16px #1b1f3b0d!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important;transition:transform var(--ease, .35s) ease,box-shadow var(--ease, .35s) ease!important;cursor:pointer!important;color:var(--ink, #1b1f3b)!important}#root .pv-grid .pv-card:hover{transform:translateY(-4px)!important;box-shadow:0 14px 34px #1b1f3b1f!important;border-color:#1b1f3b0f!important}#root .pv-grid .pv-card-thumb,html body #root .pv-card-thumb{background:linear-gradient(135deg,var(--marigold-deep, #f2921a),var(--marigold, #ffb238))!important;width:100%!important;aspect-ratio:16/9!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;flex-shrink:0!important}#root .pv-grid .pv-card-body,html body #root .pv-card-body{background:#fff!important;padding:14px 16px 16px!important;display:flex!important;flex-direction:column!important;gap:6px!important;flex:1!important}#root .pv-grid .pv-card-title,html body #root .pv-card-title{color:var(--ink, #1b1f3b)!important;font-family:var(--font-display, "Baloo 2", sans-serif)!important;font-weight:700!important;font-size:1rem!important}#root .pv-grid .pv-card-desc,html body #root .pv-card-desc{color:var(--ink-70, rgba(27, 31, 59, .7))!important;font-size:.8rem!important}#root .pv-grid .pv-card-meta,html body #root .pv-card-meta{color:var(--ink-45, rgba(27, 31, 59, .45))!important}#root .pv-grid .pv-card-action,html body #root .pv-card-action{background:var(--ink, #1b1f3b)!important;color:var(--paper, #fffdf7)!important;border-radius:999px!important;padding:8px 18px!important;font-weight:800!important;font-size:.78rem!important;align-self:flex-start!important;margin-top:8px!important;border:none!important}#root .pv-grid .pv-card-action.locked,html body #root .pv-card-action.locked{background:#f5f1e6!important;color:#8a8a8a!important;border:1.5px solid #e8e0cc!important}#root .pv-grid .pv-card-action.play,html body #root .pv-card-action.play{background:var(--berry, #c64191)!important;color:#fff!important}.games-content .filter-section{background:var(--white, #fff);border-radius:20px;padding:20px;margin-bottom:16px;border:1px solid var(--border, #e8edf2)}.games-content .filter-label{font-size:12px;font-weight:800;color:#999;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}.games-content .filter-row{display:flex;gap:8px;flex-wrap:wrap}.games-content .my-grade-chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ff6b35,#f7a27a);color:#fff;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:800;margin-bottom:16px}.games-content .divider{height:1px;background:var(--border, #e8edf2);margin:14px 0}.games-content .btn-sm{padding:6px 14px;font-size:13px;border-radius:20px;cursor:pointer;font-weight:700;font-family:inherit;transition:all .2s;border:2px solid transparent}.games-content .btn-outline{background:transparent;border:2px solid #dde3ec;color:#555}.games-content .btn-outline:hover{border-color:#ff6b35;color:#ff6b35}.games-content .btn-primary{background:#ff6b35;border:2px solid #ff6b35;color:#fff}.games-content .btn-grade-active{background:var(--ink, #1B1F3B);border:2px solid var(--ink, #1B1F3B);color:#fff}.games-content .games-panel{background:var(--white, #fff);border-radius:20px;padding:20px;border:1px solid var(--border, #e8edf2)}.games-content .games-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:6px}.games-content .games-panel-title{font-size:18px;font-weight:800}.games-content .games-count{font-size:13px;font-weight:700;color:#ff6b35;background:#fff5f0;padding:4px 12px;border-radius:20px}.games-content .games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.games-content .game-card{background:var(--white, #fff);border-radius:20px;text-decoration:none;transition:all .3s ease;border:2px solid #eef2f6;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;color:inherit}.games-content .game-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#ff6b35}.games-content .game-card.my-level-badge:before{content:"⭐ My Level";position:absolute;top:10px;right:-22px;background:linear-gradient(135deg,#ff6b35,#f7c59f);color:#fff;font-size:10px;font-weight:800;padding:3px 28px;transform:rotate(35deg);letter-spacing:.5px}.games-content .game-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;flex-shrink:0;background:#f0f4f8}.games-content .game-thumb img{width:100%;height:100%;object-fit:cover;display:block}.games-content .game-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:36px;background:#ff6b351f}.games-content .game-card-body{padding:16px 20px 20px}.games-content .game-title{font-weight:800;font-size:16px;color:var(--text, #2D2D2D);margin:8px 0}.games-content .game-subject{font-size:11px;font-weight:700;color:#ff6b35;text-transform:uppercase;letter-spacing:.5px}.games-content .game-grade-range{display:inline-block;font-size:10px;font-weight:700;color:#666;background:#f0f4f8;border-radius:20px;padding:2px 10px;margin-top:6px}.games-content .game-desc{font-size:12px;color:#778;margin:8px 0 4px}.games-content .xp-hint{font-size:11px;font-weight:700;color:#ff6b35;margin-top:6px}@media (max-width: 640px){.games-content .games-grid{grid-template-columns:repeat(2,1fr);gap:10px}.games-content .game-card-body{padding:8px 8px 10px}.games-content .game-title{font-size:11px;margin:4px 0}.games-content .game-subject{font-size:8px}.games-content .game-grade-range{font-size:7px;padding:1px 6px}.games-content .btn-sm{font-size:10px;padding:4px 10px}}.gv2-content{padding:24px;max-width:1100px;margin:0 auto}.gv2-header{margin-bottom:24px}.gv2-title{font-size:26px;font-weight:800;color:#1e1b4b}.gv2-subtitle{color:#6b7280;margin-top:4px;font-size:14px}.gv2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;align-items:stretch}.gv2-card{display:flex;flex-direction:column;width:100%;height:100%;padding:0;margin:0;background:#fff;border:1px solid #e5e7eb;border-radius:18px;color:#1f2937;font-family:inherit;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 6px 18px #1e1b4b1a;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.gv2-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #1e1b4b2e;border-color:#6366f1}.gv2-my-level{border-color:#22c55e;box-shadow:0 6px 18px #22c55e40}.gv2-my-level:hover{border-color:#16a34a;box-shadow:0 12px 28px #22c55e59}.gv2-card .game-thumb{display:block;width:100%;aspect-ratio:16 / 9;flex-shrink:0;overflow:hidden;position:relative;background:#eef2ff}.gv2-card .game-thumb img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .3s ease}.gv2-card:hover .game-thumb img{transform:scale(1.04)}.gv2-card .game-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#eef2ff,#e0e7ff);color:#4338ca;font-size:38px}.gv2-card-content{display:flex;flex-direction:column;flex:1;padding:16px 16px 17px}.gv2-card-icon{font-size:28px;line-height:1;margin-bottom:8px}.gv2-card-title{font-size:17px;font-weight:800;line-height:1.3;color:#1e1b4b}.gv2-card-desc{font-size:13px;line-height:1.45;color:#6b7280;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.gv2-card-meta{font-size:12px;color:#6b7280;margin-top:10px;font-weight:700}.gv2-play-btn{margin-top:auto;align-self:flex-start;font-weight:700;font-size:13px;color:#4338ca;background:#eef2ff;display:inline-block;padding:7px 13px;border-radius:999px;transition:all .15s ease}.gv2-card-meta+.gv2-play-btn{margin-top:14px}.gv2-card:hover .gv2-play-btn{background:#4338ca;color:#fff}.nn-wrap{max-width:680px;margin:0 auto;padding:16px}.nn-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.nn-exit{background:#eef2ff;color:#4338ca;border:none;padding:8px 14px;border-radius:999px;font-weight:700;cursor:pointer}.nn-timer,.nn-score{font-weight:800;font-size:16px;color:#312e81}.nn-question{text-align:center;font-size:24px;font-weight:800;color:#1e1b4b;margin-bottom:10px;min-height:34px}.nn-combo{display:inline-block;margin-left:10px;color:#f97316;font-size:15px;vertical-align:middle}.nn-canvas-shell{position:relative;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #1e1b4b40}.nn-canvas{width:100%;height:auto;display:block;cursor:pointer;touch-action:manipulation}.nn-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1e1b4bb8;display:flex;align-items:center;justify-content:center}.nn-countdown{font-size:72px;font-weight:900;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.4)}.nn-results{background:#fff;border-radius:18px;padding:28px 32px;text-align:center;min-width:260px}.nn-results-title{font-size:22px;font-weight:800;margin-bottom:10px;color:#1e1b4b}.nn-results-row{font-size:15px;color:#374151;margin:4px 0}.nn-xp-badge{margin-top:14px;background:linear-gradient(145deg,#4ade80,#22c55e);color:#052e16;font-weight:800;padding:10px 16px;border-radius:999px;display:inline-block}.nn-btn{margin-top:18px;background:#4338ca;color:#fff;border:none;padding:10px 22px;border-radius:999px;font-weight:700;cursor:pointer}.nn-btn:disabled{opacity:.6;cursor:not-allowed}.nn-hint{text-align:center;font-size:13px;color:#9ca3af;margin-top:10px}@media (max-width: 768px){.gv2-content{padding:18px 14px}.gv2-title{font-size:23px}.gv2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gv2-card{border-radius:14px}.gv2-card-content{padding:12px}.gv2-card-title{font-size:14px}.gv2-card-desc{font-size:11px;min-height:32px}.gv2-card-meta{font-size:10px;margin-top:7px}.gv2-play-btn{font-size:11px;padding:6px 10px}.gv2-card-meta+.gv2-play-btn{margin-top:10px}}@media (max-width: 420px){.gv2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gv2-card-content{padding:10px}.gv2-card-title{font-size:12px}.gv2-card-desc{font-size:10px;line-height:1.35}.gv2-card-meta{font-size:9px}.gv2-play-btn{font-size:10px;padding:5px 9px}}.hfx-section{padding:30px 0 70px}.hfx-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(24px,5vw,64px)}.hfx-copy .section-p{margin-bottom:22px}.hfx-points{display:flex;flex-direction:column;gap:14px;margin:0 0 26px;padding:0;list-style:none}.hfx-point{display:flex;align-items:flex-start;gap:14px}.hfx-point__icon{flex:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--paper-dim, #f5f1e6);font-size:1.2rem}.hfx-point__title{font-family:var(--font-display, "Baloo 2", sans-serif);font-weight:700;font-size:1rem;color:var(--ink, #1b1f3b)}.hfx-point__desc{margin:2px 0 0;font-size:.84rem;line-height:1.55;color:var(--ink-70, rgba(27, 31, 59, .7))}.hfx-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.hfx-soon{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:#c641911a;color:var(--berry, #c64191);font-size:.76rem;font-weight:800}.hfx-shot{position:relative;margin:0}.hfx-shot:before{content:"";position:absolute;top:-6%;right:-4%;bottom:-8%;left:-4%;z-index:0;border-radius:40px;background:radial-gradient(ellipse at 50% 55%,#ffb23859,#ffb23800 70%)}.hfx-shot__frame{position:relative;z-index:1;overflow:hidden;border-radius:20px;border:6px solid var(--ink, #1b1f3b);background:var(--ink, #1b1f3b);box-shadow:0 24px 60px #1b1f3b47}.hfx-shot__frame img{display:block;width:100%;height:auto;aspect-ratio:1440 / 899;object-fit:cover}.hfx-shot figcaption{position:relative;z-index:1;margin-top:12px;text-align:center;font-size:.74rem;font-weight:700;color:var(--ink-45, rgba(27, 31, 59, .45))}@media (max-width: 860px){.hfx-section{padding:10px 0 50px}.hfx-grid{grid-template-columns:1fr}.hfx-shot__frame{border-width:4px;border-radius:14px}}.ver-page{--ver-bg: #0d0b1e;--ver-surface: #16133a;--ver-border: rgba(167, 139, 250, .15);--ver-gold: #ffd700;--ver-purple: #7c3aed;--ver-lilac: #c4b5fd;--ver-text: #e2e8f0;--ver-muted: #94a3b8;--ver-green: #22c55e;--ver-red: #f87171;--ver-radius: 16px;background:var(--ver-bg);color:var(--ver-text);font-family:Segoe UI,Nunito,sans-serif;min-height:100vh;background-image:radial-gradient(ellipse at 20% 20%,rgba(124,58,237,.12) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(255,215,0,.06) 0%,transparent 50%)}.ver-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#0d0b1ef7;border-bottom:1px solid var(--ver-border);position:sticky;top:0;z-index:10}.ver-nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.ver-nav-logo img{width:36px;height:36px;border-radius:8px;display:block}.ver-nav-logo span{font-size:22px;font-weight:900;color:var(--ver-gold);letter-spacing:2px}.ver-nav-links{display:flex;gap:24px;align-items:center}.ver-nav-links a{color:var(--ver-lilac);text-decoration:none;font-size:14px;transition:color .2s}.ver-nav-links a:hover{color:#fff}.ver-hero{text-align:center;padding:70px 20px 50px}.ver-hero-badge{display:inline-block;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:999px;padding:6px 18px;font-size:12px;letter-spacing:3px;color:var(--ver-gold);text-transform:uppercase;margin-bottom:20px}.ver-hero h1{font-size:clamp(28px,5vw,48px);font-weight:900;color:#fff;margin-bottom:12px}.ver-hero h1 span{color:var(--ver-gold)}.ver-hero p{color:var(--ver-lilac);font-size:16px;max-width:560px;margin:0 auto}.ver-card{max-width:520px;margin:0 auto 60px;background:var(--ver-surface);border:1px solid var(--ver-border);border-radius:var(--ver-radius);padding:40px;box-shadow:0 20px 60px #0006}.ver-field{margin-bottom:22px}.ver-field label{display:block;font-size:13px;color:var(--ver-lilac);margin-bottom:8px;font-weight:600;letter-spacing:.5px}.ver-field input{width:100%;background:#ffffff0a;border:1px solid var(--ver-border);border-radius:10px;color:var(--ver-text);font-size:16px;padding:14px 16px;transition:border-color .2s;font-family:Courier New,monospace}.ver-field input:focus{outline:none;border-color:var(--ver-purple);box-shadow:0 0 0 3px #7c3aed26}.ver-field input::placeholder{color:var(--ver-muted);font-family:Segoe UI,sans-serif}.ver-btn{width:100%;padding:16px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--ver-purple),#5b21b6);color:#fff;font-size:17px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.5px}.ver-btn:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#4c1d95);transform:translateY(-1px);box-shadow:0 8px 24px #7c3aed66}.ver-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ver-result-wrap{max-width:520px;margin:0 auto 40px;padding:0 16px}.ver-result-valid{background:#22c55e0f;border:1px solid rgba(34,197,94,.3);border-radius:var(--ver-radius);padding:28px;margin-bottom:24px}.ver-valid-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.ver-valid-icon{font-size:40px}.ver-valid-title{font-size:20px;font-weight:800;color:var(--ver-green)}.ver-valid-sub{font-size:13px;color:var(--ver-muted);margin-top:2px}.ver-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}.ver-detail-item label{display:block;color:var(--ver-muted);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}.ver-detail-item .ver-val{font-size:15px;font-weight:600;color:#fff}.ver-cert-num-full{grid-column:1 / -1}.ver-cert-num-full .ver-val{color:var(--ver-gold);font-family:Courier New,monospace;font-size:18px;letter-spacing:1px}.ver-result-invalid{background:#ef44440f;border:1px solid rgba(239,68,68,.3);border-radius:var(--ver-radius);padding:28px;text-align:center}.ver-result-invalid .ver-err-icon{font-size:48px;margin-bottom:12px}.ver-result-invalid h3{color:var(--ver-red);font-size:20px;margin-bottom:8px}.ver-result-invalid p{color:var(--ver-muted);font-size:14px;line-height:1.6}.ver-copy-link-btn{display:block;margin:16px auto 0;background:transparent;border:1px solid var(--ver-border);color:var(--ver-lilac);padding:10px 24px;border-radius:8px;cursor:pointer;font-size:14px}.ver-copy-link-btn:hover{border-color:var(--ver-purple);color:#fff}.ver-cert-preview{margin-top:24px;background:linear-gradient(135deg,#1a1533,#0d0b1e);border:2px solid var(--ver-gold);border-radius:var(--ver-radius);padding:36px 28px;text-align:center;position:relative;overflow:hidden}.ver-cert-preview:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(255,215,0,.35);border-radius:10px;pointer-events:none}.ver-cert-seal{font-size:40px;margin-bottom:6px}.ver-cert-heading{font-size:12px;letter-spacing:4px;color:var(--ver-gold);text-transform:uppercase;margin-bottom:14px}.ver-cert-name{font-family:"Baloo 2",Segoe UI,sans-serif;font-size:26px;font-weight:800;color:#fff;margin-bottom:6px}.ver-cert-line{font-size:13px;color:var(--ver-muted);margin-bottom:18px}.ver-cert-course{font-size:18px;font-weight:700;color:var(--ver-lilac);margin-bottom:22px}.ver-cert-footer-row{display:flex;justify-content:space-between;font-size:11px;color:var(--ver-muted);margin-top:18px}.ver-cert-footer-row .ver-cert-num{color:var(--ver-gold);font-family:Courier New,monospace}.ver-download-btn{margin-top:18px;background:transparent;border:1.5px solid var(--ver-gold);color:var(--ver-gold);padding:10px 22px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700}.ver-download-btn:hover:not(:disabled){background:#ffd7001a}.ver-download-btn:disabled{opacity:.5;cursor:not-allowed}.ver-download-note{font-size:11px;color:var(--ver-muted);margin-top:8px}.ver-how{max-width:700px;margin:0 auto 80px;padding:0 20px}.ver-how h2{font-size:24px;font-weight:800;color:#fff;text-align:center;margin-bottom:32px}.ver-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px}.ver-step-card{background:var(--ver-surface);border:1px solid var(--ver-border);border-radius:var(--ver-radius);padding:24px;text-align:center}.ver-step-num{font-size:32px;margin-bottom:12px}.ver-step-card h3{font-size:15px;font-weight:700;color:#fff;margin-bottom:8px}.ver-step-card p{font-size:13px;color:var(--ver-muted);line-height:1.5}.ver-footer{text-align:center;padding:28px;color:var(--ver-muted);font-size:13px;border-top:1px solid var(--ver-border)}.ver-spinner{display:inline-block;width:20px;height:20px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:ver-spin .7s linear infinite;vertical-align:middle;margin-right:8px}@keyframes ver-spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.ver-nav{padding:12px 16px;flex-wrap:wrap;gap:8px}.ver-nav-links{gap:12px;flex-wrap:wrap}.ver-nav-links a{font-size:12px}.ver-card{padding:24px;margin:0 12px 40px}.ver-result-wrap{padding:0 12px}.ver-detail-grid{grid-template-columns:1fr}.ver-cert-num-full{grid-column:1}.ver-cert-name{font-size:21px}.ver-cert-footer-row{flex-direction:column;gap:6px}}.auth-page{--accent: #E67E22;--accent-light: #f39c12;--accent-glow: rgba(230, 126, 34, .4);--blue: #2C3E50;--bg: #f0f4f8;font-family:Nunito,sans-serif;background:var(--bg);min-height:100vh;display:flex}.auth-page.theme-teacher{--accent: #27AE60;--accent-light: #2ecc71;--accent-glow: rgba(39, 174, 96, .4)}.auth-left{flex:1;background:linear-gradient(145deg,var(--blue) 0%,#1a252f 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;position:relative;overflow:hidden}.theme-teacher .auth-left{background:linear-gradient(145deg,#1a6b3a 0%,var(--blue) 100%)}.auth-left-circle{position:absolute;border-radius:50%;opacity:.08}.circle-1{width:500px;height:500px;background:var(--accent);top:-150px;right:-150px}.circle-2{width:350px;height:350px;background:#27ae60;bottom:-100px;left:-100px}.circle-3{width:190px;height:190px;background:#fff;top:38%;left:28%}.auth-brand{position:relative;z-index:1;text-align:center;margin-bottom:40px}.auth-brand img{width:36px;height:36px;border-radius:8px;margin-bottom:16px}.auth-brand-name{font-family:"Baloo 2",sans-serif;font-size:2.2rem;font-weight:900;color:#fff}.auth-brand-name span{color:var(--accent)}.auth-brand-tag{color:#fff9;font-size:.92rem;margin-top:4px}.home-nav-btn{display:inline-flex;align-items:center;gap:8px;background:#ffffff1f;color:var(--blue);padding:10px 20px;border-radius:40px;font-weight:600;font-size:.85rem;margin-bottom:24px;border:1px solid rgba(0,0,0,.08);transition:all .2s}.auth-left .home-nav-btn{color:#fff;border-color:#fff3}.home-nav-btn:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.auth-feature-list{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px}.auth-feature{display:flex;align-items:center;gap:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 18px}.auth-feature-icon{font-size:1.5rem;flex-shrink:0}.auth-feature-text{color:#ffffffd9;font-size:.88rem;font-weight:600;line-height:1.4}.auth-left-footer{position:relative;z-index:1;margin-top:36px;text-align:center;color:#ffffff59;font-size:.78rem}.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 32px;background:#fff}.auth-box{width:100%;max-width:430px}.auth-title{font-family:"Baloo 2",sans-serif;font-size:1.9rem;font-weight:900;color:var(--blue);margin-bottom:6px}.auth-title span{color:var(--accent)}.auth-sub{color:#778;font-size:.92rem;margin-bottom:28px}.auth-tabs{display:flex;background:#f0f4f8;border-radius:14px;padding:4px;margin-bottom:24px;gap:4px}.auth-tab{flex:1;padding:10px;border:none;background:transparent;border-radius:10px;font-weight:700;font-size:.9rem;color:#778;cursor:pointer;transition:all .25s}.auth-tab.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px #0000001a}.auth-form-group{margin-bottom:16px}.auth-form-group label{display:block;font-weight:700;font-size:.85rem;color:var(--blue);margin-bottom:7px}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.1rem;pointer-events:none}.auth-input-wrap input{width:100%;padding:12px 14px 12px 42px;border:2px solid #e8edf2;border-radius:12px;font-size:.93rem;color:var(--blue);background:#f8fafd;outline:none;transition:all .2s}.auth-input-wrap input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-glow)}.auth-toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;color:#aab;padding:4px}.auth-error{background:#fef0f0;border:1.5px solid #f9c5c5;border-radius:10px;padding:11px 14px;color:#c0392b;font-size:.85rem;font-weight:600;margin-bottom:16px}.auth-loader{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0;color:#778;font-size:.9rem}.auth-spinner{width:22px;height:22px;border:3px solid var(--accent-glow);border-top-color:var(--accent);border-radius:50%;animation:authspin .7s linear infinite}@keyframes authspin{to{transform:rotate(360deg)}}.auth-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-info-box{background:#27ae6012;border:1.5px solid rgba(39,174,96,.2);border-radius:10px;padding:10px 14px;font-size:.8rem;color:#1a6b3a;margin-bottom:16px;line-height:1.6}.auth-btn-submit{width:100%;padding:15px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-light));color:#fff;font-weight:800;font-size:1rem;cursor:pointer;transition:all .25s;box-shadow:0 6px 20px var(--accent-glow);display:flex;align-items:center;justify-content:center;gap:10px}.auth-btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--accent-glow)}.auth-btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-switch-link{text-align:center;margin-top:20px;font-size:.88rem;color:#778}.auth-switch-link a{color:var(--blue);font-weight:700}.auth-switch-link a:hover{color:var(--accent)}.auth-session-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.auth-session-loader img{width:56px;height:56px;border-radius:14px}@media (max-width: 860px){.auth-left{display:none}.auth-right{padding:32px 20px;background:var(--bg)}.auth-box{background:#fff;border-radius:24px;padding:32px 24px;box-shadow:0 8px 32px #0000001a}}@media (max-width: 400px){.auth-form-row{grid-template-columns:1fr}}.auth-page .auth-form-group,.auth-page .auth-input-wrap{position:relative}.auth-page .auth-input-wrap>.auth-input-icon,.auth-page .auth-form-group>.auth-input-wrap>.auth-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.1rem;line-height:1;pointer-events:none;z-index:2}.auth-page .auth-input-wrap>input{padding-left:42px!important}.auth-page .auth-toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2}.auth-page .auth-form-group>.auth-input-icon{position:absolute;left:14px;top:calc(50% + 10px);transform:translateY(-50%);z-index:2;pointer-events:none}.parent-portal{--primary: #6c3fc5;--primary-light: rgba(108, 63, 197, .15);--primary-border: rgba(108, 63, 197, .35);--bg: #0f0d17;--card-bg: #171320;--topbar-bg: #140f1f;--text: #ffffff;--text2: #f1eef7;--text3: #b8b0c8;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--teal: #14b8a6;color:var(--text)}.parent-portal .auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg);background-image:radial-gradient(circle at 20% 20%,rgba(108,63,197,.12),transparent 45%),radial-gradient(circle at 80% 80%,rgba(20,184,166,.08),transparent 40%)}.parent-portal .pp-card{width:100%;max-width:380px;background:var(--card-bg);border:1.5px solid var(--primary-border);border-radius:20px;padding:32px 28px 28px;box-shadow:0 24px 60px #00000059}.parent-portal .pp-logo-wrap{text-align:center;margin-bottom:24px}.parent-portal .pp-logo-img{width:52px;height:52px;border-radius:14px;object-fit:cover;display:block;margin:0 auto 10px;box-shadow:0 6px 18px #6c3fc559}.parent-portal .pp-logo-text{font-size:20px;font-weight:800;color:var(--text)}.parent-portal .pp-logo-accent{color:var(--primary)}.parent-portal .pp-logo-sub{font-size:12px;color:var(--text3);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:3px}.parent-portal .pp-tabs{display:flex;background:#ffffff0a;border:1px solid var(--primary-border);border-radius:12px;padding:4px;margin-bottom:20px}.parent-portal .pp-tab{flex:1;background:transparent;border:none;color:var(--text3);font-size:13px;font-weight:700;padding:9px 0;border-radius:9px;cursor:pointer;transition:all .18s ease}.parent-portal .pp-tab.active{background:var(--primary);color:#fff}.parent-portal .pp-tab:not(.active):hover{color:var(--text2)}.parent-portal .pp-field{margin-bottom:16px}.parent-portal .pp-label{display:block;font-size:12px;font-weight:700;color:var(--text3);margin-bottom:6px;letter-spacing:.02em}.parent-portal .pp-input{width:100%;background:#ffffff0a;border:1.5px solid var(--primary-border);border-radius:10px;color:var(--text);font-size:14px;padding:11px 14px;font-family:inherit;transition:border-color .18s ease}.parent-portal .pp-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.parent-portal .pp-input::placeholder{color:var(--text3);opacity:.6}.parent-portal select.pp-input{cursor:pointer}.parent-portal .pp-submit-btn{width:100%;background:var(--primary);color:#fff;border:none;border-radius:10px;padding:13px 0;font-size:14.5px;font-weight:700;cursor:pointer;transition:all .18s ease;margin-top:4px}.parent-portal .pp-submit-btn:hover:not(:disabled){background:#5a34a8;transform:translateY(-1px)}.parent-portal .pp-submit-btn:disabled{opacity:.6;cursor:not-allowed}.parent-portal .pp-error{margin-top:12px;font-size:12.5px;color:var(--danger);text-align:center;font-weight:600}.parent-portal .app-shell{background:var(--bg);min-height:100vh}.parent-portal .topbar{position:sticky;top:0;z-index:50;background:var(--topbar-bg);border-bottom:1.5px solid var(--primary-border);display:flex;align-items:center;justify-content:space-between;padding:14px 20px;flex-wrap:wrap;gap:10px}.parent-portal .logo{display:flex;align-items:center;gap:9px}.parent-portal .logo img{width:32px;height:32px;border-radius:8px;object-fit:contain}.parent-portal .logo-text{font-size:16px;font-weight:800}.parent-portal .logo-text span{color:var(--primary)}.parent-portal .tb-right{display:flex;align-items:center;gap:12px}.parent-portal .parent-chip{font-size:12.5px;color:var(--text2);font-weight:600}.parent-portal .logout-btn{background:transparent;border:1.5px solid var(--primary-border);color:var(--text2);border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700;cursor:pointer}.parent-portal .logout-btn:hover{background:var(--primary-light)}.parent-portal .wrap{max-width:920px;margin:0 auto;padding:22px 16px 60px}.parent-portal .page-title{font-size:21px;font-weight:800;margin-bottom:4px}.parent-portal .page-sub{color:var(--text3);font-size:13px;margin-bottom:20px}.parent-portal .card{background:var(--card-bg);border:1.5px solid var(--primary-border);border-radius:16px;padding:20px;margin-bottom:18px}.parent-portal .card-title{font-size:14.5px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:14px}.parent-portal .connect-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}@media (max-width: 700px){.parent-portal .connect-grid{grid-template-columns:1fr}}.parent-portal .pending-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.parent-portal .pending-row:last-child{border-bottom:none}.parent-portal .badge-pending{background:#f59e0b26;color:var(--warning);font-size:11px;font-weight:800;padding:4px 10px;border-radius:20px}.parent-portal .child-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.parent-portal .child-chip{display:flex;align-items:center;gap:8px;background:var(--card-bg);border:1.5px solid var(--primary-border);border-radius:30px;padding:8px 16px 8px 8px;cursor:pointer;font-size:13px;font-weight:700}.parent-portal .child-chip.active{background:var(--primary);border-color:var(--primary)}.parent-portal .child-chip .p-avatar{width:26px;height:26px;font-size:12px}.parent-portal .add-child-chip{border-style:dashed;color:var(--text3)}.parent-portal .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}@media (max-width: 700px){.parent-portal .stats-grid{grid-template-columns:repeat(2,1fr)}}.parent-portal .stat-card{background:var(--card-bg);border:1.5px solid var(--primary-border);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px}.parent-portal .stat-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.parent-portal .stat-icon.orange{background:#f59e0b26}.parent-portal .stat-icon.green{background:#22c55e26}.parent-portal .stat-icon.yellow{background:#eab30826}.parent-portal .stat-icon.teal{background:#14b8a626}.parent-portal .stat-value{font-size:19px;font-weight:800}.parent-portal .stat-label{font-size:11px;color:var(--text3);font-weight:600}.parent-portal .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 760px){.parent-portal .grid-2{grid-template-columns:1fr}}.parent-portal .p-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--primary);flex-shrink:0}.parent-portal table{width:100%;border-collapse:collapse}.parent-portal th{text-align:left;font-size:11px;color:var(--text3);text-transform:uppercase;padding:8px 6px;border-bottom:1.5px solid rgba(255,255,255,.08)}.parent-portal td{padding:10px 6px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06)}.parent-portal .badge{font-size:11px;font-weight:800;padding:4px 10px;border-radius:20px}.parent-portal .badge-success{background:#22c55e26;color:var(--success)}.parent-portal .badge-warning{background:#f59e0b26;color:var(--warning)}.parent-portal .badge-info{background:#3b82f626;color:#60a5fa}.parent-portal .badge-danger{background:#ef444426;color:var(--danger)}.parent-portal .weak-item{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}.parent-portal .weak-item:last-child{border-bottom:none}.parent-portal .weak-pct{color:var(--danger);font-weight:800}.parent-portal .course-row{padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.parent-portal .course-row:last-child{border-bottom:none}.parent-portal .course-row-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.parent-portal .course-row-top b{font-weight:700}.parent-portal .progress-track{width:100%;height:7px;background:#ffffff14;border-radius:20px;overflow:hidden}.parent-portal .progress-fill{height:100%;background:var(--primary);border-radius:20px}.parent-portal .progress-fill.low{background:var(--danger)}.parent-portal .progress-fill.mid{background:var(--warning)}.parent-portal .ai-summary-box{background:linear-gradient(135deg,var(--primary-light),rgba(20,184,166,.08));border:1.5px solid var(--primary-border);border-radius:14px;padding:18px;font-size:13.5px;line-height:1.7;color:var(--text2)}.parent-portal .empty-state{text-align:center;padding:24px 10px;color:var(--text3);font-size:13px}.parent-portal .loading-state{display:flex;align-items:center;gap:10px;color:var(--text3);font-size:13px;padding:10px 0}.parent-portal .loader{width:16px;height:16px;border:2.5px solid var(--primary-border);border-top-color:var(--primary);border-radius:50%;animation:parent-portal-spin .8s linear infinite}@keyframes parent-portal-spin{to{transform:rotate(360deg)}}.parent-portal .btn-sm{background:transparent;color:var(--danger);border:1.5px solid var(--danger);border-radius:8px;padding:7px 13px;font-size:12px;font-weight:700;cursor:pointer}.parent-portal .toast-container{position:fixed;bottom:16px;right:16px;left:16px;z-index:999;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.parent-portal .toast{background:#1c1730;border:1.5px solid var(--primary-border);border-radius:10px;padding:11px 16px;font-size:13px;color:#fff;box-shadow:0 8px 24px #0006;max-width:340px;pointer-events:auto;animation:parent-portal-toast-in .25s ease}.parent-portal .toast.success{border-color:var(--success)}.parent-portal .toast.error{border-color:var(--danger)}@keyframes parent-portal-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.parent-portal .pp-card{padding:26px 20px 22px;border-radius:16px}.parent-portal .pp-logo-img{width:44px;height:44px}}.join-class-page{--bg: #0f1117;--card: #171a23;--border: rgba(255,255,255,.08);--primary: #ff6b35;--text: #f5f5f7;--text2: #b8b9c3;--text3: #7d7f8c;--green: #22c55e;--red: #ef4444;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.join-class-page *{box-sizing:border-box}.join-class-page .wrap{width:100%;max-width:420px}.join-class-page .logo-row{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:22px}.join-class-page .logo-row img{width:38px;height:38px;border-radius:9px;object-fit:contain}.join-class-page .logo-row span{font-size:20px;font-weight:700}.join-class-page .logo-row span b{color:var(--primary)}.join-class-page .card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:26px 22px;box-shadow:0 10px 40px #00000059}.join-class-page .card h1{font-size:17px;margin-bottom:4px}.join-class-page .card p.sub{font-size:13px;color:var(--text2);margin-bottom:20px}.join-class-page .class-badge{display:flex;align-items:center;gap:10px;background:#ff6b351a;border:1px solid rgba(255,107,53,.3);border-radius:10px;padding:12px 14px;margin-bottom:20px}.join-class-page .class-badge .icon{font-size:22px}.join-class-page .class-badge .cname{font-weight:700;font-size:14px}.join-class-page .class-badge .tname{font-size:12px;color:var(--text3)}.join-class-page label{display:block;font-size:12.5px;font-weight:600;color:var(--text2);margin-bottom:6px}.join-class-page input{width:100%;padding:11px 12px;border-radius:9px;border:1.5px solid var(--border);background:#0d0f15;color:var(--text);font-size:15px;margin-bottom:14px;font-family:inherit}.join-class-page input:focus{outline:none;border-color:var(--primary)}.join-class-page input#uid{text-transform:uppercase;font-family:monospace;font-weight:700;letter-spacing:1px}.join-class-page .btn{width:100%;padding:12px;border-radius:9px;border:none;cursor:pointer;font-size:14px;font-weight:700;transition:opacity .15s;font-family:inherit}.join-class-page .btn:disabled{opacity:.5;cursor:not-allowed}.join-class-page .btn-primary{background:var(--primary);color:#fff}.join-class-page .btn-primary:hover:not(:disabled){opacity:.9}.join-class-page .found-box{background:#22c55e1a;border:1px solid rgba(34,197,94,.35);color:var(--green);border-radius:9px;padding:10px 12px;font-size:13px;margin-bottom:14px}.join-class-page .error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:var(--red);border-radius:9px;padding:10px 12px;font-size:13px;margin-bottom:14px}.join-class-page .loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:inline-block;animation:join-class-spin .7s linear infinite;vertical-align:-3px;margin-right:6px}@keyframes join-class-spin{to{transform:rotate(360deg)}}.join-class-page .success-screen{text-align:center}.join-class-page .success-screen .tick{font-size:52px;margin-bottom:10px}.join-class-page .success-screen h2{font-size:18px;margin-bottom:8px}.join-class-page .success-screen p{font-size:13.5px;color:var(--text2)}.join-class-page .center-msg{text-align:center;font-size:13.5px;color:var(--text3);padding:30px 0}.approval-page{font-family:Nunito,sans-serif;background:linear-gradient(135deg,#eafaf1,#fff7ee,#eaf4fb);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.approval-card{background:#fff;border-radius:28px;padding:52px 44px;max-width:520px;width:100%;text-align:center;box-shadow:0 20px 60px #2c3e501f;animation:apSlideUp .5s ease both}@keyframes apSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.approval-logo{margin-bottom:28px}.approval-logo img{width:80px;border-radius:16px;box-shadow:0 8px 24px #0000001f}.approval-brand{font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:900;color:#2c3e50;margin-top:10px}.approval-brand span{color:#e67e22}.approval-pending-icon{font-size:5rem;margin-bottom:20px;display:block;animation:apPulse 2s ease-in-out infinite}@keyframes apPulse{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.approval-badge{display:inline-flex;align-items:center;gap:8px;background:#e67e221a;border:2px solid rgba(230,126,34,.3);color:#e67e22;font-weight:800;font-size:.85rem;padding:7px 18px;border-radius:20px;margin-bottom:20px}.approval-badge-dot{width:8px;height:8px;background:#e67e22;border-radius:50%;animation:apBlink 1.2s ease-in-out infinite}@keyframes apBlink{0%,to{opacity:1}50%{opacity:.3}}.approval-card h1{font-family:"Baloo 2",sans-serif;font-size:1.8rem;font-weight:900;color:#2c3e50;margin-bottom:10px}.approval-sub{color:#678;font-size:.95rem;line-height:1.7;margin-bottom:32px}.approval-sub strong{color:#2c3e50}.approval-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;text-align:left}.approval-step{display:flex;align-items:center;gap:14px;background:#f8fafd;border-radius:14px;padding:14px 18px}.approval-step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem;color:#fff;flex-shrink:0}.approval-step-text{font-size:.88rem;color:#445;font-weight:600;line-height:1.4}.approval-step-text span{color:#889;font-weight:500}.approval-teacher-name{background:linear-gradient(135deg,#27ae6014,#27ae600a);border:1.5px solid rgba(39,174,96,.2);border-radius:14px;padding:16px 20px;margin-bottom:28px}.approval-teacher-name .label{font-size:.78rem;font-weight:700;color:#27ae60;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.approval-teacher-name .value{font-family:"Baloo 2",sans-serif;font-size:1.2rem;font-weight:800;color:#2c3e50}.approval-btn-refresh{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2c3e50,#3d5166);color:#fff;font-weight:800;font-size:.95rem;padding:13px 28px;border-radius:24px;border:none;cursor:pointer;box-shadow:0 6px 20px #2c3e504d;transition:all .25s;margin-bottom:14px}.approval-btn-refresh:hover{transform:translateY(-2px);box-shadow:0 10px 28px #2c3e5066}.approval-btn-refresh:disabled{opacity:.7;cursor:not-allowed;transform:none}.approval-btn-logout{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1.5px solid #dde3ea;color:#889;font-weight:700;font-size:.88rem;padding:10px 22px;border-radius:20px;cursor:pointer;transition:all .2s}.approval-btn-logout:hover{border-color:#e67e22;color:#e67e22}.approval-check-timer{font-size:.78rem;color:#a0b0c0;margin-top:10px;min-height:16px}@media (max-width: 480px){.approval-card{padding:36px 24px}.approval-card h1{font-size:1.5rem}}:root{--pvx-brand: #6c3fc5;--pvx-bg: #14102a;--pvx-panel: #1f1940;--pvx-panel-edge: #34296b;--pvx-text: #f3f0ff;--pvx-muted: #a79fd0;--pvx-gold: #ffb83d;--pvx-online: #3ddc97}.pvx-avatar{position:relative;flex:none;overflow:hidden;-webkit-user-select:none;user-select:none}.pvx-avatar__layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.pvx-avatar--face{border-radius:50%;background:var(--pvx-panel-edge);border:2px solid var(--pvx-brand)}.pvx-avatar--face .pvx-avatar__layer{transform:scale(2.2);transform-origin:50% 16%}.pvx-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px 18px;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge);border-radius:14px;color:var(--pvx-text);width:max-content}.pvx-card__info{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.pvx-card__name{font-size:1.15rem;font-weight:700;line-height:1.2;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pvx-card__uid{display:inline-flex;align-items:center;gap:10px;padding:5px 6px 5px 12px;background:#ffb83d1a;border:1px solid rgba(255,184,61,.45);border-radius:8px;color:var(--pvx-gold);font:inherit;font-size:.85rem;font-weight:600;letter-spacing:.02em;cursor:pointer}.pvx-card__uid:hover{background:#ffb83d2e}.pvx-card__uid:focus-visible{outline:2px solid var(--pvx-gold);outline-offset:2px}.pvx-card__uid-action{padding:2px 8px;border-radius:5px;background:var(--pvx-gold);color:#2a1d00;font-size:.75rem;font-weight:700}.pvx-card__status{font-size:.75rem;font-weight:600;color:var(--pvx-muted)}.pvx-card__status--online{color:var(--pvx-online)}.pvx-card__status--in-game{color:var(--pvx-gold)}.pvx-card--compact{flex-direction:row;align-items:center;gap:12px;width:100%;padding:10px 14px}.pvx-card--compact .pvx-card__info{align-items:flex-start;gap:4px}.pvx-card--compact .pvx-card__name{font-size:.95rem;max-width:180px}.pvx-preview{min-height:100vh;padding:32px 20px;background:var(--pvx-bg);color:var(--pvx-text);display:flex;flex-direction:column;align-items:center;gap:24px}.pvx-preview__title{font-size:1.3rem;font-weight:700;margin:0}.pvx-preview__row{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;width:100%;max-width:720px}.pvx-preview__list{width:100%;max-width:420px;margin:0;padding:0;list-style:none;font-size:.85rem;color:var(--pvx-muted)}.pvx-preview__list li{padding:6px 0;border-bottom:1px solid var(--pvx-panel-edge)}.pvx-preview__msg{max-width:420px;text-align:center;color:var(--pvx-muted);line-height:1.5}.pv-spin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease}.pv-spin-overlay.pv-open{opacity:1;pointer-events:auto}.pv-spin-modal{position:relative;width:100%;max-width:400px;text-align:center;padding:30px 26px 28px;border-radius:28px;background:linear-gradient(180deg,#f5f3ff,#fff 150px);border:1px solid rgba(139,92,246,.15);box-shadow:0 30px 80px #2e106559;transform:scale(.92) translateY(12px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);font-family:Inter,sans-serif;max-height:96vh;overflow-y:auto}.pv-spin-overlay.pv-open .pv-spin-modal{transform:scale(1) translateY(0)}.pv-spin-close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:50%;font-size:20px;color:#64748b;cursor:pointer;line-height:1;transition:background .15s}.pv-spin-close:hover{background:#e2e8f0}.pv-spin-header img{width:48px;height:48px;border-radius:12px;margin-bottom:8px;box-shadow:0 4px 12px #6c3fc533}.pv-spin-title{font-family:Plus Jakarta Sans,sans-serif;font-size:22px;font-weight:800;color:#1e1b4b;letter-spacing:-.3px}.pv-spin-subtitle{font-size:13px;color:#64748b;font-weight:500;margin:2px 0 26px}.pv-wheel-wrap{--pv-wheel: min(300px, 74vw);position:relative;width:var(--pv-wheel);height:var(--pv-wheel);margin:0 auto 24px;filter:drop-shadow(0 14px 24px rgba(76,29,149,.35))}.pv-wheel-rim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pv-wheel{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform;transition:transform 4.2s cubic-bezier(.15,.85,.25,1)}.pv-wheel svg{width:100%;height:100%;display:block}.pv-wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:17%;height:17%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f5f3ff 60%,#ddd6fe);border:4px solid #f59e0b;box-shadow:0 4px 14px #0000004d,inset 0 -3px 6px #6d28d926;display:flex;align-items:center;justify-content:center;z-index:2}.pv-wheel-hub span{font-size:20px;color:#6d28d9;line-height:1}.pv-wheel-pointer{position:absolute;top:-16px;left:50%;width:34px;height:44px;transform:translate(-50%);transform-origin:50% 20%;z-index:3;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}.pv-spinning .pv-wheel-pointer{animation:pvTick .14s ease-in-out infinite alternate}@keyframes pvTick{0%{transform:translate(-50%) rotate(-7deg)}to{transform:translate(-50%) rotate(5deg)}}.pv-spinning .pv-dot-a{animation:pvBlink .35s ease-in-out infinite alternate}.pv-spinning .pv-dot-b{animation:pvBlink .35s ease-in-out infinite alternate-reverse}@keyframes pvBlink{0%{opacity:1}to{opacity:.25}}.pv-spin-btn{width:100%;max-width:260px;background:linear-gradient(135deg,#6d28d9,#8b5cf6);color:#fff;border:none;padding:14px 32px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:1px;font-family:inherit;cursor:pointer;box-shadow:0 8px 22px #6d28d966;transition:transform .2s,box-shadow .2s}.pv-spin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #6d28d980}.pv-spin-btn:active:not(:disabled){transform:translateY(0)}.pv-spin-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.pv-spin-cooldown:not(:empty){display:inline-block;margin-top:14px;padding:7px 16px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12.5px;font-weight:700}.pv-spin-result{display:none;flex-direction:column;align-items:center;gap:6px;padding:18px 16px 16px;border-radius:20px;background:linear-gradient(160deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe}.pv-spin-result.pv-show{display:flex;animation:pvPop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pvPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.pv-spin-result-icon{font-size:46px;line-height:1}.pv-spin-result-text{font-family:Plus Jakarta Sans,sans-serif;font-size:22px;font-weight:800;color:#5b21b6}.pv-spin-result-sub{font-size:13px;color:#64748b;font-weight:500}.pv-spin-streak{font-size:12.5px;color:#ea580c;font-weight:800;background:#fff7ed;padding:4px 12px;border-radius:999px;margin-top:4px}.pv-spin-done{margin-top:10px;border:none;cursor:pointer;font-family:inherit;background:#6d28d9;color:#fff;font-weight:700;font-size:13.5px;padding:10px 28px;border-radius:999px;transition:background .15s}.pv-spin-done:hover{background:#5b21b6}.pv-spin-fab{position:fixed;right:24px;bottom:100px;z-index:499;width:58px;height:58px;border-radius:50%;border:3px solid #fff;cursor:pointer;background:linear-gradient(150deg,#8b5cf6,#6d28d9);font-size:26px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #6d28d973;animation:pvSpinFabPulse 2s ease-in-out infinite}@keyframes pvSpinFabPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (max-width: 768px){.pv-spin-fab{right:14px;bottom:84px;width:50px;height:50px;font-size:22px}.pv-spin-modal{padding:26px 18px 22px;border-radius:24px}}@media (prefers-reduced-motion: reduce){.pv-spinning .pv-wheel-pointer,.pv-spinning .pv-dot-a,.pv-spinning .pv-dot-b,.pv-spin-fab{animation:none}}.gift-box-widget{position:fixed;right:24px;bottom:176px;z-index:499}.gift-box-fab{position:relative;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;text-decoration:none;box-shadow:0 8px 28px #f59e0b59,0 4px 12px #6c3fc533;animation:gbPopIn .7s cubic-bezier(.34,1.56,.64,1) both,gbBreathe 3.6s ease-in-out infinite;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}.gift-box-fab:hover{transform:scale(1.08) rotate(-3deg);box-shadow:0 12px 36px #f59e0b73,0 4px 16px #6c3fc54d}.gift-box-fab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,#f59e0b,#fbbf24,#6c3fc5,#a78bfa,#f59e0b);animation:gbSpin 5s linear infinite}.gift-box-fab:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:linear-gradient(150deg,#fbbf24,#f59e0b 55%,#6c3fc5);z-index:1}.gift-box-fab.claimed:after{background:linear-gradient(150deg,#cbd5e1,#94a3b8 55%,#64748b)}.gift-box-fab.claimed:before{animation:none;background:#cbd5e1;opacity:.5}.gb-core{position:relative;z-index:3;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:24px}.gb-status{position:absolute;bottom:2px;right:2px;width:16px;height:16px;background:#16a34a;border:2.5px solid #fff;border-radius:50%;z-index:4;display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff;font-weight:800;animation:gbPing 1.8s ease-in-out infinite}.gift-box-fab.claimed .gb-status{background:#94a3b8;animation:none}.gb-label{position:absolute;right:72px;top:50%;transform:translateY(-50%) translate(6px);background:#0f172a;color:#fff;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:11px;font-weight:800;padding:6px 14px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.gift-box-fab:hover .gb-label{opacity:1;transform:translateY(-50%) translate(0)}@keyframes gbBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.02)}}@keyframes gbPopIn{0%{opacity:0;transform:scale(.3) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes gbSpin{to{transform:rotate(360deg)}}@keyframes gbPing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.gb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s ease;pointer-events:none}.gb-overlay.show{opacity:1;pointer-events:auto}.gb-modal{position:relative;background:#fff;border-radius:20px;padding:28px 24px 24px;max-width:380px;width:100%;text-align:center;box-shadow:0 24px 70px #00000040;transform:scale(.9) translateY(10px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);font-family:Inter,sans-serif}.gb-overlay.show .gb-modal{transform:scale(1) translateY(0)}.gb-modal h3{font-family:Plus Jakarta Sans,sans-serif;font-size:19px;font-weight:800;color:#0f172a;margin-bottom:4px}.gb-modal p{font-size:13px;color:#64748b;font-weight:500;margin-bottom:18px}.gb-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;color:#94a3b8;cursor:pointer;line-height:1;padding:4px}.gb-boxes{display:flex;gap:14px;justify-content:center;margin-bottom:14px}.gb-box{width:88px;height:88px;border-radius:16px;background:linear-gradient(150deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;font-size:36px;cursor:pointer;border:none;box-shadow:0 6px 18px #f59e0b4d;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.gb-box:hover:not(:disabled){transform:translateY(-6px) scale(1.05);box-shadow:0 12px 26px #f59e0b66}.gb-box:disabled{opacity:.35;cursor:not-allowed}.gb-box.picked{animation:gbShake .5s ease}@keyframes gbShake{0%,to{transform:translateY(-6px) scale(1.05)}25%{transform:translateY(-6px) rotate(-6deg) scale(1.05)}75%{transform:translateY(-6px) rotate(6deg) scale(1.05)}}.gb-reward{display:none;flex-direction:column;align-items:center;gap:6px;padding:16px 0 4px}.gb-reward.show{display:flex;animation:gbPopIn .5s cubic-bezier(.34,1.56,.64,1) both}.gb-reward .gr-icon{font-size:48px}.gb-reward .gr-amount{font-family:Plus Jakarta Sans,sans-serif;font-size:26px;font-weight:900;color:#6c3fc5}.gb-reward .gr-label{font-size:12px;color:#64748b;font-weight:600}.gb-footer-note{font-size:11.5px;color:#94a3b8;font-weight:500;margin-top:6px}.gb-already{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0 4px}.gb-already .ga-icon{font-size:44px}.gb-already .ga-text{font-size:13.5px;color:#334155;font-weight:600}.gb-already .ga-sub{font-size:12px;color:#94a3b8;font-weight:500}.chip-diamond{background:#e0f2fe;border-color:#7dd3fc;color:#075985}@media (max-width: 768px){.gift-box-widget{right:14px;bottom:160px}.gift-box-fab{width:52px;height:52px}.gb-core{width:36px;height:36px;font-size:20px}.gb-label{display:none}}.sd-page{--purple: #6c3fc5;--purple-dk: #4f2d9e;--purple-lt: #ede9fb;--purple-bg: #f5f3ff;--orange: #f97316;--orange-lt: #fff7ed;--green: #16a34a;--green-lt: #dcfce7;--blue: #2563eb;--blue-lt: #dbeafe;--gold: #f59e0b;--gold-lt: #fef3c7;--red: #dc2626;--bg: #f6f9fc;--white: #ffffff;--text: #0f172a;--text-light: #334155;--muted: #64748b;--border: #eaf0f6;--shadow-sm: 0 1px 3px rgba(0,0,0,.04);--shadow: 0 2px 10px rgba(0,0,0,.05), 0 8px 32px rgba(0,0,0,.03);--shadow-md: 0 4px 24px rgba(0,0,0,.07), 0 12px 48px rgba(0,0,0,.04);--shadow-lg: 0 8px 40px rgba(0,0,0,.1), 0 20px 60px rgba(0,0,0,.05);--shadow-xl: 0 16px 56px rgba(0,0,0,.12), 0 32px 80px rgba(0,0,0,.06);--sidebar-w: 248px;--radius: 16px;--radius-sm: 10px;--radius-full: 999px;--font: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", sans-serif;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;display:flex;line-height:1.5;overflow-x:hidden;max-width:100%}.sd-page *,.sd-page *:before,.sd-page *:after{box-sizing:border-box}.sd-page ::-webkit-scrollbar{width:5px;height:5px}.sd-page ::-webkit-scrollbar-thumb{background:var(--border);border-radius:20px}.sd-page ::-webkit-scrollbar-thumb:hover{background:var(--muted)}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--white);border-right:1px solid var(--border);height:100vh;height:100dvh;position:fixed;left:0;top:0;z-index:200;display:flex;flex-direction:column;transition:transform .32s cubic-bezier(.34,1.56,.64,1);overflow:hidden;box-shadow:var(--shadow-sm)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;text-decoration:none;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-brand img{width:38px;height:38px;border-radius:10px;object-fit:cover}.sidebar-brand-name{font-family:var(--font-display);font-size:18px;font-weight:900;color:var(--purple);line-height:1.1}.sidebar-brand-role{font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:1px}.sidebar-nav{flex:1;padding:12px 10px 8px;overflow-y:auto}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 10px 6px;opacity:.6}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:13px;font-weight:600;margin-bottom:1px;transition:all .15s ease;position:relative;cursor:pointer}.nav-item:hover{background:var(--purple-lt);color:var(--purple)}.nav-item.active{background:var(--purple-lt);color:var(--purple);font-weight:700}.nav-item.active:before{content:"";position:absolute;left:0;top:16%;bottom:16%;width:3.5px;border-radius:0 4px 4px 0;background:var(--purple)}.nav-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--orange);color:#fff;font-size:10px;font-weight:800;border-radius:20px;padding:1px 8px;min-width:20px;text-align:center;line-height:18px}.sidebar-footer{padding:12px 14px 16px;border-top:1px solid var(--border);flex-shrink:0}.student-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--purple-bg);border-radius:12px;margin-bottom:10px}.student-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--purple-dk));color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #6c3fc540}.student-name{font-weight:700;font-size:13px;color:var(--text)}.student-xp{font-size:11px;color:var(--purple);font-weight:600;margin-top:1px}.btn-logout{width:100%;padding:8px 12px;border:1px solid var(--border);background:var(--white);color:var(--muted);border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font);transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.btn-logout:hover{border-color:#fca5a5;color:var(--red);background:#fff5f5}.sd-main{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.topbar{background:#ffffffc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 28px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:14px}.hamburger{display:none;flex-direction:column;gap:4.5px;background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;transition:background .15s}.hamburger:hover{background:var(--purple-lt)}.hamburger span{width:22px;height:2.5px;background:var(--text);border-radius:4px;display:block}.page-title{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--text)}.topbar-chips{display:flex;align-items:center;gap:10px}.chip{display:flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.chip-xp{background:var(--gold-lt);border-color:#fcd34d;color:#92400e}.chip-streak{background:var(--orange-lt);border-color:#fdba74;color:#9a3412}.content{padding:20px 32px 48px;flex:1;max-width:1280px;width:100%;margin:0 auto}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;gap:16px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:sdspin .7s linear infinite}@keyframes sdspin{to{transform:rotate(360deg)}}.loader-text{font-size:14px;color:var(--muted);font-weight:500}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(80px);background:var(--text);color:#fff;padding:12px 24px;border-radius:12px;font-size:13px;font-weight:600;z-index:9999;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s;pointer-events:none;box-shadow:var(--shadow-lg);opacity:0}.toast.show{transform:translate(-50%) translateY(0);opacity:1}#sidebarOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:150}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes idShimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.anim-in{opacity:0;animation:fadeSlideUp .55s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d, 0s)}.anim-pop{opacity:0;animation:popIn .45s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:var(--d, 0s)}@media (prefers-reduced-motion: reduce){.sd-page *,.sd-page *:before,.sd-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.welcome-section{background:var(--white);border-radius:var(--radius);padding:18px 24px;margin-bottom:24px;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative;overflow:hidden}.welcome-left{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.welcome-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--purple),#8b5cf6);color:#fff;font-family:var(--font-display);font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px #6c3fc540}.welcome-text{display:flex;flex-direction:column}.welcome-greeting{font-family:var(--font-display);font-size:18px;font-weight:900;color:var(--text);line-height:1.2}.welcome-greeting span{background:linear-gradient(135deg,var(--purple),#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.welcome-sub{font-size:13px;color:var(--muted);font-weight:500}.welcome-stats{display:flex;gap:18px;flex-wrap:wrap;position:relative;z-index:1}.welcome-stat{display:flex;align-items:center;gap:8px;background:var(--bg);padding:6px 14px 6px 10px;border-radius:var(--radius-full);border:1px solid var(--border);min-width:80px;max-width:130px}.welcome-stat .ws-icon{font-size:16px;flex-shrink:0}.welcome-stat .ws-info{display:flex;flex-direction:column;line-height:1.2;min-width:0}.welcome-stat .ws-value{font-family:var(--font-display);font-size:16px;font-weight:900;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.welcome-stat .ws-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.welcome-stat .ws-value.purple{color:var(--purple)}.welcome-stat .ws-value.gold{color:var(--gold)}.welcome-stat .ws-value.green{color:var(--green)}.welcome-stat .ws-value.orange{color:var(--orange)}.id-banner-compact{background:linear-gradient(135deg,var(--purple-dk) 0%,var(--purple) 60%,#7c4fd6 100%);border-radius:var(--radius-sm);padding:10px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px;box-shadow:0 2px 12px #6c3fc533}.id-banner-compact .id-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff6}.id-banner-compact .id-value{font-family:var(--font-display);font-size:16px;font-weight:900;background:linear-gradient(90deg,#fcd34d,#fef9c3,#fcd34d);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:idShimmer 4s linear infinite;letter-spacing:2px;word-break:break-all}.id-banner-compact .btn-copy{margin-left:auto;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:8px;padding:5px 14px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:5px}.id-banner-compact .btn-copy:hover{background:#fff3;transform:translateY(-1px)}.feature-grid-main{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.feature-card-main{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s,border-color .35s;text-decoration:none;color:inherit;display:flex;flex-direction:column;position:relative}.feature-card-main:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--purple)}.feature-card-main .card-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:#170c33;display:flex;align-items:center;justify-content:center}.feature-card-main .card-img-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.feature-card-main:hover .card-img-wrap img{transform:scale(1.03)}.feature-card-main .card-body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}.feature-card-main .card-title{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--text);margin-bottom:4px;line-height:1.2}.feature-card-main .card-desc{font-size:13px;color:var(--muted);font-weight:500;line-height:1.5;margin-bottom:10px;flex:1}.feature-card-main .card-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.feature-card-main .card-tags span{font-size:11px;font-weight:600;color:var(--muted);background:var(--bg);padding:2px 12px;border-radius:var(--radius-full);border:1px solid var(--border)}.feature-card-main .card-cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--purple);padding:8px 0 4px;border-top:1px solid var(--border);margin-top:auto;transition:gap .25s ease;width:100%}.feature-card-main:hover .card-cta{gap:12px}.feature-card-main .card-cta .arrow{transition:transform .25s ease}.feature-card-main:hover .card-cta .arrow{transform:translate(4px)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:6px}.section-header-left{display:flex;flex-direction:column}.section-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--text)}.section-sub{font-size:13px;color:var(--muted);font-weight:500;margin-top:1px}.section-link{font-size:12.5px;font-weight:700;color:var(--purple);text-decoration:none;display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:8px;background:var(--purple-lt);transition:all .15s}.section-link:hover{background:#e0d7f5;gap:8px}.teacher-courses-scroll{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}.teacher-course-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;display:flex;align-items:center;gap:14px;transition:all .2s;box-shadow:var(--shadow-sm);position:relative;min-width:0}.teacher-course-card:hover{border-color:var(--purple);box-shadow:var(--shadow-md);transform:translateY(-2px)}.teacher-course-card .tc-icon{width:42px;height:42px;border-radius:10px;background:var(--purple-lt);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.teacher-course-card .tc-info{flex:1;min-width:0}.teacher-course-card .tc-title{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-course-card .tc-teacher{font-size:11.5px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-course-card .tc-badge{background:var(--orange);color:#fff;font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 10px;border-radius:var(--radius-full);flex-shrink:0;margin-left:4px}.teacher-course-card .tc-btn{background:var(--purple);color:#fff;border:none;padding:5px 14px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;flex-shrink:0;text-decoration:none;white-space:nowrap}.teacher-course-card .tc-btn:hover{background:var(--purple-dk);transform:scale(1.02)}.task-widget{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px 18px;box-shadow:var(--shadow-sm);margin-bottom:28px}.task-widget .tw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.task-widget .tw-title{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.task-widget .tw-link{font-size:12px;font-weight:700;color:var(--purple);text-decoration:none;opacity:.8}.task-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);min-width:0}.task-item:last-child{border-bottom:none;padding-bottom:0}.task-item .ti-status{font-size:11px;font-weight:700;padding:2px 10px;border-radius:var(--radius-full);flex-shrink:0;min-width:56px;text-align:center}.task-item .ti-status.pending{background:#fef3c7;color:#92400e}.task-item .ti-status.in-progress{background:#dbeafe;color:#1e40af}.task-item .ti-status.completed{background:#dcfce7;color:#166534}.task-item .ti-info{flex:1;min-width:0}.task-item .ti-name{font-size:13px;font-weight:600;color:var(--text);overflow-wrap:break-word}.task-item .ti-meta{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-item .ti-progress{font-size:12px;font-weight:700;color:var(--purple);flex-shrink:0}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}.card-widget{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px 18px;box-shadow:var(--shadow-sm);min-width:0}.card-widget .cw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-widget .cw-title{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.card-widget .cw-link{font-size:12px;font-weight:700;color:var(--purple);text-decoration:none;opacity:.7}.prog-mini-list{display:flex;flex-direction:column;gap:10px}.prog-mini-item{display:flex;align-items:center;gap:10px;min-width:0}.prog-mini-item .pmi-label{font-size:12px;font-weight:600;color:var(--text-light);min-width:80px;flex-shrink:0}.prog-mini-item .pmi-bar-wrap{flex:1;min-width:0;height:6px;background:var(--border);border-radius:20px;overflow:hidden}.prog-mini-item .pmi-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,var(--purple),#a78bfa);transition:width .8s ease}.prog-mini-item .pmi-value{font-size:12px;font-weight:700;color:var(--purple);min-width:36px;text-align:right;flex-shrink:0}.cert-mini-list{display:flex;flex-direction:column;gap:6px}.cert-mini-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;background:var(--bg);border:1px solid var(--border);min-width:0}.cert-mini-item .cmi-icon{font-size:20px;flex-shrink:0}.cert-mini-item .cmi-info{flex:1;min-width:0}.cert-mini-item .cmi-name{font-size:12.5px;font-weight:600;color:var(--text);overflow-wrap:break-word}.cert-mini-item .cmi-date{font-size:10.5px;color:var(--muted)}.coming-soon-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px 22px 22px;box-shadow:var(--shadow-sm);text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.coming-soon-card .cs-icon{font-size:44px;margin-bottom:6px}.coming-soon-card .cs-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--text)}.coming-soon-card .cs-desc{font-size:13px;color:var(--muted);font-weight:500;max-width:280px;margin:4px auto 12px}.coming-soon-card .cs-badge{display:inline-flex;align-items:center;gap:8px;background:var(--purple-lt);border:1.5px solid var(--purple);border-radius:var(--radius-full);padding:6px 20px;font-size:13px;font-weight:800;color:var(--purple)}.coming-soon-card .cs-footer{font-size:12px;color:var(--muted);font-weight:500;margin-top:10px}.parent-mini{display:flex;align-items:center;gap:14px;padding:10px 12px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);min-width:0}.parent-mini .pm-icon{font-size:30px;flex-shrink:0}.parent-mini .pm-info{flex:1;min-width:0}.parent-mini .pm-name{font-size:14px;font-weight:700;color:var(--text);overflow-wrap:break-word}.parent-mini .pm-status{font-size:12px;font-weight:500;color:var(--muted)}.parent-mini .pm-status .connected{color:var(--green);font-weight:700}.parent-mini .pm-btn{background:var(--purple);color:#fff;border:none;padding:6px 16px;border-radius:8px;font-size:11.5px;font-weight:700;cursor:pointer;text-decoration:none;flex-shrink:0}.quick-actions-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:4px}.quick-action-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);transition:all .15s;box-shadow:var(--shadow-sm)}.quick-action-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--purple);background:var(--purple-lt)}.quick-action-item .qai-icon{font-size:20px;line-height:1}.quick-action-item .qai-label{font-size:9px;font-weight:700;color:var(--muted);text-align:center;line-height:1.2}.ai-buddy-widget{position:fixed;right:24px;bottom:24px;z-index:500;display:flex;align-items:center}.ai-buddy-bubble{background:var(--white);color:var(--text);font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:14px 14px 4px;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(8px) scale(.92);transition:opacity .35s ease,transform .35s cubic-bezier(.34,1.56,.64,1);pointer-events:none;white-space:nowrap;display:flex;align-items:center;gap:8px;margin-right:12px;border:1px solid var(--border)}.ai-buddy-bubble.show{opacity:1;transform:translateY(0) scale(1)}.bubble-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--orange));flex-shrink:0;animation:dotPulse 1.4s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}.ai-buddy-fab{position:relative;width:60px;height:60px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 28px #6c3fc559,0 4px 12px #f9731633;animation:fabPopIn .7s cubic-bezier(.34,1.56,.64,1) both,fabBreathe 3.6s ease-in-out infinite;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}.ai-buddy-fab:hover{transform:scale(1.08) rotate(-3deg)}.ai-buddy-fab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,#6c3fc5,#a78bfa,#f97316,#f59e0b,#6c3fc5);animation:fabSpin 5s linear infinite}.ai-buddy-fab:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:linear-gradient(150deg,#7c4fd6,#6c3fc5 55%,#f97316);z-index:1}.fab-core{position:relative;z-index:3;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1.5px #ffffff4d}.fab-status{position:absolute;bottom:2px;right:2px;width:14px;height:14px;background:var(--green);border:2.5px solid #fff;border-radius:50%;z-index:4;animation:pingBlink 1.8s ease-in-out infinite}.ai-buddy-fab-label{position:absolute;right:72px;top:50%;transform:translateY(-50%) translate(6px);background:var(--text);color:#fff;font-family:var(--font-display);font-size:11px;font-weight:800;padding:6px 14px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.ai-buddy-fab:hover .ai-buddy-fab-label{opacity:1;transform:translateY(-50%) translate(0)}@keyframes fabBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.02)}}@keyframes fabPopIn{0%{opacity:0;transform:scale(.3) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fabSpin{to{transform:rotate(360deg)}}@keyframes pingBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@media (max-width: 768px){.ai-buddy-widget{right:14px;bottom:14px}.ai-buddy-fab{width:52px;height:52px}.fab-core{width:36px;height:36px}.ai-buddy-fab-label,.ai-buddy-bubble{display:none}}.empty-state{padding:16px 0;text-align:center;color:var(--muted)}.empty-state .empty-icon{font-size:28px;display:block;margin-bottom:4px}.empty-state .empty-text{font-size:13px;font-weight:500}@media (max-width: 1024px){.teacher-courses-scroll,.two-col-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:280px;min-width:280px}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.sd-main{margin-left:0;min-width:0;width:100%}.hamburger{display:flex}.topbar{padding:0 16px;height:54px}.content{padding:16px 16px 32px}.welcome-section{padding:14px 16px;flex-direction:column;align-items:stretch;gap:12px}.welcome-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature-grid-main{grid-template-columns:1fr;gap:16px}.teacher-courses-scroll{grid-template-columns:1fr;gap:10px}.two-col-grid{grid-template-columns:1fr}.quick-actions-row{grid-template-columns:repeat(4,1fr)}}@media (max-width: 480px){.quick-actions-row{grid-template-columns:repeat(3,1fr)}}.sd-page .nav-item.pvx-nav-highlight{position:relative;background:linear-gradient(135deg,#6c3fc54d,#ffb83d3d);box-shadow:inset 0 0 0 1px #ffb83d99;font-weight:800;animation:pvxNavGlow 2.8s ease-in-out infinite}.sd-page .nav-item.pvx-nav-highlight:hover{filter:brightness(1.08)}.sd-page .nav-item.pvx-nav-highlight.active{background:linear-gradient(135deg,#6c3fc580,#ffb83d61);box-shadow:inset 0 0 0 2px #ffb83dd9;animation:none}.sd-page .pvx-nav-tag{margin-left:auto;padding:2px 8px;border-radius:999px;background:#ffb83d;color:#2a1d00;font-size:.62rem;font-weight:800;letter-spacing:.06em;line-height:1.4}@keyframes pvxNavGlow{0%,to{box-shadow:inset 0 0 0 1px #ffb83d99,0 0 #ffb83d00}50%{box-shadow:inset 0 0 0 1px #ffb83d99,0 0 14px 2px #ffb83d59}}@media (prefers-reduced-motion: reduce){.sd-page .nav-item.pvx-nav-highlight{animation:none}}.dax-section{margin-bottom:32px}.dax-head{margin-bottom:14px}.dax-title{margin:0;font-family:var(--font-display, inherit);font-size:18px;font-weight:800;color:var(--text, #0f172a)}.dax-sub{margin:2px 0 0;font-size:13px;font-weight:500;color:var(--muted, #64748b)}.dax-grid{display:grid;grid-template-columns:1.25fr 1.15fr .9fr;gap:18px;align-items:stretch}.dax-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px;overflow:hidden;background:var(--white, #fff);border:1px solid var(--border, #eaf0f6);border-radius:var(--radius, 16px);box-shadow:var(--shadow, 0 2px 10px rgba(0, 0, 0, .05))}.dax-card-title{margin:0;font-family:var(--font-display, inherit);font-size:18px;font-weight:800;line-height:1.2;color:#fff}.dax-card-title--dark{color:var(--text, #0f172a);font-size:16px}.dax-card-desc{margin:4px 0 0;font-size:13px;font-weight:500;line-height:1.5;color:#ffffffc7}.dax-card-desc--dark{color:var(--muted, #64748b)}.dax-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.dax-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:1px solid transparent;border-radius:10px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s ease,filter .15s ease,background .15s ease}.dax-btn:hover{transform:translateY(-1px)}.dax-btn:focus-visible,.dax-idchip:focus-visible{outline:2px solid var(--gold, #f59e0b);outline-offset:2px}.dax-btn--gold{background:#ffb83d;color:#2a1d00}.dax-btn--gold:hover{filter:brightness(1.06)}.dax-btn--primary{background:var(--purple, #6c3fc5);color:#fff}.dax-btn--primary:hover{background:var(--purple-dk, #4f2d9e)}.dax-btn--ghost{background:var(--white, #fff);color:var(--purple, #6c3fc5);border-color:var(--purple, #6c3fc5)}.dax-btn--ghost:hover{background:var(--purple-lt, #ede9fb)}.dax-card--lobby{border-color:transparent;background:linear-gradient(135deg,#4f2d9e,#6c3fc5 58%,#7c4fd6);box-shadow:0 10px 30px #6c3fc547}.dax-card--lobby:after{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,#ffb83d59,#ffb83d00 70%);pointer-events:none}.dax-card--lobby>*{position:relative;z-index:1}.dax-tag{display:inline-block;margin-bottom:8px;padding:2px 9px;border-radius:999px;background:#ffb83d;color:#2a1d00;font-size:10px;font-weight:800;letter-spacing:.06em}.dax-lobby-stats{display:flex;flex-wrap:wrap;gap:8px}.dax-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:#ffffff29;color:#fff;font-size:12px;font-weight:700}.dax-pill--alert{background:#ffb83d;color:#2a1d00}.dax-hint{margin:0;font-size:12.5px;font-weight:500;color:#ffffffb8}.dax-faces{display:flex;align-items:center}.dax-face{width:42px;height:42px;margin-left:-10px;flex:none;border-radius:50%;border:2px solid #6c3fc5;overflow:hidden}.dax-face:first-child{margin-left:0}.dax-face .pvx-avatar--face{border:0;border-radius:0}.dax-face--more{display:flex;align-items:center;justify-content:center;background:#fff3;color:#fff;font-size:12px;font-weight:800}.dax-avatar-row{display:flex;align-items:center;gap:16px;min-width:0}.dax-avatar-stage{position:relative;flex:none;width:132px;aspect-ratio:1 / 1;border-radius:16px;background:radial-gradient(ellipse at 50% 85%,#6c3fc538,#6c3fc500 70%),var(--purple-bg, #f5f3ff);border:1px solid var(--purple-lt, #ede9fb);overflow:hidden}.dax-avatar-stage .pvx-avatar{width:100%;height:100%}.dax-avatar-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display, inherit);font-size:44px;font-weight:800;color:var(--purple, #6c3fc5)}.dax-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f1edfb 25%,#e6dff8,#f1edfb 75%);background-size:200% 100%;animation:daxShimmer 1.4s linear infinite}@keyframes daxShimmer{to{background-position:-200% 0}}.dax-avatar-info{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.dax-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--text-light, #334155)}.dax-idchip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 5px 4px 10px;background:var(--gold-lt, #fef3c7);border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer}.dax-idchip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dax-idchip__action{flex:none;padding:2px 8px;border-radius:5px;background:#f59e0b;color:#fff;font-size:10.5px}.dax-wallet{display:flex;flex-wrap:wrap;gap:8px}.dax-wallet__item{padding:5px 12px;border-radius:999px;font-size:13px;font-weight:800}.dax-wallet__item--gem{background:var(--gold-lt, #fef3c7);color:#92400e}.dax-wallet__item--xp{background:var(--purple-lt, #ede9fb);color:var(--purple, #6c3fc5)}@media (max-width: 1024px){.dax-grid{grid-template-columns:1fr 1fr}.dax-card--lobby{grid-column:1 / -1}}@media (max-width: 768px){.dax-section{margin-bottom:24px}.dax-grid{grid-template-columns:1fr;gap:14px}.dax-card{padding:16px}.dax-avatar-stage{width:112px}.dax-actions .dax-btn{flex:1 1 auto}}@media (max-width: 380px){.dax-avatar-stage{width:92px}.dax-avatar-row{gap:12px}.dax-face{width:38px;height:38px}}@media (prefers-reduced-motion: reduce){.dax-skeleton{animation:none}.dax-btn{transition:none}}.courses-page{min-height:100vh;background:var(--bg, #f7f7fb);color:var(--text, #171717)}.courses-page nav{height:70px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#ffffffeb;border-bottom:1px solid var(--border, #e5e7eb);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:20px;font-weight:900}.nav-logo img{width:38px;height:38px;object-fit:contain}.nav-user{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.nav-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--purple, #7c3aed);color:#fff;font-weight:900}.hero{position:relative;overflow:hidden;margin:22px auto 34px;width:min(1180px,calc(100% - 40px));min-height:300px;padding:45px 48px;box-sizing:border-box;border-radius:30px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 25%),linear-gradient(135deg,var(--purple, #7c3aed),var(--purple-dk, #4c1d95));box-shadow:0 20px 50px #4c1d9533}.hero-content{position:relative;z-index:3;max-width:650px}.hero-eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#ffffff21;border:1px solid rgba(255,255,255,.16);font-size:10px;font-weight:900;letter-spacing:1px}.hero h1{margin:15px 0 10px;font-size:clamp(30px,4vw,48px);line-height:1.05;font-weight:950;letter-spacing:-1.5px}.hero h1 span{color:#fef08a}.hero p{max-width:580px;margin:0;font-size:15px;line-height:1.6;opacity:.82}.hero-stats{display:flex;gap:10px;margin-top:28px}.hero-stat{min-width:105px;padding:11px 15px;border-radius:14px;background:#ffffff1c;border:1px solid rgba(255,255,255,.12)}.hero-stat strong{display:block;font-size:20px;font-weight:950}.hero-stat span{font-size:10px;opacity:.72}.hero-decoration{position:absolute;right:9%;top:0;width:300px;height:100%;pointer-events:none}.floating-icon{position:absolute;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#ffffff1c;border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:26px;animation:floatingIcon 4s ease-in-out infinite}.icon-1{right:100px;top:55px}.icon-2{right:10px;top:125px;animation-delay:.7s}.icon-3{right:125px;top:190px;animation-delay:1.2s}.icon-4{right:20px;top:235px;animation-delay:1.8s}@keyframes floatingIcon{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}.continue-section,.filter-section,.course-grid,.search-wrap,.section-label{width:min(1180px,calc(100% - 40px));margin-left:auto;margin-right:auto}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-kicker{font-size:9px;font-weight:900;letter-spacing:1.3px;color:var(--purple, #7c3aed)}.section-heading h2,.filter-heading h2{margin:3px 0 0;font-size:21px;font-weight:900}.section-count{min-width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--purple-lt, #f3e8ff);color:var(--purple, #7c3aed);font-size:11px;font-weight:900}.continue-section{margin-bottom:34px}.continue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.continue-card{display:flex;align-items:center;gap:11px;padding:12px;border-radius:16px;background:var(--white, #fff);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:transform .2s ease,box-shadow .2s ease}.continue-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #00000014}.continue-icon{width:43px;height:43px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;font-size:19px}.continue-info{flex:1;min-width:0}.continue-category{font-size:8px;text-transform:uppercase;color:var(--muted);font-weight:900}.continue-title{margin-top:2px;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-progress{display:flex;align-items:center;gap:6px;margin-top:7px}.continue-bar{height:4px;flex:1;border-radius:999px;background:var(--border)}.continue-bar div{height:100%;border-radius:inherit;background:var(--purple)}.continue-progress span{font-size:8px;font-weight:900;color:var(--purple)}.continue-arrow{font-size:18px;color:var(--muted)}.filter-section{margin-bottom:15px}.filter-heading{margin-bottom:13px}.filter-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0;border:1px solid var(--border);background:var(--white, #fff);color:var(--text);padding:9px 14px;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.filter-btn:hover{transform:translateY(-1px)}.filter-btn.active{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 5px 15px #7c3aed33}.search-wrap{position:relative;margin-bottom:18px}.search-input{width:100%;height:48px;box-sizing:border-box;padding:0 45px;border-radius:15px;border:1px solid var(--border);background:var(--white, #fff);color:var(--text);outline:none;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7c3aed14}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;z-index:2}.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;border-radius:50%;background:var(--bg);color:var(--muted);cursor:pointer}.section-label{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:13px;font-weight:800}.section-label strong{padding:3px 7px;border-radius:7px;background:var(--purple-lt);color:var(--purple);font-size:9px}.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-bottom:50px}.course-card{display:flex;flex-direction:column;overflow:hidden;background:var(--white, #fff);border:1px solid var(--border);border-radius:20px;text-decoration:none;color:var(--text);box-shadow:0 4px 15px #00000009;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.course-card:hover{transform:translateY(-7px);border-color:#7c3aed38;box-shadow:0 18px 40px #0000001a}.card-thumb{position:relative;width:100%;aspect-ratio:16 / 9;height:auto;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}.thumb-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.course-card:hover .thumb-image{transform:scale(1.06)}.thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.42),transparent 55%)}.thumb-category{position:absolute;left:12px;bottom:11px;padding:5px 8px;border-radius:7px;background:#0000006b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:9px;font-weight:900}.thumb-progress{position:absolute;right:10px;bottom:11px;padding:5px 8px;border-radius:7px;background:#ffffffe6;color:var(--purple);font-size:8px;font-weight:900}.card-thumb.has-image{width:100%;aspect-ratio:16 / 9;height:auto;min-height:0;overflow:hidden}.card-thumb.no-image{flex-direction:column;text-align:center;padding:20px;box-sizing:border-box}.fallback-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:18px 18px}.thumb-logo{position:relative;width:60px;height:60px;object-fit:contain;margin-bottom:7px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.15))}.thumb-course-name{position:relative;max-width:90%;font-size:13px;font-weight:900;line-height:1.3}.thumb-subject-tag{position:relative;margin-top:6px;padding:4px 8px;border-radius:999px;background:#ffffff24;font-size:8px;font-weight:800}.course-play-button{position:absolute;right:12px;top:12px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffeb;color:var(--purple);font-size:13px;opacity:0;transform:scale(.8);transition:opacity .25s ease,transform .25s ease;box-shadow:0 5px 15px #00000026}.course-card:hover .course-play-button{opacity:1;transform:scale(1)}.card-body{padding:15px}.card-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.card-category{color:var(--purple);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.card-title{font-size:15px;font-weight:900;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-desc{margin-top:7px;min-height:32px;font-size:10px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge-completed,.new-course-badge,.card-pct{flex-shrink:0;padding:4px 7px;border-radius:7px;font-size:8px;font-weight:900}.badge-completed{background:#dcfce7;color:#15803d}.new-course-badge{background:#fef3c7;color:#b45309}.card-pct{background:var(--purple-lt);color:var(--purple)}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:9px;font-weight:700;color:var(--muted)}.lessons-done{color:#16a34a}.progress-section{display:flex;align-items:center;gap:7px;margin-top:9px}.progress-bar-wrap{flex:1;height:5px;overflow:hidden;border-radius:999px;background:var(--border)}.progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#a855f7);transition:width .5s ease}.progress-percent{font-size:8px;font-weight:900;color:var(--purple)}.course-action{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid var(--border);color:var(--purple);font-size:10px;font-weight:900}.action-arrow{font-size:16px;transition:transform .2s ease}.course-card:hover .action-arrow{transform:translate(4px)}.skeleton{overflow:hidden;background:var(--white);border:1px solid var(--border);border-radius:20px}.skeleton-thumb{width:100%;aspect-ratio:16 / 9;height:auto;min-height:0;background:linear-gradient(90deg,#f0f0f0,#fafafa,#f0f0f0);background-size:200% 100%;animation:skeletonLoading 1.3s infinite}.skeleton-body{padding:15px}.skeleton-line{height:11px;width:85%;margin-bottom:10px;border-radius:999px;background:linear-gradient(90deg,#f0f0f0,#fafafa,#f0f0f0);background-size:200% 100%;animation:skeletonLoading 1.3s infinite}.skeleton-line.short{width:35%}.skeleton-line.tiny{width:55%}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{grid-column:1 / -1;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center}.empty-emoji{font-size:45px;margin-bottom:5px}.empty strong{color:var(--text);font-size:16px}.empty span{font-size:11px}.empty button{margin-top:8px;padding:8px 13px;border:none;border-radius:9px;background:var(--purple);color:#fff;font-size:10px;font-weight:800;cursor:pointer}.pv-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);transition:opacity .3s ease,visibility .3s ease}.pv-loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.pv-loading-logo{width:70px;height:70px;object-fit:contain}.pv-loading-spinner{width:28px;height:28px;margin-top:15px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--purple);animation:coursesSpin .8s linear infinite}.pv-loading-text{margin-top:10px;color:var(--muted);font-size:11px;font-weight:700}@keyframes coursesSpin{to{transform:rotate(360deg)}}@media (max-width: 1000px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.continue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-decoration{right:3%;opacity:.75}}@media (max-width: 700px){.courses-page nav{height:62px;padding:0 16px}.nav-logo{font-size:17px}.nav-logo img{width:32px;height:32px}.nav-user span{display:none}.nav-avatar{width:34px;height:34px}.hero{width:calc(100% - 24px);min-height:320px;padding:30px 23px;border-radius:23px;margin-top:12px}.hero h1{font-size:31px}.hero p{font-size:12px}.hero-stats{gap:6px;margin-top:22px}.hero-stat{min-width:0;flex:1;padding:9px 8px;text-align:center}.hero-stat strong{font-size:17px}.hero-stat span{font-size:8px}.hero-decoration{right:-15px;top:110px;transform:scale(.72);opacity:.45}.continue-section,.filter-section,.course-grid,.search-wrap,.section-label{width:calc(100% - 24px)}.continue-grid{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card-thumb{width:100%;aspect-ratio:16 / 9;height:auto;min-height:0}.card-body{padding:11px}.card-title{font-size:12px}.card-desc{font-size:9px;min-height:27px}.card-meta{font-size:8px}.course-action{font-size:9px}.course-play-button{width:32px;height:32px;opacity:1;transform:scale(1);font-size:10px}}@media (max-width: 390px){.course-grid{grid-template-columns:1fr}.card-thumb{width:100%;aspect-ratio:16 / 9;height:auto;min-height:0}.hero h1{font-size:28px}}.learn-page{--lp-bg: #0d0b1e;--lp-surface: #16133a;--lp-surface-2: #1d1947;--lp-border: rgba(167, 139, 250, .15);--lp-border-strong: rgba(167, 139, 250, .28);--lp-gold: #ffd700;--lp-purple: #7c3aed;--lp-purple-dark: #6d28d9;--lp-lilac: #c4b5fd;--lp-text: #e2e8f0;--lp-muted: #94a3b8;--lp-green: #22c55e;--lp-red: #ef4444;--lp-orange: #f59e0b;--lp-radius: 12px;min-height:100vh;width:100%;background:var(--lp-bg);color:var(--lp-text);font-family:Segoe UI,Arial,sans-serif;box-sizing:border-box;overflow-x:hidden}.learn-page *,.learn-page *:before,.learn-page *:after{box-sizing:border-box}.learn-page #toast-container{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 40px));pointer-events:none}.learn-page .toast{padding:12px 18px;border-radius:8px;color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 12px #0000004d;animation:lpSlideIn .3s ease;word-break:break-word}.learn-page .toast.success{background:var(--lp-green)}.learn-page .toast.error{background:var(--lp-red)}.learn-page .toast.warn{background:var(--lp-orange)}@keyframes lpSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.learn-page nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;width:100%;min-height:54px;padding:12px 24px;background:#0d0b1ef7;border-bottom:1px solid var(--lp-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.learn-page .back-btn{flex-shrink:0;color:var(--lp-lilac);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;transition:color .15s ease}.learn-page .back-btn:hover{color:#fff}.learn-page .nav-title{min-width:0;flex:1;color:#fff;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-page .nav-progress{flex-shrink:0;color:var(--lp-gold);font-size:13px;font-weight:600;white-space:nowrap}.learn-page .learn-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);width:100%;min-height:calc(100vh - 54px)}.learn-page .sidebar{min-width:0;background:var(--lp-surface);border-right:1px solid var(--lp-border);overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 54px);scrollbar-width:thin}.learn-page .sidebar-header{padding:20px 20px 12px;color:var(--lp-muted);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid var(--lp-border)}.learn-page .lesson-item{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:14px 20px;border-bottom:1px solid var(--lp-border);transition:background .15s ease,border-color .15s ease}.learn-page .lesson-item.unlocked{cursor:pointer}.learn-page .lesson-item.unlocked:hover{background:#7c3aed1a}.learn-page .lesson-item.active{background:#7c3aed33;border-left:3px solid var(--lp-purple)}.learn-page .lesson-item.locked{cursor:not-allowed;opacity:.45}.learn-page .lesson-num{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#ffffff0f;color:var(--lp-muted);border:1px solid var(--lp-border)}.learn-page .lesson-num.done{background:#22c55e33;color:var(--lp-green);border-color:var(--lp-green)}.learn-page .lesson-num.active-num{background:var(--lp-purple);color:#fff;border-color:var(--lp-purple)}.learn-page .lesson-num.locked-num{background:#ffffff0a;color:#555;border-color:#333}.learn-page .lesson-title{min-width:0;flex:1;font-size:14px;line-height:1.3;overflow-wrap:anywhere}.learn-page .lesson-dur{flex-shrink:0;font-size:11px;color:var(--lp-muted);white-space:nowrap}.learn-page .main-area{min-width:0;width:100%;display:flex;flex-direction:column;padding:28px 32px;gap:24px;overflow:visible}.learn-page .teacher-assigned-banner{display:none;width:100%;min-width:0;background:linear-gradient(135deg,#7c3aed1f,#38bdf814);border:1px solid rgba(124,58,237,.3);border-radius:10px;padding:12px 18px;align-items:center;gap:12px;font-size:13px}.learn-page .teacher-assigned-banner.show{display:flex}.learn-page .teacher-assigned-banner .t-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--lp-purple);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.learn-page .teacher-assigned-banner .t-info{min-width:0;flex:1}.learn-page .teacher-assigned-banner .t-name{color:var(--lp-lilac);font-weight:700;overflow-wrap:anywhere}.learn-page .teacher-assigned-banner .t-sub{color:var(--lp-muted);font-size:12px;margin-top:2px;overflow-wrap:anywhere}.learn-page .video-wrap{position:relative;width:100%;height:0;padding-bottom:56.25%;border-radius:var(--lp-radius);overflow:hidden;background:#000;border:1px solid var(--lp-border);isolation:isolate}.learn-page .video-wrap #yt-player{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.learn-page .video-wrap iframe{position:absolute!important;top:0!important;left:0!important;display:block;width:100%!important;height:100%!important;border:none}.learn-page .video-status-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#000;color:var(--lp-muted);font-size:14px;text-align:center;z-index:3}.learn-page .video-status-overlay .spinner{width:36px;height:36px;border:3px solid rgba(124,58,237,.25);border-top-color:var(--lp-purple);border-radius:50%;animation:lpSpin .8s linear infinite}@keyframes lpSpin{to{transform:rotate(360deg)}}.learn-page .video-status-overlay button{margin-top:4px;padding:8px 18px;border-radius:8px;border:none;background:var(--lp-purple);color:#fff;font-weight:600;cursor:pointer;font-size:13px}.learn-page .video-status-overlay button:hover{background:var(--lp-purple-dark)}.learn-page .click-catcher{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;cursor:pointer;background:transparent;touch-action:manipulation}.learn-page .custom-controls{display:flex;align-items:center;gap:14px;width:100%;min-width:0;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:10px;padding:10px 16px;-webkit-user-select:none;user-select:none}.learn-page .cc-playpause{width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:none;background:var(--lp-purple);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.learn-page .cc-playpause:hover{background:var(--lp-purple-dark)}.learn-page .cc-speed-group{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0;flex-wrap:wrap}.learn-page .cc-speed-label{flex-shrink:0;font-size:12px;color:var(--lp-muted);margin-right:4px}.learn-page .speed-btn{padding:6px 14px;border-radius:20px;border:1px solid var(--lp-border);background:#ffffff08;color:var(--lp-text);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.learn-page .speed-btn:hover{border-color:var(--lp-purple)}.learn-page .speed-btn.active{background:var(--lp-purple);border-color:var(--lp-purple);color:#fff}.learn-page .anti-seek-note{margin:-14px 0 0;font-size:11px;line-height:1.5;color:var(--lp-muted)}.learn-page .watch-bar-wrap{width:100%;background:#ffffff0f;border-radius:4px;height:6px;overflow:hidden}.learn-page .watch-bar-fill{height:6px;min-width:0;border-radius:4px;background:var(--lp-gold);transition:width .5s}.learn-page .watch-status{font-size:13px;color:var(--lp-muted);margin-top:-16px;line-height:1.5}.learn-page .lesson-info{width:100%;min-width:0}.learn-page .lesson-info h2{font-size:22px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.3;overflow-wrap:anywhere}.learn-page .lesson-info p{color:var(--lp-muted);font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}.learn-page .resume-badge{display:inline-flex;align-items:center;gap:6px;background:#ffd7001f;border:1px solid rgba(255,215,0,.3);color:var(--lp-gold);font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;margin-top:6px}.learn-page .lesson-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}.learn-page .btn{min-height:44px;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:background .2s ease,opacity .2s ease,transform .15s ease;white-space:nowrap}.learn-page .btn:active{transform:translateY(1px)}.learn-page .btn-primary{background:var(--lp-purple);color:#fff}.learn-page .btn-primary:hover{background:var(--lp-purple-dark)}.learn-page .btn-secondary{background:transparent;color:var(--lp-lilac);border:1px solid var(--lp-border)}.learn-page .btn-secondary:hover{background:#a78bfa1a}.learn-page .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.learn-page .btn-gold{background:var(--lp-gold);color:#0f0c29}.learn-page .btn-gold:hover{background:#e6c200}.learn-page .quiz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:none;background:#000000d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px;overflow-y:auto}.learn-page .quiz-overlay.show{display:flex}.learn-page .quiz-card{width:min(680px,100%);max-height:min(90vh,900px);overflow-y:auto;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:20px;padding:40px;box-shadow:0 20px 60px #00000073;overscroll-behavior:contain}.learn-page .quiz-card h2{font-size:24px;font-weight:800;color:var(--lp-gold);margin:0 0 6px}.learn-page .quiz-subtitle{color:var(--lp-muted);font-size:14px;margin:0 0 28px;line-height:1.5}.learn-page .q-block{margin-bottom:28px}.learn-page .q-text{font-size:16px;font-weight:600;color:#fff;margin:0 0 14px;line-height:1.4;overflow-wrap:anywhere}.learn-page .q-options{display:flex;flex-direction:column;gap:10px}.learn-page .q-option{padding:12px 18px;border-radius:8px;cursor:pointer;border:1px solid var(--lp-border);color:var(--lp-text);font-size:14px;line-height:1.45;transition:border-color .15s ease,background .15s ease;background:#ffffff08;overflow-wrap:anywhere}.learn-page .q-option:hover{border-color:var(--lp-purple);background:#7c3aed1a}.learn-page .q-option.selected{border-color:var(--lp-purple);background:#7c3aed40;color:#fff}.learn-page .q-option.correct{border-color:var(--lp-green);background:#22c55e33;color:var(--lp-green)}.learn-page .q-option.wrong{border-color:var(--lp-red);background:#ef444426;color:#f87171}.learn-page .q-option.disabled{cursor:not-allowed}.learn-page .quiz-result{text-align:center;padding:20px 0}.learn-page .quiz-result .score-num{font-size:56px;font-weight:900;color:var(--lp-gold);line-height:1}.learn-page .quiz-result p{color:var(--lp-muted);margin-top:8px;line-height:1.5}.learn-page .quiz-loading{text-align:center;padding:60px 20px}.learn-page .quiz-loading .spinner{width:48px;height:48px;border:4px solid rgba(124,58,237,.2);border-top-color:var(--lp-purple);border-radius:50%;animation:lpSpin .8s linear infinite;margin:0 auto 20px}.learn-page .quiz-loading p{color:var(--lp-muted);font-size:15px}.learn-page .quiz-progress-bar{width:100%;background:#ffffff0f;border-radius:4px;height:4px;margin-bottom:24px;overflow:hidden}.learn-page .quiz-progress-fill{height:4px;border-radius:4px;background:var(--lp-gold);transition:width .3s}.learn-page .quiz-stats{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--lp-muted);margin-bottom:20px;flex-wrap:wrap}@media (min-width: 1200px){.learn-page .main-area{padding:32px 40px}}@media (max-width: 1000px){.learn-page .learn-layout{grid-template-columns:260px minmax(0,1fr)}.learn-page .main-area{padding:22px;gap:20px}.learn-page .sidebar-header{padding-left:16px;padding-right:16px}.learn-page .lesson-item{padding:12px 16px}.learn-page .lesson-title{font-size:13px}.learn-page .custom-controls{gap:10px}.learn-page .speed-btn{padding:6px 10px}}@media (max-width: 768px){.learn-page nav{min-height:52px;padding:10px 14px;gap:10px}.learn-page .back-btn{font-size:13px}.learn-page .nav-title{font-size:14px}.learn-page .nav-progress{font-size:12px}.learn-page .learn-layout{display:flex;flex-direction:column;min-height:auto}.learn-page .main-area{order:1;width:100%;padding:16px;gap:16px;overflow:visible}.learn-page .sidebar{order:2;width:100%;max-height:340px;border-right:none;border-top:1px solid var(--lp-border);overflow-y:auto}.learn-page .sidebar-header{padding:16px}.learn-page .teacher-assigned-banner{align-items:flex-start;padding:12px 14px}.learn-page .video-wrap{width:100%;height:0;padding-bottom:56.25%;border-radius:10px}.learn-page .custom-controls{flex-wrap:wrap;padding:10px 12px}.learn-page .cc-speed-group{margin-left:0;width:100%;justify-content:flex-start}.learn-page .anti-seek-note{margin-top:-8px}.learn-page .lesson-info h2{font-size:19px}.learn-page .lesson-info p{font-size:13px}.learn-page .lesson-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.learn-page .lesson-nav .btn{width:100%;min-width:0;padding:11px 12px;font-size:13px;white-space:normal}.learn-page .quiz-overlay{align-items:flex-start;padding:12px;overflow-y:auto}.learn-page .quiz-card{width:100%;max-height:none;margin:auto 0;padding:24px 16px;border-radius:16px}.learn-page .quiz-card h2{font-size:20px}.learn-page .quiz-subtitle{font-size:13px;margin-bottom:22px}.learn-page .q-text{font-size:15px}.learn-page .q-option{padding:11px 13px;font-size:13px}.learn-page .quiz-result .score-num{font-size:46px}}@media (max-width: 480px){.learn-page nav{padding:9px 10px;gap:8px}.learn-page .back-btn{font-size:12px}.learn-page .nav-title{font-size:13px}.learn-page .nav-progress{font-size:11px}.learn-page .main-area{padding:12px;gap:14px}.learn-page .teacher-assigned-banner{gap:9px;padding:10px 12px;font-size:12px}.learn-page .teacher-assigned-banner .t-avatar{width:30px;height:30px;flex-basis:30px;font-size:12px}.learn-page .teacher-assigned-banner .t-sub{font-size:11px}.learn-page .video-wrap{border-radius:8px}.learn-page .custom-controls{gap:8px;padding:9px 10px}.learn-page .cc-playpause{width:36px;height:36px;flex-basis:36px}.learn-page .cc-speed-group{gap:5px}.learn-page .cc-speed-label{width:100%;margin:0 0 2px}.learn-page .speed-btn{flex:1;min-width:0;padding:6px 8px;font-size:12px}.learn-page .lesson-info h2{font-size:17px;line-height:1.35}.learn-page .lesson-info p{font-size:12px;line-height:1.55}.learn-page .resume-badge{font-size:11px;padding:4px 9px}.learn-page .lesson-nav{grid-template-columns:1fr}.learn-page .lesson-nav .btn{min-height:42px;font-size:13px}.learn-page .sidebar{max-height:300px}.learn-page .lesson-item{padding:11px 14px;gap:9px}.learn-page .lesson-num{width:26px;height:26px;flex-basis:26px;font-size:11px}.learn-page .lesson-title{font-size:12px}.learn-page .lesson-dur{font-size:10px}.learn-page .quiz-overlay{padding:8px}.learn-page .quiz-card{padding:20px 13px;border-radius:14px}.learn-page .quiz-card h2{font-size:18px}.learn-page .quiz-subtitle{font-size:12px;margin-bottom:18px}.learn-page .q-block{margin-bottom:22px}.learn-page .q-text{font-size:14px}.learn-page .q-option{padding:10px 11px;font-size:12px}.learn-page .quiz-result .score-num{font-size:42px}.learn-page .quiz-loading{padding:40px 15px}.learn-page .quiz-stats{font-size:11px}}@media (max-width: 360px){.learn-page .nav-progress{display:none}.learn-page .main-area{padding:10px}.learn-page .custom-controls{padding:8px}.learn-page .speed-btn{font-size:11px;padding:6px 5px}.learn-page .lesson-info h2{font-size:16px}.learn-page .lesson-info p{font-size:12px}}@media (hover: none){.learn-page .speed-btn:hover,.learn-page .btn-primary:hover,.learn-page .btn-secondary:hover,.learn-page .btn-gold:hover,.learn-page .lesson-item.unlocked:hover,.learn-page .q-option:hover{background:inherit;border-color:inherit}}@supports (padding: env(safe-area-inset-bottom)){.learn-page .main-area{padding-bottom:calc(28px + env(safe-area-inset-bottom))}@media (max-width: 768px){.learn-page .main-area{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}}.learn-page.learn-page .learn-layout{display:grid!important;grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;width:100%!important}.learn-page.learn-page .sidebar{position:static!important;float:none!important;width:auto!important;grid-column:1!important}.learn-page.learn-page .main-area{position:static!important;float:none!important;width:100%!important;max-width:100%!important;flex-basis:auto!important;grid-column:2!important;display:flex!important;flex-direction:column!important}.learn-page.learn-page .video-wrap,.learn-page.learn-page .custom-controls,.learn-page.learn-page .lesson-nav,.learn-page.learn-page .lesson-info,.learn-page.learn-page .teacher-assigned-banner{width:100%!important;max-width:100%!important}@media (max-width: 1000px){.learn-page.learn-page .learn-layout{grid-template-columns:260px minmax(0,1fr)!important}}@media (max-width: 768px){.learn-page.learn-page .learn-layout{display:flex!important;flex-direction:column!important}.learn-page.learn-page .sidebar,.learn-page.learn-page .main-area{grid-column:unset!important}}.tasks-content .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.tasks-content .stat-card{background:var(--white);border-radius:16px;padding:14px 16px;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:12px}.tasks-content .stat-icon-wrap{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.tasks-content .stat-label{font-size:.65rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.tasks-content .stat-value{font-weight:900;font-size:1.25rem}.tasks-content .tk-card{background:var(--white);border-radius:var(--radius-sm);padding:16px 16px 4px;box-shadow:var(--shadow-sm);border:1px solid var(--border);margin-bottom:16px}.tasks-content .tk-card-title{font-weight:900;font-size:.95rem;margin-bottom:12px}.tasks-content .task-list{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.tasks-content .task-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:background .15s;min-height:60px}.tasks-content .task-item:hover{background:#eef1f5}.tasks-content .task-item.completed{opacity:.7}.tasks-content .task-icon{font-size:1.5rem;flex-shrink:0;width:36px;text-align:center}.tasks-content .task-body{flex:1;min-width:0}.tasks-content .task-title{font-weight:800;font-size:.85rem;line-height:1.3;word-break:break-word}.tasks-content .task-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.6rem;font-weight:700;color:var(--muted);margin-top:2px}.tasks-content .task-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;margin-left:4px}.tasks-content .pill{font-size:.55rem;font-weight:800;padding:2px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.tasks-content .pill-pending{background:#fef3c7;color:#b45309}.tasks-content .pill-completed{background:#dcfce7;color:#15803d}.tasks-content .pill-paid{background:#dbeafe;color:#1d4ed8}.tasks-content .empty-state{text-align:center;padding:48px 16px;color:var(--muted)}.tasks-content .empty-icon{font-size:3rem;margin-bottom:12px}.tasks-content .empty-text{font-size:.9rem;font-weight:600;max-width:320px;margin:0 auto}.tk-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tk-modal{background:#fff;border-radius:16px;padding:24px 20px 20px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;font-family:Nunito,sans-serif;color:#0f172a}.tk-modal-title{font-weight:900;font-size:1.1rem;margin-bottom:4px}.tk-modal-sub{font-size:.85rem;color:#475569;margin-bottom:14px;line-height:1.5}.tk-modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tk-modal-meta span{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;background:#f8fafc;color:#475569}.tk-modal-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.tk-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:none;border-radius:10px;font-weight:800;font-size:.8rem;font-family:Nunito,sans-serif;cursor:pointer;transition:background .15s;text-decoration:none}.tk-btn-primary{background:#2563eb;color:#fff}.tk-btn-primary:hover{background:#1d4ed8}.tk-btn-green{background:#22c55e;color:#fff}.tk-btn-green:hover{background:#16a34a}.tk-btn-outline{background:#f8fafc;color:#475569;border:1.5px solid #e2e8f0}.tk-quiz-opt-btn{display:block;width:100%;text-align:left;padding:12px 14px;margin-bottom:8px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.85rem;font-weight:700;font-family:Nunito,sans-serif;transition:all .15s}.tk-quiz-opt-btn:disabled{cursor:not-allowed;opacity:.7}.tk-quiz-opt-btn.correct{background:#22c55e1f!important;border-color:#22c55e!important;color:#22c55e!important}.tk-quiz-opt-btn.wrong{background:#ef44441a!important;border-color:#ef4444!important;color:#ef4444!important}@media (max-width: 600px){.tasks-content .grid-2{grid-template-columns:1fr}}.leaderboard-content{width:100%;max-width:1180px;margin:0 auto;padding:24px;box-sizing:border-box}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.leaderboard-title{font-family:var(--font-display);font-size:28px;font-weight:900;color:var(--text);letter-spacing:-.5px}.leaderboard-subtitle{margin-top:5px;font-size:14px;color:var(--muted)}.top20-badge{padding:10px 16px;border-radius:999px;background:var(--purple-lt);color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.5px;white-space:nowrap}.leaderboard-content .lb-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,var(--purple),var(--purple-dk));color:#fff;border-radius:20px;padding:22px 26px;margin-bottom:34px;box-shadow:0 14px 35px #4c1d9533;border:1px solid rgba(255,255,255,.1)}.leaderboard-content .lb-hero:after{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-90px;border-radius:50%;background:#ffffff14}.leaderboard-content .lb-hero-label{position:relative;z-index:2;font-size:.72rem;opacity:.72;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.leaderboard-content .lb-hero-row{position:relative;z-index:2;display:flex;align-items:center;gap:18px}.leaderboard-content .lb-hero-rank{font-family:var(--font-display);font-size:2.5rem;font-weight:950;min-width:90px}.leaderboard-content .lb-hero-name{font-weight:900;font-size:1.05rem}.leaderboard-content .lb-hero-meta{opacity:.78;font-size:.82rem;margin-top:4px}.podium-section{position:relative;background:var(--white);border:1px solid var(--border);border-radius:24px;padding:28px 22px 0;margin-bottom:28px;box-shadow:0 10px 30px #0000000f;overflow:hidden}.podium-section:before{content:"";position:absolute;width:260px;height:260px;left:50%;top:-180px;transform:translate(-50%);border-radius:50%;background:var(--purple-lt);opacity:.6}.podium-title{position:relative;z-index:2;text-align:center;font-family:var(--font-display);font-size:17px;font-weight:900;color:var(--text);letter-spacing:.3px;margin-bottom:25px}.podium{position:relative;z-index:2;min-height:390px;display:flex;align-items:flex-end;justify-content:center;gap:16px;max-width:760px;margin:0 auto}.podium-player{position:relative;width:31%;min-width:150px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .25s ease,filter .25s ease}.podium-player:hover{transform:translateY(-6px)}.podium-crown{position:absolute;top:-42px;font-size:30px;animation:crownFloat 2s ease-in-out infinite;filter:drop-shadow(0 5px 5px rgba(0,0,0,.12))}@keyframes crownFloat{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}.podium-medal{position:relative;z-index:5;font-size:32px;margin-bottom:-5px;filter:drop-shadow(0 5px 4px rgba(0,0,0,.14))}.podium-avatar{position:relative;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:25px;font-weight:950;border:4px solid #fff;box-shadow:0 8px 20px #00000029;margin-bottom:9px}.podium-1 .podium-avatar{width:84px;height:84px;font-size:29px;border-width:5px;box-shadow:0 10px 25px #f1c40f4d}.podium-name{max-width:150px;font-size:14px;font-weight:900;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-1 .podium-name{font-size:16px}.you-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:3px 6px;border-radius:999px;background:var(--purple);color:#fff;font-size:8px;font-weight:900;vertical-align:middle}.podium-xp{margin-top:5px;font-size:12px;font-weight:900;color:var(--purple)}.podium-1 .podium-xp{font-size:13px}.podium-streak{margin-top:3px;font-size:10px;color:var(--muted);font-weight:600}.podium-pillar{position:relative;width:100%;margin-top:10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-radius:16px 16px 0 0;color:#fff;box-sizing:border-box;box-shadow:inset 0 1px #ffffff59,0 -5px 18px #0000000d}.podium-2 .podium-pillar{height:155px;background:linear-gradient(180deg,#bdc3c7,#8e9aa1)}.podium-1 .podium-pillar{height:205px;background:linear-gradient(180deg,#ffd84d,#e6a900);box-shadow:inset 0 1px #ffffff8c,0 -8px 25px #f1c40f2e}.podium-3 .podium-pillar{height:125px;background:linear-gradient(180deg,#e6a66d,#b86b32)}.pillar-rank{font-family:var(--font-display);font-size:46px;line-height:1;font-weight:950;margin-top:18px;text-shadow:0 3px 4px rgba(0,0,0,.15)}.podium-1 .pillar-rank{font-size:58px}.pillar-label{margin-top:8px;font-size:9px;font-weight:900;letter-spacing:1px;opacity:.82}.podium-player.is-me{filter:drop-shadow(0 8px 18px rgba(124,58,237,.18))}.podium-player.is-me:after{content:"YOUR RANK";position:absolute;top:-10px;right:5px;padding:4px 7px;border-radius:999px;background:var(--purple);color:#fff;font-size:7px;font-weight:900;letter-spacing:.5px}.lb-list-card{background:var(--white);border:1px solid var(--border);border-radius:22px;padding:0;overflow:hidden;box-shadow:0 8px 25px #0000000d}.lb-list-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:linear-gradient(135deg,var(--purple-lt),rgba(255,255,255,.7));border-bottom:1px solid var(--border);color:var(--text);font-size:13px;font-weight:900}.lb-list-header span:last-child{font-size:11px;color:var(--muted);font-weight:700}.lb-list{padding:6px 14px 10px}.leaderboard-content .lb-item{position:relative;display:flex;align-items:center;gap:12px;padding:11px 8px;border-bottom:1px solid var(--border);border-radius:12px;transition:background .2s ease,transform .2s ease}.leaderboard-content .lb-item:last-child{border-bottom:none}.leaderboard-content .lb-item:hover{background:var(--purple-lt);transform:translate(3px)}.leaderboard-content .lb-item.me{background:linear-gradient(90deg,var(--purple-lt),rgba(124,58,237,.04));border:1px solid rgba(124,58,237,.15);padding:10px 9px;margin:4px 0}.leaderboard-content .lb-rank{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:900}.leaderboard-content .lb-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:900;box-shadow:0 3px 8px #00000014}.leaderboard-content .lb-student-info{flex:1;min-width:0}.leaderboard-content .lb-name{font-weight:800;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-content .lb-streak{font-size:10px;color:var(--muted);margin-top:2px}.list-you-badge{display:inline-flex;margin-left:7px;padding:3px 6px;border-radius:999px;background:var(--purple);color:#fff;font-size:8px;font-weight:900;text-transform:uppercase}.leaderboard-content .lb-xp{font-size:12px;font-weight:900;color:var(--purple);white-space:nowrap}.leaderboard-content .empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.leaderboard-content .empty-icon{font-size:42px;margin-bottom:10px}.leaderboard-content .empty-text{font-size:13px;font-weight:600}.leaderboard-content .spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--purple);animation:leaderboardSpin .8s linear infinite}@keyframes leaderboardSpin{to{transform:rotate(360deg)}}@media (max-width: 800px){.leaderboard-content{padding:18px}.leaderboard-title{font-size:24px}.podium{gap:10px}.podium-player{min-width:130px}}@media (max-width: 600px){.leaderboard-content{padding:14px}.leaderboard-header{align-items:flex-start}.leaderboard-title{font-size:21px}.leaderboard-subtitle{font-size:12px}.top20-badge{padding:8px 11px;font-size:9px}.leaderboard-content .lb-hero{padding:18px;border-radius:17px;margin-bottom:22px}.leaderboard-content .lb-hero-rank{min-width:70px;font-size:2rem}.podium-section{padding:24px 8px 0;border-radius:19px;margin-bottom:20px}.podium-title{font-size:14px;margin-bottom:25px}.podium{min-height:330px;gap:4px}.podium-player{width:33%;min-width:0}.podium-avatar{width:54px;height:54px;font-size:20px;border-width:3px}.podium-1 .podium-avatar{width:66px;height:66px;font-size:23px}.podium-name{max-width:100px;font-size:11px}.podium-1 .podium-name{font-size:12px}.podium-xp{font-size:9px}.podium-streak{font-size:8px}.podium-2 .podium-pillar{height:125px}.podium-1 .podium-pillar{height:170px}.podium-3 .podium-pillar{height:105px}.pillar-rank{font-size:36px;margin-top:15px}.podium-1 .pillar-rank{font-size:46px}.pillar-label{font-size:7px;letter-spacing:.5px}.podium-crown{top:-35px;font-size:24px}.lb-list-card{border-radius:18px}.lb-list-header{padding:15px;font-size:12px}.lb-list{padding:5px 9px 8px}.leaderboard-content .lb-item{gap:8px;padding:9px 5px}.leaderboard-content .lb-rank{width:32px;height:32px;border-radius:9px;font-size:9px}.leaderboard-content .lb-avatar{width:34px;height:34px;font-size:12px}.leaderboard-content .lb-name{font-size:11px}.leaderboard-content .lb-streak{font-size:9px}.leaderboard-content .lb-xp{font-size:10px}}@media (max-width: 380px){.leaderboard-content{padding:10px}.podium-section{padding-left:4px;padding-right:4px}.podium{gap:1px}.podium-name{max-width:80px}.podium-streak{display:none}.leaderboard-content .lb-xp{font-size:9px}}@media (max-width: 600px){.leaderboard-header{flex-wrap:wrap;gap:10px}.leaderboard-header>*:first-child{flex:1 1 200px;min-width:0}.top20-badge{font-size:10px;padding:7px 12px}.leaderboard-content .lb-hero-row{gap:12px}.leaderboard-content .lb-hero-rank{min-width:0;font-size:1.9rem}.leaderboard-content .lb-hero-row>*:last-child{min-width:0}.leaderboard-content .lb-hero-name{overflow-wrap:anywhere}.leaderboard-content .lb-hero-meta{font-size:.78rem;line-height:1.4}.podium{min-height:0;padding-top:36px;gap:6px}.podium-player{flex:1 1 0;width:auto;min-width:0}.podium-avatar{width:52px;height:52px;font-size:19px}.podium-1 .podium-avatar{width:62px;height:62px;font-size:22px}.podium-name{width:100%;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25;font-size:12px}.podium-1 .podium-name{font-size:13px}.podium-xp{font-size:11px;white-space:nowrap}.podium-1 .podium-xp{font-size:12px}.podium-streak{display:block;font-size:10px;white-space:nowrap}.you-badge{display:block;width:fit-content;margin:4px auto 0;font-size:9px}.podium-player.is-me:after{display:none}.pillar-label{font-size:9px;letter-spacing:.5px}.lb-list-header{flex-wrap:wrap;gap:4px}.leaderboard-content .lb-item{gap:10px;padding:10px 6px}.leaderboard-content .lb-item:hover{transform:none}.leaderboard-content .lb-rank{width:30px;height:30px;font-size:11px}.leaderboard-content .lb-avatar{width:36px;height:36px;font-size:13px}.leaderboard-content .lb-student-info{overflow:hidden}.leaderboard-content .lb-name{font-size:13px}.leaderboard-content .lb-streak{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-content .lb-xp{font-size:12px}.list-you-badge{margin-left:5px;font-size:9px}}@media (max-width: 380px){.podium{gap:4px}.podium-avatar{width:46px;height:46px;font-size:17px;border-width:3px}.podium-1 .podium-avatar{width:56px;height:56px;font-size:20px}.podium-name{font-size:11px}.podium-1 .podium-name{font-size:12px}.podium-xp{font-size:10px}.podium-streak{display:block;font-size:9px}.podium-2 .podium-pillar{height:105px}.podium-1 .podium-pillar{height:140px}.podium-3 .podium-pillar{height:88px}.pillar-rank{font-size:30px;margin-top:12px}.podium-1 .pillar-rank{font-size:38px}.pillar-label{display:none}.leaderboard-content .lb-rank{width:28px;height:28px;font-size:10px}.leaderboard-content .lb-avatar{width:32px;height:32px;font-size:12px}.leaderboard-content .lb-name{font-size:12px}.leaderboard-content .lb-xp{font-size:11px}}.profile-content .profile-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:32px 28px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm);margin-bottom:24px}.profile-content .avatar{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,var(--purple),#9b6fe0);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:28px;font-weight:800;flex-shrink:0;text-transform:uppercase}.profile-content .profile-info{flex:1;min-width:0}.profile-content .profile-info h1{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-content .uid-chip{display:inline-flex;align-items:center;gap:6px;background:var(--purple-lt);color:var(--purple-dk);font-size:13px;font-weight:700;letter-spacing:.02em;padding:6px 12px;border-radius:999px}.profile-content .section-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:28px 0 12px 4px}.profile-content .stub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.profile-content .stub-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:20px 18px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between}.profile-content .stub-card .icon{font-size:22px;opacity:.9}.profile-content .stub-card .name{font-weight:700;font-size:14.5px;color:var(--text)}.profile-content .badge-soon{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--purple);background:var(--purple-lt);padding:3px 9px;border-radius:999px}@media (max-width: 480px){.profile-content .profile-card{flex-direction:column;text-align:center}.profile-content .profile-info h1{white-space:normal}}.profile-content .level-row{display:flex;align-items:center;gap:10px;margin-top:12px}.profile-content .level-label{font-size:12.5px;font-weight:800;color:var(--purple-dk);white-space:nowrap}.profile-content .level-track{flex:1;height:8px;border-radius:8px;background:var(--purple-lt);overflow:hidden}.profile-content .level-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--purple),#9b6fe0);transition:width .6s ease}.profile-content .level-xp{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.profile-content .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.profile-content .stat-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-sm)}.profile-content .stat-card .icon{font-size:22px;margin-bottom:6px}.profile-content .stat-name{font-size:12.5px;font-weight:700;color:var(--muted)}.profile-content .stat-value{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-content .stat-sub{font-size:12px;font-weight:600;color:var(--purple-dk)}.profile-content .detail-list{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden}.profile-content .detail-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);font-size:14px}.profile-content .detail-row:last-child{border-bottom:0}.profile-content .detail-row span{color:var(--muted);font-weight:600}.profile-content .detail-row strong{color:var(--text);font-weight:700;text-align:right}@media (max-width: 480px){.profile-content .level-row{justify-content:center;flex-wrap:wrap}.profile-content .level-track{flex-basis:100%;order:3}}.progress-content .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.progress-content .pg-card{background:var(--white);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px 20px 22px;margin-bottom:18px;border:1px solid var(--border)}.progress-content .pg-card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text);margin-bottom:14px}.progress-content .level-card{background:linear-gradient(135deg,var(--ink, #1B1F3B),var(--purple));color:#fff;border-radius:16px;padding:18px 20px 22px;margin-bottom:0}.progress-content .level-card .lc-label{font-size:.7rem;font-weight:700;opacity:.6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.progress-content .level-card .lc-title{font-family:var(--font-display);font-size:2rem;font-weight:900}.progress-content .level-card .lc-xp{font-size:.78rem;opacity:.6;margin-bottom:12px}.progress-content .level-track{background:#ffffff26;border-radius:8px;height:8px;overflow:hidden}.progress-content .level-fill{height:100%;background:linear-gradient(90deg,var(--marigold, #FFB238),#ffd28a);border-radius:8px;transition:width 1s ease}.progress-content .level-card .lc-note{font-size:.65rem;opacity:.45;margin-top:5px}.progress-content .stat-row{display:flex;justify-content:space-between;font-size:.82rem;padding:4px 0}.progress-content .stat-row span{color:var(--muted);font-weight:700}.progress-content .prog-row{display:flex;align-items:center;gap:10px;padding:6px 0}.progress-content .prog-label{font-size:.78rem;font-weight:700;color:var(--text);min-width:70px;flex-shrink:0;text-transform:capitalize}.progress-content .prog-track{flex:1;height:7px;background:#eef1f5;border-radius:6px;overflow:hidden}.progress-content .prog-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--purple),#a78bfa);transition:width 1s ease}.progress-content .prog-pct{font-size:.7rem;font-weight:700;color:var(--muted);min-width:60px;text-align:right;flex-shrink:0}.progress-content .badges-grid{display:flex;flex-wrap:wrap;gap:10px}.progress-content .badge-item{display:flex;align-items:center;gap:8px;background:var(--purple-lt);border:1.5px solid rgba(108,63,197,.15);border-radius:30px;padding:4px 14px 4px 8px;font-weight:700;font-size:.78rem;color:var(--text)}.progress-content .badge-emoji{font-size:1.2rem}.progress-content .tbl-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}.progress-content table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:460px}.progress-content thead{background:#00000008}.progress-content th,.progress-content td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.progress-content th{font-weight:800;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.4px}.progress-content td strong{color:var(--text)}.progress-content .pill{display:inline-block;font-size:.65rem;font-weight:700;padding:2px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.progress-content .pill-completed{background:#27ae601f;color:#27ae60}.progress-content .pill-pending{background:#e67e221a;color:#e67e22}.progress-content .empty-state{text-align:center;padding:32px 16px;color:var(--muted)}.progress-content .empty-icon{font-size:2.4rem;margin-bottom:8px}.progress-content .empty-text{font-size:.9rem;font-weight:600}@media (max-width: 700px){.progress-content .grid-2{grid-template-columns:1fr}}.wallet-content .wallet-balance{text-align:center;background:linear-gradient(135deg,var(--ink, #1B1F3B),var(--purple));color:#fff;border-radius:16px;padding:32px 20px;margin-bottom:20px}.wallet-content .wallet-label{font-size:.8rem;opacity:.65;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.wallet-content .wallet-amount{font-family:var(--font-display);font-size:2.6rem;font-weight:900;margin:6px 0 2px}.wallet-content .wallet-sub{font-size:.8rem;opacity:.6}.wallet-content .topup-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}.wallet-content .topup-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 18px;border-radius:20px;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .15s}.wallet-content .topup-btn:hover:not(:disabled){background:#ffffff38;transform:translateY(-1px)}.wallet-content .wt-card{background:var(--white);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px 20px 20px;border:1px solid var(--border)}.wallet-content .wt-card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:14px}.wallet-content .txn-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.wallet-content .txn-item:last-child{border-bottom:none}.wallet-content .txn-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.wallet-content .txn-title{font-weight:700;font-size:.85rem;color:var(--text)}.wallet-content .txn-date{font-size:.72rem;color:var(--muted)}.wallet-content .txn-amount{margin-left:auto;font-weight:800;font-size:.9rem;white-space:nowrap}.wallet-content .txn-amount.credit{color:#27ae60}.wallet-content .txn-amount.debit{color:#e74c3c}.wallet-content .empty-state{text-align:center;padding:32px;color:var(--muted)}.wallet-content .empty-icon{font-size:2.2rem;margin-bottom:8px}.wallet-content .empty-text{font-size:.85rem;font-weight:600}.teacher-courses-page{--tc-bg: #0d0b1e;--tc-surface: #16133a;--tc-surface2: #1e1b4b;--tc-border: rgba(167,139,250,.15);--tc-gold: #FFD700;--tc-purple: #7c3aed;--tc-lilac: #c4b5fd;--tc-text: #e2e8f0;--tc-muted: #94a3b8;--tc-green: #22c55e;--tc-blue: #38bdf8;--tc-radius: 14px;background:var(--tc-bg);color:var(--tc-text);font-family:Segoe UI,sans-serif;min-height:100vh}.teacher-courses-page #toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}.teacher-courses-page .toast{padding:12px 24px;border-radius:8px;color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 12px #0000004d}.teacher-courses-page .toast.success{background:var(--tc-green)}.teacher-courses-page .toast.error{background:#ef4444}.teacher-courses-page nav{display:flex;align-items:center;gap:14px;padding:14px 24px;background:#0d0b1ef7;border-bottom:1px solid var(--tc-border);position:sticky;top:0;z-index:50}.teacher-courses-page .back-btn{color:var(--tc-lilac);text-decoration:none;font-size:14px}.teacher-courses-page .nav-title{font-size:17px;font-weight:700;color:#fff;flex:1}.teacher-courses-page .page{max-width:1100px;margin:0 auto;padding:28px 20px 60px}.teacher-courses-page .page-header{margin-bottom:28px}.teacher-courses-page .page-header h1{font-size:26px;font-weight:800;color:#fff}.teacher-courses-page .page-header p{color:var(--tc-muted);font-size:14px;margin-top:6px}.teacher-courses-page .courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.teacher-courses-page .course-card{background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:var(--tc-radius);overflow:hidden;cursor:pointer;transition:all .2s;position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit}.teacher-courses-page .course-card:hover{border-color:var(--tc-purple);transform:translateY(-2px);box-shadow:0 8px 30px #7c3aed26}.teacher-courses-page .teacher-banner{background:linear-gradient(135deg,#7c3aed26,#38bdf814);border-bottom:1px solid var(--tc-border);padding:8px 14px;display:flex;align-items:center;gap:8px}.teacher-courses-page .teacher-avatar{width:26px;height:26px;border-radius:50%;background:var(--tc-purple);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;font-weight:700;flex-shrink:0}.teacher-courses-page .teacher-name-sm{font-size:12px;color:var(--tc-lilac);font-weight:600}.teacher-courses-page .assigned-chip{font-size:11px;color:var(--tc-muted);margin-left:auto}.teacher-courses-page .card-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#1a0533,#2d1060);display:flex;align-items:center;justify-content:center;font-size:48px;flex-shrink:0}.teacher-courses-page .card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.teacher-courses-page .card-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px}.teacher-courses-page .card-subject{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tc-blue);font-weight:700}.teacher-courses-page .card-title{font-size:16px;font-weight:700;color:#fff;line-height:1.3}.teacher-courses-page .card-meta{font-size:12px;color:var(--tc-muted);display:flex;gap:12px;flex-wrap:wrap}.teacher-courses-page .prog-wrap{margin-top:auto;padding-top:12px}.teacher-courses-page .prog-label{display:flex;justify-content:space-between;font-size:12px;color:var(--tc-muted);margin-bottom:6px}.teacher-courses-page .prog-bar{background:#ffffff0f;border-radius:4px;height:5px}.teacher-courses-page .prog-fill{height:5px;border-radius:4px;background:linear-gradient(90deg,var(--tc-purple),var(--tc-blue));transition:width .4s}.teacher-courses-page .completed-ribbon{position:absolute;top:44px;right:-22px;background:var(--tc-green);color:#fff;font-size:10px;font-weight:700;padding:4px 28px;transform:rotate(35deg);letter-spacing:1px}.teacher-courses-page .empty{text-align:center;padding:60px 20px;color:var(--tc-muted)}.teacher-courses-page .empty .icon{font-size:52px;margin-bottom:14px}.teacher-courses-page .empty h3{font-size:18px;color:var(--tc-text);margin-bottom:8px}.teacher-courses-page .skeleton{background:linear-gradient(90deg,var(--tc-surface) 25%,rgba(255,255,255,.04) 50%,var(--tc-surface) 75%);background-size:200% 100%;animation:tcShimmer 1.2s infinite;border-radius:8px}@keyframes tcShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 640px){.teacher-courses-page .courses-grid{grid-template-columns:repeat(2,1fr);gap:12px}.teacher-courses-page .card-body{padding:12px}.teacher-courses-page .card-title{font-size:14px}.teacher-courses-page .card-meta{font-size:11px;gap:8px}}.parent-connect-page{--pc-primary: #6c3fc5;--pc-primary-light: rgba(108,63,197,.15);--pc-primary-border: rgba(108,63,197,.35);--pc-bg: #0f0d17;--pc-card-bg: #171320;--pc-topbar-bg: #140f1f;--pc-text: #ffffff;--pc-text2: #c9c3d6;--pc-text3: #8b84a0;--pc-success: #22c55e;--pc-danger: #ef4444;--pc-warning: #f59e0b;background:var(--pc-bg);color:var(--pc-text);font-family:Inter,system-ui,sans-serif;min-height:100vh}.parent-connect-page .topbar{position:sticky;top:0;z-index:50;background:var(--pc-topbar-bg);border-bottom:1.5px solid var(--pc-primary-border);display:flex;align-items:center;justify-content:space-between;padding:14px 20px}.parent-connect-page .logo{display:flex;align-items:center;gap:9px;text-decoration:none}.parent-connect-page .logo img{width:32px;height:32px;border-radius:8px;object-fit:contain}.parent-connect-page .logo-text{font-size:17px;font-weight:800;color:#fff}.parent-connect-page .logo-text span{color:var(--pc-primary)}.parent-connect-page .back-link{color:var(--pc-text2);text-decoration:none;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1.5px solid var(--pc-primary-border)}.parent-connect-page .back-link:hover{background:var(--pc-primary-light)}.parent-connect-page .wrap{max-width:760px;margin:0 auto;padding:22px 16px 60px}.parent-connect-page .page-title{font-size:22px;font-weight:800;margin:6px 0 4px}.parent-connect-page .page-sub{color:var(--pc-text3);font-size:13.5px;margin-bottom:22px}.parent-connect-page .card{background:var(--pc-card-bg);border:1.5px solid var(--pc-primary-border);border-radius:16px;padding:20px;margin-bottom:18px}.parent-connect-page .card-title{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:14px}.parent-connect-page .uid-box{display:flex;align-items:center;justify-content:space-between;background:var(--pc-primary-light);border:1.5px dashed var(--pc-primary-border);border-radius:12px;padding:16px 18px;flex-wrap:wrap;gap:12px}.parent-connect-page .uid-value{font-size:24px;font-weight:900;letter-spacing:1px;color:#fff}.parent-connect-page .copy-btn{background:var(--pc-primary);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-weight:700;font-size:12.5px;cursor:pointer}.parent-connect-page .copy-btn:hover{opacity:.9}.parent-connect-page .uid-hint{color:var(--pc-text3);font-size:12.5px;margin-top:10px}.parent-connect-page .req-card{background:#f59e0b14;border:1.5px solid rgba(245,158,11,.35);border-radius:12px;padding:14px 16px;margin-bottom:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.parent-connect-page .req-icon{width:42px;height:42px;border-radius:50%;background:#f59e0b33;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.parent-connect-page .req-text{flex:1;min-width:180px;font-size:13.5px;color:var(--pc-text2)}.parent-connect-page .req-text b{color:#fff}.parent-connect-page .req-actions{display:flex;gap:8px}.parent-connect-page .btn{border:none;border-radius:8px;padding:9px 16px;font-weight:700;font-size:12.5px;cursor:pointer}.parent-connect-page .btn-accept{background:var(--pc-success);color:#fff}.parent-connect-page .btn-reject,.parent-connect-page .btn-remove{background:transparent;color:var(--pc-danger);border:1.5px solid var(--pc-danger)}.parent-connect-page .btn:hover{opacity:.85}.parent-connect-page .parent-row{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.parent-connect-page .parent-row:last-child{border-bottom:none}.parent-connect-page .p-avatar{width:38px;height:38px;border-radius:50%;background:var(--pc-primary-light);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--pc-primary);flex-shrink:0}.parent-connect-page .p-info{flex:1}.parent-connect-page .p-name{font-weight:700;font-size:14px}.parent-connect-page .p-relation{font-size:12px;color:var(--pc-text3)}.parent-connect-page .empty-state{text-align:center;padding:26px 10px;color:var(--pc-text3);font-size:13px}.parent-connect-page .loading-state{display:flex;align-items:center;gap:10px;color:var(--pc-text3);font-size:13px;padding:10px 0}.parent-connect-page .loader{width:16px;height:16px;border:2.5px solid var(--pc-primary-border);border-top-color:var(--pc-primary);border-radius:50%;animation:pcSpin .8s linear infinite}@keyframes pcSpin{to{transform:rotate(360deg)}}.parent-connect-page #toast-container{position:fixed;bottom:16px;right:16px;left:16px;z-index:999;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.parent-connect-page .toast{background:#1c1730;border:1.5px solid var(--pc-primary-border);border-radius:10px;padding:11px 16px;font-size:13px;color:#fff;box-shadow:0 8px 24px #0006;max-width:340px;pointer-events:auto}.parent-connect-page .toast.success{border-color:var(--pc-success)}.parent-connect-page .toast.error{border-color:var(--pc-danger)}@media (max-width: 480px){.parent-connect-page .uid-value{font-size:19px}.parent-connect-page .req-actions{width:100%;justify-content:flex-end}}.mg-page{padding:4px 2px 32px}.mg-header{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.mg-header h1{font-size:22px;font-weight:700;color:#2a1a4a;margin:0}.mg-header p{font-size:14px;color:#6b6478;margin:0}.mg-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.mg-filter-btn{border:1.5px solid #e3d9f7;background:#fff;color:#6c3fc5;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.mg-filter-btn:hover{background:#f4eeff}.mg-filter-btn.active{background:#6c3fc5;color:#fff;border-color:#6c3fc5}.mg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.mg-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #eee6fb;box-shadow:0 2px 10px #6c3fc50f;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.mg-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #6c3fc524}.mg-card-thumb{width:100%;height:120px;object-fit:cover;background:linear-gradient(135deg,#6c3fc5,#a78bfa)}.mg-card-thumb-fallback{width:100%;height:120px;display:flex;align-items:center;justify-content:center;font-size:40px;background:linear-gradient(135deg,#6c3fc5,#a78bfa)}.mg-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.mg-card-subject{align-self:flex-start;font-size:11px;font-weight:700;color:#6c3fc5;background:#f4eeff;padding:2px 8px;border-radius:999px}.mg-card-title{font-size:15px;font-weight:700;color:#2a1a4a;margin:0}.mg-card-desc{font-size:12.5px;color:#7a7385;margin:0;flex:1}.mg-card-meta{font-size:11px;color:#9a93a8}.mg-play-btn{margin-top:6px;border:none;background:#6c3fc5;color:#fff;font-weight:700;font-size:13px;padding:8px 0;border-radius:10px;cursor:pointer;transition:background .15s ease}.mg-play-btn:hover{background:#5a32a8}.mg-empty,.mg-loading{text-align:center;padding:60px 20px;color:#8a8394;font-size:14px}.mg-empty-icon{font-size:42px;margin-bottom:10px}.stx-page{--stx-ink: #1b1533;--stx-brand: #6c3fc5;--stx-gold: #ffb83d;--stx-muted: #a79fd0;--stx-art-bg: radial-gradient(circle at 50% 40%, #ffffff 0%, #f0eafc 55%, #ded4f5 100%);position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;display:flex;flex-direction:column;color:#f3f0ff;background:linear-gradient(180deg,#0e0a2073,#0e0a2040,#0e0a2080),var(--stx-bg) center bottom / cover no-repeat,#14102a;overflow:hidden}.stx-center{align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.stx-msg{margin:0;color:var(--stx-muted)}.stx-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#14102ab3;color:inherit;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.stx-btn:hover{border-color:var(--stx-brand)}.stx-btn--primary{background:var(--stx-brand);border-color:var(--stx-brand)}.stx-btn--primary:hover{filter:brightness(1.12)}.stx-btn--large{padding:12px 40px;font-size:1.05rem}.stx-btn:focus-visible,.stx-rail__btn:focus-visible,.stx-chip:focus-visible,.stx-buy:focus-visible,.stx-modal button:focus-visible{outline:2px solid var(--stx-gold);outline-offset:2px}.stx-gate{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:420px;padding:28px;border-radius:16px;background:#0e0a20b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12)}.stx-gate h1{margin:0;font-size:1.6rem}.stx-gate p{margin:0;color:var(--stx-muted);line-height:1.55}.stx-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;padding-top:max(10px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));background:#0e0a2099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.1)}.stx-title{margin:0;font-size:1.15rem;font-weight:800}.stx-top__actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.stx-wallet{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#ffffff1f;font-size:.9rem;font-weight:800}.stx-icon{width:16px;height:16px;flex:none}.stx-main{flex:1;min-height:0;display:grid;grid-template-columns:168px 1fr;gap:14px;padding:12px 16px 14px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.stx-rail{display:flex;flex-direction:column;gap:6px;min-height:0;padding:8px;overflow-y:auto;border-radius:14px;background:#120d28bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12)}.stx-rail__btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--stx-muted);font:inherit;font-size:.88rem;font-weight:700;text-align:left;cursor:pointer}.stx-rail__btn:hover{background:#ffffff14;color:#fff}.stx-rail__btn.is-active{background:var(--stx-gold);color:#2a1d00}.stx-rail__count{min-width:22px;padding:1px 7px;border-radius:999px;background:#ffffff24;font-size:.72rem;text-align:center}.stx-rail__btn.is-active .stx-rail__count{background:#2a1d002e}.stx-content{display:flex;flex-direction:column;min-width:0;min-height:0}.stx-rarity{display:flex;gap:8px;padding:0 2px 10px;overflow-x:auto;scrollbar-width:none}.stx-rarity::-webkit-scrollbar{display:none}.stx-chip{flex:none;padding:6px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#120d28bd;color:#e7e1ff;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.stx-chip:hover{border-color:#fff}.stx-chip.is-active{background:#fff;border-color:#fff;color:var(--stx-ink)}.stx-gridwrap{flex:1;min-height:0;overflow-y:auto;padding:2px 4px 10px 2px}.stx-state{margin:40px 0;text-align:center;color:#e7e1ff;text-shadow:0 2px 6px rgba(0,0,0,.6)}.stx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px}.stx-card{--stx-rarity: #c7c0dd;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;border-top:4px solid var(--stx-rarity);background:#fff;color:var(--stx-ink);box-shadow:0 8px 22px #0a061c66;transition:transform .18s ease}.stx-card:hover{transform:translateY(-3px)}.stx-card--rare{--stx-rarity: #3b82f6}.stx-card--epic{--stx-rarity: #a855f7}.stx-card--legendary{--stx-rarity: #f5a50f}.stx-card__art{position:relative;padding:8px;background:var(--stx-art-bg)}.stx-card__tag{position:absolute;top:8px;left:8px;padding:2px 9px;border-radius:999px;background:var(--stx-rarity);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.stx-card--common .stx-card__tag{background:#8b84a8}.stx-card__body{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px}.stx-card__name{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:800}.stx-card__prices{display:flex;gap:8px}.stx-card__prices--center{justify-content:center;margin-bottom:16px}.stx-price{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;background:#f3effc;color:var(--stx-ink);font-size:.82rem;font-weight:800}.stx-buy{padding:9px 10px;border:0;border-radius:10px;background:var(--stx-brand);color:#fff;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}.stx-buy:hover:not(:disabled){filter:brightness(1.1)}.stx-buy.is-owned{background:#dcfce7;color:#166534;cursor:default}.stx-buy.is-locked{background:#ebe7f5;color:#7a7396}.stx-product{position:relative;display:block;width:100%;aspect-ratio:1 / 1;overflow:hidden}.stx-product img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;filter:drop-shadow(0 5px 7px rgba(27,21,51,.3));opacity:0;transition:opacity .25s ease}.stx-product.is-ready img{opacity:1}.stx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0714b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.stx-modal{width:100%;max-width:320px;max-height:100%;overflow-y:auto;padding:18px;border-radius:18px;background:#fff;color:var(--stx-ink);text-align:center}.stx-modal__art{width:min(190px,46vh);margin:0 auto 8px;border-radius:14px;background:var(--stx-art-bg);overflow:hidden}.stx-modal h3{margin:0 0 8px;font-size:1.1rem}.stx-modal__actions{display:flex;gap:10px}.stx-modal__actions button{flex:1;padding:10px;border:0;border-radius:10px;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer}.stx-modal__cancel{background:#ebe7f5;color:var(--stx-ink)}.stx-modal__confirm{background:var(--stx-brand);color:#fff}.stx-modal__confirm:disabled{opacity:.6;cursor:wait}.stx-toast{position:fixed;bottom:20px;left:50%;z-index:120;transform:translate(-50%);max-width:90vw;padding:11px 18px;border-radius:12px;background:#fff;color:var(--stx-ink);font-size:.88rem;font-weight:700;box-shadow:0 10px 28px #00000073}.stx-toast--error{background:#fee2e2;color:#991b1b}.stx-rotate{display:none}@media (orientation: portrait) and (max-width: 820px){.stx-rotate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#14102a;text-align:center}.stx-rotate__card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px}.stx-rotate__card p{margin:0;font-size:1.05rem;font-weight:700}.stx-rotate__icon{width:54px;height:88px;border:4px solid var(--stx-gold);border-radius:12px;animation:stxRotate 2.2s ease-in-out infinite}}@keyframes stxRotate{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (max-height: 520px){.stx-top{padding-top:6px;padding-bottom:6px}.stx-btn{padding:6px 12px;font-size:.8rem}.stx-wallet{padding:4px 10px;font-size:.82rem}.stx-main{grid-template-columns:124px 1fr;gap:10px;padding:8px 12px 10px}.stx-rail__btn{padding:8px 10px;font-size:.8rem}.stx-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px}.stx-card__art{padding:4px}.stx-card__body{gap:6px;padding:8px 10px 10px}.stx-card__name{font-size:.84rem}.stx-buy{padding:7px 8px;font-size:.8rem}}@media (prefers-reduced-motion: reduce){.stx-card,.stx-product img,.stx-rotate__icon{transition:none;animation:none}}.alk-page{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;display:flex;flex-direction:column;color:var(--pvx-text, #f3f0ff);background:linear-gradient(90deg,#0e0a201a,#0e0a2073),var(--alk-bg) center bottom / cover no-repeat,var(--pvx-bg, #14102a);overflow:hidden}.alk-center{align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.alk-msg{max-width:420px;margin:0;color:var(--pvx-muted, #a79fd0);line-height:1.5}.alk-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#14102ab3;color:inherit;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.alk-btn:hover{border-color:var(--pvx-brand, #6c3fc5)}.alk-btn--primary{background:var(--pvx-brand, #6c3fc5);border-color:var(--pvx-brand, #6c3fc5)}.alk-btn--primary:hover{filter:brightness(1.12)}.alk-btn--large{padding:12px 40px;font-size:1.05rem}.alk-btn:focus-visible,.alk-tab:focus-visible,.alk-tile:focus-visible{outline:2px solid var(--pvx-gold, #ffb83d);outline-offset:2px}.alk-gate{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:420px;padding:28px;border-radius:16px;background:#0e0a20b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12)}.alk-gate h1{margin:0;font-size:1.6rem}.alk-gate p{margin:0;color:var(--pvx-muted, #a79fd0);line-height:1.55}.alk-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;padding-top:max(10px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));background:#0e0a208c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.1)}.alk-title{margin:0;font-size:1.15rem;font-weight:800}.alk-top__actions{display:flex;align-items:center;gap:10px}.alk-main{flex:1;min-height:0;display:grid;grid-template-columns:1fr minmax(320px,44%);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.alk-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;min-height:0;padding:12px 12px 16px}.alk-avatar{position:relative;width:min(72vh,46vw);aspect-ratio:1 / 1;filter:drop-shadow(0 12px 18px rgba(0,0,0,.45))}.alk-avatar .pvx-avatar{width:100%;height:100%}.alk-avatar:before{content:"";position:absolute;left:22%;right:22%;bottom:2%;height:7%;border-radius:50%;background:radial-gradient(ellipse at center,#00000080,#0000 70%)}.alk-name{margin-top:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:800;text-shadow:0 2px 6px rgba(0,0,0,.7)}.alk-wardrobe{display:flex;flex-direction:column;min-width:0;min-height:0;margin:10px 14px 14px 0;border-radius:16px;background:#120d28bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);overflow:hidden}.alk-tabs{display:flex;gap:6px;padding:10px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.1)}.alk-tabs::-webkit-scrollbar{display:none}.alk-tab{flex:none;padding:7px 14px;border:1px solid transparent;border-radius:999px;background:#ffffff14;color:var(--pvx-muted, #a79fd0);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.alk-tab:hover{color:var(--pvx-text, #f3f0ff)}.alk-tab.is-active{background:var(--pvx-gold, #ffb83d);color:#2a1d00}.alk-error{margin:10px 12px 0;padding:8px 12px;border-radius:8px;background:#ff5a5a24;border:1px solid rgba(255,90,90,.4);color:#ffb3b3;font-size:.85rem}.alk-items{flex:1;min-height:0;padding:12px;overflow-y:auto}.alk-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 12px;text-align:center;color:var(--pvx-muted, #a79fd0);font-size:.9rem}.alk-empty p{margin:0}.alk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.alk-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;border:2px solid rgba(255,255,255,.14);border-radius:12px;background:#ffffff0f;color:inherit;font:inherit;cursor:pointer}.alk-tile:hover{background:#ffffff1f}.alk-tile__art{display:block;width:100%;aspect-ratio:1 / 1}.alk-tile__art .pvx-avatar{width:100%;height:100%}.alk-tile__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700}.alk-tile--common{border-color:#fff3}.alk-tile--rare{border-color:#3b82f6}.alk-tile--epic{border-color:#a855f7}.alk-tile--legendary{border-color:var(--pvx-gold, #ffb83d)}.alk-tile.is-selected{background:#6c3fc566;box-shadow:0 0 0 2px var(--pvx-brand, #6c3fc5)}.alk-tile__badge{position:absolute;top:6px;right:6px;padding:2px 7px;border-radius:999px;background:var(--pvx-brand, #6c3fc5);font-size:.62rem;font-weight:800}.alk-tile--none{justify-content:center;min-height:118px;border-style:dashed;color:var(--pvx-muted, #a79fd0);font-size:.88rem;font-weight:700}.alk-rotate{display:none}@media (orientation: portrait) and (max-width: 820px){.alk-rotate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--pvx-bg, #14102a);text-align:center}.alk-rotate__card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px}.alk-rotate__card p{margin:0;font-size:1.05rem;font-weight:700}.alk-rotate__icon{width:54px;height:88px;border:4px solid var(--pvx-gold, #ffb83d);border-radius:12px;animation:alkRotate 2.2s ease-in-out infinite}}@keyframes alkRotate{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (max-height: 520px){.alk-top{padding-top:6px;padding-bottom:6px}.alk-btn{padding:6px 14px;font-size:.82rem}.alk-main{grid-template-columns:1fr minmax(300px,48%)}.alk-avatar{width:min(74vh,44vw)}.alk-wardrobe{margin:6px 10px 10px 0}.alk-tabs{padding:6px 8px}.alk-items{padding:8px}.alk-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.alk-tile--none{min-height:98px}}@media (prefers-reduced-motion: reduce){.alk-rotate__icon{animation:none}}.rkx-badge{display:block;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.rkx-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%}.rkx-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800;letter-spacing:.02em}.rkx-img{position:relative;display:inline-block;flex:none}.rkx-img img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.rkx-img__division{position:absolute;left:50%;bottom:-2px;transform:translate(-50%);padding:0 .45em;border-radius:999px;background:#0e0a20d9;color:#ffe08a;font-weight:800;line-height:1.35;letter-spacing:.04em}.pvx-lobby{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#14102a8c,#14102a33 38%,#14102a73),var(--pvx-lobby-bg, none) center bottom / cover no-repeat,radial-gradient(ellipse at 50% 100%,#2c2160 0%,transparent 60%),var(--pvx-bg);color:var(--pvx-text);overflow:hidden}.pvx-lobby--center{align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.pvx-lobby__msg{max-width:420px;margin:0;color:var(--pvx-muted);line-height:1.5}.pvx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:.9rem;font-weight:700;color:var(--pvx-text);cursor:pointer;white-space:nowrap}.pvx-btn:disabled{opacity:.45;cursor:not-allowed}.pvx-btn--primary{background:var(--pvx-brand)}.pvx-btn--primary:hover:not(:disabled){filter:brightness(1.12)}.pvx-btn--ghost{background:var(--pvx-panel);border-color:var(--pvx-panel-edge)}.pvx-btn--ghost:hover:not(:disabled){border-color:var(--pvx-brand)}.pvx-btn--gold{background:var(--pvx-gold);color:#2a1d00}.pvx-btn--gold:hover:not(:disabled){filter:brightness(1.08)}.pvx-btn--small{padding:6px 12px;font-size:.8rem;border-radius:8px}.pvx-btn--large{padding:13px 40px;font-size:1.05rem;border-radius:12px}.pvx-btn:focus-visible,.pvx-idchip:focus-visible,.pvx-game:focus-visible,.pvx-slot--empty:focus-visible,.pvx-input:focus-visible{outline:2px solid var(--pvx-gold);outline-offset:2px}.pvx-badge{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--pvx-gold);color:#2a1d00;font-size:.72rem;font-weight:800;text-align:center}.pvx-gate{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:420px}.pvx-gate h1{margin:0;font-size:1.8rem}.pvx-gate p{margin:0;color:var(--pvx-muted);line-height:1.55}.pvx-lobby__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid var(--pvx-panel-edge);background:#14102ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pvx-lobby__title{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:.02em}.pvx-lobby__actions{display:flex;align-items:center;gap:10px}.pvx-idchip{display:inline-flex;align-items:center;gap:10px;padding:5px 6px 5px 12px;background:#ffb83d1a;border:1px solid rgba(255,184,61,.45);border-radius:8px;color:var(--pvx-gold);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.pvx-idchip__action{padding:2px 8px;border-radius:5px;background:var(--pvx-gold);color:#2a1d00;font-size:.72rem}.pvx-lobby__main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(250px,300px) 1fr;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.pvx-friends{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--pvx-panel-edge);background:#1f19409e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pvx-friends__head{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px 10px}.pvx-friends__head h2{margin:0;font-size:1rem}.pvx-friends__count{font-size:.78rem;color:var(--pvx-online);font-weight:600}.pvx-friends__empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;color:var(--pvx-muted);text-align:center;font-size:.9rem}.pvx-friends__empty p{margin:0}.pvx-friends__list{flex:1;min-height:0;margin:0;padding:0 10px 12px;list-style:none;overflow-y:auto}.pvx-friend{display:flex;align-items:center;gap:10px;padding:8px;margin-bottom:6px;border-radius:12px;background:var(--pvx-panel);border:1px solid transparent}.pvx-friend--offline{opacity:.55}.pvx-friend--in-your-party{border-color:var(--pvx-brand)}.pvx-friend__info{flex:1;min-width:0}.pvx-friend__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700}.pvx-friend__status{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--pvx-muted)}.pvx-dot{width:8px;height:8px;border-radius:50%;background:#5b5488}.pvx-dot--online,.pvx-dot--in-your-party{background:var(--pvx-online)}.pvx-dot--in-party{background:var(--pvx-gold)}.pvx-stage{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 20px 16px}.pvx-slots{flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;gap:clamp(8px,2vw,28px)}.pvx-slot{position:relative;flex:1 1 0;min-width:0;max-width:calc(46vh + 16px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;background:none;border:0;color:inherit;font:inherit}.pvx-slot__tags{display:flex;gap:6px;min-height:20px}.pvx-tag{padding:2px 9px;border-radius:999px;background:#ffffff1f;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pvx-tag--host{background:var(--pvx-gold);color:#2a1d00}.pvx-slot__art{width:100%;aspect-ratio:1 / 1;max-height:46vh;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}.pvx-slot__base{width:78%;height:16px;margin-top:-14px;border-radius:50%;background:radial-gradient(ellipse at center,#6c3fc5e6,#6c3fc500 70%)}.pvx-slot--host .pvx-slot__base{background:radial-gradient(ellipse at center,#ffb83dd9,#ffb83d00 70%)}.pvx-slot__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:800}.pvx-slot__uid{font-size:.72rem;color:var(--pvx-gold);font-weight:600}.pvx-slot--empty{justify-content:center;align-self:stretch;max-height:46vh;margin-top:auto;border:2px dashed var(--pvx-panel-edge);border-radius:16px;color:var(--pvx-muted);cursor:pointer}.pvx-slot--empty:hover{border-color:var(--pvx-brand);color:var(--pvx-text)}.pvx-slot__plus{font-size:2.4rem;line-height:1;font-weight:300}.pvx-stage__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 14px;background:#1f1940cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--pvx-panel-edge);border-radius:14px}.pvx-games{display:flex;gap:10px;min-width:0}.pvx-game{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:340px;padding:8px 14px;background:var(--pvx-bg);border:2px solid var(--pvx-panel-edge);border-radius:10px;color:var(--pvx-text);font:inherit;text-align:left;cursor:pointer}.pvx-game:disabled{cursor:default}.pvx-game.is-selected{border-color:var(--pvx-brand);background:#6c3fc538}.pvx-game__name{font-size:.95rem;font-weight:800}.pvx-game__desc{font-size:.72rem;color:var(--pvx-muted);line-height:1.35}.pvx-stage__cta{display:flex;align-items:center;gap:12px;flex:none}.pvx-stage__wait{margin:0;font-size:.85rem;color:var(--pvx-muted)}.pvx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0714b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pvx-modal{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:100%;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge);border-radius:16px;color:var(--pvx-text)}.pvx-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--pvx-panel-edge)}.pvx-modal__head h2{margin:0;font-size:1.1rem}.pvx-modal__body{padding:14px 18px 18px;overflow-y:auto}.pvx-modal__hint{margin:0 0 14px;font-size:.85rem;color:var(--pvx-muted);line-height:1.5}.pvx-modal__hint strong{color:var(--pvx-gold)}.pvx-section{margin-bottom:18px}.pvx-section h3{margin:0 0 8px;font-size:.85rem;color:var(--pvx-muted);text-transform:uppercase;letter-spacing:.06em}.pvx-search{display:flex;gap:8px;margin-bottom:10px}.pvx-input{flex:1;min-width:0;padding:9px 12px;background:var(--pvx-bg);border:1px solid var(--pvx-panel-edge);border-radius:10px;color:var(--pvx-text);font:inherit;font-size:.9rem}.pvx-input::placeholder{color:#7b73a8}.pvx-error{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#ff5a5a1f;border:1px solid rgba(255,90,90,.4);color:#ffb3b3;font-size:.85rem}.pvx-note{margin:0;font-size:.8rem;color:var(--pvx-muted)}.pvx-person{display:flex;align-items:center;gap:10px;padding:8px;margin-bottom:6px;background:var(--pvx-bg);border-radius:12px}.pvx-person__info{flex:1;min-width:0}.pvx-person__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700}.pvx-person__uid{font-size:.75rem;color:var(--pvx-gold)}.pvx-person__actions{display:flex;align-items:center;gap:6px;flex:none;max-width:45%;text-align:right}.pvx-invite{position:fixed;top:64px;left:50%;z-index:110;transform:translate(-50%);display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--pvx-panel);border:2px solid var(--pvx-brand);border-radius:14px;box-shadow:0 12px 32px #00000080;font-size:.9rem}.pvx-invite__actions{display:flex;gap:8px}.pvx-started{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:380px;padding:28px;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge);border-radius:16px;text-align:center}.pvx-started h2{margin:0}.pvx-started p{margin:0;color:var(--pvx-muted);line-height:1.5}.pvx-toast{position:fixed;bottom:20px;left:50%;z-index:120;transform:translate(-50%);max-width:90vw;padding:11px 18px;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge);border-radius:12px;font-size:.88rem;font-weight:600;box-shadow:0 10px 28px #00000073}.pvx-rotate{display:none}@media (orientation: portrait) and (max-width: 820px){.pvx-rotate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--pvx-bg);text-align:center}.pvx-rotate__card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px;color:var(--pvx-text)}.pvx-rotate__card p{margin:0;font-size:1.05rem;font-weight:700}.pvx-rotate__icon{width:54px;height:88px;border:4px solid var(--pvx-gold);border-radius:12px;animation:pvRotate 2.2s ease-in-out infinite}}@keyframes pvRotate{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (max-height: 520px){.pvx-lobby__top{padding:6px 14px}.pvx-lobby__main{grid-template-columns:minmax(210px,250px) 1fr}.pvx-friends__head{padding:8px 12px 6px}.pvx-stage{padding:6px 12px 10px}.pvx-slot__art{max-height:40vh}.pvx-slot{max-width:calc(40vh + 16px)}.pvx-game__desc{display:none}.pvx-stage__bar{margin-top:6px;padding:8px 10px}.pvx-btn--large{padding:9px 28px}}@media (prefers-reduced-motion: reduce){.pvx-rotate__icon{animation:none}}.pvx-tabs{display:flex;gap:4px;padding:10px 10px 0;border-bottom:1px solid var(--pvx-panel-edge)}.pvx-tab{flex:1;padding:9px 8px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--pvx-muted);font:inherit;font-size:.88rem;font-weight:800;cursor:pointer}.pvx-tab:hover{color:var(--pvx-text)}.pvx-tab.is-active{color:var(--pvx-text);border-bottom-color:var(--pvx-gold)}.pvx-tab:focus-visible{outline:2px solid var(--pvx-gold);outline-offset:-2px}.pvx-tab__count{margin-left:6px;font-size:.72rem;color:var(--pvx-online)}.pvx-friends__scroll{flex:1;min-height:0;overflow-y:auto}.pvx-friends .pvx-friend{gap:8px}.pvx-lobby__rank{display:inline-flex;align-items:center;padding:3px 10px 3px 6px;border-radius:999px;background:#14102a99;border:1px solid var(--pvx-panel-edge);color:var(--pvx-text)}.pvx-global{flex:1;display:flex;flex-direction:column;gap:12px;padding:12px 12px 14px;overflow-y:auto;min-height:0}.pvx-global__me{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge)}.pvx-global__label{font-size:.7rem;font-weight:700;color:var(--pvx-muted);text-transform:uppercase;letter-spacing:.05em}.pvx-global__tag{font-size:1rem;font-weight:800;color:var(--pvx-gold);word-break:break-all}.pvx-global__head{display:flex;align-items:center;justify-content:space-between}.pvx-global__head h3{margin:0;font-size:.82rem;color:var(--pvx-muted);text-transform:uppercase;letter-spacing:.05em}.pvx-global__count{min-width:22px;padding:1px 8px;border-radius:999px;background:var(--pvx-panel-edge);font-size:.75rem;font-weight:800;text-align:center}.pvx-global__list{margin:0;padding:0;list-style:none}.pvx-global .pvx-note{line-height:1.5}.pvx-switch{display:flex;align-items:center;gap:10px;cursor:pointer}.pvx-switch input{position:absolute;opacity:0;width:1px;height:1px}.pvx-switch__track{position:relative;flex:none;width:42px;height:24px;border-radius:999px;background:var(--pvx-panel-edge);transition:background .2s ease}.pvx-switch__track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease}.pvx-switch input:checked+.pvx-switch__track{background:var(--pvx-online)}.pvx-switch input:checked+.pvx-switch__track:after{transform:translate(18px)}.pvx-switch input:focus-visible+.pvx-switch__track{outline:2px solid var(--pvx-gold);outline-offset:2px}.pvx-switch__text{font-size:.92rem;font-weight:800}.pvx-more{position:relative;flex:none}.pvx-more summary{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--pvx-muted);font-size:1.1rem;line-height:1;cursor:pointer;list-style:none}.pvx-more summary::-webkit-details-marker{display:none}.pvx-more summary:hover,.pvx-more[open] summary{background:var(--pvx-panel-edge);color:var(--pvx-text)}.pvx-more__menu{position:absolute;top:32px;right:0;z-index:30;display:flex;flex-direction:column;min-width:150px;padding:4px;border-radius:10px;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge);box-shadow:0 10px 28px #00000080}.pvx-more__menu button{padding:8px 12px;border:0;border-radius:7px;background:transparent;color:var(--pvx-text);font:inherit;font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.pvx-more__menu button:hover:not(:disabled){background:var(--pvx-panel-edge)}.pvx-more__menu button:disabled{opacity:.5;cursor:default}.pvx-more--slot{position:absolute;top:0;right:0}.pvx-stage{position:relative}.pvx-slot__rank{display:flex;justify-content:center}.pvx-bubble{position:absolute;top:22px;left:50%;z-index:20;transform:translate(-50%);max-width:94%;padding:6px 12px;border-radius:14px;background:#fff;color:#1b1f3b;font-size:.8rem;font-weight:800;text-align:center;box-shadow:0 6px 16px #00000059;animation:pvxBubbleIn .2s ease-out}.pvx-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;width:12px;height:12px;transform:translate(-50%) rotate(45deg);background:#fff}@keyframes pvxBubbleIn{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pvx-chatpanel{position:absolute;right:20px;bottom:92px;z-index:40;width:min(360px,calc(100% - 40px));padding:12px;border-radius:14px;background:var(--pvx-panel);border:1px solid var(--pvx-panel-edge);box-shadow:0 14px 36px #0000008c}.pvx-chatpanel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:.9rem;font-weight:800}.pvx-chatpanel__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pvx-chatpanel__msg{padding:9px 6px;border-radius:10px;border:1px solid var(--pvx-panel-edge);background:var(--pvx-bg);color:var(--pvx-text);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.pvx-chatpanel__msg:hover{border-color:var(--pvx-brand);background:#6c3fc540}.pvx-chatpanel__msg:focus-visible{outline:2px solid var(--pvx-gold);outline-offset:2px}.pvx-invite{flex-wrap:wrap;max-width:min(560px,calc(100vw - 24px))}.pvx-invite__text{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pvx-invite__sub{width:100%;font-size:.74rem;color:var(--pvx-muted)}.pvx-invite__actions{flex-wrap:wrap}.pvx-report__reasons{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.pvx-report__reason{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--pvx-panel-edge);background:var(--pvx-bg);font-size:.88rem;font-weight:600;cursor:pointer}.pvx-report__reason.is-selected{border-color:var(--pvx-brand);background:#6c3fc538}.pvx-report__reason input{accent-color:#6c3fc5}@media (max-height: 520px){.pvx-chatpanel{bottom:70px;right:12px}.pvx-chatpanel__grid{grid-template-columns:repeat(4,1fr)}.pvx-bubble{top:14px;font-size:.72rem;padding:4px 9px}.pvx-global{gap:8px;padding:8px 10px 10px}}@media (prefers-reduced-motion: reduce){.pvx-bubble,.pvx-switch__track,.pvx-switch__track:after{animation:none;transition:none}}.pvx-lobby__actions{flex-wrap:wrap;justify-content:flex-end}@media (max-width: 900px){.pvx-lobby__rank .rkx-chip__label{display:none}}.pvx-lobby--art{background:linear-gradient(180deg,#0e0a204d,#0e0a2000 40%,#0e0a204d),var(--art-bg) center bottom / cover no-repeat,var(--pvx-bg)}.pvx-lobby--art.pvx-lobby--center{background:linear-gradient(180deg,#0e0a2059,#0e0a201a,#0e0a2073),var(--art-gate-bg) center / cover no-repeat,var(--pvx-bg)}.pvx-lobby--art:not(.pvx-lobby--center):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--art-fg) center bottom / cover no-repeat;mix-blend-mode:multiply;pointer-events:none}.pvx-lobby--art>.pvx-lobby__top,.pvx-lobby--art>.pvx-lobby__main{position:relative;z-index:2}.pvx-fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.pvx-fx{position:absolute;pointer-events:none;mix-blend-mode:screen}.pvx-fx--rays{top:0;right:0;bottom:0;left:0;background:var(--art-rays) center top / cover no-repeat;opacity:.5;animation:pvxRays 9s ease-in-out infinite alternate}.pvx-fx--sparkles{top:0;right:0;bottom:0;left:0;background:var(--art-sparkles) 0 0 / 55% auto repeat;opacity:.55;animation:pvxDrift 45s linear infinite}.pvx-fx--sparkles-slow{background-size:80% auto;opacity:.35;animation-duration:80s;animation-direction:reverse}.pvx-fx--fog{left:-10%;right:-10%;bottom:0;height:36%;background:var(--art-fog) center bottom / 100% 100% no-repeat;opacity:.5;animation:pvxFog 40s ease-in-out infinite alternate}@keyframes pvxRays{0%{opacity:.35}to{opacity:.6}}@keyframes pvxDrift{0%{background-position:0 0}to{background-position:0 -900px}}@keyframes pvxFog{0%{transform:translate(-4%)}to{transform:translate(4%)}}.pvx-lobby--art .pvx-lobby__top{background:var(--art-topbar) center bottom / auto 100% repeat-x;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.pvx-lobby--art .pvx-friends{border:24px solid transparent;border-image:var(--art-panel-side) 64 fill / 24px stretch;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.pvx-lobby--art .pvx-tabs{padding:0 4px}.pvx-lobby--art .pvx-stage__bar{border:16px solid transparent;border-image:var(--art-panel-bottom) 48 fill / 16px stretch;padding:0 4px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.pvx-lobby--art .pvx-modal,.pvx-lobby--art .pvx-started{--pvx-modal-border: clamp(18px, 4.5vh, 36px);border:var(--pvx-modal-border) solid transparent;border-image:var(--art-panel-modal) 80 fill / var(--pvx-modal-border) stretch;background:none;box-shadow:none}.pvx-lobby--art .pvx-modal__head{padding-top:4px}.pvx-lobby--art .pvx-chatpanel{border:24px solid transparent;border-image:var(--art-chat) 56 fill / 24px stretch;background:none;box-shadow:none;padding:0}.pvx-lobby--art .pvx-chatpanel__msg{min-height:38px;border:0;background:var(--art-msg-btn) center / 100% 100% no-repeat}.pvx-lobby--art .pvx-chatpanel__msg:hover{filter:brightness(1.2)}.pvx-lobby--art .pvx-btn{min-height:38px;padding:8px 24px;border:0;border-radius:0;background-color:transparent;background-position:center;background-size:100% 100%;background-repeat:no-repeat;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.pvx-lobby--art .pvx-btn--primary{background-image:var(--art-btn-primary)}.pvx-lobby--art .pvx-btn--ghost{background-image:var(--art-btn-ghost)}.pvx-lobby--art .pvx-btn--gold{background-image:var(--art-btn-gold);color:#2a1d00;text-shadow:none}.pvx-lobby--art .pvx-btn--small{min-height:30px;padding:5px 16px}.pvx-lobby--art .pvx-btn--hero{min-height:58px;padding:12px 60px;background-image:var(--art-btn-start);color:#2a1d00;font-size:1.1rem;text-shadow:none}.pvx-lobby--art .pvx-btn:hover:not(:disabled){filter:brightness(1.12)}.pvx-lobby--art .pvx-btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.pvx-lobby--art .pvx-gate__title{padding:40px 96px;background:var(--art-title) center / 100% 100% no-repeat;color:#fff;font-size:1.6rem;text-shadow:0 2px 6px rgba(0,0,0,.7)}.pvx-lobby--art .pvx-slot{max-width:33vh}.pvx-lobby--art .pvx-slot:not(.pvx-slot--empty){aspect-ratio:1 / 1.75;max-height:100%;justify-content:center;padding:10% 9% 8%;background:var(--art-slot-frame) center / 100% 100% no-repeat}.pvx-lobby--art .pvx-slot--host:not(.pvx-slot--empty){background-image:var(--art-slot-frame-host)}.pvx-lobby--art .pvx-slot--empty{aspect-ratio:1 / 1.75;max-height:100%;margin-top:0;justify-content:flex-end;padding:0 8% 14%;border:0;border-radius:0;background:var(--art-slot-empty) center / 100% 100% no-repeat}.pvx-lobby--art .pvx-slot--empty .pvx-slot__plus{display:none}.pvx-lobby--art .pvx-slot--empty:hover{filter:brightness(1.2)}.pvx-lobby--art .pvx-slot__art{position:relative;z-index:2}.pvx-lobby--art .pvx-slot__base{position:relative;z-index:1;width:108%;height:auto;aspect-ratio:3 / 1;margin-top:-19%;border-radius:0;background:var(--art-platform) center / contain no-repeat;mix-blend-mode:screen}.pvx-lobby--art .pvx-slot--host .pvx-slot__base{background-image:var(--art-platform-host)}.pvx-slot__glow{display:none}.pvx-lobby--art .pvx-slot__glow{display:block;position:absolute;left:50%;top:14%;z-index:0;width:92%;aspect-ratio:1 / 1;transform:translate(-50%);background:var(--art-orb) center / contain no-repeat;mix-blend-mode:screen;opacity:.5;pointer-events:none;animation:pvxGlow 4.5s ease-in-out infinite}@keyframes pvxGlow{0%,to{opacity:.35;transform:translate(-50%) scale(.96)}50%{opacity:.65;transform:translate(-50%) scale(1.04)}}.pvx-fx-ring{display:none}.pvx-lobby--art .pvx-fx-ring{display:block;position:absolute;left:50%;top:42%;z-index:3;width:min(72vh,70%);aspect-ratio:1 / 1;transform:translate(-50%,-50%) scale(.3);background:var(--art-ring) center / contain no-repeat;mix-blend-mode:screen;opacity:0;pointer-events:none;animation:pvxRing 1.1s ease-out forwards}@keyframes pvxRing{0%{opacity:.95;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}.pvx-lobby--art .pvx-game{background:linear-gradient(#0e0a208c,#0e0a20d1),var(--art-game-card) center / cover no-repeat}@media (max-height: 520px){.pvx-lobby--art .pvx-friends{border-width:14px;border-image-width:14px}.pvx-lobby--art .pvx-stage__bar{border-width:10px;border-image-width:10px}.pvx-lobby--art .pvx-slot:not(.pvx-slot--empty),.pvx-lobby--art .pvx-slot--empty{aspect-ratio:1 / 1.5}.pvx-lobby--art .pvx-slot{max-width:40vh}.pvx-lobby--art .pvx-btn--hero{min-height:46px;padding:8px 36px}}@media (prefers-reduced-motion: reduce){.pvx-fx--rays,.pvx-fx--sparkles,.pvx-fx--fog,.pvx-lobby--art .pvx-slot__glow,.pvx-lobby--art .pvx-fx-ring{animation:none}}.ai-buddy-page{--ab-purple: #6c3fc5;--ab-purple-dk: #4f2d9e;--ab-purple-lt: #ede9fb;--ab-gold: #f59e0b;--ab-gold-lt: #fef3c7;--ab-red: #dc2626;--ab-bg: #f8f9fc;--ab-white: #ffffff;--ab-text: #0f172a;--ab-muted: #64748b;--ab-border: #e2e8f0;--ab-radius: 14px;font-family:Inter,system-ui,sans-serif;background:var(--ab-bg);color:var(--ab-text);height:var(--app-height, 100dvh);overflow:hidden;display:flex;flex-direction:column}.ai-buddy-page .ab-topbar{background:var(--ab-white);border-bottom:1px solid var(--ab-border);padding:0 20px;height:58px;min-height:58px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ai-buddy-page .ab-topbar-left{display:flex;align-items:center;gap:10px}.ai-buddy-page .ab-topbar-left img{width:32px;height:32px;border-radius:8px}.ai-buddy-page .ab-topbar-title{font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:15px}.ai-buddy-page .ab-topbar-title span{color:var(--ab-purple)}.ai-buddy-page .ab-back-link{font-size:13px;font-weight:700;color:var(--ab-muted);text-decoration:none}.ai-buddy-page .ab-back-link:hover{color:var(--ab-purple)}.ai-buddy-page .ab-xp-chip{display:flex;align-items:center;gap:6px;background:var(--ab-gold-lt);color:var(--ab-gold);font-weight:800;font-size:13px;padding:6px 14px;border-radius:999px}.ai-buddy-page .ab-lang-screen{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center}.ai-buddy-page .ab-lang-screen img{width:64px;height:64px;border-radius:16px;margin-bottom:14px}.ai-buddy-page .ab-lang-screen h1{font-family:Plus Jakarta Sans,sans-serif;font-size:22px;font-weight:900}.ai-buddy-page .ab-lang-screen h1 span{color:var(--ab-purple)}.ai-buddy-page .ab-lang-screen p{color:var(--ab-muted);font-size:13.5px;margin-top:8px;max-width:320px}.ai-buddy-page .ab-rate-note{margin-top:14px;background:var(--ab-purple-lt);color:var(--ab-purple);font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:999px}.ai-buddy-page .ab-lang-btns{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;justify-content:center}.ai-buddy-page .ab-lang-btn{background:var(--ab-white);border:2px solid var(--ab-border);border-radius:var(--ab-radius);padding:20px 28px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:130px}.ai-buddy-page .ab-lang-btn:hover{border-color:var(--ab-purple);transform:translateY(-3px);box-shadow:0 8px 20px #6c3fc526}.ai-buddy-page .ab-lang-btn .emoji{font-size:30px}.ai-buddy-page .ab-lang-btn .label{font-weight:800;font-size:14px}.ai-buddy-page .ab-chat-screen{display:flex;flex:1;min-height:0;flex-direction:column;max-width:640px;width:100%;margin:0 auto;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));overflow:hidden}.ai-buddy-page .ab-session-bar{display:flex;align-items:center;justify-content:space-between;background:var(--ab-white);border:1px solid var(--ab-border);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:12.5px;font-weight:700;color:var(--ab-muted);flex-shrink:0}.ai-buddy-page .ab-rate-tag{color:var(--ab-red)}.ai-buddy-page .ab-end-chat-btn{background:none;border:1px solid var(--ab-border);color:var(--ab-muted);padding:5px 12px;border-radius:8px;font-size:11.5px;font-weight:700;cursor:pointer}.ai-buddy-page .ab-end-chat-btn:hover{border-color:var(--ab-red);color:var(--ab-red)}.ai-buddy-page .ab-chat-window{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;padding:6px 2px 16px}.ai-buddy-page .ab-msg{max-width:78%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.5}.ai-buddy-page .ab-msg.bot{background:var(--ab-white);border:1px solid var(--ab-border);align-self:flex-start;border-bottom-left-radius:4px}.ai-buddy-page .ab-msg.user{background:var(--ab-purple);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.ai-buddy-page .ab-msg.system{align-self:center;background:var(--ab-gold-lt);color:var(--ab-gold);font-weight:700;font-size:12px;border-radius:999px;padding:6px 14px}.ai-buddy-page .ab-typing-dots{align-self:flex-start;background:var(--ab-white);border:1px solid var(--ab-border);border-radius:14px 14px 14px 4px;padding:12px 16px;display:flex;gap:4px}.ai-buddy-page .ab-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--ab-muted);animation:abBounce 1.2s infinite}.ai-buddy-page .ab-typing-dots span:nth-child(2){animation-delay:.2s}.ai-buddy-page .ab-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes abBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.ai-buddy-page .ab-input-row{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--ab-border);flex-shrink:0}.ai-buddy-page .ab-input-row input{flex:1;border:1.5px solid var(--ab-border);border-radius:999px;padding:11px 16px;font-size:16px;outline:none;font-family:inherit}.ai-buddy-page .ab-input-row input:focus{border-color:var(--ab-purple)}.ai-buddy-page .ab-input-row button{background:var(--ab-purple);color:#fff;border:none;border-radius:999px;padding:0 20px;font-weight:700;font-size:13.5px;cursor:pointer;flex-shrink:0}.ai-buddy-page .ab-input-row button:disabled{opacity:.5;cursor:not-allowed}.ai-buddy-page .ab-out-of-xp{display:flex;flex:1;min-height:0;overflow-y:auto;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px}.ai-buddy-page .ab-out-of-xp .emoji{font-size:46px;margin-bottom:10px}.ai-buddy-page .ab-out-of-xp h2{font-family:Plus Jakarta Sans,sans-serif;font-size:19px;font-weight:900}.ai-buddy-page .ab-out-of-xp p{color:var(--ab-muted);font-size:13px;margin-top:8px;max-width:300px}.ai-buddy-page .ab-out-of-xp a{margin-top:18px;background:var(--ab-purple);color:#fff;text-decoration:none;padding:10px 22px;border-radius:999px;font-weight:700;font-size:13.5px}.ai-buddy-page .ab-page-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ab-white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:9999}.ai-buddy-page .ab-spinner{width:34px;height:34px;border:3px solid var(--ab-border);border-top-color:var(--ab-purple);border-radius:50%;animation:abSpin .7s linear infinite}@keyframes abSpin{to{transform:rotate(360deg)}}@media (max-width: 480px){.ai-buddy-page .ab-chat-screen{padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.ai-buddy-page .ab-msg{max-width:86%}}.admin-dashboard{--blue: #1a2634;--orange: #f6b83e;--orange-light: #ffd074;--green: #27ae60;--green-light: #2ecc71;--red: #e74c3c;--purple: #9b59b6;--bg: #f4f7fc;--card-bg: #ffffff;--border: #edf2f7;--text: #1a2634;--text-light: #7f8c9b;--text-lighter: #a8b4c0;font-family:Nunito,system-ui,sans-serif;background:var(--bg);min-height:100vh;color:var(--text)}.admin-dashboard *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.admin-dashboard .page-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.admin-dashboard .spinner{width:34px;height:34px;border:3px solid rgba(246,184,62,.15);border-top-color:var(--orange);border-radius:50%;animation:admin-spin .7s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-dashboard .sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--blue);color:#fff;display:flex;flex-direction:column;padding:20px 16px 24px;z-index:100;overflow-y:auto;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #0003}.admin-dashboard .sidebar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:20px}.admin-dashboard .sidebar-brand img{width:44px;height:44px;border-radius:12px;object-fit:contain;background:#ffffff0d;flex-shrink:0}.admin-dashboard .sidebar-brand-name{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:20px;color:#fff}.admin-dashboard .sidebar-brand-name span{color:var(--orange)}.admin-dashboard .sidebar-brand-role{font-size:11px;color:#ffffff80;letter-spacing:.5px;text-transform:uppercase}.admin-dashboard .sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.admin-dashboard .nav-section-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#ffffff40;padding:16px 8px 6px;font-weight:700}.admin-dashboard .nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#ffffffa6;text-decoration:none;font-weight:600;font-size:14px;transition:.2s}.admin-dashboard .nav-item .nav-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0}.admin-dashboard .nav-item:hover{background:#ffffff0f;color:#fff}.admin-dashboard .nav-item.active{background:#f6b83e2e;color:var(--orange)}.admin-dashboard .nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;min-width:20px;text-align:center}.admin-dashboard .sidebar-footer{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.admin-dashboard .admin-profile{display:flex;align-items:center;gap:12px;margin-bottom:14px}.admin-dashboard .admin-avatar{width:40px;height:40px;border-radius:50%;background:#f6b83e33;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.admin-dashboard .admin-name{font-weight:700;font-size:14px;color:#fff}.admin-dashboard .admin-tag{font-size:11px;color:#fff6}.admin-dashboard .btn-logout{width:100%;padding:10px;border:none;border-radius:10px;background:#ffffff0f;color:#fff9;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}.admin-dashboard .btn-logout:hover{background:#e74c3c33;color:var(--red)}.admin-dashboard .main{margin-left:260px;min-height:100vh;padding:24px 32px}.admin-dashboard .topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:4px 0 18px;border-bottom:1px solid rgba(0,0,0,.04);margin-bottom:20px}.admin-dashboard .topbar-left{display:flex;align-items:center;gap:10px}.admin-dashboard .hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:6px 4px;cursor:pointer}.admin-dashboard .hamburger span{width:22px;height:2.5px;border-radius:4px;background:var(--blue)}.admin-dashboard .page-title{font-weight:800;font-size:22px;color:var(--blue);white-space:nowrap}.admin-dashboard .page-title span{color:var(--orange)}.admin-dashboard .topbar-right{flex-shrink:0}.admin-dashboard .topbar-date{font-size:13px;color:var(--text-light);font-weight:600;background:#fff;padding:5px 14px;border-radius:30px;box-shadow:0 2px 8px #0000000a;white-space:nowrap}.admin-dashboard .topbar-notif{position:relative;background:var(--bg);border:none;border-radius:10px;width:36px;height:36px;font-size:15px;cursor:pointer}.admin-dashboard .notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--red);border-radius:50%}.admin-dashboard .content{max-width:1200px;margin:0 auto}.admin-dashboard .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.admin-dashboard .stat-card{background:#fff;border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 12px #0000000a}.admin-dashboard .stat-icon-wrap{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.admin-dashboard .stat-label{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px}.admin-dashboard .stat-value{font-size:26px;font-weight:900;color:var(--blue);line-height:1.2}.admin-dashboard .stat-change{font-size:11px;font-weight:700}.admin-dashboard .stat-change.up{color:var(--green)}.admin-dashboard .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 860px){.admin-dashboard .grid-2{grid-template-columns:1fr}}.admin-dashboard .card{background:#fff;border-radius:16px;padding:20px 24px;margin-bottom:18px;box-shadow:0 2px 12px #0000000a}.admin-dashboard .card-title{font-weight:800;font-size:15px;color:var(--blue);margin-bottom:14px}.admin-dashboard .table-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000a;padding:20px 24px;margin-bottom:18px}.admin-dashboard .table-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-dashboard .table-title{font-weight:800;font-size:16px;color:var(--blue)}.admin-dashboard .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-dashboard table{width:100%;border-collapse:collapse;font-size:14px}.admin-dashboard th{text-align:left;padding:10px 8px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-light);border-bottom:2px solid var(--border);white-space:nowrap}.admin-dashboard td{padding:11px 8px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.admin-dashboard tr:last-child td{border-bottom:none}.admin-dashboard .pill{display:inline-block;padding:2px 12px;border-radius:30px;font-size:11px;font-weight:700;background:var(--border);color:var(--text);white-space:nowrap;text-transform:capitalize}.admin-dashboard .pill-approved,.admin-dashboard .pill-paid{background:#e3f5ec;color:var(--green)}.admin-dashboard .pill-pending{background:#fef3e2;color:var(--orange)}.admin-dashboard .pill-rejected{background:#fde8e8;color:var(--red)}.admin-dashboard .pill-student{background:#1a26340f;color:var(--blue)}.admin-dashboard .btn{display:inline-block;padding:5px 12px;border:none;border-radius:30px;font-family:inherit;font-weight:700;font-size:11px;cursor:pointer;text-decoration:none;white-space:nowrap}.admin-dashboard .btn-primary{background:var(--orange);color:#1a2634}.admin-dashboard .btn-blue{background:#1a263414;color:var(--blue)}.admin-dashboard .btn-approve{background:var(--green);color:#fff}.admin-dashboard .btn-approve:hover{background:#1e8449}.admin-dashboard .btn-reject{background:var(--red);color:#fff}.admin-dashboard .btn-reject:hover{background:#c0392b}.admin-dashboard .btn-sm{padding:4px 10px;font-size:10px}.admin-dashboard .btn:disabled{opacity:.6;cursor:not-allowed}.admin-dashboard .empty-state{text-align:center;padding:32px 16px;color:var(--text-light)}.admin-dashboard .empty-icon{font-size:44px;margin-bottom:8px}.admin-dashboard .empty-text{font-size:15px;color:var(--text-light);font-weight:600}.admin-dashboard code{font-family:Courier New,monospace;background:var(--bg);padding:2px 6px;border-radius:4px;font-size:.78rem}.admin-dashboard .toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--blue);color:#fff;padding:12px 24px;border-radius:30px;font-weight:600;font-size:14px;box-shadow:0 8px 30px #0003;z-index:998;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);pointer-events:none;max-width:90vw;text-align:center}.admin-dashboard .toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.admin-dashboard .toast.error{background:var(--red)}.admin-dashboard .toast.success{background:var(--green)}.admin-dashboard .sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 900px){.admin-dashboard .sidebar{transform:translate(-100%)}.admin-dashboard .sidebar.open{transform:translate(0)}.admin-dashboard .main{margin-left:0;padding:10px 10px 20px}.admin-dashboard .hamburger{display:flex}.admin-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard .page-title{font-size:15px}}@media (min-width: 901px){.admin-dashboard .sidebar-overlay{display:none!important}}.admin-dashboard .activity-feed{display:flex;flex-direction:column;gap:0}.admin-dashboard .activity-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.admin-dashboard .activity-item:last-child{border-bottom:none}.admin-dashboard .activity-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;margin-top:2px}.admin-dashboard .activity-body{flex:1}.admin-dashboard .activity-text{font-size:.88rem;color:#445;line-height:1.5}.admin-dashboard .activity-text strong{color:var(--blue)}.admin-dashboard .activity-time{font-size:.74rem;color:var(--text-lighter);font-weight:600;margin-top:3px}.admin-dashboard .quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-dashboard .qa-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border:2px solid transparent;border-radius:14px;cursor:pointer;transition:all .2s;text-decoration:none}.admin-dashboard .qa-btn:hover{border-color:var(--orange);background:#f6b83e14;transform:translateY(-2px)}.admin-dashboard .qa-icon{font-size:1.4rem}.admin-dashboard .qa-text{font-size:.82rem;font-weight:700;color:var(--blue);line-height:1.3}.admin-dashboard .qa-sub{font-size:.72rem;color:var(--text-light);font-weight:600}.admin-dashboard .mini-chart{display:flex;align-items:flex-end;gap:6px;height:80px;padding-top:8px}.admin-dashboard .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.admin-dashboard .bar{width:100%;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--orange),var(--orange-light));transition:height .8s ease;min-height:4px}.admin-dashboard .bar.green{background:linear-gradient(180deg,var(--green),var(--green-light))}.admin-dashboard .bar-label{font-size:.62rem;font-weight:700;color:var(--text-lighter)}.admin-dashboard .pending-alert{background:linear-gradient(135deg,#f6b83e1a,#f6b83e0a);border:2px solid rgba(246,184,62,.3);border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:16px;margin-bottom:24px}.admin-dashboard .pending-alert-icon{font-size:1.8rem}.admin-dashboard .pending-alert-text{flex:1}.admin-dashboard .pending-alert-title{font-weight:800;color:#b8860b;font-size:.95rem}.admin-dashboard .pending-alert-sub{font-size:.82rem;color:var(--text-light);margin-top:2px}.admin-dashboard .table-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-dashboard .search-box{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 12px;min-width:220px}.admin-dashboard .search-box input{border:none;background:none;outline:none;font-size:13px;width:100%;color:var(--text);font-family:inherit}.admin-dashboard .tab-filters{display:flex;gap:6px}.admin-dashboard .filter-tab{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:7px 13px;font-size:12.5px;font-weight:700;color:var(--text-light);cursor:pointer}.admin-dashboard .filter-tab.active{background:var(--orange);border-color:var(--orange);color:#1a2634}.admin-dashboard .teacher-detail{display:flex;align-items:center;gap:10px}.admin-dashboard .teacher-avatar{width:32px;height:32px;border-radius:50%;background:#f6b83e26;color:#b8860b;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12.5px;flex-shrink:0}.admin-dashboard .teacher-name{font-weight:700;font-size:13px;color:var(--text)}.admin-dashboard .action-btns{display:flex;gap:6px;flex-wrap:nowrap}@media (max-width: 500px){.admin-dashboard .action-btns{flex-direction:column;gap:3px}.admin-dashboard .action-btns .btn{width:100%;text-align:center}}.admin-dashboard .pagination{display:flex;align-items:center;justify-content:space-between;margin-top:14px;flex-wrap:wrap;gap:10px}.admin-dashboard .pagination span{font-size:12px;color:var(--text-lighter);font-weight:700}.admin-dashboard .page-btns{display:flex;gap:6px}.admin-dashboard .page-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:12px;font-weight:700;color:var(--text-light);cursor:pointer}.admin-dashboard .page-btn.active{background:var(--orange);border-color:var(--orange);color:#1a2634}.admin-dashboard .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192380;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.admin-dashboard .modal{background:#fff;border-radius:18px;padding:24px;max-width:420px;width:100%}.admin-dashboard .modal-title{font-weight:800;font-size:17px;color:var(--blue);margin-bottom:6px}.admin-dashboard .modal-sub{font-size:13px;color:var(--text-light);line-height:1.5;margin-bottom:16px}.admin-dashboard .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.admin-dashboard .modal-textarea{width:100%;min-height:90px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px;resize:vertical;margin-top:6px}.admin-dashboard .detail-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.admin-dashboard .detail-label{color:var(--text-lighter);font-weight:700}.admin-dashboard .detail-value{color:var(--text);font-weight:700}@media (max-width: 700px){.admin-dashboard .stats-grid{grid-template-columns:1fr}.admin-dashboard table{min-width:600px}}.aai-page{min-height:100vh;background:var(--pvx-bg, #14102a);color:var(--pvx-text, #f3f0ff);padding-bottom:60px}.aai-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.aai-muted{margin:0;color:var(--pvx-muted, #a79fd0);font-size:.88rem;line-height:1.55}.aai-muted code{padding:1px 6px;border-radius:5px;background:#ffffff14;color:var(--pvx-gold, #ffb83d);font-size:.82rem}.aai-top{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 24px;border-bottom:1px solid var(--pvx-panel-edge, #34296b);background:#14102ad9;position:sticky;top:0;z-index:20}.aai-top h1{margin:0;font-size:1.2rem;font-weight:800}.aai-tabs{display:flex;gap:4px;margin-left:auto}.aai-tab{padding:8px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--pvx-muted, #a79fd0);font:inherit;font-weight:700;cursor:pointer}.aai-tab.is-active{color:var(--pvx-text, #f3f0ff);border-bottom-color:var(--pvx-brand, #6c3fc5)}.aai-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:10px;border:1px solid var(--pvx-panel-edge, #34296b);background:var(--pvx-panel, #1f1940);color:inherit;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.aai-btn:disabled{opacity:.45;cursor:not-allowed}.aai-btn--primary{background:var(--pvx-brand, #6c3fc5);border-color:var(--pvx-brand, #6c3fc5)}.aai-btn--primary:hover:not(:disabled){filter:brightness(1.12)}.aai-btn--ghost:hover:not(:disabled){border-color:var(--pvx-brand, #6c3fc5)}.aai-btn--small{padding:6px 12px;font-size:.8rem}.aai-btn:focus-visible,.aai-tab:focus-visible,.aai-chip:focus-visible,.aai-input:focus-visible{outline:2px solid var(--pvx-gold, #ffb83d);outline-offset:2px}.aai-input{width:100%;padding:7px 10px;background:var(--pvx-bg, #14102a);border:1px solid var(--pvx-panel-edge, #34296b);border-radius:8px;color:inherit;font:inherit;font-size:.86rem}.aai-input:disabled{opacity:.6}.aai-body{max-width:1100px;margin:0 auto;padding:20px 24px}.aai-drop{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;margin-bottom:18px;border:2px dashed var(--pvx-panel-edge, #34296b);border-radius:14px;background:#1f194080}.aai-warn{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:#ffb83d1a;border:1px solid rgba(255,184,61,.4);color:#ffd98a;font-size:.85rem;line-height:1.5}.aai-flash{position:fixed;top:70px;left:50%;z-index:50;transform:translate(-50%);padding:10px 18px;border-radius:10px;background:var(--pvx-panel, #1f1940);border:1px solid var(--pvx-panel-edge, #34296b);font-size:.88rem;font-weight:600;box-shadow:0 10px 28px #00000073}.aai-flash--error{border-color:#ff5a5a99;color:#ffb3b3}.aai-queue,.aai-list{display:flex;flex-direction:column;gap:10px}.aai-row{display:grid;grid-template-columns:auto 1fr minmax(150px,190px);gap:16px;align-items:start;padding:12px;background:var(--pvx-panel, #1f1940);border:1px solid var(--pvx-panel-edge, #34296b);border-radius:14px}.aai-row--done{border-color:#3ddc9780}.aai-row--error{border-color:#ff5a5a99}.aai-row.is-inactive{opacity:.55}.aai-row__preview{padding:6px;border-radius:12px;background:conic-gradient(#2b2350 25%,#241c46 0,#241c46 50%,#2b2350 0,#2b2350 75%,#241c46 0) 0 0 / 16px 16px}.aai-row__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.aai-row__fields label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:700;color:var(--pvx-muted, #a79fd0);text-transform:uppercase;letter-spacing:.04em}.aai-row__fields .aai-check{flex-direction:row;align-items:center;gap:8px;align-self:end;padding-bottom:8px;text-transform:none;letter-spacing:0;font-size:.82rem;color:var(--pvx-text, #f3f0ff)}.aai-row__side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.aai-badge{max-width:100%;padding:3px 10px;border-radius:999px;background:#ffffff1a;font-size:.72rem;font-weight:700;text-align:right}.aai-badge--warn{background:#ffb83d26;color:#ffd98a}.aai-badge--ok{background:#3ddc9726;color:#6ee7b7}.aai-badge--err{background:#ff5a5a26;color:#ffb3b3}.aai-actions{display:flex;gap:10px;margin-top:18px}.aai-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.aai-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--pvx-panel-edge, #34296b);background:var(--pvx-panel, #1f1940);color:var(--pvx-muted, #a79fd0);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.aai-chip.is-active{background:var(--pvx-text, #f3f0ff);border-color:var(--pvx-text, #f3f0ff);color:var(--pvx-bg, #14102a)}@media (max-width: 760px){.aai-top{padding:12px 14px}.aai-tabs{margin-left:0;width:100%}.aai-body{padding:14px}.aai-row{grid-template-columns:1fr}.aai-row__side{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}}.aai-embedded{min-height:0;border-radius:16px;overflow:hidden;padding-bottom:24px}.aai-embedded .aai-top{position:static}.aai-embedded .aai-body{max-width:none}:root{--blue: #2C3E50;--blue-light: #34495e;--orange: #E67E22;--orange-light: #ecb676;--green: #27AE60;--green-light: #52be80;--red: #E74C3C;--purple: #9B59B6;--gray: #95A5A6;--bg: #f0f4f8;--white: #ffffff;--text-dark: #2C3E50;--text-muted: #778899;--border: #e8edf2}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%}body{font-family:Nunito,sans-serif;background:var(--bg);color:var(--text-dark);line-height:1.6}a{color:var(--blue);text-decoration:none;transition:color .2s}a:hover{color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-family:Nunito,sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .25s;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--orange),#f39c12);color:#fff;box-shadow:0 6px 20px #e67e224d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 28px #e67e2266}.btn-success{background:linear-gradient(135deg,var(--green),#2ecc71);color:#fff;box-shadow:0 6px 20px #27ae604d}.btn-success:hover:not(:disabled){transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,var(--red),#e74c3c);color:#fff;box-shadow:0 6px 20px #e74c3c4d}.btn-danger:hover:not(:disabled){transform:translateY(-2px)}.btn-blue{background:linear-gradient(135deg,var(--blue),#34495e);color:#fff;box-shadow:0 4px 12px #2c3e5033}.btn-blue:hover:not(:disabled){transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--border);color:var(--text-dark)}.btn-outline:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.btn-sm{padding:8px 16px;font-size:.8rem}.btn-lg{padding:14px 32px;font-size:1rem}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap}.badge-success{background:#27ae601a;color:var(--green);border:1px solid rgba(39,174,96,.3)}.badge-warning{background:#e67e221a;color:var(--orange);border:1px solid rgba(230,126,34,.3)}.badge-danger{background:#e74c3c1a;color:var(--red);border:1px solid rgba(231,76,60,.3)}.badge-info{background:#3498db1a;color:#3498db;border:1px solid rgba(52,152,219,.3)}.badge-secondary{background:#95a5a61a;color:var(--gray)}.form-group{display:flex;flex-direction:column;margin-bottom:18px}label{display:block;font-weight:700;font-size:.85rem;color:var(--blue);margin-bottom:6px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=search],select,textarea{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:10px;font-family:Nunito,sans-serif;font-size:.95rem;color:var(--text-dark);background:#f8fafd;outline:none;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px #e67e221a}input:disabled,select:disabled,textarea:disabled{background:#f0f4f8;color:#a0b0c0;cursor:not-allowed}input::placeholder,textarea::placeholder{color:#b0bec5}.card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .2s}.card:hover{box-shadow:0 4px 16px #0000001f}.card-title{font-family:"Baloo 2",sans-serif;font-size:1.1rem;font-weight:800;color:var(--blue);margin-bottom:16px;display:flex;align-items:center;gap:8px}.card-subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:12px}.card-body{font-size:.95rem;line-height:1.6;color:#456}.table-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #00000014}.table-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border)}.table-title{font-family:"Baloo 2",sans-serif;font-size:1.05rem;font-weight:800;color:var(--blue);display:flex;align-items:center;gap:8px}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f8fafd;border-bottom:2px solid var(--border)}th{padding:14px 20px;text-align:left;font-weight:700;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}td{padding:14px 20px;border-bottom:1px solid var(--border);font-size:.92rem;color:#456}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f8fafd}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-loader.hidden{display:none}.spinner{width:40px;height:40px;border:4px solid rgba(230,126,34,.1);border-top-color:var(--orange);border-radius:50%;animation:spin .7s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#a0b0c0;font-size:.9rem}.empty-state-icon{font-size:3rem;margin-bottom:12px;opacity:.5}.empty-state-text{text-align:center;margin-bottom:16px}.empty-state-action{margin-top:16px}.toast{position:fixed;bottom:20px;right:20px;background:#fff;border-radius:10px;padding:14px 20px;box-shadow:0 4px 16px #00000026;z-index:9999;max-width:300px;animation:slideInRight .3s ease}.toast.success{border-left:4px solid var(--green);color:var(--green)}.toast.error{border-left:4px solid var(--red);color:var(--red)}.toast.warning{border-left:4px solid var(--orange);color:var(--orange)}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.btn{padding:10px 16px;font-size:.85rem}table{font-size:.85rem}th,td{padding:10px 12px}}@media (max-width: 480px){.btn{padding:8px 12px;font-size:.8rem}.card{padding:14px;border-radius:12px}}.teacher-scope{--primary: #FF6B35;--primary-light: #FF8C5A;--primary-dark: #E55A25;--secondary: #FFB347;--accent: #4ECDC4;--accent2: #45B7D1;--purple: #9B59B6;--green: #27AE60;--red: #E74C3C;--bg: #FFF8F3;--bg2: #FFFFFF;--bg3: #FFF0E8;--sidebar-bg: #1A1A2E;--sidebar-text: #E8E8F0;--sidebar-muted: #8888A8;--card: #FFFFFF;--border: #FFD4B8;--text: #2D2D2D;--text2: #6B6B6B;--text3: #9B9B9B;--shadow-sm: 0 2px 8px rgba(255,107,53,.08);--shadow: 0 4px 20px rgba(255,107,53,.12);--shadow-lg: 0 8px 40px rgba(255,107,53,.18);--radius: 14px;--radius-sm: 8px;--radius-lg: 20px;--sidebar-w: 250px;--topbar-h: 70px;font-family:Nunito,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;width:100%;display:flex}.teacher-scope *,.teacher-scope *:before,.teacher-scope *:after{margin:0;padding:0;box-sizing:border-box}.teacher-scope .sidebar{width:var(--sidebar-w);min-height:100vh;background:var(--sidebar-bg);position:fixed;left:0;top:0;display:flex;flex-direction:column;z-index:100;overflow:hidden}.teacher-scope .sidebar:before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,107,53,.15) 0%,transparent 70%);pointer-events:none}.teacher-scope .sidebar-logo{padding:24px 20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.07)}.teacher-scope .sidebar-logo .logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.teacher-scope .sidebar-logo .logo-text{font-family:Poppins,sans-serif;font-weight:700;font-size:16px;color:#fff;line-height:1.1}.teacher-scope .sidebar-logo .logo-sub{font-size:10px;color:var(--sidebar-muted);font-weight:500;letter-spacing:1px;text-transform:uppercase}.teacher-scope .sidebar-teacher-info{padding:16px 20px;display:flex;align-items:center;gap:10px;background:#ff6b3514;margin:12px;border-radius:var(--radius-sm)}.teacher-scope .teacher-avatar{width:38px;height:38px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;font-weight:700;flex-shrink:0}.teacher-scope .teacher-name{font-size:13px;font-weight:700;color:#fff}.teacher-scope .teacher-role{font-size:11px;color:var(--primary-light)}.teacher-scope .sidebar-nav{flex:1;padding:8px 12px;overflow-y:auto}.teacher-scope .nav-section-title{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--sidebar-muted);padding:10px 8px 6px}.teacher-scope .nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--sidebar-text);text-decoration:none;font-size:13.5px;font-weight:600;transition:all .2s;margin-bottom:2px;position:relative}.teacher-scope .nav-item:hover{background:#ff6b351f;color:var(--primary-light)}.teacher-scope .nav-item.active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 12px #ff6b3559}.teacher-scope .nav-item .nav-icon{font-size:17px;width:22px;text-align:center}.teacher-scope .nav-badge{margin-left:auto;background:var(--secondary);color:var(--sidebar-bg);font-size:10px;font-weight:800;padding:2px 7px;border-radius:20px}.teacher-scope .sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.07)}.teacher-scope .logout-btn{width:100%;padding:10px;background:#e74c3c1f;border:none;border-radius:var(--radius-sm);color:#ff6b6b;font-family:Nunito,sans-serif;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.teacher-scope .logout-btn:hover{background:#e74c3c38}.teacher-scope .main-wrapper{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%;overflow-x:hidden}.teacher-scope .topbar{height:var(--topbar-h);background:var(--bg2);border-bottom:2px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:50}.teacher-scope .topbar-title{font-size:20px;font-weight:800;color:var(--text)}.teacher-scope .topbar-title span{color:var(--primary)}.teacher-scope .topbar-spacer{flex:1}.teacher-scope .topbar-search{display:flex;align-items:center;gap:8px;background:var(--bg3);border:1.5px solid var(--border);border-radius:25px;padding:8px 16px;width:240px}.teacher-scope .topbar-search input{border:none;background:transparent;font-family:Nunito,sans-serif;font-size:13px;color:var(--text);outline:none;width:100%}.teacher-scope .topbar-search input::placeholder{color:var(--text3)}.teacher-scope .topbar-btn{width:38px;height:38px;background:var(--bg3);border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;transition:all .2s}.teacher-scope .topbar-btn:hover{background:var(--primary);border-color:var(--primary)}.teacher-scope .content{flex:1;padding:28px;max-width:1280px;width:100%;overflow-x:hidden}.teacher-scope .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:28px}.teacher-scope .stat-card{background:var(--card);border-radius:var(--radius);padding:22px;border:1.5px solid var(--border);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s;animation:fadeUp .4s ease both}.teacher-scope .stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.teacher-scope .stat-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.teacher-scope .stat-icon.orange{background:#ff6b351f}.teacher-scope .stat-icon.yellow{background:#ffb34726}.teacher-scope .stat-icon.teal{background:#4ecdc41f}.teacher-scope .stat-icon.purple{background:#9b59b61f}.teacher-scope .stat-icon.green{background:#27ae601f}.teacher-scope .stat-icon.blue{background:#45b7d11f}.teacher-scope .stat-value{font-size:26px;font-weight:900;color:var(--text);line-height:1}.teacher-scope .stat-label{font-size:12.5px;color:var(--text2);font-weight:600;margin-top:3px}.teacher-scope .stat-change{font-size:11px;font-weight:700;margin-top:4px}.teacher-scope .stat-change.up{color:var(--green)}.teacher-scope .stat-change.down{color:var(--red)}.teacher-scope .card{background:var(--card);border-radius:var(--radius);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;animation:fadeUp .4s ease both;max-width:100%}.teacher-scope .card-header{padding:18px 22px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.teacher-scope .card-title{font-size:15px;font-weight:800;color:var(--text)}.teacher-scope .card-body{padding:20px 22px;overflow:hidden}.teacher-scope .btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:25px;font-family:Nunito,sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;border:none;transition:all .2s;text-decoration:none;white-space:nowrap}.teacher-scope .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 12px #ff6b354d}.teacher-scope .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3566}.teacher-scope .btn-secondary{background:var(--bg3);color:var(--primary);border:1.5px solid var(--border)}.teacher-scope .btn-secondary:hover{background:var(--border)}.teacher-scope .btn-success{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.teacher-scope .btn-danger{background:#e74c3c1a;color:var(--red);border:1.5px solid rgba(231,76,60,.2)}.teacher-scope .btn-danger:hover{background:#e74c3c33}.teacher-scope .btn-sm{padding:6px 13px;font-size:12px}.teacher-scope .btn-icon{padding:8px;border-radius:50%}.teacher-scope .table-wrap{overflow-x:auto}.teacher-scope table{width:100%;border-collapse:collapse}.teacher-scope thead tr{background:var(--bg3)}.teacher-scope th{padding:12px 16px;text-align:left;font-size:12px;font-weight:800;color:var(--text2);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.teacher-scope td{padding:13px 16px;font-size:13.5px;color:var(--text);border-bottom:1px solid #FFF0E8;font-weight:600}.teacher-scope tbody tr:hover{background:var(--bg3)}.teacher-scope tbody tr:last-child td{border-bottom:none}.teacher-scope .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700}.teacher-scope .badge-success{background:#27ae601f;color:#27ae60}.teacher-scope .badge-warning{background:#ffb3472e;color:#d68910}.teacher-scope .badge-danger{background:#e74c3c1a;color:var(--red)}.teacher-scope .badge-info{background:#45b7d11f;color:var(--accent2)}.teacher-scope .badge-orange{background:#ff6b351a;color:var(--primary)}.teacher-scope .badge-purple{background:#9b59b61f;color:var(--purple)}.teacher-scope .form-group{margin-bottom:18px}.teacher-scope .form-label{display:block;font-size:13px;font-weight:700;color:var(--text2);margin-bottom:6px}.teacher-scope .form-control{width:100%;max-width:100%;padding:11px 14px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:13.5px;color:var(--text);outline:none;transition:border-color .2s;box-sizing:border-box}.teacher-scope .form-control:focus{border-color:var(--primary)}.teacher-scope .form-control::placeholder{color:var(--text3)}.teacher-scope textarea.form-control{resize:vertical;min-height:100px}.teacher-scope select.form-control{cursor:pointer;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239B9B9B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.teacher-scope .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .25s}.teacher-scope .modal-overlay.open{opacity:1;visibility:visible}.teacher-scope .modal{background:var(--bg2);border-radius:var(--radius-lg);width:90%;max-width:520px;box-shadow:0 20px 60px #00000040;transform:scale(.95) translateY(20px);transition:all .25s;overflow:hidden}.teacher-scope .modal-overlay.open .modal{transform:scale(1) translateY(0)}.teacher-scope .modal-header{padding:20px 24px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between}.teacher-scope .modal-title{font-size:16px;font-weight:800}.teacher-scope .modal-close{width:32px;height:32px;background:var(--bg3);border:none;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s}.teacher-scope .modal-close:hover{background:var(--border)}.teacher-scope .modal-body{padding:22px 24px}.teacher-scope .modal-footer{padding:16px 24px;border-top:1.5px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.teacher-scope .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:100%}.teacher-scope .grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;max-width:100%}.teacher-scope .empty-state{text-align:center;padding:50px 20px;color:var(--text3)}.teacher-scope .empty-state .empty-icon{font-size:48px;margin-bottom:12px}.teacher-scope .empty-state p{font-size:14px;font-weight:600}.teacher-scope #toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.teacher-scope .toast{background:var(--sidebar-bg);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;transform:translate(120%);transition:transform .3s;border-left:4px solid var(--primary);min-width:220px}.teacher-scope .toast.show{transform:translate(0)}.teacher-scope .toast.success{border-left-color:var(--green)}.teacher-scope .toast.error{border-left-color:var(--red)}.teacher-scope .toast.warning{border-left-color:var(--secondary)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.teacher-scope .spin{animation:spin 1s linear infinite}.teacher-scope .loading-state{display:flex;align-items:center;justify-content:center;padding:40px;gap:12px;color:var(--text3);font-weight:600}.teacher-scope .loader{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.teacher-scope .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}.teacher-scope .progress-bar{background:var(--bg3);border-radius:20px;height:8px;overflow:hidden}.teacher-scope .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:20px;transition:width .5s ease}.teacher-scope ::-webkit-scrollbar{width:6px;height:6px}.teacher-scope ::-webkit-scrollbar-track{background:transparent}.teacher-scope ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.teacher-scope ::-webkit-scrollbar-thumb:hover{background:var(--primary)}.teacher-scope .student-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary, #7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.teacher-scope .uid-badge{font-family:monospace;font-size:12px;background:var(--bg2, #f3f4f6);padding:2px 8px;border-radius:6px;font-weight:700;letter-spacing:.5px}.teacher-scope .xp-badge{background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700}.teacher-scope .streak-badge{background:#fee2e2;color:#991b1b;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700}.teacher-scope .btn-icon{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 6px;border-radius:6px;transition:background .15s}.teacher-scope .btn-icon:hover{background:var(--bg2, #f3f4f6)}.teacher-scope .btn-icon.btn-danger:hover{background:#fee2e2}.teacher-scope .lookup-success{background:#d1fae5;color:#065f46;border-radius:8px;padding:10px 14px;font-size:13px}.teacher-scope .lookup-warning{background:#fef3c7;color:#92400e;border-radius:8px;padding:10px 14px;font-size:13px}.teacher-scope .lookup-error{background:#fee2e2;color:#991b1b;border-radius:8px;padding:10px 14px;font-size:13px}.teacher-scope .lookup-pending{background:#eff6ff;color:#1e40af;border-radius:8px;padding:10px 14px;font-size:13px}.teacher-scope .mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--sidebar-bg);border-bottom:2px solid rgba(255,107,53,.3);align-items:center;justify-content:space-between;padding:0 16px;z-index:200;gap:12px}.teacher-scope .mobile-logo{display:flex;align-items:center;gap:9px;text-decoration:none}.teacher-scope .mobile-logo img{width:30px;height:30px;border-radius:7px;object-fit:contain}.teacher-scope .mobile-logo-text{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:#fff}.teacher-scope .mobile-logo-text span{color:var(--primary)}.teacher-scope .hamburger-btn{background:#ff6b351a;border:1.5px solid rgba(255,107,53,.25);border-radius:8px;cursor:pointer;padding:8px;display:flex;flex-direction:column;gap:5px;transition:background .2s}.teacher-scope .hamburger-btn:hover{background:#ff6b3533}.teacher-scope .hamburger-btn span{display:block;width:20px;height:2.5px;background:#fff;border-radius:2px;transition:all .3s ease;transform-origin:center}.teacher-scope .hamburger-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.teacher-scope .hamburger-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.teacher-scope .hamburger-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.teacher-scope .sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:150;opacity:0;transition:opacity .3s ease}.teacher-scope .sidebar-overlay.visible{display:block}.teacher-scope .sidebar-overlay.active{opacity:1}@media (max-width: 1024px){.teacher-scope{--sidebar-w: 220px}}@media (max-width: 768px){.teacher-scope .mobile-topbar{display:flex}.teacher-scope .sidebar{position:fixed;top:0;left:0;height:100%;width:270px;z-index:200;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:6px 0 30px #0000004d}.teacher-scope .sidebar.open{transform:translate(0)}.teacher-scope .main-wrapper{margin-left:0!important;padding-top:56px;padding-left:8px!important;padding-right:8px!important;max-width:100%!important;overflow-x:hidden!important}.teacher-scope .topbar{display:none}.teacher-scope .content{padding:16px 4px!important;max-width:100%!important;overflow-x:hidden!important}.teacher-scope .stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin-bottom:16px!important}.teacher-scope .stat-card{padding:14px 12px;gap:10px}.teacher-scope .stat-icon{width:40px;height:40px;font-size:20px}.teacher-scope .stat-value{font-size:20px}.teacher-scope .stat-label{font-size:11px}.teacher-scope .grid-2,.teacher-scope .grid-3{grid-template-columns:1fr!important;max-width:100%!important;overflow:hidden!important;gap:12px!important}.teacher-scope .card-body .grid-2,.teacher-scope .card-body .grid-3{grid-template-columns:1fr!important}.teacher-scope .card{max-width:100%!important;overflow:hidden!important;border-radius:12px!important}.teacher-scope .card-header{padding:12px 14px;flex-wrap:wrap;gap:8px}.teacher-scope .card-body{padding:14px;overflow:hidden}.teacher-scope .form-control,.teacher-scope select.form-control,.teacher-scope textarea.form-control{max-width:100%!important;box-sizing:border-box!important;padding-right:32px!important;font-size:16px!important}.teacher-scope .btn{width:auto!important;max-width:100%!important;white-space:normal!important}.teacher-scope .btn-sm{white-space:nowrap}.teacher-scope .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.teacher-scope .table-wrap table{min-width:560px}.teacher-scope th,.teacher-scope td{white-space:nowrap}.teacher-scope .modal-overlay{align-items:flex-end;padding:0}.teacher-scope .modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;max-height:88vh;overflow-y:auto;width:100%!important;max-width:100%!important;margin:0!important}.teacher-scope .modal-body .grid-2{grid-template-columns:1fr!important;gap:8px!important}.teacher-scope #toast-container{bottom:12px;right:10px;left:10px}.teacher-scope .toast{max-width:100%}.teacher-scope .mobile-action-bar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.teacher-scope .mobile-action-bar input,.teacher-scope .mobile-action-bar select{grid-column:1 / -1}.teacher-scope .mobile-action-bar .btn{font-size:13px;padding:10px 8px;text-align:center;white-space:nowrap}}@media (max-width: 400px){.teacher-scope .stats-grid{gap:8px!important}.teacher-scope .stat-card{padding:10px 8px!important}.teacher-scope .stat-value{font-size:16px!important}.teacher-scope .stat-label{font-size:9.5px!important}.teacher-scope .table-wrap table{min-width:500px}.teacher-scope td,.teacher-scope th{font-size:11px!important;padding:8px 10px!important}.teacher-scope .grid-3{grid-template-columns:1fr!important}}@media (max-width: 768px){.mobile-action-bar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px;width:100%}.mobile-action-bar input{grid-column:1 / -1;width:100%;min-width:0}.mobile-action-bar .btn{white-space:nowrap;font-size:12px;padding:9px 6px;min-width:0;text-align:center}.stats-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin-bottom:14px!important;width:100%!important}.stat-card{padding:12px 10px!important;gap:10px!important;min-width:0!important}.stat-icon{width:38px;height:38px;font-size:20px;flex-shrink:0}.stat-value{font-size:18px}.stat-label{font-size:10.5px}.grid-2{grid-template-columns:1fr!important}.card{width:100%;max-width:100%}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-wrap table{min-width:600px}td,th{white-space:nowrap;font-size:12px;padding:10px 12px}.card-header{padding:12px 14px;flex-wrap:wrap;gap:8px}.card-body{padding:14px}.modal-overlay{align-items:flex-end!important}.modal{border-radius:18px 18px 0 0!important;max-height:90vh!important;overflow-y:auto!important;width:100%!important;max-width:100%!important}.form-control,select.form-control{font-size:16px!important}#toast-container{bottom:12px;right:10px;left:10px}.toast{max-width:100%}}@media (max-width: 400px){.stats-grid{gap:8px!important}.stat-card{padding:10px 8px!important}.stat-value{font-size:16px}.stat-label{font-size:9.5px}.table-wrap table{min-width:520px}.mobile-action-bar .btn{font-size:11px;padding:8px 4px}}.class-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;margin-bottom:8px;background:#ffffff05}.class-row .class-fields{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.class-row .class-fields input{font-size:13px}.class-row .class-fields .class-code-input{font-size:12px}.class-row .class-meta{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.class-row .class-meta .class-count{font-size:10.5px;color:var(--text3);white-space:nowrap;text-align:center}.class-row .class-actions{display:flex;gap:6px}.class-quick-link{display:inline-block;margin-top:6px;font-size:11.5px;color:var(--primary);font-weight:700;cursor:pointer;text-decoration:none}.class-quick-link:hover{text-decoration:underline}.teacher-tasks-page{--primary: #f97316;--primary-light: #fff3e6;--card-white: #ffffff;--border: #e9edf2;--text-main: #0f172a;--text-muted: #475569;--shadow: 0 1px 2px rgba(0,0,0,.03), 0 2px 6px rgba(0,0,0,.04);font-family:Inter,-apple-system,Segoe UI,sans-serif;background:#f7f9fc;color:#0f172a;line-height:1.4}.teacher-tasks-page,.teacher-tasks-page *{box-sizing:border-box}.teacher-tasks-page .sidebar{position:fixed;left:0;top:0;width:260px;height:100%;background:#fff;border-right:1px solid var(--border);padding:24px 18px;z-index:200;transition:transform .25s ease;overflow-y:auto;transform:translate(-100%)}.teacher-tasks-page .sidebar.open{transform:translate(0)}@media (min-width: 769px){.teacher-tasks-page .sidebar{transform:translate(0)}}.teacher-tasks-page .sidebar-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px;border-bottom:1px solid #f0f2f5;padding-bottom:12px}.teacher-tasks-page .logo-text{font-weight:800;font-size:20px;color:var(--primary)}.teacher-tasks-page .logo-sub{font-size:11px;color:#6c757d}.teacher-tasks-page .sidebar-teacher-info{display:flex;align-items:center;gap:12px;background:#fafcff;padding:10px;border-radius:24px;margin-bottom:28px}.teacher-tasks-page .teacher-avatar{width:44px;height:44px;background:var(--primary-light);border-radius:40px;display:flex;align-items:center;justify-content:center;font-size:24px}.teacher-tasks-page .teacher-name{font-weight:700;font-size:14px}.teacher-tasks-page .sidebar-nav{display:flex;flex-direction:column;gap:6px}.teacher-tasks-page .nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;color:#334155;text-decoration:none;font-weight:500;transition:.2s}.teacher-tasks-page .nav-item.active,.teacher-tasks-page .nav-item:hover{background:var(--primary-light);color:var(--primary)}.teacher-tasks-page .nav-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin:20px 0 8px 12px}.teacher-tasks-page .sidebar-footer{margin-top:40px;border-top:1px solid #ecfdf5;padding-top:20px}.teacher-tasks-page .logout-btn{width:100%;background:none;border:1px solid #e2e8f0;border-radius:40px;padding:9px;font-weight:500;color:#ef4444;cursor:pointer}.teacher-tasks-page .main-wrapper{margin-left:260px;padding:24px 32px;min-height:100vh}.teacher-tasks-page .topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px}.teacher-tasks-page .topbar-title{font-size:26px;font-weight:700}.teacher-tasks-page .topbar-title span{color:var(--primary)}.teacher-tasks-page .btn{border-radius:40px;padding:8px 20px;font-weight:600;font-size:13px;cursor:pointer;background:#fff;border:1px solid var(--border)}.teacher-tasks-page .btn-primary{background:var(--primary);border:none;color:#fff;box-shadow:0 2px 6px #f9731633}.teacher-tasks-page .btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0}.teacher-tasks-page .form-control{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:10px 14px;font-size:14px;width:100%}.teacher-tasks-page .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.teacher-tasks-page .stat-card{background:#fff;border-radius:24px;padding:16px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow);border:1px solid var(--border)}.teacher-tasks-page .stat-icon{width:48px;height:48px;background:#fff7ed;border-radius:30px;display:flex;align-items:center;justify-content:center;font-size:26px}.teacher-tasks-page .stat-value{font-size:28px;font-weight:800}.teacher-tasks-page .stat-label{font-size:12px;color:#5b6e8c}.teacher-tasks-page .card{background:#fff;border-radius:28px;border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow)}.teacher-tasks-page .card-header{padding:18px 24px;border-bottom:1px solid #f0f2f5;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.teacher-tasks-page .card-title{font-weight:700;font-size:18px}.teacher-tasks-page .table-wrap{width:100%;overflow-x:visible}.teacher-tasks-page .task-table{width:100%;border-collapse:collapse}.teacher-tasks-page .task-table th{text-align:left;padding:14px 16px;background:#fafcff;font-weight:600;font-size:13px;color:#475569;border-bottom:1px solid #edf2f7}.teacher-tasks-page .task-table td{padding:14px 16px;border-bottom:1px solid #f0f4f9;vertical-align:middle;font-size:14px}.teacher-tasks-page .btn-sm{background:#f8fafc;border:1px solid #e2e8f0;border-radius:30px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;margin-right:6px;transition:.2s}.teacher-tasks-page .btn-sm-danger,.teacher-tasks-page .btn-danger.btn-sm{background:#fff5f5;border-color:#ffe2e2;color:#dc2626}.teacher-tasks-page .badge{padding:3px 10px;border-radius:30px;font-size:11px;font-weight:700}.teacher-tasks-page .badge-green{background:#e6f7e6;color:#2e7d32}.teacher-tasks-page .badge-blue{background:#e3f2fd;color:#1565c0}.teacher-tasks-page .badge-purple{background:#f3e8ff;color:#7c3aed}.teacher-tasks-page .mobile-topbar,.teacher-tasks-page .mobile-action-bar{display:none}.teacher-tasks-page .hamburger-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:7px 10px}.teacher-tasks-page .hamburger-btn span{display:block;width:18px;height:2px;background:#334155;margin:4px 0}.teacher-tasks-page .modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;align-items:center;justify-content:center;z-index:2000}.teacher-tasks-page .modal-overlay.open{display:flex}.teacher-tasks-page .modal{background:#fff;border-radius:32px;width:520px;max-width:94%;box-shadow:0 20px 30px #00000026}.teacher-tasks-page .modal-header{padding:18px 22px;border-bottom:1px solid #eef2ff;display:flex;justify-content:space-between}.teacher-tasks-page .modal-body{padding:20px;max-height:65vh;overflow-y:auto}.teacher-tasks-page .modal-footer{padding:14px 22px;border-top:1px solid #eef2ff;display:flex;justify-content:flex-end;gap:12px}.teacher-tasks-page .modal-close{background:none;border:none;font-size:20px;cursor:pointer}.teacher-tasks-page .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.teacher-tasks-page .form-group{margin-bottom:12px}.teacher-tasks-page .form-label,.teacher-tasks-page .form-group label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:4px}.teacher-tasks-page .toast-container{position:fixed;bottom:20px;right:20px;z-index:9999}.teacher-tasks-page .toast{background:#fff;border-left:4px solid var(--primary);padding:10px 18px;border-radius:60px;box-shadow:0 4px 12px #00000014;margin-top:8px;font-size:13px;font-weight:500}@media (max-width: 768px){.teacher-tasks-page .sidebar{transform:translate(-100%);width:270px}.teacher-tasks-page .sidebar.open{transform:translate(0)}.teacher-tasks-page .sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:199}.teacher-tasks-page .sidebar-overlay.visible{display:block}.teacher-tasks-page .main-wrapper{margin-left:0!important;padding:14px!important}.teacher-tasks-page .topbar{display:none}.teacher-tasks-page .mobile-topbar{display:flex;position:sticky;top:0;background:#fff;padding:12px 16px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2f7;z-index:100}.teacher-tasks-page .mobile-logo-text{font-weight:700;color:#0f172a}.teacher-tasks-page .mobile-logo-text span{color:var(--primary)}.teacher-tasks-page .stats-grid{grid-template-columns:1fr 1fr;gap:10px}.teacher-tasks-page .stat-card{padding:10px;gap:8px}.teacher-tasks-page .stat-value{font-size:20px}.teacher-tasks-page .mobile-action-bar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.teacher-tasks-page .mobile-action-bar select{grid-column:1 / -1}.teacher-tasks-page .task-table,.teacher-tasks-page .task-table tbody,.teacher-tasks-page .task-table tr,.teacher-tasks-page .task-table td{display:block;width:100%}.teacher-tasks-page .task-table thead{display:none}.teacher-tasks-page .task-table tr{background:#fff;border-radius:24px;margin-bottom:16px;padding:14px;border:1px solid #edf2f7;box-shadow:0 1px 2px #00000005}.teacher-tasks-page .task-table td{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #f0f4fa;flex-wrap:wrap;font-size:13px}.teacher-tasks-page .task-table td:last-child{border-bottom:none}.teacher-tasks-page .task-table td:before{content:attr(data-label);font-weight:700;min-width:100px;font-size:11px;color:var(--primary);background:#fff3e6;padding:4px 10px;border-radius:30px;display:inline-block;text-align:center}.teacher-tasks-page .btn-sm{padding:5px 12px;font-size:11px;margin:2px 3px}}@media (min-width: 769px){.teacher-tasks-page .mobile-topbar,.teacher-tasks-page .mobile-action-bar{display:none!important}}:root{--gold: #FFD700;--purple: #7c3aed;--lilac: #c4b5fd;--green-soft: rgba(34,197,94,.1);--green-border: rgba(34,197,94,.3);--green-text: #22c55e}.pv-card{background:var(--card-bg,#16133a);border:1px solid var(--border,rgba(167,139,250,.15));border-radius:14px;padding:24px;margin-bottom:20px}.pv-card-title{font-size:15px;font-weight:700;color:var(--lilac);margin-bottom:16px;display:flex;align-items:center;gap:8px}.sig-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-label{font-size:12px;color:var(--text3,#94a3b8);margin-bottom:7px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.sig-canvas{width:100%;height:140px;border:1px dashed rgba(167,139,250,.3);border-radius:10px;background:#ffffff08;cursor:crosshair;display:block;touch-action:none}.sig-canvas.has-sig{border-color:var(--purple);border-style:solid}.sig-actions{display:flex;gap:8px;margin-top:8px}.sig-hint{font-size:11px;color:var(--text3,#94a3b8);margin-top:5px}.sig-saved-card{display:none;align-items:center;gap:16px;background:#22c55e0f;border:1px solid rgba(34,197,94,.25);border-radius:12px;padding:14px 18px}.sig-saved-card.show{display:flex}.sig-saved-preview{height:52px;min-width:120px;max-width:200px;border:1px solid rgba(167,139,250,.2);border-radius:8px;background:#ffffff08;object-fit:contain;flex-shrink:0}.sig-saved-info{flex:1}.sig-saved-name{font-size:15px;font-weight:700;color:#fff}.sig-saved-desig{font-size:12px;color:var(--lilac);margin-top:2px}.sig-saved-label{font-size:11px;color:var(--green-text);font-weight:600;margin-bottom:4px}.btn-gold{background:var(--gold);color:#0f0c29;font-weight:800}.btn-gold:hover{background:#e6c200}.save-row{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.assign-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.assign-all-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;color:var(--lilac);font-weight:600}.assign-all-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--purple);cursor:pointer}.assign-all-row label{cursor:pointer}.assign-all-note{font-size:12px;color:var(--text3,#94a3b8);margin-top:-8px;margin-bottom:14px}.assign-all-note strong{color:#22c55e}.table-wrap{overflow-x:auto}.pv-table{width:100%;border-collapse:collapse;font-size:13px}.pv-table th{text-align:left;padding:9px 14px;color:var(--text3,#94a3b8);font-size:11px;letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--border,rgba(167,139,250,.15))}.pv-table td{padding:11px 14px;border-bottom:1px solid rgba(167,139,250,.05);vertical-align:middle}.pv-table tr:last-child td{border-bottom:none}.pv-table tr:hover td{background:#7c3aed0d}.chip-student{display:inline-block;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e;border-radius:20px;padding:2px 10px;font-size:11px}.chip-course{display:inline-block;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#38bdf8;border-radius:20px;padding:2px 10px;font-size:11px}.badge-done{display:inline-flex;align-items:center;gap:5px;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#22c55e;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.badge-notstarted{display:inline-flex;align-items:center;gap:5px;background:#94a3b814;border:1px solid rgba(148,163,184,.2);color:#64748b;border-radius:20px;padding:4px 12px;font-size:12px}.cert-btn{display:inline-flex;align-items:center;gap:5px;background:#ffd7001a;border:1px solid rgba(255,215,0,.35);color:gold;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s}.cert-btn:hover{background:#ffd70033}.empty-state{text-align:center;padding:36px;color:var(--text3,#94a3b8)}.empty-state .ei{font-size:38px;margin-bottom:10px}.search-wrap{position:relative;margin-bottom:14px}.search-wrap .si{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3,#94a3b8);pointer-events:none}.search-wrap input{padding-left:34px!important}.preselected-banner{display:none;align-items:center;gap:10px;background:#22c55e14;border:1px solid rgba(34,197,94,.3);border-radius:10px;padding:10px 16px;margin-bottom:12px;font-size:13px}.preselected-banner.show{display:flex}.preselected-banner strong{color:#22c55e}.assign-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.astat{background:#ffffff0a;border:1px solid var(--border,rgba(167,139,250,.15));border-radius:10px;padding:10px 16px;text-align:center;flex:1;min-width:80px}.astat-val{font-size:20px;font-weight:800;color:#fff}.astat-lbl{font-size:11px;color:var(--text3,#94a3b8);margin-top:2px}.class-filter-wrap{margin-bottom:14px;max-width:340px}.class-filter-wrap .field-label small{text-transform:none;color:var(--text3,#94a3b8);font-weight:400;letter-spacing:0}.mobile-cards{display:none}.asgn-card{background:#ffffff08;border:1px solid rgba(167,139,250,.15);border-radius:12px;padding:14px 16px;margin-bottom:10px}.asgn-card:last-child{margin-bottom:0}.asgn-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.asgn-card-names{flex:1;min-width:0}.asgn-card-student{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asgn-card-course{font-size:12px;color:#38bdf8;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asgn-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid rgba(167,139,250,.1)}.asgn-card-uid{font-family:monospace;font-size:11px;color:var(--text3,#94a3b8);background:#ffffff0d;padding:2px 8px;border-radius:6px}.asgn-card-date{font-size:11px;color:var(--text3,#94a3b8);margin-left:auto}.asgn-card-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.asgn-card-actions .cert-btn{flex:1;justify-content:center}.btn-remove-mobile{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#f87171;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap}.btn-remove-mobile:hover{background:#ef44442e}@media (max-width: 768px){.sig-row,.assign-grid{grid-template-columns:1fr!important}.sig-saved-card{flex-direction:column;align-items:flex-start!important;gap:10px!important}}@media (max-width: 600px){.table-wrap{display:none}.mobile-cards{display:block}.pv-card{padding:16px 14px}.assign-stats{gap:8px}.astat{padding:8px 10px;min-width:60px}.astat-val{font-size:18px}.astat-lbl{font-size:10px}.assign-grid{grid-template-columns:1fr!important;gap:10px}.assign-grid>div:last-child .btn{width:100%}.class-filter-wrap{max-width:100%}}@media (max-width: 1024px){.sidebar{width:220px}.main-wrapper{margin-left:220px}}@media (max-width: 768px){.mobile-student-filter{margin-bottom:14px}.mobile-student-filter select{width:100%}.stats-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin-bottom:14px!important;width:100%!important}.stat-card{padding:12px 10px!important;gap:10px!important;min-width:0!important}.stat-icon{width:38px;height:38px;font-size:20px;flex-shrink:0}.stat-value{font-size:18px}.stat-label{font-size:10.5px}.grid-2{grid-template-columns:1fr!important}.card{width:100%;max-width:100%}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-wrap table{min-width:560px}td,th{white-space:nowrap;font-size:12px;padding:10px 12px}.card-header{padding:12px 14px;flex-wrap:wrap;gap:8px}.card-body{padding:14px}.form-control,select.form-control{font-size:16px!important}}@media (max-width: 400px){.stats-grid{gap:8px!important}.stat-card{padding:10px 8px!important}.stat-value{font-size:16px}.stat-label{font-size:9.5px}.table-wrap table{min-width:500px}}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.game-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s;animation:gameFadeUp .4s ease both}.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.game-thumb{height:120px;display:flex;align-items:center;justify-content:center;font-size:52px;background:linear-gradient(135deg,var(--bg3),var(--border))}.game-info{padding:14px}.game-title{font-size:14px;font-weight:800;margin-bottom:4px}.game-subject{font-size:11.5px;color:var(--text3);margin-bottom:10px}.subject-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.subject-tab{padding:7px 16px;border-radius:25px;border:1.5px solid var(--border);background:var(--card);font-size:12.5px;font-weight:700;cursor:pointer;transition:all .2s;color:var(--text2)}.subject-tab.active,.subject-tab:hover{background:var(--primary);border-color:var(--primary);color:#fff}@keyframes gameFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.pv-toast{padding:12px 20px;border-radius:8px;font-size:13px;font-weight:700;color:#fff;box-shadow:0 4px 16px #00000040;max-width:320px;transition:opacity .3s ease}.pv-toast.success{background:#27ae60}.pv-toast.error{background:#e74c3c}@media (max-width: 768px){.game-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.game-thumb{height:80px!important;font-size:34px!important}.game-info{padding:10px!important}.game-title{font-size:12.5px!important}.game-subject{font-size:10px!important;margin-bottom:6px!important}.game-info .btn-sm{font-size:10.5px!important;padding:6px 4px!important}.game-desc{display:none}.game-actions{flex-direction:column}}@media (max-width: 400px){.game-thumb{height:70px!important;font-size:30px!important}.game-title{font-size:11.5px!important}}.ai-task-page{--radius-sm: 10px;--radius-lg: 18px;--primary: #6C63FF;--primary-dark: #5A52D5;--bg: #f4f6fb;--card: #ffffff;--border: #e6e9f0;--text: #1a1a2e;--text2: #3d3d5c;--text3: #7a7a9a;--green: #27ae60;--red: #e74c3c;--shadow: 0 6px 24px rgba(0,0,0,.06);--shadow-hover: 0 10px 36px rgba(0,0,0,.1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.ai-task-page,.ai-task-page *{box-sizing:border-box}.ai-task-page img{max-width:100%;height:auto}.ai-task-page .sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:#1a1a2e;color:#fff;padding:24px 16px;overflow-y:auto;z-index:1000;transition:transform .3s ease;display:flex;flex-direction:column;transform:translate(-100%)}.ai-task-page .sidebar.open{transform:translate(0)}.ai-task-page .sidebar-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}.ai-task-page .sidebar-logo img{width:40px;height:40px;border-radius:10px;object-fit:contain;background:#2a2a4a;padding:4px}.ai-task-page .logo-text{font-size:20px;font-weight:900;letter-spacing:-.5px}.ai-task-page .logo-text span{color:var(--primary)}.ai-task-page .logo-sub{font-size:11px;opacity:.5;font-weight:500;letter-spacing:.3px}.ai-task-page .sidebar-teacher-info{display:flex;align-items:center;gap:12px;background:#ffffff0f;padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:24px}.ai-task-page .teacher-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.ai-task-page .teacher-name{font-weight:700;font-size:14px}.ai-task-page .teacher-role{font-size:11px;opacity:.5}.ai-task-page .sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px}.ai-task-page .nav-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.8px;opacity:.3;padding:16px 12px 6px;font-weight:700}.ai-task-page .nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:#fff9;text-decoration:none;font-size:13px;font-weight:600;transition:all .15s}.ai-task-page .nav-item:hover{background:#ffffff0f;color:#fff}.ai-task-page .nav-item.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #6c63ff4d}.ai-task-page .nav-item .nav-icon{font-size:18px;width:24px;text-align:center}.ai-task-page .sidebar-footer{padding-top:16px;border-top:1px solid rgba(255,255,255,.06);margin-top:8px}.ai-task-page .logout-btn{width:100%;padding:10px;border:none;border-radius:var(--radius-sm);background:#ffffff0f;color:#ffffff80;font-weight:700;font-size:13px;cursor:pointer;transition:all .15s;text-align:center}.ai-task-page .logout-btn:hover{background:#e74c3c33;color:#fff}.ai-task-page .mobile-topbar{display:flex;background:#1a1a2e;padding:10px 16px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.06);min-height:56px}.ai-task-page .mobile-logo{display:flex;align-items:center;gap:10px}.ai-task-page .mobile-logo img{width:32px;height:32px;border-radius:8px;object-fit:contain;background:#2a2a4a;padding:4px}.ai-task-page .mobile-logo-text{font-size:17px;font-weight:900;color:#fff}.ai-task-page .mobile-logo-text span{color:var(--primary)}.ai-task-page .menu-dots-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;cursor:pointer;padding:8px 6px;min-width:44px;min-height:44px;touch-action:manipulation;border-radius:10px;transition:background .2s}.ai-task-page .menu-dots-btn:hover{background:#ffffff14}.ai-task-page .menu-dots-btn:active{background:#ffffff1f;transform:scale(.94)}.ai-task-page .menu-dots-btn .dot{display:block;width:5px;height:5px;border-radius:50%;background:#fff;transition:all .2s}.ai-task-page .menu-dots-btn.open .dot{background:var(--primary)}.ai-task-page .menu-dots-btn.open .dot:nth-child(2){opacity:0}.ai-task-page .sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;display:none}.ai-task-page .sidebar-overlay.open{display:block}.ai-task-page .main-wrapper{margin-left:0;min-height:100vh;padding:0 14px 30px;max-width:100%;width:100%;overflow-x:hidden}.ai-task-page .topbar{display:none;align-items:center;justify-content:space-between;padding:24px 0 20px;border-bottom:1.5px solid var(--border);margin-bottom:24px;flex-wrap:wrap;gap:12px}.ai-task-page .topbar-title{font-size:22px;font-weight:900;letter-spacing:-.3px}.ai-task-page .topbar-title span{color:var(--primary)}.ai-task-page .topbar-spacer{flex:1}.ai-task-page .card{background:var(--card);border-radius:var(--radius-lg);border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s;width:100%;min-width:0}.ai-task-page .card:hover{box-shadow:var(--shadow-hover)}.ai-task-page .card-header{padding:14px 16px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.ai-task-page .card-title{font-size:15px;font-weight:800}.ai-task-page .card-body{padding:16px;overflow:hidden}.ai-task-page .form-group{margin-bottom:14px}.ai-task-page .form-group:last-child{margin-bottom:0}.ai-task-page .form-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-bottom:4px}.ai-task-page .form-control{width:100%;max-width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg);font-size:14px;font-weight:500;color:var(--text);transition:border .15s;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.ai-task-page .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff1f}.ai-task-page .form-control::placeholder{color:var(--text3);font-weight:400}.ai-task-page textarea.form-control{resize:vertical;min-height:60px}.ai-task-page select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a7a9a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.ai-task-page .grid-2{display:grid;grid-template-columns:1fr;gap:14px;max-width:100%;overflow:hidden}.ai-task-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-weight:700;font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit;text-decoration:none;min-height:44px;min-width:44px;touch-action:manipulation;width:100%;box-sizing:border-box}.ai-task-page .btn-primary{background:var(--primary);color:#fff}.ai-task-page .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px #6c63ff4d}.ai-task-page .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ai-task-page .btn-secondary{background:var(--bg);color:var(--text);border:1.5px solid var(--border)}.ai-task-page .btn-secondary:hover{background:var(--border)}.ai-task-page .btn-sm{padding:5px 12px;font-size:11px;min-height:36px;width:auto}.ai-task-page .ai-hero{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:var(--radius-lg);padding:18px 16px;color:#fff;margin-bottom:18px;position:relative;overflow:hidden}.ai-task-page .ai-hero:after{content:"🤖";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:48px;opacity:.08;pointer-events:none}.ai-task-page .ai-hero h2{font-size:17px;font-weight:900;margin-bottom:4px;word-break:break-word}.ai-task-page .ai-hero p{font-size:12.5px;opacity:.7;max-width:100%}.ai-task-page .ai-hero .badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ai-task-page .ai-hero .badge-row span{background:#ffffff14;padding:3px 10px;border-radius:40px;font-size:9px;font-weight:600;letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.ai-task-page .task-question{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:10px;transition:all .15s;word-break:break-word;overflow-wrap:break-word}.ai-task-page .task-question:hover{border-color:#d0d5e0}.ai-task-page .task-question .q-num{font-size:10px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}.ai-task-page .task-question .q-text{font-weight:700;font-size:13px;margin-bottom:8px;word-break:break-word;overflow-wrap:break-word;line-height:1.5}.ai-task-page .task-question .q-options{display:flex;flex-direction:column;gap:5px}.ai-task-page .task-question .q-opt{padding:8px 12px;border-radius:8px;font-size:12px;background:#fff;border:1.5px solid var(--border);cursor:pointer;transition:all .15s;word-break:break-word;overflow-wrap:break-word;touch-action:manipulation;min-height:40px;display:flex;align-items:center}.ai-task-page .task-question .q-opt:hover{border-color:var(--primary);background:#6c63ff0a}.ai-task-page .task-question .q-opt.correct{background:#27ae601f;border-color:var(--green);color:var(--green);font-weight:700}.ai-task-page .task-question .q-opt.wrong{background:#e74c3c14;border-color:var(--red);color:var(--red)}.ai-task-page .task-question .q-rationale{margin-top:8px;padding:8px 12px;background:#6c63ff0d;border-radius:6px;font-size:12px;color:var(--text2);border-left:3px solid var(--primary);display:none;word-break:break-word;overflow-wrap:break-word}.ai-task-page .task-question .q-rationale.show{display:block}.ai-task-page .task-question .q-rationale strong{color:var(--primary)}.ai-task-page .flashcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-task-page .flashcard-item{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;text-align:center;transition:all .2s;cursor:pointer;touch-action:manipulation;min-height:70px;display:flex;flex-direction:column;justify-content:center}.ai-task-page .flashcard-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.ai-task-page .flashcard-item .front{font-weight:700;font-size:13px;color:var(--text);word-break:break-word;overflow-wrap:break-word}.ai-task-page .flashcard-item .back{font-size:12px;color:var(--text3);margin-top:4px;display:none;word-break:break-word;overflow-wrap:break-word}.ai-task-page .flashcard-item.flipped .back{display:block}.ai-task-page .flashcard-item.flipped .front{color:var(--primary)}.ai-task-page .generating-anim{display:flex;align-items:center;justify-content:center;gap:14px;padding:32px 16px;color:var(--text3);font-weight:600;font-size:13px;flex-wrap:wrap;text-align:center}.ai-task-page .dot-pulse{display:flex;gap:6px}.ai-task-page .dot-pulse span{width:10px;height:10px;background:var(--primary);border-radius:50%;animation:aiTaskDotBounce 1.2s infinite}.ai-task-page .dot-pulse span:nth-child(2){animation-delay:.2s}.ai-task-page .dot-pulse span:nth-child(3){animation-delay:.4s}@keyframes aiTaskDotBounce{0%,80%,to{transform:scale(.5);opacity:.3}40%{transform:scale(1);opacity:1}}.ai-task-page .content-type-badge{display:inline-block;padding:2px 10px;border-radius:40px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:#6c63ff1a;color:var(--primary);margin-bottom:4px}.ai-task-page #toast-container{position:fixed;bottom:16px;left:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:100%}.ai-task-page .pv-toast{padding:10px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;color:#fff;box-shadow:0 6px 24px #0003;transition:all .3s ease;animation:aiTaskSlideUp .3s ease;word-break:break-word}.ai-task-page .pv-toast.success{background:var(--green)}.ai-task-page .pv-toast.error{background:var(--red)}.ai-task-page .pv-toast.info{background:var(--primary)}@keyframes aiTaskSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-task-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;padding:12px}.ai-task-page .modal-overlay.open{opacity:1;pointer-events:auto}.ai-task-page .modal{background:var(--card);border-radius:var(--radius-lg);max-width:100%;width:100%;max-height:95vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;transform:scale(.95);transition:transform .25s}.ai-task-page .modal-overlay.open .modal{transform:scale(1)}.ai-task-page .modal-header{padding:14px 16px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-task-page .modal-title{font-size:16px;font-weight:800}.ai-task-page .modal-close{background:none;border:none;font-size:22px;color:var(--text3);cursor:pointer;padding:0 4px;line-height:1;min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.ai-task-page .modal-close:hover{color:var(--text)}.ai-task-page .modal-body{padding:16px}.ai-task-page .modal-footer{padding:12px 16px 16px;border-top:1.5px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ai-task-page .modal-footer .btn{width:auto;flex:1;min-width:80px}.ai-task-page #saveStudentList{max-height:160px;overflow-y:auto;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;background:var(--bg)}.ai-task-page #saveStudentList label{display:flex;align-items:center;gap:10px;padding:5px 6px;cursor:pointer;border-radius:6px;transition:background .1s;min-height:38px;touch-action:manipulation}.ai-task-page #saveStudentList label:hover{background:#6c63ff0a}.ai-task-page #saveStudentList .avatar{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.ai-task-page #saveStudentList input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px;cursor:pointer;flex-shrink:0;touch-action:manipulation}.ai-task-page #taskOutputArea{min-height:100px}.ai-task-page #taskOutputArea .task-question:last-child{margin-bottom:0}.ai-task-page #outputActions{display:none;flex-wrap:wrap;gap:6px;align-items:center;width:100%}.ai-task-page #outputActions .btn{width:auto;flex:1;min-width:60px;font-size:11px;padding:6px 12px;min-height:34px}.ai-task-page .mt-8{margin-top:8px}.ai-task-page .mt-12{margin-top:12px}.ai-task-page .text-center{text-align:center}.ai-task-page .text-muted{color:var(--text3);font-size:12px}.ai-task-page .flex-wrap{display:flex;flex-wrap:wrap;gap:8px}.ai-task-page .w-full{width:100%}@media (min-width: 480px){.ai-task-page #outputActions .btn{font-size:12px;padding:6px 14px;min-height:36px;flex:0 1 auto}.ai-task-page .modal-footer .btn{flex:0 1 auto;min-width:80px}}@media (min-width: 768px){.ai-task-page .main-wrapper{padding:0 20px 32px;margin-left:260px}.ai-task-page .ai-hero{padding:24px 28px}.ai-task-page .ai-hero h2{font-size:20px}.ai-task-page .ai-hero p{font-size:13px}.ai-task-page .ai-hero:after{font-size:56px;right:24px;opacity:.1}.ai-task-page .grid-2{grid-template-columns:1fr 1fr;gap:18px}.ai-task-page .card-header{padding:16px 20px}.ai-task-page .card-title{font-size:16px}.ai-task-page .card-body{padding:20px}.ai-task-page .btn{font-size:13px;padding:9px 18px;min-height:42px;width:auto}.ai-task-page .btn-sm{font-size:11px;padding:5px 12px;min-height:34px}.ai-task-page .form-control{font-size:14px;padding:9px 12px}.ai-task-page .form-label{font-size:11px}.ai-task-page #toast-container{bottom:20px;right:20px;left:auto;max-width:360px}.ai-task-page .modal{max-width:520px}.ai-task-page .modal-body{padding:20px 24px}.ai-task-page .modal-header{padding:16px 24px}.ai-task-page .modal-footer{padding:12px 24px 20px}.ai-task-page .flashcard-grid{grid-template-columns:1fr 1fr}.ai-task-page .topbar{display:flex}.ai-task-page .mobile-topbar{display:none}.ai-task-page .sidebar{transform:translate(0)}.ai-task-page .sidebar-overlay{display:none!important}}@media (min-width: 1024px){.ai-task-page .main-wrapper{padding:0 28px 40px}.ai-task-page .ai-hero{padding:30px 34px}.ai-task-page .ai-hero h2{font-size:22px}.ai-task-page .ai-hero p{font-size:14px}.ai-task-page .ai-hero:after{font-size:72px;right:30px}.ai-task-page .card-header{padding:18px 22px}.ai-task-page .card-body{padding:22px}.ai-task-page .grid-2{gap:22px}.ai-task-page .btn{font-size:14px;padding:10px 22px;min-height:44px}.ai-task-page .btn-sm{font-size:12px;padding:6px 14px;min-height:36px}.ai-task-page .form-control{font-size:14px;padding:10px 14px}}@media (max-width: 768px){.ai-task-page .main-wrapper{overflow-x:hidden!important;max-width:100%!important;padding-left:10px!important;padding-right:10px!important}.ai-task-page .content{overflow-x:hidden!important;max-width:100%!important;padding-left:4px!important;padding-right:4px!important}.ai-task-page .grid-2{grid-template-columns:1fr!important;overflow:hidden!important;max-width:100%!important;gap:12px!important}.ai-task-page .grid-2>*{min-width:0!important;max-width:100%!important;overflow:hidden!important}.ai-task-page .card{min-width:0!important;max-width:100%!important;overflow:hidden!important;border-radius:14px!important}.ai-task-page .card-body{overflow:hidden!important;padding:14px!important}.ai-task-page .card-header{padding:10px 14px!important}.ai-task-page .form-group{margin-bottom:10px!important}.ai-task-page .form-control{max-width:100%!important;box-sizing:border-box!important;font-size:16px!important;padding:8px 10px!important;word-break:break-word!important}.ai-task-page select.form-control{max-width:100%!important;white-space:normal!important;word-break:break-word!important;background-position:right 10px center!important;padding-right:30px!important}.ai-task-page .btn{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-task-page .btn-sm{width:auto!important}.ai-task-page .card-body .grid-2{grid-template-columns:1fr!important;gap:8px!important}.ai-task-page .ai-hero .badge-row span{font-size:8px!important;padding:2px 8px!important}.ai-task-page #outputActions .btn{flex:1 1 auto!important;min-width:50px!important;font-size:11px!important;padding:6px 10px!important}.ai-task-page .modal{max-width:100%!important;margin:0 8px!important}.ai-task-page .modal-body .grid-2{grid-template-columns:1fr!important;gap:8px!important}.ai-task-page .menu-dots-btn{min-width:44px!important;min-height:44px!important;padding:8px!important}.ai-task-page .menu-dots-btn .dot{width:5px!important;height:5px!important;margin:1px 0!important}}@media (max-width: 480px){.ai-task-page .main-wrapper{padding:0 8px 16px}.ai-task-page .ai-hero{padding:14px 12px;border-radius:14px}.ai-task-page .ai-hero:after{display:none}.ai-task-page .ai-hero h2{font-size:15px}.ai-task-page .ai-hero p{font-size:11.5px}.ai-task-page .card{border-radius:14px}.ai-task-page .card-header{padding:10px 12px}.ai-task-page .card-title{font-size:13px}.ai-task-page .card-body{padding:12px}.ai-task-page .btn{font-size:12px;padding:8px 14px;min-height:38px}.ai-task-page .btn-sm{font-size:10px;padding:4px 10px;min-height:30px}.ai-task-page .form-control{font-size:16px;padding:8px 10px}.ai-task-page .task-question .q-text{font-size:12px}.ai-task-page .task-question .q-opt{font-size:11px;padding:6px 10px;min-height:34px}.ai-task-page .flashcard-item{padding:10px 12px;min-height:60px}.ai-task-page .flashcard-grid{grid-template-columns:1fr}.ai-task-page .modal-body{padding:12px 14px}.ai-task-page .modal-header{padding:10px 14px}.ai-task-page .modal-footer{padding:10px 14px 14px}.ai-task-page .generating-anim{padding:24px 12px;font-size:12px}.ai-task-page #toast-container{bottom:10px;left:10px;right:10px}.ai-task-page .mobile-topbar{padding:8px 12px;min-height:48px}.ai-task-page .mobile-logo-text{font-size:15px}.ai-task-page .menu-dots-btn{padding:6px 4px;min-width:40px;min-height:40px}}@media (max-width: 400px){.ai-task-page .main-wrapper{padding-left:6px!important;padding-right:6px!important}.ai-task-page .card-body{padding:10px!important}.ai-task-page .form-control{font-size:15px!important;padding:6px 8px!important}.ai-task-page .btn{font-size:11px!important;padding:6px 10px!important;min-height:34px!important}.ai-task-page .menu-dots-btn{min-width:38px!important;min-height:38px!important;padding:6px!important}}.ai-task-page::-webkit-scrollbar{width:4px;height:4px}.ai-task-page::-webkit-scrollbar-track{background:var(--bg)}.ai-task-page::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.ai-task-page::-webkit-scrollbar-thumb:hover{background:#c0c5d0}.wallet-hero{background:linear-gradient(135deg,#ff6b35,#ff8c5a,#ffb347);border-radius:var(--radius-lg);padding:32px;color:#fff;margin-bottom:24px;position:relative;overflow:hidden;max-width:100%}.wallet-hero:after{content:"💰";position:absolute;right:28px;top:50%;transform:translateY(-50%);font-size:72px;opacity:.18}.wallet-balance{font-size:clamp(22px,6vw,42px);font-weight:900;line-height:1;word-break:break-word}.wallet-label{font-size:13px;opacity:.8;margin-top:4px;font-weight:600}.wallet-meta{display:flex;gap:28px;margin-top:18px;flex-wrap:wrap}.wallet-meta-item{font-size:13px;opacity:.85;font-weight:600}.wallet-meta-item span{font-weight:900;display:block;font-size:18px}.withdraw-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:24px;max-width:100%}.withdraw-card .form-control,.withdraw-card .form-group{max-width:100%;width:100%}@media (max-width: 768px){.wallet-hero{padding:24px 20px}.wallet-hero:after{font-size:48px;right:16px}.wallet-balance{font-size:30px}.wallet-meta{gap:16px;margin-top:14px}.wallet-meta-item span{font-size:16px}.grid-2{grid-template-columns:1fr!important;gap:20px}.withdraw-card{padding:18px}.withdraw-card .form-control{font-size:14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:500px}.table-wrap table th,.table-wrap table td{padding:10px 12px;font-size:12px;white-space:nowrap}#requestsList>div>div{flex-wrap:wrap;padding:12px 16px}#requestsList .badge{margin-left:auto}.modal{width:94%;max-width:400px;margin:20px auto;max-height:90vh;overflow-y:auto}.topbar{flex-wrap:wrap;row-gap:10px;padding:12px 16px}.topbar-spacer{display:none}.topbar .btn-primary{width:100%;order:3}.topbar-title{width:100%}.card-header{flex-wrap:wrap;row-gap:8px}#txnFilter{width:100%!important}.btn,.form-control,select.form-control{min-height:44px}input.form-control{font-size:16px}}@media (max-width: 480px){.wallet-hero{padding:18px 14px}.wallet-hero:after{display:none}.wallet-balance{font-size:24px}.wallet-label{font-size:11px}.wallet-meta{gap:10px 16px}.wallet-meta-item{font-size:11px;flex:1 1 28%}.wallet-meta-item span{font-size:14px}.withdraw-card{padding:14px}.withdraw-card .form-control{font-size:13px}.btn{font-size:13px;padding:10px 16px}.card-title{font-size:15px}.topbar-title,.topbar-title span{font-size:18px}.modal-title{font-size:17px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{padding:10px 18px;font-size:13px;flex:1 1 45%}#requestsList>div>div>div:first-child{flex:1 1 100%}}.lg-page{max-width:760px;margin:0 auto;padding:24px 16px 60px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.lg-title{margin:6px 0 2px;font-size:28px;color:#3b2a8c}.lg-sub{margin:0 0 18px;color:#6b5fb0}.lg-back{display:inline-block;margin-bottom:8px;color:#6c3fc5;text-decoration:none;font-weight:600}.lg-msg{padding:14px;text-align:center;color:#555}.lg-error{color:#c0392b}.lg-filter{display:flex;align-items:center;gap:10px;margin-bottom:18px}.lg-filter select{padding:8px 12px;border-radius:10px;border:2px solid #d9d0f5;font-size:15px}.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.lg-card-link{display:block;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 4px 14px #5032a01f;transition:transform .15s}.lg-card-link:hover{transform:translateY(-4px)}.lg-thumb{height:120px;display:flex;align-items:center;justify-content:center;font-size:52px;background:linear-gradient(135deg,#8b5cf6,#ec4899)}.lg-thumb img{width:100%;height:100%;object-fit:cover}.lg-card-body{padding:14px}.lg-card-body h3{margin:0 0 4px;color:#2b2233}.lg-card-body p{margin:0 0 10px;font-size:14px;color:#666}.lg-tags{display:flex;flex-wrap:wrap;gap:6px}.lg-tags span{font-size:12px;background:#f1ecff;color:#5b3fb5;padding:3px 8px;border-radius:20px}.lg-hint{text-align:center;color:#6b5fb0;margin:6px 0 14px}.lg-progress{text-align:center;color:#555;margin-top:16px;font-size:14px}.lg-match{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lg-col{display:flex;flex-direction:column;gap:10px}.lg-tile{padding:16px 10px;font-size:20px;font-weight:700;border-radius:14px;border:3px solid #d9d0f5;background:#fff;color:#2b2233;cursor:pointer;transition:transform .1s,background .15s,border-color .15s}.lg-tile:hover{transform:scale(1.03);border-color:#8b5cf6}.lg-tile.sel{background:#ede7ff;border-color:#6c3fc5;transform:scale(1.04)}.lg-tile.done{background:#d9f7e5;border-color:#2fbf71;color:#17794a;cursor:default}.lg-tile.wrong{background:#ffe1e1;border-color:#e5484d;animation:lg-shake .4s}@keyframes lg-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.lg-quiz{text-align:center}.lg-bar{height:10px;background:#ece7fa;border-radius:10px;overflow:hidden;margin:8px 0 10px}.lg-bar div{height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899);transition:width .3s}.lg-word{font-size:56px;font-weight:800;color:#3b2a8c;margin:14px 0 22px}.lg-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lg-result{text-align:center;padding:30px 10px}.lg-stars{font-size:46px;letter-spacing:6px}.lg-actions{display:flex;gap:12px;justify-content:center;margin-top:18px}.lg-btn{display:inline-block;padding:12px 22px;border-radius:12px;border:0;background:#6c3fc5;color:#fff;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none}.lg-btn.alt{background:#ede7ff;color:#5b3fb5}@media (max-width: 480px){.lg-tile{font-size:17px;padding:14px 8px}.lg-word{font-size:44px}}
