@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";.navbar{background:var(--navbar-bg,#fffffff7);border-bottom:1px solid var(--navbar-border,#e2e8f0);z-index:var(--z-navbar);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;box-shadow:0 1px 8px #00000012}:root[data-theme=dark] .navbar{background:#0f172af7;border-bottom-color:#ffffff14;box-shadow:0 1px 8px #0006}.navbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1280px;height:62px;margin:0 auto;padding:0 28px;display:flex}.navbar-logo{white-space:nowrap;flex-shrink:0;text-decoration:none}.logo-text{font-family:var(--font-display,"Inter", sans-serif);letter-spacing:-.5px;background:linear-gradient(135deg, var(--accent,#6366f1), var(--accent-secondary,#8b5cf6));-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px var(--accent-glow,#6366f14d));-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:900}.navbar-links{flex:1;justify-content:center;align-items:center;gap:2px;display:flex;overflow:visible}.nav-link{color:var(--text-secondary,#475569);white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 11px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.nav-link svg{flex-shrink:0}.nav-link:hover{color:#1d4ed8;background:#1d4ed814}.nav-link.active{color:#1d4ed8;background:#1d4ed81a;font-weight:700}:root[data-theme=dark] .nav-link{color:#f1f5f9b3}:root[data-theme=dark] .nav-link:hover{color:#60a5fa;background:#60a5fa1f}:root[data-theme=dark] .nav-link.active{color:#60a5fa;background:#60a5fa26}.navbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.profile-menu-wrap{position:relative}.profile-btn{border:1.5px solid var(--navbar-border,#e2e8f0);cursor:pointer;color:var(--text-primary,#1e293b);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.profile-btn:hover{background:var(--bg-secondary,#f8fafc);border-color:#cbd5e1}:root[data-theme=dark] .profile-btn{color:#f1f5f9;border-color:#ffffff1f}:root[data-theme=dark] .profile-btn:hover{background:#ffffff0f}.avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.875rem;font-weight:800;display:flex}.avatar-lg{border-radius:10px;width:40px;height:40px;font-size:1rem}.profile-name{color:var(--text-primary,#1e293b);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-weight:600;overflow:hidden}.profile-dropdown{background:var(--bg-primary,#fff);border:1px solid var(--navbar-border,#e2e8f0);min-width:210px;z-index:var(--z-dropdown);border-radius:14px;animation:.15s fadeInDown;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000024}:root[data-theme=dark] .profile-dropdown{background:#1e293b;border-color:#ffffff1a;box-shadow:0 12px 40px #00000080}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:var(--bg-secondary,#f8fafd);align-items:center;gap:10px;padding:14px 16px;display:flex}:root[data-theme=dark] .dropdown-header{background:#ffffff0a}.dropdown-divider{background:var(--navbar-border,#f1f5f9);height:1px}:root[data-theme=dark] .dropdown-divider{background:#ffffff12}.dropdown-item{width:100%;color:var(--text-secondary,#475569);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:10px 16px;font-size:.855rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.dropdown-item:hover{background:var(--bg-secondary,#f8fafc);color:var(--text-primary,#1e293b)}:root[data-theme=dark] .dropdown-item{color:#f1f5f9bf}:root[data-theme=dark] .dropdown-item:hover{color:#f1f5f9;background:#ffffff0f}.text-red{color:#dc2626!important}.text-red:hover{background:#dc262614!important}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:none}.hamburger:hover{background:var(--bg-secondary,#f1f5f9)}.mobile-menu{border-top:1px solid var(--navbar-border,#e2e8f0);background:var(--navbar-bg,#fff);flex-direction:column;gap:2px;max-height:80vh;padding:12px;animation:.2s fadeInDown;display:flex;overflow-y:auto}:root[data-theme=dark] .mobile-menu{background:#0f172a;border-top-color:#ffffff14}.mobile-menu a,.mobile-menu button{color:var(--text-primary,#1e293b);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 14px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .12s;display:block}.mobile-menu a:hover,.mobile-menu button:hover{background:var(--bg-secondary,#f8fafc)}:root[data-theme=dark] .mobile-menu a,:root[data-theme=dark] .mobile-menu button{color:#e2e8f0}:root[data-theme=dark] .mobile-menu a:hover,:root[data-theme=dark] .mobile-menu button:hover{background:#ffffff0f}.mobile-menu-section{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary,#64748b);border-top:1px solid var(--navbar-border,#e2e8f0);margin-top:4px;padding:8px 14px 4px;font-size:.7rem;font-weight:800}.mobile-menu-section:first-child{border-top:none;margin-top:0}:root[data-theme=dark] .mobile-menu-section{color:#ffffff59;border-top-color:#ffffff0f}@media (width<=900px){.navbar-links{display:none}.hamburger{display:flex}.profile-name{display:none}.navbar-inner{padding:0 16px}}.notif-bell-wrap{position:relative}.notif-bell-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:6px 8px;font-size:1.2rem;line-height:1;transition:background .15s;display:flex;position:relative}.notif-bell-btn:hover{background:var(--bg-secondary,#f1f5f9)}.notif-badge{color:#fff;border:1.5px solid var(--navbar-bg,#fff);pointer-events:none;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.6rem;font-weight:800;line-height:1;display:flex;position:absolute;top:1px;right:1px}.notif-dropdown{background:var(--bg-primary,#fff);border:1px solid var(--navbar-border,#e2e8f0);width:300px;z-index:var(--z-dropdown);border-radius:14px;animation:.15s fadeInDown;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000024}:root[data-theme=dark] .notif-dropdown{background:#1e293b;border-color:#ffffff1a;box-shadow:0 12px 40px #00000080}.notif-header{background:var(--bg-secondary,#f8fafd);border-bottom:1px solid var(--navbar-border,#f1f5f9);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}:root[data-theme=dark] .notif-header{background:#ffffff0a;border-bottom-color:#ffffff12}.notif-mark-read{cursor:pointer;color:#1d4ed8;background:0 0;border:none;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:600}.notif-mark-read:hover{background:#eff6ff}.notif-list{max-height:320px;overflow-y:auto}.notif-empty{text-align:center;color:#94a3b8;padding:24px 16px;font-size:.875rem}.notif-item{border-bottom:1px solid var(--navbar-border,#f1f5f9);padding:12px 16px;transition:background .1s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-secondary,#f8fafc)}.notif-item.unread{background:#eff6ff}.notif-item.unread:hover{background:#dbeafe}:root[data-theme=dark] .notif-item.unread{background:#60a5fa1a}:root[data-theme=dark] .notif-item.unread:hover{background:#60a5fa26}.notif-title{color:var(--text-primary,#1e293b);margin-bottom:2px;font-size:.85rem;font-weight:700}:root[data-theme=dark] .notif-title{color:#f1f5f9}.notif-msg{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.775rem;overflow:hidden}:root[data-theme=dark] .notif-msg{color:#94a3b8}.notif-time{color:#94a3b8;font-size:.7rem}.bottom-nav{display:none}@media (width<=768px){.bottom-nav{background:var(--navbar-bg,#0f172a);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-color,#ffffff1a);height:64px;z-index:var(--z-bottom-nav);padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0006}.bottom-nav-item{color:var(--text-secondary,#94a3b8);-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:8px 4px;text-decoration:none;transition:all .2s;display:flex;position:relative}.bottom-nav-item.active{color:var(--accent,#6366f1)}.bottom-nav-item:active{background:#ffffff14;transform:scale(.92)}.bottom-nav-icon{font-size:1.4rem;line-height:1;transition:transform .2s}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-2px)}.bottom-nav-label{letter-spacing:.01em;text-transform:uppercase;font-size:.62rem;font-weight:700}.bottom-nav-dot{background:#1d4ed8;border-radius:50%;width:4px;height:4px;position:absolute;top:6px}}.footer{background:var(--gray-900);color:var(--gray-400);padding:var(--space-16) 0 var(--space-6);margin-top:auto}.footer-grid{gap:var(--space-8);margin-bottom:var(--space-12);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer-grid>*{min-width:0}.footer-logo{font-family:var(--font-display);color:#fff;margin-bottom:var(--space-3);background:linear-gradient(135deg,#006bd6,#09f);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:900}.footer-brand p{max-width:260px;font-size:.875rem;line-height:1.7}.footer-socials{gap:var(--space-3);margin-top:var(--space-4);display:flex}.footer-socials a{background:var(--gray-800);width:36px;height:36px;color:var(--gray-400);transition:all var(--transition);border-radius:8px;justify-content:center;align-items:center;font-size:1rem;text-decoration:none;display:flex}.footer-socials a:hover{background:var(--ixl-blue);color:#fff}.footer-col h4{color:#fff;margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}.footer-col ul{gap:var(--space-3);flex-direction:column;display:flex}.footer-col ul li a{color:var(--gray-400);transition:color var(--transition);font-size:.875rem;text-decoration:none}.footer-col ul li a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--gray-800);padding-top:var(--space-6)}.footer-bottom p{text-align:center;font-size:.8rem}.footer-bottom a{color:var(--gray-400)}.footer-bottom a:hover{color:#fff}@media (width<=768px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.footer-grid{grid-template-columns:1fr}}.hero{background:var(--bg-primary);padding:80px 0 100px;position:relative;overflow:hidden}.hero-bg{background:radial-gradient(ellipse 80% 60% at 70% 50%, var(--accent-glow,#6366f126) 0%, transparent 70%), radial-gradient(ellipse 50% 40% at 20% 80%, #8b5cf61a 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.hero .container{gap:var(--space-16);grid-template-columns:1fr 1fr;align-items:center;display:grid}.hero-badge{background:var(--bg-card);color:var(--accent);border-radius:var(--radius-pill,9999px);margin-bottom:var(--space-5);border:1px solid var(--border-color);box-shadow:0 4px 15px var(--accent-glow,#6366f133);align-items:center;gap:6px;padding:6px 18px;font-size:.85rem;font-weight:700;display:inline-flex}.hero-title{margin-bottom:var(--space-5);font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1}.hero-gradient{background:linear-gradient(135deg, var(--accent,#6366f1), var(--accent-secondary,#8b5cf6));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-desc{color:var(--text-secondary);margin-bottom:var(--space-8);max-width:520px;font-size:1.1rem}.hero-actions{gap:var(--space-4);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.hero-stats{align-items:center;gap:var(--space-5);display:flex}.hero-stat{text-align:center}.hero-stat span{font-family:var(--font-display);color:var(--accent);font-size:1.5rem;font-weight:900;display:block}.hero-stat p{color:var(--text-muted);font-size:.75rem;font-weight:600}.hero-stat-divider{background:var(--border-color);width:1px;height:40px}.hero-visual{justify-content:center;align-items:center;display:flex}.hero-card{background:var(--bg-secondary);border-radius:var(--radius-lg,16px);padding:var(--space-5);box-shadow:var(--card-shadow);border:1px solid var(--border-color);width:100%;max-width:380px;animation:.8s fadeInUp}.hero-card-header{margin-bottom:var(--space-4);align-items:center;gap:6px;display:flex}.hero-card-dot{border-radius:50%;width:10px;height:10px}.hero-card-dot.red{background:#ff5f57}.hero-card-dot.yellow{background:#febc2e}.hero-card-dot.green{background:#28c840}.hero-q-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);font-size:.75rem;font-weight:600}.hero-q-text{color:var(--text-primary);margin-bottom:var(--space-4);font-size:1rem;font-weight:700}.hero-q-options{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.hero-option{border-radius:var(--radius-md);border:1.5px solid var(--gray-200);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);padding:10px 14px;font-size:.9rem;font-weight:600}.hero-option.correct{background:var(--correct-light);border-color:var(--correct);color:var(--correct);animation:.5s pulse}.hero-score-row{align-items:center;gap:var(--space-3);display:flex}.hero-score-label{color:var(--gray-400);white-space:nowrap;font-size:.75rem;font-weight:700}.hero-score-bar{background:var(--gray-200);border-radius:4px;flex:1;height:8px;overflow:hidden}.hero-score-fill{background:linear-gradient(90deg,#22a55b,#006bd6);border-radius:4px;height:100%;transition:width 1s}.hero-score-num{font-family:var(--font-display);color:#22a55b;font-size:1rem;font-weight:900}.subjects-section{background-color:var(--bg-secondary)}.subjects-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.landing-subject-card{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);background:var(--light);border:1px solid var(--color)22;color:inherit;transition:all var(--transition);text-align:center;flex-direction:column;text-decoration:none;display:flex}.landing-subject-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color);transform:translateY(-4px)}.landing-subject-emoji{font-size:2rem}.landing-subject-name{color:var(--color);font-size:.875rem;font-weight:800}.landing-subject-grades{color:var(--gray-400);font-size:.7rem;font-weight:600}.features-section{background:var(--bg-primary)}.features-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{padding:var(--space-6);transition:all var(--transition)}.feature-card:hover{transform:translateY(-4px)}.feature-icon{margin-bottom:var(--space-4);font-size:2.5rem}.feature-title{margin-bottom:var(--space-2);font-size:1.1rem;font-weight:800}.feature-desc{color:var(--text-secondary);font-size:.875rem;line-height:1.7}.smartscore-section{background-color:var(--bg-secondary)}.smartscore-explain{gap:var(--space-16);grid-template-columns:1fr 1fr;align-items:center;display:grid}.smartscore-explain-text h2{margin-bottom:var(--space-4)}.smartscore-explain-text>p{margin-bottom:var(--space-6);font-size:1rem}.zones{gap:var(--space-4);flex-direction:column;display:flex}.zone-row{gap:var(--space-4);align-items:flex-start;display:flex}.zone-badge{border-radius:var(--radius-full);white-space:nowrap;padding:4px 12px;font-size:.8rem;font-weight:800}.zone-label{font-size:.9rem;font-weight:700}.zone-desc{color:var(--gray-500);font-size:.8rem}.smartscore-explain-visual{justify-content:center;display:flex}.big-score-demo{text-align:center}.bsd-arc{display:inline-block;position:relative}.bsd-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.bsd-zone{margin-top:var(--space-3);color:#f39c12;font-size:.9rem;font-weight:700}.testimonials-section{background:var(--bg-primary)}.testimonials-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.testimonial-card{padding:var(--space-6)}.testimonial-quote{color:var(--ixl-blue);margin-bottom:var(--space-4);opacity:.3;font-family:Georgia,serif;font-size:4rem;line-height:.5}.testimonial-text{color:var(--text-primary);margin-bottom:var(--space-5);font-size:.9375rem;font-style:italic;line-height:1.7}.testimonial-author{gap:var(--space-3);align-items:center;display:flex}.cta-section{padding:var(--space-20) 0;color:#fff;background:linear-gradient(135deg,#006bd6 0%,#09f 50%,#8b5cf6 100%)}.cta-section h2{color:#fff;margin-bottom:var(--space-3)}.cta-section p{color:#ffffffd9;margin-bottom:var(--space-8);font-size:1.1rem}.cta-buttons{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.cta-section .btn-primary{background-color:var(--bg-secondary);color:var(--ixl-blue);box-shadow:0 4px 20px #0003}.cta-section .btn-primary:hover{background:#f0f0f0}.cta-section .btn-ghost{color:#fff;border-color:#ffffff80}.cta-section .btn-ghost:hover{background:#ffffff26;border-color:#fff}@media (width<=1024px){.features-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero .container{grid-template-columns:1fr}.hero-visual{display:none}.smartscore-explain,.features-grid,.testimonials-grid{grid-template-columns:1fr}}.server-settings-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;z-index:999;background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:all .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #0003}.server-settings-btn:hover{background:#ffffff40;transform:scale(1.1)rotate(30deg)}.ss-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;background:#0009;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ss-modal{background:#1a1a2e;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:440px;padding:28px;animation:.25s cubic-bezier(.34,1.56,.64,1) popIn;box-shadow:0 24px 60px #00000080}@keyframes popIn{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.ss-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ss-header h2{color:#fff;margin:0;font-size:1.25rem;font-weight:800}.ss-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1rem;transition:all .2s}.ss-close:hover{color:#fff;background:#ffffff1a}.ss-desc{color:#fff9;margin-bottom:20px;font-size:.875rem;line-height:1.5}.ss-desc strong{color:#ffffffe6}.ss-field{margin-bottom:12px}.ss-field label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.ss-field input{color:#fff;box-sizing:border-box;background:#ffffff12;border:1.5px solid #ffffff26;border-radius:10px;width:100%;padding:12px 14px;font-family:monospace;font-size:.9rem;transition:border-color .2s}.ss-field input:focus{background:#7c3aed14;border-color:#7c3aed;outline:none}.ss-examples{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.ss-example-label{color:#fff6;margin-right:2px;font-size:.75rem}.ss-examples code{color:#a78bfa;cursor:pointer;background:#ffffff12;border-radius:6px;padding:3px 8px;font-size:.72rem}.ss-result{border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:.875rem;font-weight:600}.ss-result.ok{color:#4ade80;background:#22a55b26;border:1px solid #22a55b4d}.ss-result.err{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.ss-actions{flex-wrap:wrap;gap:8px;display:flex}.ss-btn{cursor:pointer;border:none;border-radius:10px;flex:1;min-width:100px;padding:10px 14px;font-size:.875rem;font-weight:700;transition:all .2s}.ss-btn:disabled{opacity:.6;cursor:default}.ss-btn-ghost{color:#fff9;background:#ffffff0f;border:1px solid #ffffff1a}.ss-btn-ghost:hover:not(:disabled){color:#fff;background:#ffffff1a}.ss-btn-secondary{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d}.ss-btn-secondary:hover:not(:disabled){background:#6366f140}.ss-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 4px 12px #7c3aed4d}.ss-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.opm-backdrop{-webkit-backdrop-filter:blur(12px);z-index:10000;background:#0f172ae0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.opm-card{text-align:center;background:#1e293b;border:1px solid #94a3b833;border-radius:24px;width:100%;max-width:360px;padding:24px 20px;animation:.25s cubic-bezier(.34,1.56,.64,1) opmPop;box-shadow:0 20px 40px #0009}@keyframes opmPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.opm-header{margin-bottom:16px}.opm-icon{font-size:2rem}.opm-title{color:#f8fafc;margin:6px 0 2px;font-size:1.25rem;font-weight:800}.opm-subtitle{color:#94a3b8;margin:0;font-size:.8rem}.opm-error{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;border-radius:10px;margin-bottom:16px;padding:8px 12px;font-size:.8rem;font-weight:700}.opm-dots{justify-content:center;gap:16px;margin-bottom:24px;display:flex}.opm-dot{border:2px solid #94a3b866;border-radius:50%;width:16px;height:16px;transition:all .15s}.opm-dot.active{background:#6366f1;border-color:#818cf8;box-shadow:0 0 12px #6366f199}.opm-keypad{grid-template-columns:repeat(3,1fr);gap:12px;max-width:280px;margin:0 auto 20px;display:grid}.opm-key{color:#f8fafc;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;height:54px;font-size:1.3rem;font-weight:700;transition:all .15s;display:flex}.opm-key:active{background:#6366f14d;transform:scale(.92)}.opm-key--action{color:#94a3b8;font-size:1rem}.opm-actions{justify-content:center;display:flex}.opm-cancel-btn{color:#64748b;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:.85rem;font-weight:700}*{box-sizing:border-box}.auth-page{background:var(--bg-primary,#0f172a);width:100%;max-width:100vw;min-height:100vh;font-family:var(--font-body,"Inter", sans-serif);background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);justify-content:center;align-items:center;padding:32px 16px;display:flex;overflow-x:hidden}.auth-card{background-color:var(--bg-secondary,#1e293b);border:1px solid var(--border-color,#94a3b833);box-sizing:border-box;border-radius:20px;width:100%;max-width:440px;padding:36px 32px;animation:.3s authSlide;overflow:hidden;box-shadow:0 16px 48px #0000004d}@keyframes authSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.auth-page{padding:16px 12px}.auth-card{border-radius:16px;padding:24px 18px}}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{color:var(--accent,#6366f1);letter-spacing:-.3px;margin-bottom:16px;font-size:1.05rem;font-weight:900;text-decoration:none;display:inline-block}.auth-logo:hover{opacity:.85}.auth-title{color:var(--text-primary,#f8fafc);letter-spacing:-.5px;margin-bottom:8px;font-size:1.4rem;font-weight:900}.auth-sub{color:var(--text-secondary,#94a3b8);font-size:.875rem}.auth-sub a{color:var(--accent,#6366f1);font-weight:700;text-decoration:none}.auth-sub a:hover{text-decoration:underline}.auth-error{color:#f87171;text-align:center;word-break:break-word;background:#ef444426;border:1px solid #ef444466;border-radius:10px;margin-bottom:18px;padding:11px 14px;font-size:.875rem;font-weight:600}.auth-form{flex-direction:column;gap:16px;width:100%;display:flex}.auth-field{flex-direction:column;gap:6px;width:100%;display:flex}.auth-field label{color:var(--text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.auth-field input,.auth-field select{border:1px solid var(--border-color,#94a3b840);color:var(--text-primary,#f8fafc);background-color:var(--input-bg,#0f172acc);box-sizing:border-box;border-radius:10px;width:100%;max-width:100%;padding:12px 14px;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.auth-field input:focus,.auth-field select:focus{border-color:var(--accent,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f133}.auth-field input::placeholder{color:#64748b}.auth-btn{background:var(--accent,#6366f1);color:#fff;cursor:pointer;letter-spacing:.01em;box-sizing:border-box;border:none;border-radius:10px;width:100%;margin-top:6px;padding:13px 20px;font-size:.95rem;font-weight:800;transition:all .15s}.auth-btn:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.auth-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-info-box{color:var(--text-primary,#f8fafc);background:#6366f11f;border:1px solid #6366f14d;border-radius:10px;margin-top:20px;padding:13px 16px;font-size:.8rem;line-height:1.6}.auth-info-box strong{font-weight:800}.auth-info-box a{color:var(--accent,#6366f1);font-weight:700}.auth-footer-link{text-align:center;color:var(--text-secondary,#94a3b8);margin-top:20px;font-size:.855rem}.auth-footer-link a{color:var(--accent,#6366f1);font-weight:700;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.sg-role-card{box-sizing:border-box;width:100%;max-width:560px}.sg-role-grid{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin:20px 0;display:grid}@media (width<=520px){.sg-role-grid{grid-template-columns:1fr;gap:10px}}.sg-role-btn{border:1px solid var(--border-color,#94a3b840);background:var(--bg-primary,#0f172a);cursor:pointer;text-align:left;color:var(--text-primary,#f8fafc);box-sizing:border-box;border-radius:14px;width:100%;padding:16px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.sg-role-btn:hover{border-color:var(--role-color,#7c3aed);background-color:var(--bg-secondary,#1e293b);transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.sg-role-btn.active{border-color:var(--role-color,#7c3aed);background-color:var(--bg-secondary,#1e293b);outline:2px solid var(--role-color,#7c3aed);outline-offset:-2px;box-shadow:0 6px 20px #0000004d}.sg-role-emoji{margin-bottom:8px;font-size:2rem;line-height:1}.sg-role-label{color:var(--text-primary,#f8fafc);margin-bottom:4px;font-size:.95rem;font-weight:800}.sg-role-desc{color:var(--text-secondary,#94a3b8);margin-bottom:10px;font-size:.72rem;line-height:1.4}.sg-role-badge{letter-spacing:.01em;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-block}.sg-gate-card{max-width:480px}.sg-gate-icon{text-align:center;margin-bottom:8px;font-size:3rem}.sg-gate-title{text-align:center;color:#0f172a;margin:0 0 8px;font-size:1.4rem;font-weight:900}.sg-gate-sub{text-align:center;color:#475569;margin:0 0 24px;font-size:.88rem;line-height:1.6}.sg-gate-flow{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:18px}.sg-gate-step{opacity:.5;align-items:flex-start;gap:12px;transition:opacity .2s;display:flex}.sg-gate-step.active{opacity:1}.sg-gate-step-n{color:#475569;background:#e2e8f0;border:1.5px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;display:flex}.sg-gate-step.active .sg-gate-step-n{color:#fff;background:#7c3aed;border-color:#7c3aed}.sg-gate-step-title{color:#1e293b;font-size:.88rem;font-weight:700}.sg-gate-step-desc{color:#64748b;margin-top:2px;font-size:.75rem}.sg-gate-arrow{text-align:center;color:#cbd5e1;margin:8px 0;font-size:1.2rem}.sg-gate-cta{letter-spacing:.01em;margin-bottom:20px!important;font-size:.95rem!important}.sg-gate-divider{text-align:center;margin:20px 0 16px;position:relative}.sg-gate-divider:before,.sg-gate-divider:after{content:"";background:#e2e8f0;width:28%;height:1px;position:absolute;top:50%}.sg-gate-divider:before{left:0}.sg-gate-divider:after{right:0}.sg-gate-divider span{color:#94a3b8;background:0 0;padding:0 8px;font-size:.75rem}.sg-gate-verify{flex-direction:column;gap:8px;display:flex}.sg-gate-ref-input{color:#fff;box-sizing:border-box;background:#ffffff0f;border:1.5px solid #ffffff26;border-radius:10px;width:100%;padding:11px 14px;font-family:monospace;font-size:.9rem;transition:border-color .2s}.sg-gate-ref-input:focus{border-color:#7c3aed99;outline:none}.sg-gate-ref-input::placeholder{color:#ffffff4d}.sg-gate-verify-btn{color:#a78bfa;cursor:pointer;background:#7c3aed26;border:1.5px solid #7c3aed80;border-radius:10px;padding:11px 18px;font-size:.88rem;font-weight:700;transition:all .2s}.sg-gate-verify-btn:hover:not(:disabled){color:#fff;background:#7c3aed4d;border-color:#7c3aed}.sg-gate-verify-btn:disabled{opacity:.5;cursor:not-allowed}.sg-role-change-link{color:#a78bfa;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.sg-back-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:0;font-size:.82rem;transition:color .15s}.sg-back-btn:hover{color:#fff}.sg-form-role-badge{color:#a78bfa;background:#7c3aed33;border:1px solid #7c3aed66;border-radius:999px;margin-bottom:10px;padding:5px 14px;font-size:.82rem;font-weight:700;display:inline-block}.sg-ref-confirmed{color:#4ade80;background:#4ade801a;border:1px solid #4ade8033;border-radius:8px;margin-top:6px;padding:6px 12px;font-size:.78rem}.sg-ref-confirmed code{font-family:monospace;font-weight:700}.sg-required{color:#f87171;font-size:.75rem}.sg-name-wrap{position:relative}.sg-name-hint{margin-top:4px;font-size:.75rem;font-weight:600;display:block}.sg-name-hint.checking{color:#94a3b8}.sg-name-hint.taken{color:#dc2626}.sg-name-hint.ok{color:#16a34a}.sg-input-error{border-color:#dc262680!important}.sg-input-ok{border-color:#16a34a80!important}.sg-field-hint{color:#94a3b8;margin-top:4px;font-size:.72rem}.sg-done-card{text-align:center;max-width:460px}.sg-done-icon{margin-bottom:12px;font-size:3.5rem;animation:2s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.sg-done-title{color:#0f172a;margin:0 0 8px;font-size:1.4rem;font-weight:900}.sg-done-sub{color:#475569;margin:0 0 24px;font-size:.88rem;line-height:1.6}.sg-done-steps{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.sg-done-step{color:#334155;align-items:center;gap:12px;font-size:.85rem;display:flex}.sg-done-step-n{color:#7c3aed;background:#7c3aed1a;border:1.5px solid #7c3aed4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;display:flex}.sg-help{color:#94a3b8;margin-top:16px;font-size:.75rem}@media (width<=480px){.sg-role-grid{grid-template-columns:1fr}}.pricing-page{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.pricing-hero{text-align:center;padding:80px 24px 60px;position:relative;overflow:hidden}.pricing-hero-glow{pointer-events:none;background:radial-gradient(#7c3aed59 0%,#10b9811f 50%,#0000 70%);width:700px;height:400px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.pricing-hero-content{z-index:1;max-width:720px;margin:0 auto;position:relative}.pricing-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#a78bfa;background:#7c3aed26;border:1px solid #7c3aed59;border-radius:999px;margin-bottom:20px;padding:5px 16px;font-size:.85rem;font-weight:700;display:inline-block}.pricing-headline{background:linear-gradient(135deg,#fff 30%,#a78bfa 70%,#10b981 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.1}.pricing-subhead{color:#fff9;margin:0 0 36px;font-size:1.05rem;line-height:1.7}.pricing-toggle-wrap{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;gap:4px;padding:5px;display:inline-flex}.pricing-toggle-btn{cursor:pointer;color:#ffffff8c;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 24px;font-size:.92rem;font-weight:600;transition:all .25s;display:flex}.pricing-toggle-btn.active{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 4px 16px #7c3aed66}.pricing-toggle-save{color:#34d399;background:#10b98140;border:1px solid #10b98166;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.pricing-cards-section{max-width:1200px;margin:0 auto;padding:0 24px 60px}.pricing-cards-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.pricing-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:28px 24px 24px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.pricing-card:before{content:"";background:var(--plan-color);border-radius:20px 20px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.pricing-card:hover{border-color:#ffffff26;transform:translateY(-8px);box-shadow:0 20px 60px #0006,0 0 40px #0003}.pricing-card-popular{background:#7c3aed12;border-color:#7c3aed80;box-shadow:0 0 40px #7c3aed26}.pricing-card-popular:before{background:linear-gradient(90deg,#7c3aed,#6366f1,#10b981);height:3px}.pricing-popular-badge{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700;position:absolute;top:16px;right:16px;box-shadow:0 4px 12px #7c3aed66}.pricing-trial-badge{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:999px;margin-bottom:16px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.pricing-card-top{margin-bottom:20px}.pricing-card-emoji{margin-bottom:8px;font-size:2.2rem}.pricing-card-name{margin-bottom:4px;font-size:1.4rem;font-weight:800}.pricing-card-target{text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin-bottom:6px;font-size:.75rem;font-weight:600}.pricing-card-desc{color:#fff9;font-size:.88rem}.pricing-student-selector{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;margin-bottom:20px;padding:14px 16px}.pricing-student-selector label{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:.78rem;font-weight:600;display:block}.pricing-student-input-wrap{align-items:center;gap:10px;margin-bottom:8px;display:flex}.pricing-student-btn{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:all .2s;display:flex}.pricing-student-btn:hover{background:#ffffff26}.pricing-student-input{text-align:center;color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:8px;width:80px;padding:6px 8px;font-size:1rem;font-weight:700}.pricing-student-input::-webkit-inner-spin-button{-webkit-appearance:none}.pricing-per-student{color:#fff6;font-size:.75rem}.pricing-price-block{border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;margin-bottom:24px;padding:16px 0}.pricing-price-main{align-items:baseline;gap:4px;margin-bottom:4px;display:flex}.pricing-currency{color:#ffffffb3;font-size:1.3rem;font-weight:700}.pricing-amount{color:#fff;font-size:2.8rem;font-weight:900;line-height:1}.pricing-period{color:#ffffff80;font-size:1rem}.pricing-price-billed{color:#ffffff73;margin-bottom:8px;font-size:.8rem}.pricing-savings-badge{color:#34d399;background:#10b9811f;border:1px solid #10b9814d;border-radius:999px;margin-bottom:6px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.pricing-per-student-note{color:#fff6;font-size:.8rem}.pricing-features{margin:0 0 24px;padding:0;list-style:none}.pricing-feature-row{color:#fffc;border-bottom:1px solid #ffffff0a;align-items:flex-start;gap:10px;padding:7px 0;font-size:.88rem;display:flex}.pricing-check{flex-shrink:0;margin-top:1px;font-size:.9rem;font-weight:700}.pricing-cta-btn{cursor:pointer;background:var(--btn-color);color:#fff;border:none;border-radius:12px;width:100%;margin-bottom:10px;padding:14px;font-size:1rem;font-weight:700;transition:all .25s;box-shadow:0 4px 16px #0000004d}.pricing-cta-btn:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 8px 24px #0006}.pricing-trial-note{text-align:center;color:#ffffff59;font-size:.75rem}.pricing-section-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:#a78bfa;margin-bottom:20px;font-size:.78rem;font-weight:700}.pricing-payment-section{text-align:center;max-width:900px;margin:0 auto;padding:60px 24px}.pricing-payment-intro{color:#fff9;margin-bottom:36px;font-size:1rem;line-height:1.7}.pricing-payment-intro strong{color:#34d399}.pricing-payment-cards{text-align:left;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.pricing-payment-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:24px;transition:transform .2s,box-shadow .2s}.pricing-payment-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.jazzcash-card{background:#ed1c240a;border-color:#ed1c2440}.meezan-card{background:#10b9810a;border-color:#10b98140}.pricing-payment-logo{align-items:center;gap:10px;margin-bottom:16px;display:flex}.pricing-payment-emoji{font-size:1.8rem}.pricing-payment-brand{color:#fff;font-size:1.1rem;font-weight:800}.pricing-payment-detail{margin-bottom:14px}.pricing-payment-label{text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin-bottom:6px;font-size:.72rem;font-weight:700}.pricing-payment-value{color:#fff;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-family:Courier New,monospace;font-size:1rem;font-weight:700;display:flex}.iban-value{word-break:break-all;font-size:.82rem}.copy-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:.75rem;transition:all .2s}.copy-btn:hover{background:#fff3}.pricing-payment-instruction{color:#fff6;font-size:.78rem;font-style:italic}.pricing-payment-note{color:#ffffffb3;text-align:left;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:12px;padding:16px 20px;font-size:.88rem;line-height:1.6}.pricing-features-section{max-width:1100px;margin:0 auto;padding:60px 24px}.pricing-features-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.pricing-feature-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;padding:20px;transition:all .2s}.pricing-feature-card:hover{background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-3px)}.pricing-feature-icon{margin-bottom:10px;font-size:1.8rem}.pricing-feature-title{color:#fff;margin-bottom:6px;font-size:.95rem;font-weight:700}.pricing-feature-desc{color:#ffffff80;font-size:.82rem;line-height:1.5}.pricing-faq-section{max-width:760px;margin:0 auto;padding:60px 24px}.pricing-faq-list{flex-direction:column;gap:8px;display:flex}.pricing-faq-item{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;transition:all .2s;overflow:hidden}.pricing-faq-item:hover{border-color:#ffffff26}.pricing-faq-item.open{background:#7c3aed0d;border-color:#7c3aed4d}.pricing-faq-q{color:#ffffffe6;justify-content:space-between;align-items:center;padding:16px 18px;font-size:.95rem;font-weight:600;display:flex}.pricing-faq-arrow{color:#fff6;font-size:.75rem;transition:transform .2s}.pricing-faq-a{color:#fff9;padding:0 18px 16px;font-size:.88rem;line-height:1.7}.pricing-bottom-cta{text-align:center;background:linear-gradient(#0000,#7c3aed14);border-top:1px solid #ffffff0d;padding:80px 24px}.pricing-bottom-cta h2{color:#fff;margin-bottom:12px;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:900}.pricing-bottom-cta p{color:#fff9;margin-bottom:32px;font-size:1rem}.pricing-bottom-btns{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.pricing-cta-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6366f1);border:none;border-radius:999px;padding:14px 36px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-block;box-shadow:0 8px 24px #7c3aed66}.pricing-cta-primary:hover{filter:brightness(1.15);transform:translateY(-2px)}.pricing-cta-secondary{color:#fffc;background:#ffffff0f;border:1px solid #ffffff26;border-radius:999px;padding:14px 36px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-block}.pricing-cta-secondary:hover{color:#fff;background:#ffffff1a}@media (width<=900px){.pricing-cards-grid{grid-template-columns:1fr 1fr}.pricing-cards-grid .pricing-card:last-child{grid-column:1/-1;width:100%;max-width:500px;margin:0 auto}.pricing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.pricing-hero{padding:60px 16px 40px}.pricing-cards-grid{grid-template-columns:1fr}.pricing-cards-grid .pricing-card:last-child{max-width:100%}.pricing-payment-cards,.pricing-features-grid{grid-template-columns:1fr}.pricing-cards-section{padding:0 16px 40px}.pricing-payment-section,.pricing-features-section,.pricing-faq-section{padding:40px 16px}}.co-page{color:#f1f5f9;background:#0a0a0f;min-height:100vh;padding:24px 16px 60px}.co-container{max-width:1000px;margin:0 auto}.co-header{margin-bottom:32px}.co-back-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:0;font-size:.88rem;transition:color .2s;display:block}.co-back-btn:hover{color:#fff}.co-title{background:linear-gradient(135deg,#fff 40%,#a78bfa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.4rem,4vw,2rem);font-weight:900}.co-steps{justify-content:center;align-items:center;gap:0;margin-bottom:40px;display:flex}.co-step-dot{flex-direction:column;align-items:center;gap:6px;display:flex}.co-step-circle{color:#fff6;background:#ffffff0a;border:2px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.88rem;font-weight:700;transition:all .3s;display:flex}.co-step-dot.active .co-step-circle{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 0 16px #7c3aed80}.co-step-dot.done .co-step-circle{color:#fff;background:#10b981;border-color:#10b981}.co-step-label{color:#fff6;white-space:nowrap;font-size:.72rem;font-weight:600}.co-step-dot.active .co-step-label{color:#a78bfa}.co-step-dot.done .co-step-label{color:#34d399}.co-step-line{background:#ffffff14;flex:1;max-width:100px;height:2px;transition:background .3s}.co-step-line.done{background:#10b981}.co-body{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}.co-step-content{min-width:0}.co-order-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:24px;padding:28px}.co-order-header{border-bottom:1px solid #ffffff12;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;display:flex}.co-order-emoji{font-size:2rem}.co-order-plan-name{font-size:1.3rem;font-weight:800}.co-order-sub{color:#fff6;font-size:.82rem}.co-order-rows{flex-direction:column;gap:0;display:flex}.co-order-row{color:#ffffffb3;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:12px 0;font-size:.92rem;display:flex}.co-order-row:last-child{border-bottom:none}.co-order-row strong{color:#fff}.savings-row span{color:#34d399}.savings-amount{color:#34d399!important}.co-order-total{color:#ffffffe6;background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:12px;justify-content:space-between;align-items:center;margin-top:12px;padding:16px 20px;font-size:1.05rem;display:flex}.co-order-total strong{color:#fff;font-size:1.2rem;font-weight:900}.co-trial-notice{color:#ffffffb3;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:10px;margin-top:20px;padding:12px 16px;font-size:.85rem}.co-trial-notice strong{color:#fbbf24}.co-amount-reminder{text-align:center;color:#fff9;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;margin-bottom:24px;padding:16px;font-size:.9rem}.co-amount-big{color:#10b981;margin-top:4px;font-size:1.6rem;font-weight:900;display:block}.co-method-cards{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.co-method-card{cursor:pointer;background:#ffffff0a;border:2px solid #ffffff14;border-radius:16px;padding:20px;transition:all .25s}.co-method-card:hover{background:#ffffff0f;border-color:#fff3}.co-method-card.jazzcash.selected{background:#ed1c240f;border-color:#ed1c2499;box-shadow:0 0 24px #ed1c2426}.co-method-card.meezan.selected{background:#10b9810f;border-color:#10b98199;box-shadow:0 0 24px #10b98126}.co-method-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.co-method-radio{border:2px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.co-method-radio-dot{background:0 0;border-radius:50%;width:10px;height:10px;transition:background .2s}.co-method-radio-dot.active{background-color:var(--bg-secondary)}.co-method-emoji{font-size:1.4rem}.co-method-name{color:#fff;flex:1;font-size:1rem;font-weight:700}.co-method-flag{font-size:1rem}.co-method-body{flex-direction:column;gap:12px;padding-left:30px;display:flex}.co-method-label{text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin-bottom:5px;font-size:.7rem;font-weight:700}.co-method-value{color:#fff;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex}.co-method-mono{font-family:Courier New,monospace;font-size:.95rem;font-weight:700}.co-method-iban{word-break:break-all;font-size:.8rem}.iban-wrap{flex-wrap:wrap}.amount-highlight{color:#34d399;background:#10b98114;border-color:#10b9814d;font-weight:700}.co-method-instructions{color:#fff6;font-size:.8rem;font-style:italic;line-height:1.5}.co-method-required{text-align:center;color:#ffffff59;margin-top:10px;font-size:.82rem}.co-proof-intro{text-align:center;background:#7c3aed12;border:1px solid #7c3aed33;border-radius:16px;margin-bottom:28px;padding:24px}.co-proof-intro-icon{margin-bottom:8px;font-size:2rem}.co-proof-intro h3{color:#fff;margin:0 0 8px;font-size:1.1rem;font-weight:800}.co-proof-intro p{color:#ffffff8c;margin:0;font-size:.88rem}.co-proof-form{flex-direction:column;gap:18px;display:flex}.co-form-field{flex-direction:column;gap:6px;display:flex}.co-form-field label{color:#ffffffbf;font-size:.85rem;font-weight:600}.req{color:#f87171}.co-form-field input,.co-form-field select{color:#fff;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-size:.92rem;transition:border-color .2s}.co-form-field input:focus,.co-form-field select:focus{background:#7c3aed0f;border-color:#7c3aed80}.co-form-field select option{color:#fff;background:#1a1a2e}.co-field-hint{color:#ffffff59;font-size:.75rem}.co-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex}.co-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 4px 16px #7c3aed59}.co-btn-primary:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed73}.co-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.co-btn-ghost{color:#ffffffb3;background:#ffffff0f;border:1px solid #ffffff1f}.co-btn-ghost:hover{color:#fff;background:#ffffff1a}.co-proceed-btn{border-radius:14px;width:100%;padding:16px;font-size:1.05rem}.co-submit-btn{background:linear-gradient(135deg,#10b981,#059669);border-radius:14px;width:100%;padding:16px;font-size:1.05rem;box-shadow:0 4px 16px #10b98159}.co-submit-btn:hover:not(:disabled){box-shadow:0 8px 24px #10b98173}.co-copy-btn{color:#fffc;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .2s}.co-copy-btn:hover{color:#fff;background:#fff3}.co-error{color:#fca5a5;background:#f871711a;border:1px solid #f871714d;border-radius:10px;padding:12px 16px;font-size:.88rem}.co-security-note{text-align:center;color:#ffffff59;margin-top:12px;font-size:.78rem}.co-security-note strong{color:#ffffff8c}.co-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite co-spin}@keyframes co-spin{to{transform:rotate(360deg)}}.co-sidebar-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;margin-bottom:12px;padding:20px;position:sticky;top:24px}.co-sidebar-title{text-transform:uppercase;letter-spacing:.1em;color:#fff6;margin-bottom:14px;font-size:.72rem;font-weight:700}.co-sidebar-plan{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;display:flex}.co-sidebar-emoji{font-size:1.5rem}.co-sidebar-plan-name{font-size:.95rem;font-weight:700}.co-sidebar-plan-sub{color:#fff6;font-size:.75rem}.co-sidebar-rows{margin-bottom:12px}.co-sidebar-row{color:#fff9;border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:8px 0;font-size:.82rem;display:flex}.co-sidebar-total{color:#ffffffe6;justify-content:space-between;margin-top:4px;padding:12px 0 0;font-size:.95rem;display:flex}.co-sidebar-total strong{color:#fff;font-size:1.05rem}.co-sidebar-trial{color:#fbbf24;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:.78rem}.co-sidebar-methods{border-top:1px solid #ffffff0d;margin-top:12px;padding-top:12px}.co-sidebar-methods-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;margin-bottom:8px;font-size:.7rem}.co-sidebar-methods-list{color:#ffffff8c;flex-direction:column;gap:4px;font-size:.8rem;display:flex}.co-sidebar-help{color:#ffffff8c;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;padding:14px;font-size:.85rem}.co-success-screen{text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:24px;max-width:500px;margin:60px auto;padding:48px 36px;animation:.5s co-fadeIn}@keyframes co-fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.co-success-confetti{margin-bottom:8px;font-size:3rem;animation:.6s co-bounce}@keyframes co-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.co-success-icon{margin-bottom:16px;font-size:3rem}.co-success-title{color:#fff;margin:0 0 16px;font-size:1.8rem;font-weight:900}.co-success-msg{color:#ffffffa6;margin-bottom:20px;font-size:1rem;line-height:1.7}.co-success-msg strong{color:#34d399}.co-success-ref{color:#fff9;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:28px;padding:10px 16px;font-family:monospace;font-size:.85rem}.co-success-ref strong{color:#fff}.co-success-btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@media (width<=768px){.co-body{grid-template-columns:1fr}.co-sidebar{order:-1}.co-sidebar-card{position:static}.co-step-label{display:none}.co-steps{gap:4px}}@media (width<=480px){.co-page{padding:16px 12px 40px}.co-success-screen{margin:20px auto;padding:32px 20px}}.jc-page{background:#0a0a0f;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:40px 16px;display:flex;position:relative;overflow:hidden}.jc-bg-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#7c3aed40 0%,#0000 70%);width:600px;height:600px;position:fixed;top:-200px;left:50%;transform:translate(-50%)}.jc-card{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:480px;padding:48px 40px;position:relative}.jc-card-success{background:#4ade800d;border-color:#4ade804d}.jc-icon{margin-bottom:16px;font-size:3.5rem;display:block}.jc-success-icon{margin-bottom:12px;font-size:4rem;animation:.6s jc-bounce}@keyframes jc-bounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.jc-title{color:#fff;margin:0 0 12px;font-size:2rem;font-weight:800}.jc-subtitle{color:#fff9;margin:0 0 32px;font-size:1rem;line-height:1.6}.jc-highlight{color:#4ade80;font-weight:700}.jc-form{flex-direction:column;gap:16px;display:flex}.jc-input-wrap{flex-direction:column;gap:6px;display:flex}.jc-input{color:#fff;letter-spacing:.4em;text-align:center;box-sizing:border-box;text-transform:uppercase;background:#ffffff14;border:2px solid #ffffff26;border-radius:14px;width:100%;padding:18px 24px;font-family:Courier New,monospace;font-size:2rem;font-weight:800;transition:border-color .2s}.jc-input:focus{background:#7c3aed14;border-color:#7c3aed;outline:none}.jc-input-hint{color:#ffffff59;font-size:.78rem}.jc-error{color:#f87171;background:#f871711f;border:1px solid #f871714d;border-radius:10px;padding:10px 16px;font-size:.88rem}.jc-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 28px;font-size:1rem;font-weight:700;transition:all .2s;display:inline-flex}.jc-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#9f67ff);box-shadow:0 4px 20px #7c3aed66}.jc-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #7c3aed80}.jc-btn-primary:disabled{opacity:.5;cursor:not-allowed}.jc-btn-ghost{color:#ffffffb3;background:#ffffff12;border:1px solid #ffffff1f}.jc-btn-ghost:hover{color:#fff;background:#ffffff1f}.jc-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite jc-spin}@keyframes jc-spin{to{transform:rotate(360deg)}}.jc-divider{color:#ffffff4d;margin:20px 0;font-size:.85rem;position:relative}.jc-divider:before,.jc-divider:after{content:"";background:#ffffff1a;width:calc(50% - 20px);height:1px;position:absolute;top:50%}.jc-divider:before{left:0}.jc-divider:after{right:0}.jc-alternatives{flex-direction:column;align-items:center;gap:12px;display:flex}.jc-alternatives p{color:#fff6;margin:0;font-size:.85rem}.jc-success-text{color:#fffc;margin-bottom:24px;font-size:1.05rem}.jc-success-info{text-align:left;background:#ffffff0d;border-radius:12px;flex-direction:column;gap:10px;margin-bottom:24px;padding:16px;display:flex}.jc-info-row{color:#ffffffb3;justify-content:space-between;font-size:.9rem;display:flex}.jc-access-granted{background:#4ade8014;border-radius:8px;padding:6px 10px;font-weight:700;color:#4ade80!important}.jc-success-btns{flex-direction:column;gap:12px;display:flex}.jc-how-card{z-index:1;background:#ffffff08;border:1px solid #ffffff12;border-radius:16px;width:100%;max-width:480px;padding:28px 32px;position:relative}.jc-how-card h3{color:#ffffff80;letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px;font-size:.8rem}.jc-steps{flex-direction:column;gap:16px;display:flex}.jc-step{color:#fff9;align-items:flex-start;gap:16px;font-size:.9rem;line-height:1.5;display:flex}.jc-step-num{color:#a78bfa;background:#7c3aed40;border:1px solid #7c3aed66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:flex}.pricing-student-slider-wrap{margin-top:10px}.pricing-student-slider{cursor:pointer;width:100%;height:6px;accent-color:var(--plan-color,#7c3aed);background:#ffffff1a;border-radius:3px;outline:none}.pricing-slider-labels{color:#ffffff59;justify-content:space-between;margin-top:4px;font-size:.72rem;display:flex}.pricing-student-range{color:#fff6;font-size:.78rem;font-weight:400}@media (width<=480px){.jc-card{padding:32px 20px}.jc-title{font-size:1.6rem}.jc-input{letter-spacing:.3em;font-size:1.5rem}}.payment-result-page{min-height:100vh;font-family:var(--font-body,"Inter", sans-serif);background:#f1f5f9;justify-content:center;align-items:center;padding:40px 20px;display:flex}.payment-result-card{background-color:var(--bg-secondary);text-align:center;border:1.5px solid #e2e8f0;border-radius:20px;width:100%;max-width:480px;padding:52px 44px;animation:.3s slideUp;box-shadow:0 8px 40px #00000014}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.result-icon{border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 24px;display:flex}.result-icon-success{background:#dcfce7}.result-icon-warning{background:#fef3c7}.result-icon-cancel{background:#fee2e2}.result-title{color:#0f172a;letter-spacing:-.5px;margin-bottom:12px;font-size:1.65rem;font-weight:900}.result-subtitle{color:#475569;margin-bottom:24px;font-size:.925rem;line-height:1.7}.result-ref{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;margin-bottom:28px;padding:10px 18px;font-size:.82rem;display:inline-flex}.result-ref span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.result-ref strong{color:#1d4ed8;letter-spacing:.5px;font-weight:800}.result-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.result-spinner{border:3px solid #e2e8f0;border-top-color:#1d4ed8;border-radius:50%;width:44px;height:44px;margin:0 auto 20px;animation:.8s linear infinite spin}.result-loading-text{color:#94a3b8;font-size:.9rem;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}.m3-subject-card{color:var(--text-primary);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--card-shadow,0 4px 16px #0003);border-radius:18px;flex-direction:column;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.m3-subject-card:hover{border-color:var(--accent);box-shadow:0 12px 30px #00000040, 0 0 20px var(--accent-glow);transform:translateY(-4px)scale(1.01)}.m3-subject-card:active{transform:scale(.98)}.subject-card-header{color:#fff;align-items:center;gap:12px;padding:16px;display:flex;position:relative;overflow:hidden}.subject-card-header:after{content:"";pointer-events:none;background:linear-gradient(#ffffff26 0%,#00000026 100%);position:absolute;inset:0}.subject-emoji-wrapper{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 2px 8px #00000026}.subject-emoji{font-size:1.75rem;line-height:1}.subject-info{z-index:1;flex:1;min-width:0}.subject-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0 0 2px;font-size:1.05rem;font-weight:800;overflow:hidden}.subject-meta{color:#fffffff2;align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:flex}.subject-meta-dot{opacity:.6}.subject-card-body{background:0 0;flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex}.subject-progress-row{align-items:center;gap:12px;display:flex}.subject-ring-wrap{flex-shrink:0}.subject-stats{flex-direction:column;flex:1;gap:4px;display:flex}.stat-row{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:.85rem;font-weight:800}.subject-card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.subject-badge{white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:700}.badge-proficient{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.badge-progress{background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent)}.badge-new{background:var(--bg-card-hover);color:var(--text-muted);border:1px solid var(--border-color)}.subject-action-btn{color:var(--accent);align-items:center;gap:4px;font-size:.8rem;font-weight:700;transition:transform .2s;display:flex}.m3-subject-card:hover .subject-action-btn{filter:brightness(1.2);transform:translate(3px)}@media (width<=640px){.subject-card-header{padding:12px}.subject-emoji-wrapper{border-radius:10px;width:36px;height:36px}.subject-emoji{font-size:1.4rem}.subject-name{font-size:.95rem}.subject-card-body{gap:10px;padding:12px}.subject-badge{padding:3px 8px;font-size:.7rem}}.android-subjects-container{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;padding-bottom:120px;display:flex}.android-subjects-container.embedded-dashboard-view{padding-bottom:0!important}.android-subj-top-bar{align-items:center;gap:8px;width:100%;display:flex}.android-subj-search-wrap{flex:1;align-items:center;min-width:0;display:flex;position:relative}.android-search-icon{color:#94a3b8;pointer-events:none;z-index:2;font-size:.95rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.android-subj-search-input{background:var(--input-bg,#ffffff0f);border:1px solid var(--border-color,#ffffff1f);width:100%;color:var(--text-primary,#fff);box-sizing:border-box;border-radius:14px;outline:none;font-size:.88rem;font-weight:600;transition:all .2s;padding:11px 36px 11px 44px!important}.android-subj-search-input:focus{border-color:var(--accent,#6366f1);box-shadow:0 0 12px var(--accent-glow,#6366f14d);background:#ffffff1a}.android-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:.85rem;position:absolute;right:12px}.android-layout-switcher{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1f);border-radius:12px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:flex}.layout-toggle-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:.9rem;transition:all .2s}.layout-toggle-btn.active{background:var(--accent,#6366f1);opacity:1;box-shadow:0 2px 8px #6366f166}.android-subj-pills-slider{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.android-subj-pills-slider::-webkit-scrollbar{display:none}.android-subj-pill{background:var(--bg-card,#ffffff0f);border:1px solid var(--border-color,#ffffff1f);color:var(--text-secondary,#cbd5e1);cursor:pointer;white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:7px 16px;font-size:.8rem;font-weight:700;transition:all .2s}.android-subj-pill.active{background:linear-gradient(135deg, var(--accent,#6366f1), var(--accent-secondary,#4f46e5));color:#fff;border-color:#ffffff4d;box-shadow:0 2px 10px #6366f166}.android-subj-full-list{flex-direction:column;gap:14px;width:100%;display:flex}.android-full-subj-card{background:var(--bg-card,#1e293bd9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-color,#ffffff1f);border-radius:18px;flex-direction:column;text-decoration:none;transition:transform .2s,border-color .2s;display:flex;overflow:hidden;box-shadow:0 6px 20px #00000040}.android-full-subj-card:active{transform:scale(.98)}.full-card-header-banner{color:#fff;align-items:center;gap:14px;padding:16px;display:flex}.full-emoji-box{background:#ffffff40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.6rem;display:flex;box-shadow:0 2px 8px #00000026}.full-header-titles{flex:1;min-width:0}.full-subj-title{color:#fff;margin:0 0 3px;font-size:1.15rem;font-weight:900;line-height:1.25}.full-subj-subtitle{color:#ffffffe6;font-size:.78rem;font-weight:600}.full-card-body{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.full-ring-group{align-items:center;gap:12px;display:flex}.full-stats-text{flex-direction:column;display:flex}.full-score-num{color:var(--text-primary,#f8fafc);font-size:1rem;font-weight:900}.full-prof-num{color:var(--text-secondary,#94a3b8);margin-top:2px;font-size:.75rem;font-weight:600}.full-card-action-row{border-top:1px solid var(--border-color,#ffffff14);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.full-status-tag{border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:800}.full-start-btn{font-size:.85rem;font-weight:900}.android-subj-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.android-subj-card{background:var(--bg-card,#1e293bd9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color,#ffffff1a);border-radius:16px;flex-direction:column;min-width:0;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 4px 14px #00000040}.android-subj-card-header{color:#fff;flex-direction:column;gap:8px;padding:12px;display:flex;position:relative;overflow:hidden}.android-subj-header-top{justify-content:space-between;align-items:center;width:100%;display:flex}.android-subj-emoji-box{background:#ffffff38;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.3rem;display:flex}.android-subj-skills-count{color:#ffffffe6;white-space:nowrap;background:#0003;border-radius:12px;padding:2px 8px;font-size:.68rem;font-weight:700}.android-subj-title{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.92rem;font-weight:900;line-height:1.25;display:-webkit-box;overflow:hidden}.android-subj-card-body{flex-direction:column;flex:1;justify-content:space-between;gap:10px;padding:12px;display:flex}.android-subj-ring-row{align-items:center;gap:10px;display:flex}.android-subj-stats-col{flex-direction:column;display:flex}.android-subj-score-txt{color:var(--text-primary,#f8fafc);font-size:.88rem;font-weight:900;line-height:1}.android-subj-prof-txt{color:var(--text-secondary,#94a3b8);white-space:nowrap;margin-top:2px;font-size:.68rem;font-weight:600}.android-subj-card-footer{border-top:1px solid var(--border-color,#ffffff14);box-sizing:border-box;justify-content:space-between;align-items:center;gap:4px;width:100%;padding-top:8px;display:flex}.android-subj-status{white-space:nowrap;border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:.65rem;font-weight:800}.status-proficient{color:#4ade80;background:#22c55e33}.status-active{color:#818cf8;background:#6366f133}.status-new{color:var(--text-muted,#94a3b8);background:#ffffff14}.android-subj-start-btn{color:var(--accent,#818cf8);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:800}.android-subj-row-list{flex-direction:column;gap:8px;width:100%;display:flex}.android-subj-row-item{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1a);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;text-decoration:none;transition:all .2s;display:flex}.android-subj-row-item:active{transform:scale(.98)}.row-left{align-items:center;gap:12px;min-width:0;display:flex}.row-emoji{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.3rem;display:flex}.row-info{flex-direction:column;min-width:0;display:flex}.row-title{color:var(--text-primary,#f8fafc);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;overflow:hidden}.row-meta{color:var(--text-secondary,#94a3b8);margin-top:2px;font-size:.72rem}.row-arrow{font-size:1.1rem;font-weight:900}.android-subj-empty{text-align:center;color:var(--text-secondary,#94a3b8);padding:32px;font-size:.88rem}.award-badge{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:2px solid var(--gray-200);transition:all var(--transition);align-items:center;display:flex}.award-badge.earned{box-shadow:var(--shadow-md);border-color:#0000}.award-badge.earned:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.award-icon{border:2px solid;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.75rem;display:flex}.award-badge.sm .award-icon{border-radius:10px;width:40px;height:40px;font-size:1.25rem}.award-badge.lg .award-icon{border-radius:18px;width:72px;height:72px;font-size:2.5rem}.award-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.award-name{font-family:var(--font-display);font-size:.9375rem;font-weight:800}.award-desc{color:var(--gray-500);font-size:.8rem;line-height:1.4}.award-locked-tag{color:var(--gray-400);font-size:.7rem;font-weight:600}.award-earned-tag{color:var(--correct);font-size:.7rem;font-weight:700}.jcw-wrap{margin:0 0 20px}.jcw-join-btn{color:#a78bfa;cursor:pointer;background:#7c3aed14;border:2px dashed #7c3aed80;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex}.jcw-join-btn:hover{color:#fff;background:#7c3aed26;border-color:#7c3aed;transform:translateY(-1px)}.jcw-enrolled{background:#10b98114;border:1.5px solid #10b98140;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px;display:flex}.jcw-enrolled-info{align-items:center;gap:12px;display:flex}.jcw-enrolled-icon{font-size:1.6rem}.jcw-enrolled-label{color:#fff6;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.jcw-enrolled-name{color:#4ade80;font-size:1rem;font-weight:800}.jcw-enrolled-grade{color:#ffffff80;margin-top:2px;font-size:.8rem}.jcw-change-btn{color:#ffffff80;cursor:pointer;background:0 0;border:1.5px solid #ffffff26;border-radius:8px;padding:7px 14px;font-size:.8rem;font-weight:600;transition:all .2s}.jcw-change-btn:hover{color:#fff;border-color:#ffffff4d}.jcw-box{background:#7c3aed0f;border:1.5px solid #7c3aed40;border-radius:16px;margin-bottom:20px;padding:20px;animation:.2s fadeIn}.jcw-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.jcw-header h3{color:#fff;margin:0 0 4px;font-size:1rem;font-weight:800}.jcw-header p{color:#ffffff80;margin:0;font-size:.85rem}.jcw-close{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:1.1rem}.jcw-close:hover{color:#fff;background:#ffffff14}.jcw-form{flex-wrap:wrap;gap:10px;display:flex}.jcw-input{color:#fff;letter-spacing:.15em;text-align:center;text-transform:uppercase;background:#ffffff12;border:2px solid #ffffff26;border-radius:10px;flex:1;min-width:140px;padding:12px 16px;font-family:monospace;font-size:1.2rem;font-weight:800;transition:border-color .2s}.jcw-input:focus{border-color:#7c3aed;outline:none}.jcw-input::placeholder{letter-spacing:.05em;opacity:.4;font-size:1rem;font-weight:400}.jcw-submit{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#7c3aed,#6366f1);border:none;border-radius:10px;padding:12px 24px;font-size:.95rem;font-weight:800;transition:all .2s}.jcw-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.jcw-submit:disabled{opacity:.5;cursor:default}.jcw-error{color:#f87171;background:#ef44441a;border-radius:8px;width:100%;padding:8px 12px;font-size:.875rem;font-weight:600}.jcw-success{text-align:center;padding:10px 0}.jcw-success-icon{margin-bottom:8px;font-size:2.5rem}.jcw-success h4{color:#4ade80;margin:0 0 6px;font-size:1.1rem}.jcw-success p{color:#fff9;margin:4px 0;font-size:.875rem}.jcw-reload-msg{color:#ffffff59;margin-top:10px;font-size:.8rem}.dashboard-page{padding:var(--space-8) 0 110px}.dashboard-welcome{border:1px solid var(--border-color,#94a3b833);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-8);margin-bottom:var(--space-8);color:#f8fafc;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);justify-content:space-between;align-items:center;display:flex}.welcome-left{align-items:center;gap:var(--space-4);display:flex}.welcome-avatar{width:56px;height:56px;font-family:var(--font-display);color:#f8fafc;background:#6366f133;border:2px solid #6366f166;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:900;display:flex}.welcome-title{color:#f8fafc;margin-bottom:6px;font-size:1.5rem}.welcome-meta{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:10px;font-size:.875rem;display:flex}.welcome-streak{color:#f59e0b;border-radius:var(--radius-full);background:#f59e0b33;align-items:center;gap:4px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.welcome-stats{gap:var(--space-6);flex-wrap:wrap;display:flex}.welcome-stat{text-align:center}.ws-num{font-family:var(--font-display);color:#f8fafc;font-size:1.75rem;font-weight:900;display:block}.ws-label{color:#94a3b8;text-transform:uppercase;font-size:.7rem;font-weight:600}.dashboard-grid{gap:var(--space-6);grid-template-columns:1fr 340px;display:grid}.dashboard-main,.dashboard-sidebar{gap:var(--space-6);flex-direction:column;display:flex}.dash-section{border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);background-color:var(--bg-card,#1e293b)!important;color:var(--text-primary,#f8fafc)!important;border:1px solid var(--border-color,#94a3b82e)!important}.dash-section h2{margin-bottom:var(--space-4);font-size:1.1rem;color:var(--text-primary,#f8fafc)!important}.dash-section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.dash-section-header h2{margin-bottom:0}.see-all{color:#6366f1;font-size:.8rem;font-weight:700;text-decoration:none}.see-all:hover{text-decoration:underline}.suggested-skills{gap:var(--space-3);flex-direction:column;display:flex}.suggested-skill-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);transition:all var(--transition);text-decoration:none;display:flex;border:1px solid var(--border-color,#94a3b833)!important;background-color:var(--bg-primary,#0f172a)!important;color:var(--text-primary,#f8fafc)!important}.suggested-skill-card:hover{transform:translate(2px);background:var(--bg-card,#1e293b)!important;border-color:#6366f1!important}.suggested-skill-card.more-skills{border-style:dashed}.suggested-skill-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.suggested-skill-info{flex:1;min-width:0}.suggested-skill-name{font-size:.9rem;font-weight:700;color:var(--text-primary,#f8fafc)!important}.suggested-skill-sub{font-size:.75rem;color:var(--text-secondary,#94a3b8)!important}.suggested-skill-score{font-family:var(--font-display);font-size:1.1rem;font-weight:900;color:#6366f1!important}.subjects-dash-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.weekly-chart{height:80px;margin:var(--space-4) 0 var(--space-2);align-items:flex-end;gap:6px;display:flex}.week-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.week-bar{border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .6s;position:relative}.week-bar-tip{color:#6366f1;white-space:nowrap;font-size:.65rem;font-weight:700;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.week-day{color:#94a3b8;font-size:.65rem;font-weight:600}.weekly-summary{color:#94a3b8;text-align:center;font-size:.8rem}.recent-awards{gap:var(--space-3);flex-direction:column;display:flex}.empty-awards{text-align:center;padding:var(--space-4)}.empty-awards p{color:#94a3b8;margin:var(--space-2) 0 var(--space-4);font-size:.875rem}.quick-actions{gap:var(--space-3);flex-direction:column;display:flex}.quick-action-btn{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);transition:all var(--transition);font-size:1.5rem;text-decoration:none;display:flex;border:1px solid var(--border-color,#94a3b833)!important;background-color:var(--bg-primary,#0f172a)!important;color:var(--text-primary,#f8fafc)!important}.quick-action-btn:hover{background:var(--bg-card,#1e293b)!important;border-color:#6366f1!important}@media (width<=1024px){.subjects-dash-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-welcome{gap:var(--space-4);text-align:center;flex-direction:column}.welcome-left{flex-direction:column}.welcome-meta,.welcome-stats{justify-content:center}}.subjects-page{padding:var(--space-10) 0 var(--space-16)}.subjects-page-header{margin-bottom:var(--space-10)}.subjects-page-header h1{margin-bottom:var(--space-2)}.subject-category{margin-bottom:var(--space-10)}.category-title{color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-5);border-bottom:2px solid var(--gray-100);padding-bottom:var(--space-3);font-size:1.1rem;font-weight:700}.skill-card{border-radius:var(--radius-lg,14px);color:var(--text-primary,#fff);background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1f);box-shadow:var(--shadow-sm,0 2px 8px #0003);transition:all var(--transition,.2s ease);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.skill-card:hover{border-color:var(--accent,#6366f1);box-shadow:0 4px 16px var(--accent-glow,#6366f140);transform:translate(2px)}.skill-card-left{flex:1;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.skill-score-badge{width:44px;height:44px;font-family:var(--font-display,inherit);border:2px solid;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:900;display:flex}.skill-info{flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;display:flex}.skill-name{font-size:.95rem;font-weight:800;line-height:1.35;color:#fff!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}.skill-topic{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800;line-height:1.2;color:var(--accent-light,#818cf8)!important}.skill-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.skill-right-top{align-items:center;gap:8px;display:flex}.skill-status{white-space:nowrap;font-size:.75rem;font-weight:800}.skill-status.mastered{color:#a78bfa}.skill-status.proficient{color:#4ade80}.skill-status.in-progress{color:var(--accent-light,#818cf8)}.skill-status.not-started{color:var(--accent,#6366f1)}.skill-difficulty{gap:3px;margin-top:2px;display:flex}.skill-game-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:4px;font-size:1.35rem;text-decoration:none;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex}.skill-game-btn:hover{transform:scale(1.22)rotate(8deg)}.offline-ready-badge{color:#4ade80;vertical-align:middle;background:#22c55e26;border:1px solid #22c55e4d;border-radius:6px;align-items:center;gap:3px;margin-left:6px;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-flex}@media (width<=600px){.skill-card{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.skill-card-left{width:100%}.skill-card-right{border-top:1px solid #ffffff14;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:8px}}.subject-page{padding-bottom:120px}.subject-page-header{color:#fff;padding:24px 0;box-shadow:0 4px 16px #0003}.back-link{color:#ffffffd9;align-items:center;gap:4px;margin-bottom:10px;font-size:.85rem;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:#fff}.subject-page-title-row{align-items:center;gap:14px;display:flex}.subject-page-emoji{filter:drop-shadow(0 2px 8px #0000004d);flex-shrink:0;font-size:2.5rem}.subject-page-title{color:#fff;margin:0 0 2px;font-size:1.8rem;font-weight:900;line-height:1.2}.subject-page-subtitle{color:#ffffffe0;font-size:.85rem;font-weight:600}.grade-selector-wrap{padding:14px 0 6px}.grade-selector{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.grade-selector::-webkit-scrollbar{display:none}.grade-btn{border:1.5px solid var(--border-color,#ffffff26);background-color:var(--bg-card,#1e293b);color:var(--text-secondary,#cbd5e1);cursor:pointer;white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:7px 16px;font-size:.82rem;font-weight:800;transition:all .2s}.grade-btn:hover{border-color:var(--accent,#6366f1);color:#fff}.grade-btn.active{box-shadow:0 2px 10px #0000004d}.skill-controls{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.search-input-wrap{flex:1;min-width:200px;max-width:320px;position:relative}.search-input-icon{pointer-events:none;z-index:2;color:#94a3b8;font-size:.9rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input-padded{width:100%;padding-left:44px!important}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.filter-tab{border:1.5px solid var(--border-color,#ffffff26);background-color:var(--bg-card,#1e293b);color:var(--text-secondary,#94a3b8);cursor:pointer;border-radius:9999px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s}.filter-tab:hover{border-color:var(--accent,#6366f1);color:#fff}.filter-tab.active{box-shadow:var(--shadow-sm)}.topic-section{margin-top:18px}.topic-title{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border-color,#ffffff1a);margin-bottom:12px;padding-bottom:6px;font-size:.9rem;font-weight:800}.skills-list{flex-direction:column;gap:10px;display:flex}.skills-empty{text-align:center;padding:48px 16px}.skills-empty h3{margin:12px 0 6px}.skills-empty p{color:var(--text-secondary,#94a3b8);margin-bottom:16px}@media (width<=768px){.subject-page-header{padding:14px 0}.back-link{margin-bottom:6px;font-size:.8rem}.subject-page-emoji{font-size:2rem}.subject-page-title{font-size:1.35rem}.subject-page-subtitle{font-size:.78rem}.grade-selector-wrap{padding:10px 0 4px}}.smartscore-wrap{flex-direction:column;align-items:center;display:inline-flex;position:relative}.smartscore-wrap svg{display:block}.smartscore-center{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.smartscore-number{font-family:var(--font-display);font-size:2.5rem;font-weight:900;line-height:1;transition:color .3s}.smartscore-label{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-400);margin-top:2px;font-size:.65rem;font-weight:700}.smartscore-mastery{color:#8b5cf6;margin-top:2px;font-size:.75rem;font-weight:800;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn}.smartscore-proficient{color:var(--correct);margin-top:2px;font-size:.75rem;font-weight:800}.smartscore-zone{text-align:center;margin-top:4px;font-size:.75rem;font-weight:700;transition:color .3s}.practice-page{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.practice-header{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background-color:var(--bg-secondary);border-bottom:1px solid var(--gray-200);z-index:var(--z-dropdown);display:flex;position:sticky;top:0}.practice-header-left{align-items:center;gap:var(--space-4);min-width:200px;display:flex}.practice-skill-name{color:var(--text-primary);white-space:nowrap;font-size:.9375rem;font-weight:700}.practice-progress-bar-wrap{background:var(--gray-200);border-radius:4px;flex:1;height:8px;position:relative;overflow:visible}.practice-progress-bar-fill{background:linear-gradient(90deg, var(--ixl-blue), #09f);border-radius:4px;height:100%;transition:width .5s}.practice-q-count{color:var(--gray-400);font-size:.75rem;font-weight:600;position:absolute;top:-22px;right:0}.practice-header-right{justify-content:flex-end;min-width:200px;display:flex}.streak-badge{color:#fff;border-radius:var(--radius-full);background:linear-gradient(135deg,#ff6b35,#ff4500);padding:4px 12px;font-size:.8rem;font-weight:800;animation:1s infinite pulse}.practice-body{gap:var(--space-6);padding:var(--space-6);flex:1;grid-template-columns:minmax(220px,260px) 1fr;width:100%;min-width:0;max-width:1100px;margin:0 auto;display:grid}.practice-sidebar{align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.zone-milestones{background-color:var(--bg-secondary);border-radius:var(--radius-lg);width:100%;padding:var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);gap:var(--space-3);flex-direction:column;display:flex}.milestone-row{align-items:center;gap:var(--space-3);transition:all var(--transition);font-size:.8rem;display:flex}.milestone-dot{width:10px;height:10px;transition:background var(--transition);border-radius:50%;flex-shrink:0}.milestone-row.reached .milestone-dot{box-shadow:0 0 8px}.session-stats{gap:var(--space-3);width:100%;display:flex}.session-stat{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-3);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);flex:1}.stat-n{font-family:var(--font-display);font-size:1.5rem;font-weight:900;display:block}.stat-l{color:var(--gray-400);text-transform:uppercase;font-size:.7rem;font-weight:600}.practice-main{gap:var(--space-4);flex-direction:column;display:flex}.milestone-banner{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);text-align:center;font-size:1rem;font-weight:800;animation:.4s fadeInUp}.mastery-banner{color:#fff;background:linear-gradient(135deg,#7c3aed,#8b5cf6)}.proficient-banner{color:#fff;background:linear-gradient(135deg,#16a34a,#22a55b)}.question-card{padding:var(--space-8);transition:all .3s}.question-card.feedback-correct{border:2px solid var(--correct);box-shadow:0 4px 20px #22a55b26}.question-card.feedback-incorrect{border:2px solid var(--incorrect);box-shadow:0 4px 20px #d9302526}.question-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.question-type-badge{color:var(--ixl-blue);background:var(--ixl-blue-light);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:4px 12px;font-size:.75rem;font-weight:700}.question-difficulty{color:var(--gray-400);letter-spacing:3px;font-size:.8rem}.question-text{color:var(--text-primary);margin-bottom:var(--space-6);white-space:pre-wrap;font-size:1.25rem;font-weight:700;line-height:1.5}.hint-btn{border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);color:var(--gray-500);cursor:pointer;margin-bottom:var(--space-4);transition:all var(--transition);background:0 0;font-size:.875rem}.hint-btn:hover{border-color:var(--warning);color:var(--warning);background:#fff3e0}.hint-box{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:#92400e;margin-bottom:var(--space-4);gap:var(--space-2);background:#fff8e7;border:1.5px solid #f39c12;align-items:flex-start;font-size:.875rem;display:flex}.options-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.options-grid-2{grid-template-columns:1fr 1fr;max-width:420px}.option-btn{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--gray-200);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all var(--transition);text-align:left;font-size:.9375rem;font-weight:600;display:flex;position:relative}.option-btn:hover:not(:disabled){border-color:var(--ixl-blue);background:var(--ixl-blue-light);transform:translateY(-1px)}.option-btn.selected{border-color:var(--ixl-blue);background:var(--ixl-blue-light)}.option-btn.correct{border-color:var(--correct)!important;background:var(--correct-light)!important;color:#14532d!important}.option-btn.incorrect{border-color:var(--incorrect)!important;background:var(--incorrect-light)!important;color:#7f1d1d!important}.option-btn:disabled{cursor:default}.option-letter{background:var(--gray-100);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;display:flex}.option-btn.correct .option-letter{color:var(--correct);background:#22a55b33}.option-btn.incorrect .option-letter{color:var(--incorrect);background:#d9302533}.option-text{flex:1}.option-checkmark{color:var(--correct);margin-left:auto;font-size:1.1rem}.option-x{color:var(--incorrect);margin-left:auto;font-size:1.1rem}.fill-blank-form{gap:var(--space-3);flex-direction:column;display:flex}.fill-blank-form-row{gap:var(--space-3);align-items:center;display:flex}.fill-blank-input{padding:var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-lg);transition:all var(--transition);flex:1;font-size:1.1rem;font-weight:600}.fill-blank-input.feedback-correct{border-color:var(--correct);background:var(--correct-light)}.fill-blank-input.feedback-incorrect{border-color:var(--incorrect);background:var(--incorrect-light)}.fill-blank-answer-reveal{background:var(--correct-light);border:1.5px solid var(--correct);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:#14532d;font-size:.9rem}.explanation-box{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);animation:.3s fadeInUp}.explanation-box.correct{background:var(--correct-light);border-left:4px solid var(--correct)}.explanation-box.incorrect{background:var(--incorrect-light);border-left:4px solid var(--incorrect)}.explanation-header{margin-bottom:var(--space-2);font-size:1rem;font-weight:800}.explanation-box.correct .explanation-header{color:#14532d}.explanation-box.incorrect .explanation-header{color:#7f1d1d}.explanation-text{font-size:.9rem;line-height:1.6}.explanation-box.correct .explanation-text{color:#166534}.explanation-box.incorrect .explanation-text{color:#991b1b}.streak-note{margin-left:var(--space-2);font-size:.875rem}.hint-used-note{margin-left:var(--space-2);color:#d97706;font-size:.75rem}.math-text{line-height:1.6;display:inline}.katex-display{margin:.5em 0;overflow-x:auto}.katex{font-size:1.05em}.practice-loading{justify-content:center;align-items:center;gap:var(--space-4);min-height:60vh;color:var(--text-secondary);flex-direction:column;font-size:1rem;display:flex}.award-popup-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.award-popup{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-8);text-align:center;box-shadow:var(--shadow-xl);width:100%;max-width:360px}.award-popup-icon{margin-bottom:var(--space-4);font-size:4rem;animation:.6s infinite bounce;display:inline-block}.award-popup h2{margin-bottom:var(--space-3)}.award-popup p{color:var(--text-secondary);margin-bottom:var(--space-6)}@media (width<=900px){.practice-body{grid-template-columns:1fr}.practice-sidebar{display:none}.practice-header-left{min-width:unset}}@media (width<=768px){.practice-body{grid-template-columns:1fr}.practice-sidebar{display:none}.options-grid{grid-template-columns:1fr}.practice-header-left{min-width:unset}}.practice-hearts{align-items:center;gap:2px;margin-right:8px;display:flex}.practice-heart-icon{font-size:1.1rem;transition:transform .2s,opacity .2s;display:inline-block}.practice-heart-icon.empty{opacity:.35;filter:grayscale()}.practice-heart-icon.breaking{animation:.5s forwards heartBreak}@keyframes heartBreak{0%{transform:scale(1.3)rotate(-5deg)}30%{transform:scale(1.5)rotate(5deg)}60%{opacity:.5;transform:scale(.8)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.practice-header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:200px;display:flex}.xp-float{pointer-events:none;z-index:var(--z-toast);text-shadow:0 2px 8px #0000004d;border-radius:20px;padding:4px 12px;font-size:1.1rem;font-weight:900;animation:1.4s forwards xpFloatUp;position:fixed;top:45%}.xp-float-pos{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 16px #22c55e66}.xp-float-neg{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 16px #ef444466}@keyframes xpFloatUp{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:1;transform:translateY(-60px)scale(1.1)}to{opacity:0;transform:translateY(-100px)scale(.8)}}.hearts-empty-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-overlay);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hearts-empty-card{text-align:center;background:linear-gradient(135deg,#1a0533,#2d0a5e);border:2px solid #ef444466;border-radius:24px;width:90%;max-width:400px;padding:2.5rem 2rem;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;box-shadow:0 0 60px #ef444440,0 20px 60px #00000080}.hearts-empty-icon{margin-bottom:1rem;font-size:4rem;animation:1.5s infinite heartBeat}@keyframes heartBeat{0%,to{transform:scale(1)}20%{transform:scale(1.2)}40%{transform:scale(1)}60%{transform:scale(1.15)}}.hearts-empty-title{color:#fff;margin:0 0 .5rem;font-size:1.8rem;font-weight:900}.hearts-empty-sub{color:#ffffffa6;margin-bottom:1.2rem;font-size:.95rem;line-height:1.5}.hearts-empty-timer{color:#fffc;background:#ffffff0f;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.6rem 1rem;font-size:.9rem;display:flex}.hearts-empty-timer strong{color:#ef4444;font-size:1rem;font-weight:800}.hearts-empty-actions{justify-content:center;gap:.8rem;display:flex}.hint-ai-row{margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-hint-btn{border-radius:var(--radius-md);color:#7c3aed;cursor:pointer;background:linear-gradient(135deg,#7c3aed14,#6366f114);border:1.5px solid #7c3aed;align-items:center;gap:6px;padding:7px 14px;font-size:.845rem;font-weight:700;transition:all .2s;display:inline-flex}.ai-hint-btn:hover{background:linear-gradient(135deg,#7c3aed29,#6366f129);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed33}.ai-btn-icon{font-size:1rem}.ai-explain-btn{border-radius:var(--radius-md);color:#7c3aed;cursor:pointer;background:#7c3aed1a;border:1.5px solid #7c3aed;align-items:center;gap:6px;margin-top:10px;padding:7px 16px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.ai-explain-btn:hover{background:#7c3aed2e;transform:translateY(-1px)}.ai-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:3000;background:#00000059;animation:.2s fadeIn;position:fixed;inset:0}.ai-tutor-panel{background-color:var(--bg-secondary);z-index:3001;border-left:1px solid #e5e7eb;flex-direction:column;width:380px;max-width:95vw;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 40px #0000001f}.ai-tutor-panel.ai-panel-open{transform:translate(0)}.ai-panel-header{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.ai-panel-title{align-items:center;gap:12px;display:flex}.ai-panel-avatar{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.8rem;display:flex}.ai-panel-name{font-size:1rem;font-weight:800}.ai-panel-sub{opacity:.8;margin-top:1px;font-size:.75rem}.ai-panel-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .2s;display:flex}.ai-panel-close:hover{background:#ffffff59}.ai-context-chip{color:#6d28d9;background:#f3f0ff;border:1px solid #ddd6fe;border-radius:999px;flex-shrink:0;margin:10px 16px 0;padding:5px 12px;font-size:.75rem;font-weight:600;display:inline-block}.ai-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.ai-empty{text-align:center;color:#6b7280;flex-direction:column;align-items:center;gap:12px;padding:24px 8px;font-size:.875rem;display:flex}.ai-empty p{max-width:260px;margin:0;line-height:1.6}.ai-quick-prompts{flex-direction:column;gap:8px;width:100%;display:flex}.ai-quick-prompts button{color:#374151;cursor:pointer;text-align:left;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.ai-quick-prompts button:hover{color:#7c3aed;background:#f5f3ff;border-color:#7c3aed}.ai-msg{align-items:flex-end;gap:8px;display:flex}.ai-msg--ai{justify-content:flex-start}.ai-msg--user{flex-direction:row-reverse;justify-content:flex-end}.ai-msg-avatar{background:#f3f0ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;display:flex}.ai-msg-avatar--user{background:#e0f2fe}.ai-msg-bubble{word-break:break-word;border-radius:16px;max-width:82%;padding:10px 14px;font-size:.875rem;line-height:1.6}.ai-msg--ai .ai-msg-bubble{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.ai-msg--user .ai-msg-bubble{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);border-bottom-right-radius:4px}.ai-typing{align-items:center;gap:4px;padding:4px 0;display:inline-flex}.ai-typing span{background:#9ca3af;border-radius:50%;width:7px;height:7px;animation:1.2s infinite aiTypingBounce}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes aiTypingBounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.ai-input-row{background-color:var(--bg-secondary);border-top:1px solid #e5e7eb;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.ai-input{border:1.5px solid #e5e7eb;border-radius:12px;outline:none;flex:1;padding:10px 14px;font-size:.875rem;transition:border .2s}.ai-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.ai-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6366f1);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:all .2s;display:flex}.ai-send-btn:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.05)}.ai-send-btn:disabled{opacity:.45;cursor:default;transform:none}@media (width<=768px){.ai-tutor-panel{width:100%}}.ai-system-msg{padding:4px 0}.ai-system-msg--nokey .ai-nokey-card,.ai-empty .ai-nokey-card{background:#f5f3ff;border:1.5px solid #ddd6fe;border-radius:12px;flex-direction:column;gap:10px;width:100%;padding:16px;display:flex}.ai-system-msg--nokey strong,.ai-empty .ai-nokey-card strong{color:#5b21b6;font-size:.9rem;display:block}.ai-system-msg--nokey p,.ai-empty .ai-nokey-card p{color:#6d28d9;margin:0;font-size:.82rem;line-height:1.5}.ai-nokey-steps{color:#374151;background-color:var(--bg-secondary);border:1px solid #e9d5ff;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:.8rem;display:flex}.ai-nokey-steps a{color:#7c3aed;font-weight:600;text-decoration:underline}.ai-nokey-btn{text-align:center;color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:8px;padding:9px 16px;font-size:.84rem;font-weight:700;text-decoration:none;transition:all .2s;display:block}.ai-nokey-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.ai-system-msg--disabled{text-align:center;color:#991b1b;background:#fff7f7;border:1.5px solid #fecaca;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;display:flex}.ai-system-msg--disabled p{margin:0;font-size:.875rem;font-weight:600;line-height:1.5}.ai-system-msg--disabled small{color:#b91c1c;opacity:.8;font-size:.78rem}[data-theme=dark] .practice-page{background:var(--bg-primary)}[data-theme=dark] .practice-header{background:var(--bg-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .question-card.card{background:var(--bg-secondary);border:1px solid var(--border-color)}[data-theme=dark] .option-btn{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff26}[data-theme=dark] .option-btn:hover:not(:disabled){background:#6366f126;border-color:#6366f180}[data-theme=dark] .option-btn.selected{background:#6366f133;border-color:#6366f1}[data-theme=dark] .option-btn.correct{color:#86efac!important;background:#22c55e26!important;border-color:#22c55e!important}[data-theme=dark] .option-btn.incorrect{color:#fca5a5!important;background:#ef444426!important;border-color:#ef4444!important}[data-theme=dark] .option-btn.correct .option-letter{color:#86efac;background:#22c55e40}[data-theme=dark] .option-btn.incorrect .option-letter{color:#fca5a5;background:#ef444440}[data-theme=dark] .option-letter{color:var(--text-secondary);background:#ffffff14}[data-theme=dark] .zone-milestones,[data-theme=dark] .session-stat{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .fill-blank-input{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff26}[data-theme=dark] .fill-blank-input:focus{border-color:#6366f1}[data-theme=dark] .fill-blank-input.feedback-correct{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .fill-blank-input.feedback-incorrect{background:#ef44441f;border-color:#ef4444}[data-theme=dark] .fill-blank-answer-reveal{color:#86efac;background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .hint-box{color:#fbbf24;background:#f39c121a;border-color:#f39c124d}[data-theme=dark] .hint-btn{color:var(--text-secondary);border-color:#ffffff26}[data-theme=dark] .hint-btn:hover{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b}[data-theme=dark] .explanation-box.correct{background:#22c55e1a;border-left-color:#22c55e}[data-theme=dark] .explanation-box.incorrect{background:#ef44441a;border-left-color:#ef4444}[data-theme=dark] .explanation-box.correct .explanation-header{color:#86efac}[data-theme=dark] .explanation-box.incorrect .explanation-header{color:#fca5a5}[data-theme=dark] .explanation-box.correct .explanation-text{color:#bbf7d0}[data-theme=dark] .explanation-box.incorrect .explanation-text{color:#fecaca}[data-theme=dark] .award-popup{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .award-popup p{color:var(--text-secondary)}[data-theme=dark] .ai-tutor-panel{background:var(--bg-secondary);border-left-color:var(--border-color)}[data-theme=dark] .ai-msg--ai .ai-msg-bubble{border-color:var(--border-color);color:var(--text-primary);background:#ffffff0f}[data-theme=dark] .ai-context-chip{color:#a5b4fc;background:#6366f11f;border-color:#6366f140}[data-theme=dark] .ai-input{border-color:var(--border-color);color:var(--text-primary);background:#ffffff0f}[data-theme=dark] .ai-input-row{background:var(--bg-secondary);border-top-color:var(--border-color)}[data-theme=dark] .ai-msg-avatar{background:#6366f126}[data-theme=dark] .ai-msg-avatar--user{background:#0ea5e926}[data-theme=dark] .ai-empty{color:var(--text-secondary)}[data-theme=dark] .ai-quick-prompts button{border-color:var(--border-color);color:var(--text-primary);background:#ffffff0f}[data-theme=dark] .ai-quick-prompts button:hover{color:#c4b5fd;background:#7c3aed1f;border-color:#7c3aed}[data-theme=dark] .question-card.feedback-correct{border-color:#22c55e;box-shadow:0 4px 20px #22c55e33}[data-theme=dark] .question-card.feedback-incorrect{border-color:#ef4444;box-shadow:0 4px 20px #ef444433}[data-theme=dark] .hearts-empty-card{background:linear-gradient(135deg,#1a0533,#2d0a5e)}[data-theme=light] .practice-page{background:#f8fafc}[data-theme=light] .practice-header{background-color:var(--bg-secondary);border-bottom-color:#e2e8f0}[data-theme=light] .practice-skill-name{color:#0f172a}[data-theme=light] .practice-q-count{color:#94a3b8}[data-theme=light] .question-card.card{background-color:var(--bg-secondary);border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000f}[data-theme=light] .question-text{color:#0f172a}[data-theme=light] .question-type-badge{color:#006bd6;background:#e8f2ff}[data-theme=light] .option-btn{box-shadow:0 1px 3px #0000000d;color:#0f172a!important;background:#f8fafc!important;border:2px solid #e2e8f0!important}[data-theme=light] .option-btn:hover:not(:disabled){box-shadow:0 2px 6px #006bd61f;color:#004ea8!important;background:#e8f2ff!important;border-color:#006bd6!important}[data-theme=light] .option-btn.selected{color:#004ea8!important;background:#e8f2ff!important;border-color:#006bd6!important}[data-theme=light] .option-btn.correct{color:#14532d!important;background:#e6f7ee!important;border-color:#22a55b!important}[data-theme=light] .option-btn.incorrect{color:#7f1d1d!important;background:#fdecea!important;border-color:#d93025!important}[data-theme=light] .option-btn.dimmed{opacity:.5!important}[data-theme=light] .option-letter{font-weight:800;color:#475569!important;background:#e2e8f0!important}[data-theme=light] .option-btn.correct .option-letter{color:#14532d!important;background:#22a55b26!important}[data-theme=light] .option-btn.incorrect .option-letter{color:#7f1d1d!important;background:#d9302526!important}[data-theme=light] .option-btn.selected .option-letter{color:#004ea8!important;background:#006bd626!important}[data-theme=light] .option-text{color:#0f172a!important}[data-theme=light] .option-checkmark{color:#22a55b!important}[data-theme=light] .option-x{color:#d93025!important}[data-theme=light] .zone-milestones{background-color:var(--bg-secondary);border:1px solid #e2e8f0}[data-theme=light] .zone-milestones p{color:#475569}[data-theme=light] .session-stat{background-color:var(--bg-secondary);border:1px solid #e2e8f0}[data-theme=light] .session-stat-label{color:#475569}[data-theme=light] .fill-blank-input{background-color:var(--bg-secondary);color:#0f172a;border:2px solid #e2e8f0}[data-theme=light] .fill-blank-input:focus{border-color:#006bd6}[data-theme=light] .fill-blank-input.feedback-correct{color:#14532d;background:#e6f7ee;border-color:#22a55b}[data-theme=light] .fill-blank-input.feedback-incorrect{color:#7f1d1d;background:#fdecea;border-color:#d93025}[data-theme=light] .fill-blank-answer-reveal{color:#14532d;background:#e6f7ee;border-color:#22a55b}[data-theme=light] .hint-btn{color:#64748b;border-color:#d1d5db}[data-theme=light] .hint-btn:hover,[data-theme=light] .hint-box{color:#92400e;background:#fff8e7;border-color:#f39c12}[data-theme=light] .explanation-box.correct{background:#e6f7ee;border-left-color:#22a55b}[data-theme=light] .explanation-box.incorrect{background:#fdecea;border-left-color:#d93025}[data-theme=light] .explanation-box.correct .explanation-header{color:#14532d}[data-theme=light] .explanation-box.incorrect .explanation-header{color:#7f1d1d}[data-theme=light] .explanation-box.correct .explanation-text{color:#166534}[data-theme=light] .explanation-box.incorrect .explanation-text{color:#991b1b}[data-theme=light] .ai-tutor-panel{background-color:var(--bg-secondary);border-left:1px solid #e2e8f0}[data-theme=light] .ai-msg--ai .ai-msg-bubble{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0}[data-theme=light] .ai-context-chip{color:#1e40af;background:#e8f2ff;border-color:#bfdbfe}[data-theme=light] .ai-input{background-color:var(--bg-secondary);color:#0f172a;border:1px solid #d1d5db}[data-theme=light] .ai-input-row{background-color:var(--bg-secondary);border-top:1px solid #e2e8f0}[data-theme=light] .ai-msg-avatar{background:#e8f2ff}[data-theme=light] .ai-msg-avatar--user{background:#e0f4ff}[data-theme=light] .ai-empty{color:#94a3b8}[data-theme=light] .ai-quick-prompts button{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}[data-theme=light] .ai-quick-prompts button:hover{color:#004ea8;background:#e8f2ff;border-color:#006bd6}[data-theme=light] .smartscore-label{color:#475569}[data-theme=light] .smartscore-zone{color:#006bd6}[data-theme=light] .award-popup{background-color:var(--bg-secondary);color:#0f172a;box-shadow:0 20px 50px #00000026}[data-theme=light] .award-popup p{color:#475569}.results-page{padding:var(--space-10) 0 var(--space-16)}.results-card{overflow:hidden}.results-header{padding:var(--space-10) var(--space-8);text-align:center;color:#fff}.results-emoji{margin-bottom:var(--space-4);font-size:4rem;animation:.8s bounce;display:inline-block}.results-title{color:#fff;margin-bottom:var(--space-2);font-size:2rem}.results-body{padding:var(--space-8)}.results-score-section{margin-bottom:var(--space-6);flex-direction:column;align-items:center;display:flex}.score-change{font-family:var(--font-display);margin-top:var(--space-2);font-size:1.25rem;font-weight:900}.results-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.result-stat{text-align:center;padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg)}.rs-num{font-family:var(--font-display);font-size:2rem;font-weight:900;display:block}.rs-label{color:var(--gray-500);text-transform:uppercase;font-size:.75rem;font-weight:600}.results-awards{border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);border:2px solid var(--gold);background:#fff8dc}.results-awards h3{margin-bottom:var(--space-4)}.awards-list{gap:var(--space-3);flex-direction:column;display:flex}.results-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=600px){.results-stats{grid-template-columns:repeat(2,1fr)}}.awards-page{padding:var(--space-10) 0 var(--space-16)}.awards-header{margin-bottom:var(--space-8)}.awards-header h1{margin-bottom:var(--space-2)}.awards-header p{color:var(--text-secondary);margin-bottom:var(--space-4)}.awards-progress-bar{background:var(--gray-200);border-radius:5px;width:100%;max-width:400px;height:10px;overflow:hidden}.awards-progress-fill{background:linear-gradient(90deg, var(--gold-dark), var(--gold));border-radius:5px;height:100%;transition:width .8s}.awards-controls{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.awards-type-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.awards-type-tab{border-radius:var(--radius-full);border:2px solid var(--gray-200);background-color:var(--bg-secondary);color:var(--gray-500);cursor:pointer;transition:all var(--transition);padding:6px 16px;font-size:.85rem;font-weight:700}.awards-type-tab:hover{border-color:var(--gold-dark);color:var(--gold-dark)}.awards-type-tab.active{background:var(--gold-dark);color:#fff;border-color:var(--gold-dark)}.earned-toggle{align-items:center;gap:var(--space-2);color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;display:flex}.earned-toggle input{accent-color:var(--ixl-blue)}.awards-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.awards-empty{text-align:center;padding:var(--space-16)}.awards-empty h2{margin:var(--space-4) 0 var(--space-2)}.awards-empty p{color:var(--text-secondary);max-width:400px;margin:0 auto}.diagnostic-page{padding:var(--space-10) 0 var(--space-16)}.diagnostic-intro{padding:var(--space-10) var(--space-8);text-align:center}.diag-emoji{margin-bottom:var(--space-4);font-size:4rem}.diagnostic-intro h1{margin-bottom:var(--space-4)}.diagnostic-intro p{color:var(--text-secondary);margin-bottom:var(--space-6);font-size:1.1rem}.diag-features{gap:var(--space-3);margin-bottom:var(--space-8);flex-direction:column;align-items:flex-start;max-width:360px;margin-left:auto;margin-right:auto;display:flex}.diag-feature{color:var(--text-secondary);font-size:.9rem}.diag-progress-wrap{background:var(--gray-200);height:8px;margin-bottom:var(--space-5);border-radius:4px;position:relative;overflow:hidden}.diag-progress-fill{background:linear-gradient(90deg, var(--ixl-blue), #09f);border-radius:4px;height:100%;transition:width .5s}.diag-progress-label{color:var(--gray-400);font-size:.75rem;font-weight:700;position:absolute;top:-20px;right:0}.diag-subject-badge{border-radius:var(--radius-full);margin-bottom:var(--space-4);align-items:center;gap:8px;padding:6px 16px;font-size:.9rem;font-weight:700;display:inline-flex}.diag-question{padding:var(--space-7)}.diagnostic-results{padding:var(--space-10) var(--space-8);text-align:center}.diag-recommendations{gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:1fr 1fr;display:grid}.diag-rec-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);transition:all var(--transition);border:2px solid;text-decoration:none;display:flex}.diag-rec-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-page{padding:var(--space-8) 0 var(--space-16)}.profile-hero{border-radius:var(--radius-xl);padding:var(--space-8);align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);color:#fff;display:flex}.profile-avatar-large{width:80px;height:80px;font-family:var(--font-display);color:#fff;background:#ffffff40;border:3px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2.5rem;font-weight:900;display:flex}.profile-hero-info{flex:1}.profile-name-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.profile-username{color:#fff;margin:0;font-size:2rem}.profile-edit-btn{color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);background:#fff3;border:1px solid #ffffff4d;padding:4px 12px;font-size:.8rem}.profile-edit-btn:hover{background:#ffffff59}.profile-edit-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.profile-name-input{color:#fff;border-radius:var(--radius-md);background:#fff3;border:1px solid #fff6;padding:6px 12px;font-size:1.25rem;font-weight:700}.profile-role{color:#fffc;margin-bottom:var(--space-3)}.profile-badges-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-badge{border-radius:var(--radius-full);background:#fff3;padding:4px 12px;font-size:.8rem;font-weight:700}.profile-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.profile-stat-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-md)}.psc-icon{margin-bottom:var(--space-2);font-size:1.5rem}.psc-value{font-family:var(--font-display);font-size:1.75rem;font-weight:900}.psc-label{color:var(--gray-400);text-transform:uppercase;font-size:.7rem;font-weight:600}.profile-section{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);margin-bottom:var(--space-5)}.profile-section h2{margin-bottom:var(--space-5);font-size:1.1rem}.streak-calendar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.streak-day{flex-direction:column;align-items:center;gap:4px;display:flex}.streak-day-dot{width:20px;height:20px;transition:all var(--transition);border-radius:5px}.streak-day.active .streak-day-dot{box-shadow:0 2px 8px}.streak-day-label{color:var(--gray-400);font-size:.65rem;font-weight:600}.streak-legend{gap:var(--space-5);color:var(--gray-500);font-size:.8rem;display:flex}.theme-picker{gap:var(--space-3);flex-wrap:wrap;display:flex}.theme-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.theme-btn:hover{transform:scale(1.15)}.theme-btn.active{transform:scale(1.2)}.profile-awards{gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-award-item{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.pa-icon{border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.75rem;display:flex}.pa-name{text-align:center;max-width:60px;font-size:.7rem;font-weight:700}.account-info{gap:var(--space-3);flex-direction:column;display:flex}.account-row{padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;display:flex}@media (width<=768px){.profile-hero{text-align:center;flex-direction:column}.profile-stats{grid-template-columns:repeat(2,1fr)}}.lb2-page{background:var(--bg-primary,#0f172a);min-height:100vh;color:var(--text-primary,#f1f5f9);font-family:Inter,sans-serif}.lb2-hero{background:linear-gradient(135deg,#0f172a 0%,#1a0533 50%,#0f2040 100%);padding:40px 24px 0;position:relative;overflow:hidden}.lb2-hero-bg{pointer-events:none;position:absolute;inset:0}.hero-orb{filter:blur(80px);opacity:.25;border-radius:50%;animation:8s ease-in-out infinite orbFloat;position:absolute}.orb1{background:#7c3aed;width:400px;height:400px;animation-delay:0s;top:-100px;left:-80px}.orb2{background:#1e40af;width:300px;height:300px;animation-delay:2s;top:-50px;right:100px}.orb3{background:#b45309;width:250px;height:250px;animation-delay:4s;bottom:0;left:50%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-20px)scale(1.05)}}.lb2-hero-content{z-index:1;max-width:1100px;margin:0 auto;position:relative}.lb2-hero-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.lb2-title{background:linear-gradient(135deg,#fbbf24,#f59e0b,#fde68a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:12px;margin:0 0 8px;font-size:2.4rem;font-weight:900;display:flex;position:relative}.trophy-icon{-webkit-text-fill-color:initial;filter:drop-shadow(0 0 12px #fbbf2499);font-size:2.4rem;animation:3s ease-in-out infinite trophyPulse}@keyframes trophyPulse{0%,to{filter:drop-shadow(0 0 12px #fbbf2499);transform:scale(1)}50%{filter:drop-shadow(0 0 24px #fbbf24e6);transform:scale(1.05)}}.lb2-subtitle{color:var(--text-secondary,#ffffffb3);margin:0;font-size:.95rem}.sparkle{gap:4px;margin-left:8px;display:inline-flex;position:relative}.sparkle-dot{color:#fbbf24;-webkit-text-fill-color:#fbbf24;font-size:.7rem;animation:1.5s ease-in-out infinite sparkleBlink}.s0{animation-delay:0s}.s1{animation-delay:.4s}.s2{animation-delay:.8s}@keyframes sparkleBlink{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.my-rank-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;background:#ffffff12;border:1px solid #ffffff1f;border-radius:20px;min-width:160px;padding:20px 28px}.my-rank-label{text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin-bottom:4px;font-size:.7rem;font-weight:700}.my-rank-number{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:2px;font-size:3rem;font-weight:900;line-height:1}.my-rank-of{color:#fff6;margin-bottom:10px;font-size:.72rem}.my-rank-tier{text-transform:uppercase;letter-spacing:.08em;border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:800;display:inline-block}.lb2-tabs{gap:4px;display:flex}.lb2-tab{color:#fff9;cursor:pointer;letter-spacing:.01em;background:#ffffff0f;border:none;border-radius:12px 12px 0 0;padding:12px 24px;font-size:.875rem;font-weight:700;transition:all .2s}.lb2-tab:hover{color:#fff;background:#ffffff1a}.lb2-tab.active{background:var(--bg-card,#1e293b);color:var(--accent,#6366f1);border-top:2px solid var(--accent)}.lb2-body{background:var(--bg-primary,#0f172a);min-height:calc(100vh - 200px);padding-bottom:110px}.lb2-filters{flex-wrap:wrap;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:20px 24px;display:flex}.lb2-search-wrap{flex:1;min-width:200px;position:relative}.search-icon{pointer-events:none;z-index:2;font-size:.95rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.lb2-search{border:1.5px solid var(--border-color,#ffffff26);background-color:var(--input-bg,#1e293b);width:100%;color:var(--text-primary,#f8fafc);box-sizing:border-box;border-radius:12px;outline:none;padding:10px 14px 10px 44px;font-family:inherit;font-size:.875rem;transition:border-color .2s}.lb2-search:focus{border-color:var(--accent,#6366f1)}.search-clear{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.8rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.lb2-select{border:1.5px solid var(--border-color,#ffffff26);background-color:var(--input-bg,#1e293b);color:var(--text-primary,#f8fafc);cursor:pointer;border-radius:12px;outline:none;padding:10px 14px;font-family:inherit;font-size:.875rem;transition:border-color .2s}.lb2-select:focus{border-color:var(--accent,#6366f1)}.lb2-total-badge{color:var(--accent,#818cf8);white-space:nowrap;background:#6366f126;border-radius:20px;padding:8px 16px;font-size:.8rem;font-weight:700}.lb2-podium-wrap{justify-content:center;align-items:flex-end;gap:12px;max-width:700px;margin:0 auto;padding:20px 24px 0;display:flex}.lb2-podium-spot{flex-direction:column;flex:1;align-items:center;gap:6px;max-width:200px;display:flex}.lb2-podium-spot.p1{transform:translateY(-24px)}.podium2-crown{filter:drop-shadow(0 4px 12px #fbbf2499);font-size:2rem;animation:2.5s ease-in-out infinite crownFloat}@keyframes crownFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.podium2-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.6rem;font-weight:900;animation:.5s cubic-bezier(.34,1.56,.64,1) both avatarPop;display:flex;box-shadow:0 6px 20px #00000026}.gold-av{background:linear-gradient(135deg,#f59e0b,#fbbf24);width:76px;height:76px;font-size:2rem;box-shadow:0 6px 24px #fbbf2473}@keyframes avatarPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.podium2-name{color:var(--text-primary,#f8fafc);text-align:center;font-size:.9rem;font-weight:800}.podium2-pts{color:var(--accent,#6366f1);font-size:1rem;font-weight:900}.gold-pts{color:#f59e0b;font-size:1.2rem}.podium2-score{color:var(--text-secondary,#94a3b8);font-size:.75rem}.podium2-block{text-align:center;color:#fff;border-radius:12px 12px 0 0;justify-content:center;align-items:center;width:100%;padding:14px 8px;font-size:.875rem;font-weight:800;display:flex}.gold-block{background:linear-gradient(135deg,#f59e0b,#fbbf24);min-height:90px;box-shadow:0 -4px 20px #fbbf244d}.silver-block{background:linear-gradient(135deg,#64748b,#94a3b8);min-height:70px}.bronze-block{background:linear-gradient(135deg,#b45309,#d97706);min-height:54px}.lb2-legend{flex-wrap:wrap;align-items:center;gap:8px;max-width:1100px;margin:0 auto;padding:12px 24px 20px;display:flex}.legend-label{color:var(--text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.legend-chip{border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:700}.legend-info{color:var(--text-muted,#64748b);margin-left:auto;font-size:.7rem}.lb2-list-wrap{max-width:1100px;margin:0 auto;padding:0 24px 40px}.lb2-loading{text-align:center;color:var(--text-secondary,#94a3b8);padding:80px 24px}.lb2-spinner{border:3px solid var(--border-color,#ffffff26);border-top-color:var(--accent,#6366f1);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.7s linear infinite spin}.lb2-empty{text-align:center;padding:80px 24px}.lb2-empty-icon{margin-bottom:12px;font-size:4rem}.lb2-empty h3{color:var(--text-primary,#f8fafc);margin:0 0 8px;font-size:1.2rem;font-weight:800}.lb2-empty p{color:var(--text-secondary,#94a3b8);margin:0 0 20px;font-size:.875rem}.lb2-retry-btn{background:var(--accent,#6366f1);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 24px;font-weight:700;transition:background .2s}.lb2-retry-btn:hover{background:var(--accent-secondary,#4f46e5)}.lb2-list-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary,#94a3b8);grid-template-columns:56px 1fr 80px 70px 90px 90px 100px 110px 130px;gap:8px;padding:8px 16px;font-size:.7rem;font-weight:700;display:grid}.lb2-list{flex-direction:column;gap:8px;display:flex}.lb2-row{background-color:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1f);cursor:default;border-radius:14px;grid-template-columns:56px 1fr 80px 70px 90px 90px 100px 110px 130px;align-items:center;gap:8px;padding:14px 16px;transition:all .2s;animation:.4s cubic-bezier(.34,1.56,.64,1) both rowSlideIn;display:grid;box-shadow:0 2px 8px #00000026}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.lb2-row:hover{border-color:var(--accent);transform:translate(4px);box-shadow:0 6px 20px #00000040}.lb2-row.is-me{border-color:var(--accent,#6366f1);background:#6366f11f}.lb2-row.is-top3{box-shadow:0 4px 16px #7c3aed33}.lb2-col{align-items:center;display:flex}.col-rank{justify-content:center}.lb2-medal{font-size:1.6rem}.lb2-rank-num{color:var(--text-secondary,#94a3b8);font-size:1rem;font-weight:900}.col-student{gap:10px;min-width:0}.lb2-avatar{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;font-weight:900;display:flex}.lb2-name-wrap{flex:1;min-width:0;overflow:hidden}.lb2-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.875rem;font-weight:800;display:flex;overflow:hidden;color:var(--text-primary,#f8fafc)!important}.you-tag{background:var(--accent-glow,#6366f140);color:var(--accent,#818cf8);text-transform:uppercase;border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:.6rem;font-weight:800}.lb2-classname{color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.grade-chip{background:var(--bg-card-hover,#ffffff14);color:var(--text-secondary,#94a3b8);border-radius:20px;padding:4px 10px;font-size:.72rem;font-weight:700}.mastered-num{color:#a78bfa;font-size:.9rem;font-weight:800}.acc-wrap{flex-direction:column;gap:3px;width:100%;display:flex}.acc-num,.score-num{color:var(--text-primary,#f8fafc);font-size:.8rem;font-weight:800}.score-bar-track{background:#ffffff1a;border-radius:2px;width:100%;height:4px;overflow:hidden}.score-bar-fill{border-radius:2px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.pts-pill{white-space:nowrap;border-radius:10px;padding:4px 10px;font-size:.8rem;font-weight:800}@media (width<=768px){.lb2-list-header{display:none}.lb2-row{grid-template-columns:44px 1fr auto;gap:8px}.col-grade,.col-acc,.col-time,.col-sparkle,.col-trend,.col-rankchange{display:none!important}}.od-page{color:#e2e8f0;background:#0c0c18;max-width:680px;min-height:100vh;margin:0 auto;padding:20px 16px 80px;font-family:Inter,-apple-system,sans-serif}.od-toast{z-index:9999;white-space:nowrap;pointer-events:none;border-radius:50px;padding:12px 24px;font-size:.9rem;font-weight:600;animation:.3s od-toast-in;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.od-toast--success{color:#6ee7b7;background:#065f46;border:1px solid #10b981}.od-toast--error{color:#fca5a5;background:#7f1d1d;border:1px solid #ef4444}.od-toast--warn{color:#fcd34d;background:#78350f;border:1px solid #f59e0b}.od-toast--info{color:#93c5fd;background:#1e3a8a;border:1px solid #3b82f6}@keyframes od-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.od-header{background:linear-gradient(135deg,#1e1b4b,#312e81);border:1px solid #6366f140;border-radius:18px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:20px 22px;display:flex}.od-header-left{align-items:center;gap:14px;display:flex}.od-header-icon{flex-shrink:0;font-size:2.2rem}.od-title{color:#fff;margin:0 0 3px;font-size:1.5rem;font-weight:800}.od-subtitle{color:#a5b4fc;margin:0;font-size:.82rem}.od-badge{white-space:nowrap;border-radius:50px;flex-shrink:0;padding:7px 14px;font-size:.8rem;font-weight:700}.od-badge--online{color:#6ee7b7;background:#064e3b;border:1px solid #059669}.od-badge--offline{color:#fca5a5;background:#7c1d1d;border:1px solid #dc2626}.od-stats-banner{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.od-stat-pill{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex:1;min-width:80px;padding:12px 10px}.od-stat-pill-val{color:#818cf8;margin-bottom:4px;font-size:1.5rem;font-weight:800;line-height:1;display:block}.od-stat-pill-val.warn{color:#f59e0b}.od-stat-pill-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.od-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #ffffff14;border-radius:18px;margin-bottom:14px;padding:20px}.od-card--info{background:#3b82f60a;border-color:#3b82f633}.od-card--danger{background:#dc262608;border-color:#dc262633}.od-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.od-card-title{color:#e2e8f0;font-size:1rem;font-weight:700}.od-mode-toggle{background:#0000004d;border-radius:10px;gap:4px;padding:3px;display:flex}.od-mode-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s}.od-mode-btn.active{color:#fff;background:#4f46e5}.od-filter-row{margin-bottom:18px}.od-filter-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:.78rem;font-weight:700;display:block}.od-filter-label-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.od-select-all-btn{color:#818cf8;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.od-grade-chips{flex-wrap:wrap;gap:7px;display:flex}.od-grade-chip{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50px;padding:6px 13px;font-size:.82rem;font-weight:700;transition:all .15s}.od-grade-chip:hover{color:#a5b4fc;border-color:#6366f1}.od-grade-chip.active{color:#fff;background:#4f46e5;border-color:#6366f1}.od-subject-chips{flex-wrap:wrap;gap:8px;display:flex}.od-subject-chip{color:#cbd5e1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50px;align-items:center;gap:5px;padding:7px 15px;font-size:.83rem;font-weight:600;transition:all .15s;display:flex}.od-subject-chip:hover{border-color:var(--chip-color,#6366f1);color:#fff}.od-subject-chip.active{background:var(--chip-color,#6366f1);border-color:var(--chip-color,#6366f1);color:#fff}.od-skills-grid{grid-template-columns:1fr 1fr;gap:7px;max-height:300px;padding-right:4px;display:grid;overflow-y:auto}.od-skills-grid::-webkit-scrollbar{width:4px}.od-skills-grid::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.od-skill-check{cursor:pointer;color:#94a3b8;background:#ffffff08;border:1px solid #ffffff12;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;transition:all .15s;display:flex}.od-skill-check input{display:none}.od-skill-check:hover{color:#e2e8f0;border-color:#6366f1}.od-skill-check.checked{color:#e2e8f0;background:#6366f11f;border-color:#6366f1}.od-skill-name{flex:1;line-height:1.3}.od-skill-grade{white-space:nowrap;background:#ffffff1a;border-radius:4px;padding:1px 5px;font-size:.68rem}.od-dl-summary-row{margin:12px 0 14px}.od-dl-preview{background:#6366f11a;border:1px solid #6366f133;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.od-dl-preview-count{color:#818cf8;font-size:1.4rem;font-weight:800;line-height:1}.od-dl-preview-label{color:#a5b4fc;font-size:.85rem}.od-dl-main-btn{margin-top:0}.od-btn{cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:8px;padding:14px;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s}.od-btn:disabled{opacity:.45;cursor:not-allowed}.od-btn--primary{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.od-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #6366f166}.od-btn--success{color:#fff;background:linear-gradient(135deg,#059669,#047857)}.od-btn--success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #05966966}.od-btn--danger{color:#f87171;background:0 0;border:1px solid #ef444459}.od-btn--danger:hover:not(:disabled){background:#ef44441a}.od-hint{color:#64748b;text-align:center;margin-top:10px;font-size:.8rem}.od-progress-bar-wrap{align-items:center;gap:10px;margin-bottom:12px;display:flex}.od-progress-bar{background:#ffffff14;border-radius:99px;flex:1;height:10px;overflow:hidden}.od-progress-bar-fill{background:linear-gradient(90deg,#4f46e5,#06b6d4);border-radius:99px;height:100%;transition:width .4s}.od-progress-pct{color:#818cf8;min-width:36px;font-size:.85rem;font-weight:700}.od-dl-result-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.od-result-chip{border-radius:50px;padding:5px 12px;font-size:.8rem;font-weight:600}.od-result-chip.success{color:#6ee7b7;background:#064e3b;border:1px solid #059669}.od-result-chip.warn{color:#fcd34d;background:#78350f;border:1px solid #f59e0b}.od-skill-list{flex-direction:column;gap:5px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.od-skill-list::-webkit-scrollbar{width:4px}.od-skill-list::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.od-skill-row{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:.8rem;display:flex}.od-skill-row--done{background:#10b9810d;border-color:#10b98133}.od-skill-row--downloading{background:#6366f112;border-color:#6366f14d;animation:1s infinite od-pulse}.od-skill-row--error{background:#ef44440d;border-color:#ef444433}.od-skill-row--locked{background:#f59e0b0d;border-color:#f59e0b33}.od-skill-row--empty{opacity:.5}@keyframes od-pulse{0%,to{opacity:1}50%{opacity:.6}}.od-skill-row-icon{flex-shrink:0;font-size:.9rem}.od-skill-row-name{color:#e2e8f0;flex:1;font-weight:500}.od-skill-row-sub{color:#64748b;font-size:.72rem}.od-skill-row-count{color:#818cf8;white-space:nowrap;font-size:.72rem;font-weight:700}.od-sync-desc{color:#94a3b8;margin-bottom:14px;font-size:.88rem;line-height:1.5}.od-sync-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.od-sync-status{border-radius:50px;padding:7px 14px;font-size:.82rem;font-weight:600}.od-sync-status.online{color:#6ee7b7;background:#064e3b;border:1px solid #059669}.od-sync-status.offline{color:#fca5a5;background:#7c1d1d;border:1px solid #dc2626}.od-sync-row .od-btn{width:auto;margin-top:0;padding:8px 18px;font-size:.85rem}.od-synced-badge{color:#6ee7b7;background:#0596691a;border:1px solid #05966940;border-radius:50px;padding:7px 16px;font-size:.85rem;font-weight:600}.od-steps{flex-direction:column;gap:16px;display:flex}.od-step{align-items:flex-start;gap:14px;display:flex}.od-step-num{color:#fff;background:linear-gradient(135deg,#4f46e5,#818cf8);border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;margin-top:2px;font-size:.8rem;font-weight:800;display:flex}.od-step strong{color:#e2e8f0;margin-bottom:3px;font-size:.9rem;display:block}.od-step p{color:#94a3b8;margin:0;font-size:.82rem;line-height:1.5}.od-gate{text-align:center;background:linear-gradient(135deg,#1e1b4bcc,#312e8166);border:1px solid #6366f133;border-radius:24px;margin-top:8px;padding:40px 24px}.od-gate-icon{margin-bottom:16px;font-size:3.5rem}.od-gate-title{color:#fff;margin-bottom:12px;font-size:1.4rem;font-weight:800}.od-gate-desc{color:#a5b4fc;max-width:400px;margin:0 auto 24px;font-size:.92rem;line-height:1.7}.od-gate-features{text-align:left;grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin:0 auto 28px;display:grid}.od-gate-feature{color:#cbd5e1;background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;display:flex}.od-gate-feature-icon{flex-shrink:0;font-size:1.1rem}.od-gate-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:20px;display:flex}.od-gate-btn{cursor:pointer;border:none;border-radius:50px;padding:12px 28px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block}.od-gate-btn--primary{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 20px #6366f159}.od-gate-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #6366f173}.od-gate-btn--secondary{color:#e2e8f0;background:#ffffff12;border:1px solid #ffffff26}.od-gate-btn--secondary:hover{background:#ffffff1f}.od-gate-hint{color:#ffffff4d;font-size:.75rem}@media (width<=480px){.od-gate-features,.od-skills-grid{grid-template-columns:1fr}.od-header{flex-direction:column;align-items:flex-start;gap:10px}.od-gate-actions{flex-direction:column;align-items:center}.od-gate-btn{text-align:center;width:100%}}.teacher-page{padding:var(--space-8) 0 var(--space-16)}.teacher-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:flex-start;display:flex}.teacher-header h1{margin-bottom:var(--space-2)}.teacher-header-actions{gap:var(--space-3);display:flex}.teacher-stats{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.teacher-stat-card{padding:var(--space-5);text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.teacher-stat-icon{font-size:1.75rem}.teacher-stat-value{font-family:var(--font-display);font-size:2rem;font-weight:900}.teacher-stat-label{color:var(--gray-500);font-size:.8rem;font-weight:600}.teacher-grid{gap:var(--space-6);grid-template-columns:1fr 320px;display:grid}.teacher-section{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);margin-bottom:var(--space-6)}.teacher-section h2{margin-bottom:var(--space-5);font-size:1.1rem}.teacher-section-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.teacher-section-header h2{margin-bottom:0}.see-all-link{color:var(--ixl-blue);font-size:.8rem;font-weight:700;text-decoration:none}.roster-table{flex-direction:column;display:flex}.roster-header-row,.roster-row{gap:var(--space-4);padding:var(--space-3) var(--space-4);grid-template-columns:2fr 1fr 1fr 1fr .5fr;align-items:center;display:grid}.roster-header-row{color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--gray-100);font-size:.75rem;font-weight:700}.roster-row{border-bottom:1px solid var(--gray-100);transition:background var(--transition)}.roster-row:hover{background:var(--gray-50)}.roster-student{align-items:center;gap:var(--space-3);display:flex}.roster-avatar{background:var(--ixl-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.875rem;font-weight:800;display:flex}.roster-name{font-size:.9rem;font-weight:700}.roster-grade{color:var(--gray-500);font-size:.75rem}.roster-cell{font-size:.9rem;font-weight:600}.roster-active{color:var(--gray-500);font-size:.8rem}.teacher-actions,.teacher-side{flex-direction:column;display:flex}.teacher-action-btn{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1.5px solid var(--gray-200);color:inherit;transition:all var(--transition);margin-bottom:var(--space-2);font-size:1.5rem;text-decoration:none;display:flex}.teacher-action-btn:hover{border-color:var(--ixl-blue);background:var(--ixl-blue-light)}.top-performer,.struggling-student{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);display:flex}.top-performer{background:var(--gray-50)}.struggling-student{background:#fff8e7}.top-rank{flex-shrink:0;font-size:1.5rem}@media (width<=1024px){.teacher-stats{grid-template-columns:repeat(2,1fr)}.teacher-grid{grid-template-columns:1fr}}@media (width<=768px){.teacher-header{gap:var(--space-4);flex-direction:column}.teacher-header-actions{flex-wrap:wrap;width:100%}.teacher-stats{gap:var(--space-3)!important;grid-template-columns:repeat(2,1fr)!important}.roster-header-row,.roster-row{grid-template-columns:1.5fr 1fr 1fr;font-size:.8rem}.roster-header-row div:nth-child(4),.roster-row div:nth-child(4),.roster-header-row div:nth-child(5),.roster-row div:nth-child(5){display:none}}.reports-page{padding:var(--space-8) 0 var(--space-16)}.reports-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.reports-header h1{margin-bottom:var(--space-2)}.report-tabs{gap:var(--space-2);background:var(--gray-100);border-radius:var(--radius-full);padding:4px;display:flex}.report-tab{border-radius:var(--radius-full);color:var(--gray-500);cursor:pointer;transition:all var(--transition);background:0 0;border:none;padding:6px 18px;font-size:.875rem;font-weight:700}.report-tab.active{background-color:var(--bg-secondary);color:var(--ixl-blue);box-shadow:var(--shadow-sm)}.report-summary{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.report-card{padding:var(--space-5);text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.rc-icon{font-size:2rem}.rc-value{font-family:var(--font-display);font-size:2rem;font-weight:900}.rc-label{color:var(--gray-400);font-size:.75rem;font-weight:600}.report-grid{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.report-section{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);margin-bottom:var(--space-6)}.report-section h2{margin-bottom:var(--space-5);font-size:1.1rem}.class-chart{align-items:flex-end;gap:var(--space-3);height:200px;padding-top:var(--space-4);display:flex}.chart-col{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.chart-bar{border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .6s}.chart-bar-label{color:var(--gray-500);font-size:.7rem;font-weight:700}.chart-day{color:var(--gray-400);font-size:.7rem;font-weight:600}.score-dist{gap:var(--space-4);flex-direction:column;display:flex}.dist-row{align-items:center;gap:var(--space-3);display:flex}.dist-label{color:var(--gray-600);min-width:160px;font-size:.8rem;font-weight:600}.dist-bar-wrap{background:var(--gray-100);border-radius:6px;flex:1;height:12px;overflow:hidden}.dist-bar{border-radius:6px;height:100%;transition:width .8s}.dist-count{color:var(--gray-500);text-align:right;min-width:80px;font-size:.8rem;font-weight:700}.student-report-table{flex-direction:column;display:flex}.srt-header{gap:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--gray-400);text-transform:uppercase;border-bottom:2px solid var(--gray-100);grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 2fr;font-size:.75rem;font-weight:700;display:grid}.srt-row{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-100);transition:background var(--transition);grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 2fr;align-items:center;display:grid}.srt-row:hover{background:var(--gray-50)}.srt-student{align-items:center;gap:var(--space-3);display:flex}.mini-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:800;display:flex}.srt-cell{font-size:.9rem}.mini-bars{align-items:flex-end;gap:3px;height:28px;display:flex}.mini-bar{border-radius:2px;width:8px}.srt-progress-bar{background:var(--gray-200);border-radius:3px;width:100%;height:6px;overflow:hidden}.student-detail{margin-top:var(--space-4);padding:var(--space-6)}.student-detail h3{margin-bottom:var(--space-5)}.student-detail-chart .class-chart{height:150px}.subject-report{gap:var(--space-4);flex-direction:column;display:flex}.subject-report-row{gap:var(--space-4);grid-template-columns:180px 1fr 60px 120px;align-items:center;display:grid}.sr-bar-wrap{background:var(--gray-100);border-radius:5px;height:10px;overflow:hidden}.sr-bar{border-radius:5px;height:100%;transition:width .8s}.sr-score{font-family:var(--font-display);font-size:1.25rem}@media (width<=1024px){.report-summary{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}}.assignments-page{padding:var(--space-8) 0 var(--space-16)}.assignments-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:flex-start;display:flex}.assignments-header h1{margin-bottom:var(--space-2)}.create-assignment{padding:var(--space-8);margin-bottom:var(--space-8)}.create-assignment h2{margin-bottom:var(--space-6)}.create-form{gap:var(--space-5);flex-direction:column;display:flex}.create-row{gap:var(--space-4);grid-template-columns:2fr 1fr 1fr;display:grid}.skill-checkboxes{gap:var(--space-2);border:1px solid var(--gray-200);border-radius:var(--radius-md);max-height:200px;padding:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.skill-checkbox-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);display:flex}.skill-checkbox-item:hover{background:var(--gray-50)}.skill-checkbox-item.checked{background:var(--ixl-blue-light)}.skill-diff{color:var(--gray-400);margin-left:auto;font-size:.75rem}.student-checkboxes{gap:var(--space-2);flex-direction:column;display:flex}.student-check-all{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--gray-100);margin-bottom:var(--space-2);font-weight:700;display:flex}.student-checkbox-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);display:flex}.student-checkbox-item:hover{background:var(--gray-50)}.student-checkbox-item.checked{background:var(--ixl-blue-light)}.create-actions{gap:var(--space-3);display:flex}.assignments-list{gap:var(--space-4);flex-direction:column;display:flex}.assignments-list h2{margin-bottom:var(--space-3);font-size:1.1rem}.assignment-item{padding:var(--space-5) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.ai-left{flex:1}.ai-subject-badge{color:var(--ixl-blue);background:var(--ixl-blue-light);border-radius:var(--radius-full);margin-bottom:var(--space-2);padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.ai-title{margin-bottom:var(--space-1);font-size:1rem;font-weight:800}.ai-due{color:var(--gray-500);font-size:.8rem}.ai-right{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.ai-students{color:var(--gray-500);font-size:.875rem;font-weight:600}.ai-status{border-radius:var(--radius-full);padding:3px 10px;font-size:.8rem;font-weight:700}.ai-status.active{background:var(--ixl-blue-light);color:var(--ixl-blue)}.ai-status.completed{background:var(--correct-light);color:var(--correct)}.assignment-creator{background:#f0f4f8;min-height:100vh}.creator-header{color:#fff;background:linear-gradient(135deg,#1e40af,#3b82f6);align-items:center;gap:20px;padding:20px 32px;display:flex}.creator-header h1{flex:1;margin:0;font-size:1.4rem;font-weight:800}.back-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;padding:8px 16px;font-weight:600}.step-indicators{gap:8px;display:flex}.step-dot{color:#fff;background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:800;transition:all .2s;display:flex}.step-dot.active{background-color:var(--bg-secondary);color:#1e40af}.step-dot.done{color:#fff;background:#10b981}.creator-body{max-width:1200px;margin:0 auto;padding:32px}.creator-step{background-color:var(--bg-secondary);border-radius:16px;padding:32px;box-shadow:0 2px 12px #0000000f}.creator-step h2{color:#0f172a;margin:0 0 24px;font-size:1.3rem;font-weight:800}.form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:4px;display:grid}.checkbox-label{cursor:pointer;align-items:center;gap:8px;color:#374151!important;font-size:.875rem!important;font-weight:500!important;display:flex!important}.checkbox-label input[type=checkbox]{width:auto!important;height:auto!important}.step-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e40af,#3b82f6);border:none;border-radius:10px;padding:12px 24px;font-size:.9rem;font-weight:700;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#374151;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;padding:12px 24px;font-size:.9rem;font-weight:600}.btn-create{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:10px;padding:12px 28px;font-size:1rem;font-weight:800;transition:all .2s}.btn-create:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.skills-layout{grid-template-columns:1fr 360px;gap:24px;margin-bottom:24px;display:grid}@media (width<=900px){.skills-layout{grid-template-columns:1fr}}.browser-filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.browser-filters select{cursor:pointer;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:.85rem}.search-input{border:1.5px solid #e2e8f0;border-radius:8px;flex:1;padding:8px 14px;font-size:.85rem}.skill-list{flex-direction:column;gap:6px;max-height:500px;display:flex;overflow-y:auto}.skill-item{cursor:pointer;background-color:var(--bg-secondary);border:1.5px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.skill-item:hover{background:#eff6ff;border-color:#bfdbfe}.skill-item.selected{background:#eff6ff;border-color:#3b82f6}.skill-check{color:#fff;border:2px solid #d1d5db;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:900;display:flex}.skill-item.selected .skill-check{background:#3b82f6;border-color:#3b82f6}.skill-info{flex:1}.skill-name{color:#0f172a;font-size:.875rem;font-weight:600}.skill-meta{color:#94a3b8;margin-top:2px;font-size:.72rem}.skill-difficulty-dots{gap:3px;display:flex}.dot{background:#e2e8f0;border-radius:50%;width:6px;height:6px}.dot.filled{background:#3b82f6}.empty-hint{text-align:center;color:#94a3b8;padding:32px;font-size:.875rem}.selected-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.selected-panel h3{color:#0f172a;margin:0 0 16px;font-size:.95rem;font-weight:800}.selected-skill-card{background-color:var(--bg-secondary);border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.q-count-row{align-items:center;gap:6px;display:flex}.q-count-input{text-align:center;border:1px solid #d1d5db;border-radius:6px;width:52px;padding:4px 6px;font-size:.8rem;font-weight:700}.remove-skill{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;font-weight:700;display:flex}.selection-summary{color:#1e40af;text-align:center;background:#eff6ff;border-radius:8px;margin-top:12px;padding:10px;font-size:.8rem;font-weight:700}.review-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.review-row{border-bottom:1px solid #f1f5f9;gap:12px;padding:8px 0;display:flex}.review-row:last-child{border-bottom:none}.review-row span{color:#64748b;flex-shrink:0;width:110px;font-size:.8rem;font-weight:600}.review-skill-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.review-num{color:#1e40af;background:#eff6ff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:800;display:flex}.review-q-count{color:#1e40af;white-space:nowrap;background:#eff6ff;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:700}.school-mgr{padding:var(--space-6);max-width:1200px;margin:0 auto}.school-mgr-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.school-mgr-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:900}.tabs{background:var(--gray-100);border-radius:var(--radius-lg);margin-bottom:var(--space-6);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.tab-btn{border-radius:var(--radius-md);cursor:pointer;color:var(--gray-600);white-space:nowrap;background:0 0;border:none;padding:8px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.tab-btn.active{background-color:var(--bg-secondary);color:var(--ixl-blue);box-shadow:0 2px 8px #0000001a}.tab-btn:hover:not(.active){background:var(--gray-200)}.sm-card{background-color:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--gray-200);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:0 2px 8px #0000000a}.sm-card h2{color:var(--text-primary);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);font-size:1.2rem;font-weight:800;display:flex}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-grid-3{gap:var(--space-4);grid-template-columns:1fr 1fr 1fr;display:grid}@media (width<=700px){.form-grid,.form-grid-3{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius-md);border:1.5px solid var(--gray-200);background:var(--gray-50);color:var(--text-primary);padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--ixl-blue);background-color:var(--bg-secondary);outline:none}.level-selector{gap:var(--space-2);flex-wrap:wrap;margin-top:4px;display:flex}.level-badge{border-radius:var(--radius-full);border:2px solid var(--gray-200);background-color:var(--bg-secondary);cursor:pointer;color:var(--gray-600);padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s}.level-badge:hover{border-color:var(--ixl-blue);color:var(--ixl-blue)}.level-badge.selected{border-color:var(--ixl-blue);background:var(--ixl-blue);color:#fff}.level-badge.lv1.selected{background:#22c55e;border-color:#22c55e}.level-badge.lv2.selected{background:#84cc16;border-color:#84cc16}.level-badge.lv3.selected{background:#f59e0b;border-color:#f59e0b}.level-badge.lv4.selected{background:#ef4444;border-color:#ef4444}.level-badge.lv5.selected{background:#8b5cf6;border-color:#8b5cf6}.level-badge.lv6.selected{background:#0f172a;border-color:#0f172a}.class-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.class-item{background-color:var(--bg-secondary);border-radius:var(--radius-xl);border:1.5px solid var(--gray-200);padding:var(--space-5);transition:all .2s;position:relative;overflow:hidden}.class-item:hover{border-color:var(--ixl-blue);transform:translateY(-2px);box-shadow:0 4px 20px #006bd61a}.class-item-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-start;display:flex}.class-name{color:var(--text-primary);font-size:1.1rem;font-weight:800}.class-grade{color:var(--ixl-blue);background:var(--ixl-blue-light);border-radius:var(--radius-full);padding:3px 10px;font-size:.8rem;font-weight:700}.class-meta{gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.class-meta-item{flex-direction:column;gap:2px;display:flex}.class-meta-item .val{color:var(--text-primary);font-size:1.1rem;font-weight:800}.class-meta-item .lbl{color:var(--gray-500);text-transform:uppercase;font-size:.7rem;font-weight:600}.class-teacher{color:var(--gray-500);align-items:center;gap:4px;font-size:.8rem;display:flex}.class-level-tag{border-radius:var(--radius-full);margin-top:var(--space-2);align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;font-weight:800;display:inline-flex}.class-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.stu-table{border-collapse:collapse;width:100%}.stu-table th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--gray-100);padding:10px 12px;font-size:.75rem;font-weight:700}.stu-table td{border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:12px;font-size:.9rem}.stu-table tr:hover td{background:var(--gray-50)}.locked-badge{color:#92400e;border-radius:var(--radius-full);background:#fef3c7;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.unlocked-badge{background:var(--gray-100);color:var(--gray-500);border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.alert-success{color:#065f46;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);background:#d1fae5;border:1px solid #6ee7b7;font-weight:600;display:flex}.alert-error{color:#991b1b;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);background:#fee2e2;border:1px solid #fca5a5;font-weight:600}.modal-overlay{z-index:1000;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:520px;animation:.2s fadeInDown;box-shadow:0 20px 60px #0000004d}.modal-box h3{margin-bottom:var(--space-4);color:var(--text-primary);font-size:1.2rem;font-weight:800}.modal-footer{gap:var(--space-3);margin-top:var(--space-5);justify-content:flex-end;display:flex}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--gray-400)}.empty-state h3{color:var(--gray-500);margin-bottom:var(--space-2);font-size:1.1rem;font-weight:700}.empty-state p{font-size:.9rem}.code-badge{color:#0369a1;border-radius:var(--radius-md);letter-spacing:.1em;background:#f0f9ff;border:1.5px dashed #0ea5e9;padding:6px 14px;font-family:monospace;font-size:1rem;font-weight:800}.wg-page{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);min-height:100vh;padding:24px}.wg-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.wg-header h1{color:#fff;letter-spacing:-.5px;font-size:1.8rem;font-weight:800}.wg-header p{color:#94a3b8;margin-top:2px;font-size:.9rem}.wg-body{grid-template-columns:380px 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.wg-body{grid-template-columns:1fr}}.wg-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:28px}.wg-controls h2{color:#fff;align-items:center;gap:8px;margin-bottom:20px;font-size:1rem;font-weight:700;display:flex}.wg-form-group{margin-bottom:16px}.wg-form-group label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.wg-form-group select,.wg-form-group input[type=text],.wg-form-group input[type=number]{color:#fff;box-sizing:border-box;background:#ffffff12;border:1px solid #ffffff26;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:.9rem;transition:border-color .2s,background .2s}.wg-form-group select:focus,.wg-form-group input:focus{background:#3b82f61a;border-color:#3b82f6}.wg-form-group select option{background:#1e293b}.wg-slider-row{align-items:center;gap:12px;display:flex}.wg-slider{-webkit-appearance:none;background:linear-gradient(90deg,#3b82f6 0%,#ffffff26 0%);border-radius:3px;outline:none;flex:1;height:6px}.wg-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 3px #3b82f64d}.wg-slider-value{color:#fff;text-align:center;background:#3b82f6;border-radius:8px;min-width:36px;padding:4px 10px;font-size:.85rem;font-weight:700}.wg-toggle-row{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.wg-toggle-label{color:#cbd5e1;font-size:.875rem;font-weight:500}.wg-toggle{cursor:pointer;width:44px;height:24px;position:relative}.wg-toggle input{opacity:0;width:0;height:0}.wg-toggle-track{background:#ffffff26;border-radius:24px;transition:background .2s;position:absolute;inset:0}.wg-toggle input:checked+.wg-toggle-track{background:#3b82f6}.wg-toggle-thumb{background-color:var(--bg-secondary);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.wg-toggle input:checked~.wg-toggle-thumb{transform:translate(20px)}.wg-actions{gap:10px;margin-top:24px;display:flex}.wg-btn-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:.95rem;font-weight:700;transition:opacity .2s,transform .1s;display:flex}.wg-btn-generate:hover{opacity:.9;transform:translateY(-1px)}.wg-btn-generate:disabled{opacity:.5;cursor:not-allowed;transform:none}.wg-btn-print{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;padding:13px 16px;font-size:.95rem;font-weight:600;transition:background .2s}.wg-btn-print:hover{background:#ffffff2e}.wg-preview-col{flex-direction:column;gap:20px;display:flex}.wg-preview-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:24px}.wg-preview-card h2{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:20px;font-size:.95rem;font-weight:700;display:flex}.worksheet-paper{background-color:var(--bg-secondary);color:#111;border-radius:8px;max-width:600px;margin:0 auto;padding:32px;font-family:Georgia,serif;box-shadow:0 20px 60px #00000080}.ws-header-banner{color:#fff;background:#2563eb;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.ws-header-banner .ws-school{font-size:.95rem;font-weight:700}.ws-header-banner .ws-url{opacity:.85;font-size:.75rem}.ws-title{text-align:center;color:#1a1a2e;margin:12px 0;font-size:1.2rem;font-weight:700}.ws-meta{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;gap:20px;margin-bottom:14px;padding:10px 14px;font-size:.78rem;display:flex}.ws-name-line{color:#475569;border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:12px;font-size:.82rem}.ws-divider{background:#2563eb;border-radius:1px;height:2px;margin:0 0 16px}.ws-question{border-bottom:1px dashed #e2e8f0;margin-bottom:18px;padding-bottom:14px}.ws-question:last-child{border-bottom:none}.ws-q-num{color:#2563eb;margin-bottom:4px;font-size:.9rem;font-weight:700}.ws-q-text{color:#1e293b;margin-bottom:8px;font-size:.88rem;line-height:1.5}.ws-options{flex-direction:column;gap:4px;padding-left:12px;display:flex}.ws-opt{color:#374151;font-size:.82rem}.ws-blank-line{color:#94a3b8;font-size:.82rem;font-style:italic}.ws-tf-row{color:#374151;gap:20px;font-size:.82rem;display:flex}.ws-footer{color:#94a3b8;text-align:center;border-top:1px solid #e2e8f0;margin-top:20px;padding-top:10px;font-family:Helvetica,sans-serif;font-size:.72rem}.wg-history{flex-direction:column;gap:10px;display:flex}.wg-hist-item{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;transition:background .2s;display:flex}.wg-hist-item:hover{background:#ffffff1a}.wg-hist-icon{background:#3b82f633;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.wg-hist-name{color:#f1f5f9;font-size:.9rem;font-weight:600}.wg-hist-meta{color:#64748b;margin-top:2px;font-size:.78rem}.wg-hist-badge{color:#93c5fd;background:#3b82f633;border-radius:6px;margin-left:auto;padding:4px 8px;font-size:.72rem;font-weight:600}.wg-empty{text-align:center;color:#475569;padding:24px;font-size:.875rem}.spinner-sm{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.principal-dashboard{background:#f0f4f8;min-height:100vh;padding:0}.principal-header{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);padding:32px 40px;position:relative;overflow:hidden}.principal-header:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.principal-header-inner{z-index:1;justify-content:space-between;align-items:center;gap:24px;max-width:1400px;margin:0 auto;display:flex;position:relative}.principal-title-section h1{letter-spacing:-.5px;margin:0 0 4px;font-size:2rem;font-weight:900}.principal-title-section p{color:#ffffffb3;margin:0;font-size:.95rem}.principal-header-actions{gap:12px;display:flex}.btn-announce{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.btn-announce.primary{color:#fff;background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 4px 12px #f9731666}.btn-announce.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f9731680}.btn-announce.secondary{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3}.btn-announce.secondary:hover{background:#ffffff26}.principal-nav{background-color:var(--bg-secondary);sticky:top;z-index:100;border-bottom:1px solid #e2e8f0;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.principal-nav-inner{gap:0;max-width:1400px;margin:0 auto;padding:0 40px;display:flex}.principal-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:16px 24px;font-size:.875rem;font-weight:600;transition:all .2s}.principal-tab:hover{color:#1e40af}.principal-tab.active{color:#1e40af;border-bottom-color:#1e40af}.principal-content{max-width:1400px;margin:0 auto;padding:32px 40px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.metric-card{background-color:var(--bg-secondary);border:1px solid #f1f5f9;border-radius:16px;align-items:center;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 12px #0000000f}.metric-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.metric-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex}.metric-body{flex:1}.metric-value{color:#0f172a;letter-spacing:-1px;font-size:2rem;font-weight:900;line-height:1}.metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.8rem;font-weight:600}.metric-sub{color:#94a3b8;margin-top:2px;font-size:.75rem}.section-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.section-grid.three{grid-template-columns:1fr 1fr 1fr}.section-grid.full{grid-template-columns:1fr}@media (width<=1100px){.section-grid{grid-template-columns:1fr}.section-grid.three{grid-template-columns:1fr 1fr}}@media (width<=768px){.section-grid.three{grid-template-columns:1fr}.principal-content,.principal-header{padding:20px}.metrics-grid{grid-template-columns:1fr 1fr}}.panel{background-color:var(--bg-secondary);border:1px solid #f1f5f9;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-title{color:#0f172a;margin:0;font-size:1rem;font-weight:800}.panel-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:700}.panel-badge.blue{color:#1d4ed8;background:#eff6ff}.panel-badge.green{color:#16a34a;background:#f0fdf4}.panel-badge.orange{color:#ea580c;background:#fff7ed}.panel-badge.red{color:#dc2626;background:#fef2f2}.subject-bars{flex-direction:column;gap:12px;display:flex}.subject-bar-row{align-items:center;gap:12px;display:flex}.subject-bar-label{color:#374151;text-align:right;flex-shrink:0;width:140px;font-size:.8rem;font-weight:600}.subject-bar-track{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.subject-bar-fill{border-radius:4px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.subject-bar-score{color:#374151;text-align:right;width:36px;font-size:.8rem;font-weight:700}.activity-chart{align-items:flex-end;gap:8px;height:120px;padding-top:10px;display:flex}.activity-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.activity-bar{background:linear-gradient(#3b82f6,#1e40af);border-radius:6px 6px 0 0;width:100%;min-height:4px;transition:height .5s}.activity-date{color:#94a3b8;text-align:center;font-size:.65rem;font-weight:600}.activity-count{color:#64748b;font-size:.65rem;font-weight:700}.teacher-list{flex-direction:column;gap:12px;display:flex}.teacher-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:14px;transition:all .2s;display:flex}.teacher-card:hover{background:#eff6ff;border-color:#bfdbfe}.teacher-avatar{color:#fff;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:900;display:flex}.teacher-info{flex:1}.teacher-name{color:#0f172a;font-size:.9rem;font-weight:700}.teacher-meta{color:#64748b;margin-top:2px;font-size:.75rem}.teacher-score-badge{border-radius:20px;padding:6px 14px;font-size:.8rem;font-weight:800}.student-table-wrap{overflow-x:auto}.student-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.student-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-size:.7rem;font-weight:700}.student-table td{color:#374151;border-bottom:1px solid #f1f5f9;padding:12px 14px}.student-table tr:hover td{background:#f8fafc}.student-table tr:last-child td{border-bottom:none}.score-pill{border-radius:20px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.at-risk-badge{color:#dc2626;text-transform:uppercase;background:#fef2f2;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:700}.grade-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.grade-card{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 10px;transition:all .2s}.grade-card:hover{background:#eff6ff;border-color:#bfdbfe}.grade-label{color:#64748b;margin-bottom:6px;font-size:.75rem;font-weight:700}.grade-score{color:#0f172a;font-size:1.4rem;font-weight:900}.grade-students{color:#94a3b8;margin-top:3px;font-size:.65rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background-color:var(--bg-secondary);border-radius:20px;width:100%;max-width:500px;padding:32px;animation:.2s slideUp;box-shadow:0 25px 60px #0003}.modal h3{color:#0f172a;margin:0 0 20px;font-size:1.25rem;font-weight:800}.form-group{margin-bottom:16px}.form-group label{color:#374151;margin-bottom:6px;font-size:.8rem;font-weight:700;display:block}.form-group input,.form-group textarea,.form-group select{background-color:var(--bg-secondary);box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.btn-cancel{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:10px;padding:10px 20px;font-size:.875rem;font-weight:600}.btn-submit{cursor:pointer;color:#fff;background:linear-gradient(135deg,#1e40af,#3b82f6);border:none;border-radius:10px;padding:10px 20px;font-size:.875rem;font-weight:700}.leaderboard-table{border-collapse:separate;border-spacing:0 6px;width:100%}.leaderboard-row{background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 1px 4px #0000000f}.leaderboard-row td{padding:14px}.leaderboard-row td:first-child{border-radius:12px 0 0 12px}.leaderboard-row td:last-child{border-radius:0 12px 12px 0}.rank-badge{border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:900;display:flex}.rank-1{color:#fff;background:linear-gradient(135deg,#f59e0b,#fbbf24)}.rank-2{color:#fff;background:linear-gradient(135deg,#94a3b8,#cbd5e1)}.rank-3{color:#fff;background:linear-gradient(135deg,#b45309,#d97706)}.rank-other{color:#64748b;background:#f1f5f9}.loading-center{justify-content:center;align-items:center;height:200px;display:flex}.empty-state{text-align:center;color:#94a3b8;padding:48px}.empty-state .icon{margin-bottom:12px;font-size:3rem}.empty-state h3{color:#64748b;margin:0 0 8px;font-size:1rem}.empty-state p{margin:0;font-size:.875rem}.parent-page{padding:var(--space-8) 0 var(--space-16)}.parent-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:flex-start;display:flex}.parent-header h1{margin-bottom:var(--space-2)}.parent-header-actions{gap:var(--space-3);display:flex}.child-card{margin-bottom:var(--space-6);overflow:hidden}.child-card-header{padding:var(--space-6);background:linear-gradient(135deg,#f8faff,var(--ixl-blue-light));align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.child-avatar{background:var(--ixl-blue);color:#fff;width:60px;height:60px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.75rem;font-weight:900;display:flex}.child-name{margin-bottom:4px;font-size:1.5rem}.child-meta{color:var(--gray-500);font-size:.875rem}.child-weekly-goal{min-width:220px;margin-left:auto}.goal-label{color:var(--gray-400);text-transform:uppercase;margin-bottom:var(--space-2);font-size:.75rem;font-weight:700}.goal-bar-wrap{background:var(--gray-200);border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden}.goal-bar-fill{background:linear-gradient(90deg,var(--ixl-blue),#09f);border-radius:4px;height:100%;transition:width .8s}.goal-progress{color:var(--gray-500);font-size:.75rem}.child-stats{border-top:1px solid var(--gray-100);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.child-stat{text-align:center;padding:var(--space-5);border-right:1px solid var(--gray-100);flex-direction:column;align-items:center;gap:4px;display:flex}.child-stat:last-child{border-right:none}.child-stat-icon{font-size:1.25rem}.child-stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:900}.child-stat-label{color:var(--gray-400);font-size:.75rem;font-weight:600}.parent-grid{gap:var(--space-6);grid-template-columns:1fr 1fr 1fr;display:grid}.parent-section{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md)}.parent-section h2{margin-bottom:var(--space-5);font-size:1.1rem}.activity-timeline{gap:var(--space-4);flex-direction:column;display:flex}.activity-item{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);display:flex}.activity-icon{flex-shrink:0;font-size:1.5rem}.activity-info{flex:1}.activity-skill{font-size:.875rem;font-weight:700}.activity-subject{color:var(--gray-500);font-size:.75rem}.activity-score{text-align:right}.activity-score-num{font-family:var(--font-display);font-size:1.1rem;font-weight:900}.activity-score-change{font-size:.75rem;font-weight:700}.parent-award{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--gold);background:#fff8dc;display:flex}.goal-item{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);display:flex}@media (width<=1024px){.parent-grid{grid-template-columns:1fr 1fr}.child-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.parent-grid{grid-template-columns:1fr!important}.child-stats{grid-template-columns:repeat(2,1fr)!important}.parent-header{gap:var(--space-4);flex-direction:column}.child-weekly-goal{width:100%;min-width:100%;margin-left:0;margin-top:var(--space-3)}}.assignments-page{max-width:1100px;margin:0 auto;padding:32px 24px}.assignments-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.assignments-header h1{color:#0f172a;margin:0 0 6px;font-size:1.8rem;font-weight:900}.assignments-header p{color:#64748b;margin:0;font-size:.9rem}.assignment-stats{gap:20px;display:flex}.astat{text-align:center}.astat-num{color:#0f172a;font-size:1.8rem;font-weight:900;line-height:1;display:block}.astat-label{text-transform:uppercase;color:#94a3b8;font-size:.7rem;font-weight:700}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-tab{background-color:var(--bg-secondary);cursor:pointer;color:#64748b;border:1.5px solid #e2e8f0;border-radius:20px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:all .2s}.filter-tab:hover{color:#3b82f6;border-color:#3b82f6}.filter-tab.active{color:#1e40af;background:#eff6ff;border-color:#3b82f6}.assignments-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;display:grid}@media (width<=500px){.assignments-grid{grid-template-columns:1fr}}.assignment-card{background-color:var(--bg-secondary);border:1px solid #f1f5f9;border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 12px #0000000f}.assignment-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.assignment-card.overdue-card{border-color:#fecaca;box-shadow:0 2px 12px #dc26261a}.assignment-card.completed-card{border-color:#bbf7d0}.assignment-card-header{border-bottom:1px solid #f1f5f9;padding:20px 20px 16px}.assignment-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.assignment-title{color:#0f172a;flex:1;margin:0;font-size:1rem;font-weight:800}.assignment-desc{color:#64748b;margin:0;font-size:.8rem;line-height:1.5}.badge{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:700}.badge.completed{color:#16a34a;background:#f0fdf4}.badge.in-progress{color:#1e40af;background:#eff6ff}.badge.pending{color:#64748b;background:#f8fafc}.badge.overdue{color:#dc2626;background:#fef2f2}.assignment-meta-row{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:16px;padding:12px 20px;display:flex}.meta-item{color:#374151;align-items:center;gap:6px;font-size:.8rem;display:flex}.meta-icon{font-size:.9rem}.days-left{color:#b45309;background:#fef3c7;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:700}.days-left.urgent{color:#dc2626;background:#fee2e2}.assignment-skills-preview{flex-wrap:wrap;gap:6px;padding:12px 20px;display:flex}.skill-chip{color:#374151;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:600;display:flex}.skill-chip.done{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.skill-chip.more{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.chip-score{color:#059669;font-weight:800}.progress-row{align-items:center;gap:12px;padding:8px 20px;display:flex}.progress-track{background:#e2e8f0;border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#1e40af,#3b82f6);border-radius:3px;height:100%;transition:width .5s}.progress-text{color:#64748b;white-space:nowrap;font-size:.72rem;font-weight:700}.assignment-card-footer{background:#f8fafc;justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px;display:flex}.btn-start{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e40af,#3b82f6);border:none;border-radius:10px;padding:10px 22px;font-size:.875rem;font-weight:700;transition:all .2s}.btn-start:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-start.overdue{background:linear-gradient(135deg,#dc2626,#ef4444)}.empty-assignments{text-align:center;padding:64px 24px}.empty-icon{margin-bottom:16px;font-size:4rem}.empty-assignments h3{color:#374151;margin:0 0 8px;font-size:1.2rem;font-weight:700}.empty-assignments p{color:#94a3b8;margin:0;font-size:.9rem}.assignment-practice-header{background-color:var(--bg-secondary);border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 12px #0000000f}.assignment-practice-header h2{flex:1;margin:0;font-size:1.2rem;font-weight:800}.back-btn-sm{cursor:pointer;color:#374151;background:#f1f5f9;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600}.skill-select-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px;display:grid}.skill-select-card{background-color:var(--bg-secondary);cursor:pointer;text-align:center;border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s}.skill-select-card:hover,.skill-select-card.active{background:#eff6ff;border-color:#3b82f6}.skill-select-card.done{background:#f0fdf4;border-color:#10b981}.ssc-num{color:#64748b;margin-bottom:8px;font-size:1.5rem;font-weight:900}.ssc-name{color:#0f172a;font-size:.8rem;font-weight:700}.ssc-score{color:#16a34a;margin-top:4px;font-size:.75rem;font-weight:700}.practice-launch-card{background-color:var(--bg-secondary);text-align:center;border:1px solid #f1f5f9;border-radius:16px;padding:40px;box-shadow:0 2px 12px #0000000f}.plc-subject{color:#1e40af;background:#eff6ff;border-radius:20px;margin-bottom:12px;padding:4px 14px;font-size:.8rem;font-weight:700;display:inline-block}.practice-launch-card h3{color:#0f172a;margin:0 0 8px;font-size:1.4rem;font-weight:900}.btn-practice-launch{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e40af,#3b82f6);border:none;border-radius:12px;margin-top:16px;padding:14px 32px;font-size:1rem;font-weight:800;transition:all .2s;display:inline-block}.btn-practice-launch:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-next-skill{color:#374151;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;margin-top:16px;margin-left:12px;padding:14px 24px;font-size:.9rem;font-weight:700;display:inline-block}.skill-tree-page{color:#f1f5f9;background:#0b0f19;min-height:100vh;padding:30px 20px 80px;position:relative;overflow:hidden}.map-background{z-index:0;pointer-events:none;position:absolute;inset:0}.stars{opacity:.3;background:#000 url(https://api.pakspeaks.com/images/stars.png);position:absolute;inset:0}.twinkling{opacity:.2;background:url(https://api.pakspeaks.com/images/twinkling.png);position:absolute;inset:0}.skill-tree-container{z-index:10;max-width:900px;margin:0 auto;position:relative}.skill-tree-header{margin-bottom:24px}.coach-tag{color:#818cf8;letter-spacing:.05em;text-transform:uppercase;background:#6366f126;border-radius:9999px;margin-bottom:8px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.skill-tree-header h1{background:linear-gradient(135deg,#fff 0%,#cbd5e1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:2.2rem;font-weight:900}.subtitle{color:#94a3b8;margin-top:6px;font-size:.95rem}.subjects-tab-row{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;background:#0f172a99;border:1px solid #ffffff14;border-radius:16px;gap:8px;margin-bottom:20px;padding:8px;display:flex;overflow-x:auto}.subjects-tab-row::-webkit-scrollbar{display:none}.subject-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:12px;flex:none;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:700;transition:all .25s;display:flex}.subject-tab:hover{color:#f1f5f9;background:#ffffff0a}.subject-tab.active{background:var(--subject-accent,#6366f1);color:#fff;box-shadow:0 4px 15px #0003}.subject-emoji{font-size:1.1rem}.grades-row{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a99;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:12px 18px;display:flex}.selector-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.85rem;font-weight:700}.grades-list{scrollbar-width:none;gap:8px;width:100%;padding:2px 0;display:flex;overflow-x:auto}.grades-list::-webkit-scrollbar{display:none}.grade-node-btn{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex:none;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s}.grade-node-btn:hover{color:#f1f5f9;background:#ffffff14}.grade-node-btn.active{color:#fff;border-color:#0000;box-shadow:0 2px 10px #00000026}.learning-map-viewport{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172a73;border:1px solid #ffffff0f;border-radius:24px;padding:30px;position:relative;overflow:visible}.map-scroll-area{width:100%;position:relative;overflow:visible}.map-svg-lines{pointer-events:none;z-index:1;width:100%;position:absolute;top:0;left:0}.glowing-path{filter:drop-shadow(0 0 8px var(--accent));animation:40s linear infinite dashmove}@keyframes dashmove{to{stroke-dashoffset:-1000px}}.map-node{cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;transform:translate(-50%,-50%)}.node-inner{border:4px solid var(--node-accent,#64748b);z-index:10;background:#1e293b;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 10px #0000004d}.node-icon{font-size:1.1rem}.node-score-label{background:var(--node-accent,#64748b);color:#fff;border:2px solid #1e293b;border-radius:999px;padding:1px 5px;font-size:.65rem;font-weight:900;position:absolute;bottom:-4px;right:-4px}.node-pulse{opacity:0;z-index:1;border-radius:50%;width:100%;height:100%;transition:all .3s;position:absolute;top:0;left:0}.node-hover-label{color:#94a3b8;white-space:nowrap;pointer-events:none;opacity:.8;background:#0f172ad9;border:1px solid #ffffff14;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700;transition:all .2s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.map-node.not-started .node-inner{background:#0f172a;border-style:dashed}.map-node.in-progress{animation:3s ease-in-out infinite float-node}.map-node.in-progress .node-inner{background:#1e1b4b}.map-node.proficient .node-inner{background:#064e3b}.map-node.mastered .node-inner{background:#2e1065;box-shadow:0 0 15px #8b5cf666}.map-node:hover{z-index:15;transform:translate(-50%,-50%)scale(1.18)}.map-node:hover .node-inner{box-shadow:0 0 20px var(--node-accent,var(--accent))}.map-node:hover .node-pulse{opacity:.4;animation:1.5s cubic-bezier(0,0,.2,1) infinite node-ping}.map-node:hover .node-hover-label{opacity:1;color:#fff;background:#0f172a}@keyframes node-ping{75%,to{opacity:0;transform:scale(1.6)}}@keyframes float-node{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-54%)}}.node-detail-modal{z-index:100;background:#151e33;border:1px solid #ffffff1a;border-radius:16px;width:280px;position:absolute;overflow:hidden;box-shadow:0 10px 30px #00000080}.modal-header-accent{width:100%;height:6px}.modal-body{padding:16px}.modal-topic{color:#818cf8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.72rem;font-weight:800}.modal-title{color:#f1f5f9;margin:0 0 16px;font-size:.95rem;font-weight:800;line-height:1.3}.modal-score-section{background:#ffffff08;border:1px solid #ffffff08;border-radius:10px;align-items:center;gap:14px;margin-bottom:18px;padding:8px 12px;display:flex}.score-ring-wrapper{flex-shrink:0}.score-ring{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.score-ring-inner{color:#fff;background:#151e33;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:900;display:flex}.score-info{flex:1}.score-zone-name{margin-bottom:2px;font-size:.82rem;font-weight:800}.score-status-desc{color:#64748b;font-size:.7rem;line-height:1.3}.modal-actions{flex-direction:column;gap:8px;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.btn-practice{color:#fff;box-shadow:0 4px 12px #00000040}.btn-practice:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn-game{background:0 0;border:2px solid var(--accent)!important}.btn-game:hover{background:#ffffff0d;transform:translateY(-1px)}.empty-map{text-align:center;background:#0f172a99;border:1px solid #ffffff14;border-radius:20px;padding:60px 20px}.empty-map h2{margin:12px 0 6px;font-size:1.4rem}.empty-map p{color:#64748b}.rtl-layout .grades-row{flex-direction:row-reverse}.rtl-layout .score-info{text-align:right}.rtl-layout .node-score-label{left:-4px;right:auto}@media (width<=768px){.skill-tree-page{padding-bottom:90px}.skill-tree-header h1{font-size:1.8rem}.grades-row{flex-direction:column;align-items:flex-start;gap:8px}.learning-map-viewport{padding:10px}.node-detail-modal{width:calc(100% - 32px);max-width:360px;position:fixed;bottom:90px;box-shadow:0 -10px 40px #0009;top:auto!important;left:50%!important;transform:translate(-50%)!important}}.mini-game-page{color:#e2e8f0;background:#080c14;flex-direction:column;gap:20px;min-height:100vh;padding:24px;display:flex}.game-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172acc;border:1px solid #ffffff14;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px;display:flex}.game-header-left{align-items:center;gap:16px;display:flex}.btn-exit{color:#94a3b8!important;border-color:#ffffff26!important}.btn-exit:hover{color:#fff!important;background:#ffffff0d!important}.game-title{font-family:var(--font-display);color:#fff;font-size:1.1rem;font-weight:800}.game-progress-wrap{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;flex:1;max-width:400px;height:20px;position:relative;overflow:hidden}.game-progress-fill{background:linear-gradient(90deg,#ec4899,#8b5cf6);border-radius:9999px;height:100%;transition:width .4s}.game-progress-text{color:#fff;text-shadow:0 1px 2px #0009;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex;position:absolute;inset:0}.coin-display{color:#f59e0b;text-shadow:0 0 10px #f59e0b4d;font-size:1.1rem;font-weight:800}.game-content-layout{flex:1;grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.game-arena-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff0f;flex-direction:column;gap:16px;height:calc(100vh - 120px);display:flex;background:#0f172a99!important;padding:20px!important}.battle-arena{background:linear-gradient(#111827,#030712);border:1px solid #ffffff08;border-radius:16px;flex:1;justify-content:space-around;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.battle-arena:before{content:"";background:radial-gradient(#ffffff0f 0%,#0000 70%);border-radius:50%;height:12px;position:absolute;bottom:20%;left:10%;right:10%}.dmg-float{text-shadow:0 2px 10px #000c;z-index:20;font-size:1.8rem;font-weight:900;animation:1s cubic-bezier(.18,.89,.32,1.28) forwards dmgRise;position:absolute;top:30%}.dmg-player{color:#ef4444;left:30%}.dmg-monster{color:#fbbf24;right:30%}@keyframes dmgRise{0%{opacity:0;transform:translateY(40px)scale(.5)}50%{opacity:1}to{opacity:0;transform:translateY(-40px)scale(1.1)}}.vs-logo{font-family:var(--font-display);color:#ffffff26;font-size:2rem;font-style:italic;font-weight:900}.monster-wrapper,.player-wrapper{z-index:5;flex-direction:column;align-items:center;gap:12px;transition:all .3s;display:flex}.monster-emoji,.player-emoji{filter:drop-shadow(0 10px 15px #00000080);font-size:4.5rem}.monster-name-tag,.player-name-tag{background:#0006;border:1px solid #ffffff0f;border-radius:999px;padding:4px 12px;font-size:.95rem;font-weight:800}.monster-hp-bar-wrap{background:#00000080;border:1px solid #ffffff1a;border-radius:9999px;width:140px;height:18px;position:relative;overflow:hidden}.monster-hp-bar-fill{height:100%;transition:width .3s}.monster-hp-label{color:#fff;justify-content:center;align-items:center;font-size:.65rem;font-weight:800;display:flex;position:absolute;inset:0}.player-hearts{gap:4px;font-size:1.4rem;display:flex}.monster-wrapper.attack{animation:.6s ease-in-out monsterStrike}.player-wrapper.attack{animation:.6s ease-in-out playerStrike}.monster-wrapper.hurt{animation:.5s ease-in-out monsterHurt}.player-wrapper.hurt{animation:.5s ease-in-out playerHurt}.monster-wrapper.defeated{animation:1s forwards defeatedFade}@keyframes playerStrike{0%,to{transform:scale(1)}50%{transform:translate(50px)scale(1.1)rotate(10deg)}}@keyframes monsterStrike{0%,to{transform:scale(1)}50%{transform:translate(-50px)scale(1.1)rotate(-10deg)}}@keyframes playerHurt{0%,to{filter:brightness();transform:translate(0)}20%,60%{filter:brightness(.5)sepia()saturate(5)hue-rotate(-50deg);transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes monsterHurt{0%,to{filter:brightness();transform:translate(0)}20%,60%{filter:brightness(.5)sepia()saturate(5)hue-rotate(50deg);transform:translate(8px)}40%,80%{transform:translate(-8px)}}@keyframes defeatedFade{to{opacity:0;transform:scale(.1)rotate(360deg)}}.game-combat-log{scrollbar-width:none;background:#0000004d;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;gap:4px;height:80px;padding:10px 14px;display:flex;overflow-y:auto}.game-combat-log::-webkit-scrollbar{display:none}.log-line{color:#a78bfa;font-size:.78rem;font-weight:700}.log-line:first-child{color:#fff;border-left:2px solid #8b5cf6;padding-left:6px}.game-question-panel{flex-direction:column;justify-content:stretch;height:calc(100vh - 120px);display:flex}.game-question-panel .question-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0f172a66;border:1px solid #ffffff0f;flex-direction:column;height:100%;padding:24px;display:flex;overflow-y:auto}.game-question-panel .question-text{flex:1;margin-bottom:24px;font-size:1.15rem;font-weight:700;line-height:1.5}.fill-blank-form{flex-direction:column;gap:12px;display:flex}.fill-blank-input{color:#fff;background:#0000004d;border:2px solid #ffffff1a;border-radius:12px;width:100%;padding:12px 16px;font-size:1.1rem}.fill-blank-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf640}.reveal-answer{color:#22a55b;background:#22a55b26;border-left:4px solid #22a55b;border-radius:8px;padding:12px 14px;font-size:.9rem}.options-grid{grid-template-columns:1fr;gap:10px;display:grid}.option-btn{color:#fff;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;align-items:center;padding:14px 18px;font-size:.95rem;font-weight:700;transition:all .2s;display:flex}.option-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff26}.option-btn.selected{background:#6366f126;border-color:#6366f1}.option-btn.correct{color:#22a55b!important;background:#22a55b26!important;border-color:#22a55b!important}.option-btn.incorrect{color:#d93025!important;background:#d9302526!important;border-color:#d93025!important}.option-btn.dimmed{opacity:.4}.option-letter{background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:12px;font-size:.75rem;display:flex}.explanation-box{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;margin-top:18px;padding:14px 16px}.explanation-header{color:#e2e8f0;margin-bottom:6px;font-size:.95rem;font-weight:900}.explanation-text{color:#94a3b8;font-size:.82rem;line-height:1.4}.game-over-overlay{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:30px;display:flex;background:#0f172acc!important}.game-over-icon{margin-bottom:12px;font-size:4rem}.game-over-overlay h2{color:#ef4444;margin:0 0 8px;font-size:2rem}.game-over-overlay p{color:#94a3b8;max-width:280px;margin:0 0 20px;font-size:.9rem}.game-over-stats{gap:20px;margin-bottom:24px;display:flex}.game-over-stats div{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;padding:8px 18px;font-size:.9rem;font-weight:800}.btn-restart{color:#fff;background:#dc2626;width:160px;box-shadow:0 4px 15px #dc262666}.btn-restart:hover{background:#b91c1c}.rtl-layout .option-letter{margin-left:12px;margin-right:0}.rtl-layout .option-btn{text-align:right}.rtl-layout .game-header-left{flex-direction:row-reverse}.rtl-layout .dmg-player{left:auto;right:30%}.rtl-layout .dmg-monster{left:30%;right:auto}@media (width<=960px){.game-content-layout{grid-template-columns:1fr}.game-arena-panel{height:380px}.game-question-panel{height:auto}}@media (width<=640px){.mini-game-page,.battle-arena{padding:10px}.monster-emoji,.player-emoji{font-size:3rem}.vs-logo{font-size:1.4rem}.game-header{padding:8px 12px}.log-line{font-size:.7rem}}.ai-page-wrapper{color:#e2e8f0;background:#090e17;min-height:100vh;padding:24px}.ai-page-container{grid-template-columns:280px 1fr;gap:20px;max-width:1080px;height:calc(100vh - 120px);min-height:540px;margin:0 auto;display:grid}.ai-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff14;flex-direction:column;height:100%;display:flex;overflow:hidden;background:#0f172a99!important;border-radius:20px!important}.sidebar-header{border-bottom:1px solid #ffffff0f;padding:18px}.sidebar-header h3{color:#fff;margin:0 0 2px;font-size:1.05rem;font-weight:800}.sidebar-subtitle{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.72rem;font-weight:700}.sidebar-subjects{background:#00000026;border-bottom:1px solid #ffffff0a;gap:6px;padding:10px 14px;display:flex}.sidebar-sub-btn{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;flex:1;padding:8px;font-size:1.1rem;transition:all .2s}.sidebar-sub-btn:hover{background:#ffffff14}.sidebar-sub-btn.active{background:var(--sub-accent,#6366f1);color:#fff;border-color:#0000;box-shadow:0 4px 12px #00000040}.sidebar-skills-list{flex-direction:column;flex:1;gap:6px;padding:12px;display:flex;overflow-y:auto}.sidebar-skill-node{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.sidebar-skill-node:hover{background:#ffffff08;border-color:#ffffff0a}.sidebar-skill-node.active{background:#6366f114;border-color:#6366f140}.sidebar-skill-name{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;font-weight:700;overflow:hidden}.sidebar-skill-node.active .sidebar-skill-name{color:#fff}.sidebar-skill-score{color:#6366f1;background:#1e293b;border:1px solid #ffffff1a;border-radius:999px;padding:1px 6px;font-size:.65rem;font-weight:900}.sidebar-skill-node.active .sidebar-skill-score{color:#fff;background:#6366f1;border-color:#0000}.sidebar-empty{text-align:center;color:#64748b;padding:30px 10px;font-size:.8rem}.ai-chat-panel{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid #ffffff14;flex-direction:column;height:100%;display:flex;overflow:hidden;background:#0f172a66!important;border-radius:20px!important}.chat-header{background:#00000026;border-bottom:1px solid #ffffff0f;align-items:center;gap:14px;padding:16px 20px;display:flex}.chat-skill-avatar{background:#1e1b4b;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;display:flex;box-shadow:0 4px 10px #0000004d}.chat-header-info{min-width:0}.chat-header-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;overflow:hidden}.chat-header-sub{color:#64748b;text-transform:uppercase;font-size:.72rem;font-weight:700}.chat-messages-area{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chat-bubble-row{align-self:flex-start;gap:12px;max-width:80%;display:flex}.bubble-ai{align-self:flex-start}.bubble-user{flex-direction:row-reverse;align-self:flex-end}.bubble-avatar{background:#1e1b4b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.bubble-body{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:2px 16px 16px;padding:12px 16px;font-size:.9rem;line-height:1.6}.bubble-user .bubble-body{color:#fff;background:#4f46e5;border-color:#0000;border-top-left-radius:16px;border-top-right-radius:2px}.quick-prompt-chips{border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;display:flex}.quick-prompt-chips button{color:#a78bfa;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;padding:6px 12px;font-size:.72rem;font-weight:700;transition:all .2s}.quick-prompt-chips button:hover{color:#fff;background:#ffffff14;transform:translateY(-1px)}.ai-sys-msg-card{text-align:center;background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:14px;align-self:center;max-width:400px;padding:16px}.ai-sys-msg-card strong{color:#f59e0b;margin-bottom:6px;display:block}.ai-sys-msg-card p{color:#94a3b8;margin-bottom:12px;font-size:.8rem}.bubble-typing{align-items:center;gap:4px;height:20px;display:flex}.bubble-typing span{background:#a78bfa;border-radius:50%;width:6px;height:6px;animation:1s infinite alternate typingGlow}.bubble-typing span:nth-child(2){animation-delay:.2s}.bubble-typing span:nth-child(3){animation-delay:.4s}@keyframes typingGlow{to{opacity:.3;transform:scale(1.3)}}.chat-input-bar{background:#00000026;border-top:1px solid #ffffff0f;gap:10px;padding:16px 20px;display:flex}.chat-text-input{color:#fff;background:#00000040;border:2px solid #ffffff14;border-radius:12px;flex:1;padding:12px 16px;font-size:.95rem}.chat-text-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.chat-send-btn{border-radius:12px;width:44px;height:44px;font-size:1.1rem;padding:0!important}.chat-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.empty-avatar{margin-bottom:12px;font-size:4rem}.chat-empty-state h2{margin:0 0 6px;font-size:1.4rem}.chat-empty-state p{color:#64748b;max-width:320px;margin:0;font-size:.88rem}.rtl-layout{direction:rtl}.rtl-layout [dir=rtl],.rtl-layout .sidebar-header{text-align:right}.rtl-layout .chat-header{flex-direction:row-reverse}.rtl-layout .chat-header-info{text-align:right}.rtl-layout .bubble-ai{flex-direction:row-reverse;align-self:flex-start}.rtl-layout .bubble-user{flex-direction:row;align-self:flex-end}.rtl-layout .bubble-body{border-top-left-radius:16px;border-top-right-radius:2px}.rtl-layout .bubble-user .bubble-body{border-top-left-radius:2px;border-top-right-radius:16px}.rtl-layout .chat-empty-state{text-align:center}@media (width<=768px){.ai-page-wrapper{padding:10px 10px 90px}.ai-page-container{grid-template-columns:1fr;height:auto}.ai-sidebar{height:250px}.ai-chat-panel{height:calc(100vh - 400px);min-height:400px}}.admin-top-nav-bar{z-index:9999;-webkit-backdrop-filter:blur(12px);box-sizing:border-box;background:#0f172af2;border-bottom:1px solid #7c3aed59;width:100%;margin-bottom:20px;padding:10px 16px;position:sticky;top:0;box-shadow:0 4px 20px #0006}.admin-top-nav-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1400px;margin:0 auto;display:flex}.admin-top-nav-left{align-items:center;gap:10px;display:flex}.admin-back-btn{cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:1px solid #fff3;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 10px #6366f166;color:#fff!important}.admin-back-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 14px #6366f199}.admin-back-arrow{font-size:1.1rem;line-height:1}.admin-home-btn{background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;color:#e2e8f0!important}.admin-home-btn:hover{background:#ffffff26;color:#fff!important}.admin-title-wrap{align-items:center;gap:8px;margin-left:8px;display:flex}.admin-title-badge{color:#fbbf24;letter-spacing:.05em;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:800}.admin-title-heading{color:#fff;font-size:1.05rem;font-weight:800}.admin-top-nav-right{align-items:center;gap:8px;display:flex}.admin-nav-quick-link{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .2s;color:#fffc!important}.admin-nav-quick-link:hover{background:#ffffff26;color:#fff!important}@media (width<=640px){.admin-top-nav-bar{padding:8px 12px}.admin-back-text,.admin-home-text{display:inline}.admin-title-wrap{display:none}.admin-nav-quick-link{padding:4px 8px;font-size:.75rem}}.ap-page{background:#0f172a;border-radius:0;max-width:1200px;min-height:100vh;margin:0 auto;padding:24px 16px;font-family:Inter,sans-serif}.ap-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.ap-title{color:#fff;margin:0;font-size:1.75rem;font-weight:900}.ap-sub{color:#ffffff80;margin:4px 0 0;font-size:.875rem}.ap-stats{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.ap-stat{background:#ffffff0d;border:2px solid;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:90px;padding:14px 18px;display:flex}.ap-stat-icon{font-size:1.4rem}.ap-stat-count{color:#fff;font-size:1.5rem;font-weight:800;line-height:1}.ap-stat-label{color:#ffffff80;text-transform:uppercase;font-size:.7rem}.ap-tabs{background:#ffffff0d;border-radius:12px;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.ap-tab{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 18px;font-size:.875rem;font-weight:600;transition:all .2s}.ap-tab.active{color:#fff;background:#7c3aedcc}.ap-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ap-search{color:#fff;background:#ffffff12;border:1.5px solid #ffffff1a;border-radius:10px;flex:1;min-width:200px;padding:10px 14px;font-size:.9rem}.ap-search:focus{border-color:#7c3aed;outline:none}.ap-role-filters{flex-wrap:wrap;gap:6px;display:flex}.ap-role-btn{color:#fff9;cursor:pointer;text-transform:capitalize;background:0 0;border:1.5px solid #ffffff26;border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.ap-role-btn.active{color:#fff;border-color:#0000}.ap-table-wrap{border:1px solid #ffffff14;border-radius:12px;overflow-x:auto}.ap-table{border-collapse:collapse;width:100%;font-size:.875rem}.ap-table th{text-align:left;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#ffffff0d;padding:12px 14px;font-size:.75rem}.ap-table td{color:#ffffffd9;vertical-align:middle;border-top:1px solid #ffffff0d;padding:12px 14px}.ap-table tr:hover td{background:#ffffff08}.ap-table tr.suspended-row td{opacity:.5}.ap-user-cell{align-items:center;gap:10px;display:flex}.ap-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:800;display:flex}.ap-email{color:#fff9;font-family:monospace;font-size:.8rem}.ap-role-badge{color:#fff;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:700}.ap-status.active{color:#4ade80;font-size:.8rem;font-weight:600}.ap-status.suspended{color:#f87171;font-size:.8rem;font-weight:600}.ap-muted{color:#ffffff59;font-size:.8rem}.ap-empty{text-align:center;color:#fff6;padding:40px}.ap-loading{text-align:center;color:#ffffff80;padding:40px}.ap-row-actions{gap:4px;display:flex}.ap-action-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;transition:all .15s;display:flex}.ap-reset{background:#fbbf2426}.ap-suspend{background:#6366f126}.ap-delete{background:#ef444426}.ap-action-btn:hover{transform:scale(1.15)}.ap-btn{cursor:pointer;border:none;border-radius:9px;padding:9px 16px;font-size:.875rem;font-weight:700;transition:all .2s}.ap-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1)}.ap-btn-secondary{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d}.ap-btn-warning{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d}.ap-btn-ghost{color:#fff9;background:#ffffff0f;border:1px solid #ffffff1a}.ap-btn-danger{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.ap-btn:hover{opacity:.9;transform:translateY(-1px)}.ap-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ap-modal{background:#1a1a2e;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:480px;max-height:90vh;padding:28px;animation:.25s cubic-bezier(.34,1.56,.64,1) popIn;overflow-y:auto}.ap-modal-large{max-width:620px}.ap-modal h2{color:#fff;margin:0 0 16px;font-size:1.2rem;font-weight:800}.ap-close-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px 8px;font-size:1.2rem}.ap-close-btn:hover{color:#fff;background:#ffffff1a}.ap-modal-header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.ap-modal-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:900;display:flex}.ap-modal-header h2{color:#fff;margin:0 0 4px;font-size:1.1rem}.ap-modal-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.ap-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ap-detail-item{background:#ffffff0a;border-radius:10px;padding:12px}.ap-detail-item label{color:#fff6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.72rem;display:block}.ap-detail-item span{color:#ffffffd9;font-size:.875rem;font-weight:600}.ap-edit-form{border-top:1px solid #ffffff14;margin-top:20px;padding-top:20px}.ap-edit-form h3{color:#fff;margin:0 0 16px;font-size:1rem}.ap-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ap-form-field{flex-direction:column;gap:6px;display:flex}.ap-form-field label{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.ap-form-field input,.ap-form-field select{color:#fff;background:#ffffff12;border:1.5px solid #ffffff1f;border-radius:8px;padding:9px 12px;font-size:.875rem}.ap-form-field input:focus,.ap-form-field select:focus{border-color:#7c3aed;outline:none}.ap-form-field select option{background:#1a1a2e}.ap-temp-pass{color:#4ade80;text-align:center;letter-spacing:.1em;background:#22a55b1a;border:2px solid #22a55b4d;border-radius:12px;margin:12px 0;padding:16px 24px;font-family:monospace;font-size:1.8rem;font-weight:900}.ap-school-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.ap-school-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:20px}.ap-school-header{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.ap-school-icon{font-size:2rem}.ap-school-header h3{color:#fff;margin:0 0 6px;font-size:1rem;font-weight:700}.ap-school-stats{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.ap-school-stats div{color:#fff9;align-items:center;gap:8px;font-size:.875rem;display:flex}.ap-enroll-code{background:#7c3aed1a;border:1px solid #7c3aed4d;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;display:flex}.ap-enroll-code span{color:#ffffff80;font-size:.8rem}.ap-enroll-code code{color:#a78bfa;flex:1;font-family:monospace;font-size:1rem;font-weight:800}.ap-enroll-code button{cursor:pointer;background:0 0;border:none;font-size:1rem}.ap-enroll-steps{flex-direction:column;gap:16px;display:flex}.ap-enroll-step{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;gap:16px;padding:20px;display:flex}.ap-step-num{color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:900;display:flex}.ap-enroll-step h3{color:#fff;margin:0 0 6px;font-size:.95rem}.ap-enroll-step p{color:#fff9;margin:0;font-size:.875rem;line-height:1.6}.ap-enroll-step code{color:#a78bfa;background:#7c3aed33;border-radius:4px;padding:2px 6px;font-family:monospace}.ap-toast{z-index:9999;white-space:nowrap;border-radius:12px;padding:12px 24px;font-size:.9rem;font-weight:700;animation:.3s slideUp;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.ap-toast-success{color:#052e16;background:#4ade80}.ap-toast-error{color:#450a0a;background:#f87171}.ap-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;padding:20px}@media (width<=600px){.ap-detail-grid,.ap-form-grid{grid-template-columns:1fr}.ap-stats{gap:8px}.ap-stat{min-width:70px;padding:10px}.ap-table td:nth-child(4),.ap-table th:nth-child(4),.ap-table td:nth-child(6),.ap-table th:nth-child(6){display:none}}.ap-tab-alert{animation:2s infinite tabPulse;position:relative;color:#fbbf24!important;border:1px solid #fbbf244d!important}@keyframes tabPulse{0%,to{background:#fbbf240d}50%{background:#fbbf242e}}.ap-status.pending{color:#fbbf24;font-size:.8rem;font-weight:600}.ap-tabs{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;flex-wrap:nowrap;max-width:100%;overflow-x:auto}@media (width<=768px){.ap-page{padding:16px 12px calc(110px + env(safe-area-inset-bottom,0px))!important}.ap-header{flex-direction:column!important;align-items:flex-start!important}.ap-stats{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;width:100%!important;display:grid!important}.ap-stat{width:100%!important;min-width:0!important}.ap-tabs{white-space:nowrap!important;width:100%!important;max-width:100%!important;padding:6px!important;display:flex!important;overflow-x:auto!important}.ap-tab{flex-shrink:0!important;min-height:44px!important;padding:10px 16px!important}.ap-filters{flex-direction:column!important;align-items:stretch!important}.ap-search{width:100%!important;min-height:44px!important}.ap-role-filters{-webkit-overflow-scrolling:touch!important;padding-bottom:4px!important;overflow-x:auto!important}.ap-detail-grid,.ap-form-grid{grid-template-columns:1fr!important}.ap-modal{border-radius:16px!important;width:94vw!important;max-width:94vw!important;margin:12px auto!important;padding:16px!important}.ap-temp-pass{padding:12px!important;font-size:1.4rem!important}}.admin-page{color:#f8fafc;background:#0f172a;min-height:100vh;display:flex}.admin-sidebar{color:#fff;background:#1e293b;border-right:1px solid #ffffff1a;flex-direction:column;flex-shrink:0;width:260px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.admin-nav{flex-direction:column;flex:1;gap:6px;padding:16px 12px;display:flex}.admin-nav-item{color:#94a3b8;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.admin-nav-item:hover{color:#fff;background:#ffffff0f}.admin-nav-item.active{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#fff3;box-shadow:0 4px 12px #6366f14d}.ani-icon{flex-shrink:0;font-size:1.25rem}.ani-label{flex:1}.admin-main{background:#0f172a;flex:1;padding:28px;overflow-y:auto}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-stat-card{text-align:center;background:#1e293b;border:1px solid #ffffff1a;border-radius:16px;padding:20px}.asc-icon{margin-bottom:8px;font-size:2.2rem}.asc-value{font-size:1.8rem;font-weight:900}.asc-label{color:#94a3b8;margin-top:4px;font-size:.78rem;font-weight:700}@media (width<=768px){.admin-page{flex-direction:column!important}.admin-sidebar{border-bottom:1px solid #ffffff1a!important;border-right:none!important;width:100%!important;height:auto!important;position:relative!important}.admin-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row!important;gap:8px!important;padding:10px 14px!important;overflow-x:auto!important}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-item{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px!important;flex-shrink:0!important;padding:10px 16px!important;font-size:.85rem!important}.admin-sidebar-footer{display:none!important}.admin-main{padding:16px!important}}.curriculum-manager{--neon-purple:#8b5cf6;--neon-blue:#3b82f6;--neon-green:#10b981;--neon-red:#ef4444;--neon-amber:#f59e0b;--glass-bg:#ffffffb3;--glass-border:#e2e8f0cc;--card-shadow:0 8px 32px 0 #1f26870d;color:#1e293b;flex-direction:column;gap:24px;width:100%;font-family:Outfit,Inter,sans-serif;animation:.4s ease-out fadeIn;display:flex}.cm-nav-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--card-shadow);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.cm-tabs{gap:8px;display:flex}.cm-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.cm-tab-btn:hover{color:#1e293b;background:#f1f5f9cc}.cm-tab-btn.active{color:#fff;background:linear-gradient(135deg, var(--neon-purple), #7c3aed);box-shadow:0 4px 14px #7c3aed4d}.cm-header-actions{gap:12px;display:flex}.cm-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:700;transition:all .25s;display:inline-flex}.cm-btn-primary{background:linear-gradient(135deg, var(--neon-blue), #2563eb);color:#fff;box-shadow:0 4px 12px #2563eb33}.cm-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb4d}.cm-btn-success{background:linear-gradient(135deg, var(--neon-green), #059669);color:#fff;box-shadow:0 4px 12px #05966933}.cm-btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0596694d}.cm-btn-secondary{background-color:var(--bg-secondary);color:#475569;border:1px solid #e2e8f0}.cm-btn-secondary:hover{color:#0f172a;background:#f8fafc}.cm-btn-danger{background:linear-gradient(135deg, var(--neon-red), #dc2626);color:#fff;box-shadow:0 4px 12px #dc262626}.cm-btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 16px #dc262640}.cm-alert{border-radius:12px;align-items:center;gap:12px;padding:14px 20px;font-size:.9rem;font-weight:600;animation:.3s ease-out slideIn;display:flex}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cm-alert-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.cm-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.cm-curriculum-layout{grid-template-columns:320px 1fr;gap:24px;display:grid}@media (width<=900px){.cm-curriculum-layout{grid-template-columns:1fr}}.cm-subjects-sidebar{flex-direction:column;gap:12px;display:flex}.cm-sidebar-header{text-transform:uppercase;letter-spacing:1px;color:#94a3b8;margin-bottom:4px;font-size:.8rem;font-weight:800}.cm-subject-card{background-color:var(--bg-secondary);cursor:pointer;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:14px;padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000005}.cm-subject-card:before{content:"";background:var(--subject-color,var(--neon-purple));opacity:.8;width:4px;transition:width .25s;position:absolute;top:0;bottom:0;left:0}.cm-subject-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000d}.cm-subject-card.active{border-color:var(--subject-color,var(--neon-purple));background:linear-gradient(90deg,#fffffff2,#f3f4f666)}.cm-subject-card.active:before{width:6px}.cm-subj-emoji-wrap{background:var(--subject-bg-color,#8b5cf61a);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.cm-subj-details{flex:1}.cm-subj-title{color:#0f172a;margin-bottom:2px;font-size:1rem;font-weight:800}.cm-subj-meta{color:#64748b;align-items:center;gap:6px;font-size:.75rem;display:flex}.cm-badge-custom{color:var(--neon-purple);text-transform:uppercase;background:#8b5cf61a;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:800}.cm-subject-detail-panel{background-color:var(--bg-secondary);box-shadow:var(--card-shadow);border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:24px;padding:24px;display:flex}.cm-detail-header-row{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.cm-detail-title-desc h2{color:#0f172a;align-items:center;gap:10px;margin:0 0 6px;font-size:1.5rem;font-weight:800;display:flex}.cm-detail-title-desc p{color:#475569;margin:0;font-size:.95rem}.cm-grades-nav{background:#f1f5f9;border-radius:8px;gap:6px;padding:4px;display:flex}.cm-grade-pill{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:800;transition:all .2s}.cm-grade-pill.active{background-color:var(--bg-secondary);color:#0f172a;box-shadow:0 2px 6px #0000000f}.cm-skills-list-section{flex-direction:column;gap:18px;display:flex}.cm-section-subtitle{color:#1e293b;border-left:4px solid var(--subject-color,var(--neon-purple));justify-content:space-between;align-items:center;padding-left:10px;font-size:1.1rem;font-weight:800;display:flex}.cm-skills-grid{grid-template-columns:1fr;gap:12px;display:grid}.cm-skill-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .2s;display:flex}.cm-skill-row:hover{background-color:var(--bg-secondary);border-color:#cbd5e1;box-shadow:0 4px 12px #00000008}.cm-skill-info{flex-direction:column;gap:4px;display:flex}.cm-skill-name-row{align-items:center;gap:8px;display:flex}.cm-skill-name{color:#0f172a;font-size:.95rem;font-weight:700}.cm-skill-meta{color:#64748b;gap:8px;font-size:.75rem;display:flex}.cm-skill-diff-dots{gap:3px;display:flex}.cm-diff-dot{background:#e2e8f0;border-radius:50%;width:6px;height:6px}.cm-diff-dot.filled{background:var(--subject-color,var(--neon-purple))}.cm-questions-filter-bar{background-color:var(--bg-secondary);box-shadow:var(--card-shadow);border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:16px 20px;display:grid}.cm-filter-input{color:#334155;background:#f8fafc;border:1px solid #dde2ec;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:.85rem;transition:all .2s}.cm-filter-input:focus{border-color:var(--neon-blue);background-color:var(--bg-secondary);outline:none;box-shadow:0 0 0 3px #3b82f626}.cm-search-wrap{grid-column:span 2;position:relative}@media (width<=768px){.cm-search-wrap{grid-column:span 1}}.cm-questions-panel{background-color:var(--bg-secondary);box-shadow:var(--card-shadow);border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.cm-table-container{width:100%;overflow-x:auto}.cm-table{border-collapse:collapse;text-align:left;width:100%}.cm-table th{color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 20px;font-size:.8rem;font-weight:800}.cm-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 20px;font-size:.9rem}.cm-table tr:last-child td{border-bottom:none}.cm-table tr:hover td{background:#fafafb}.cm-question-preview-text{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;max-width:320px;font-weight:600;overflow:hidden}.cm-level-badge{color:#1d4ed8;background:#eff6ff;border-radius:99px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:800;display:inline-flex}.cm-q-type{color:#64748b;text-transform:capitalize;font-size:.75rem;font-weight:700}.cm-actions-cell{gap:8px;display:flex}.cm-action-btn-icon{cursor:pointer;background-color:var(--bg-secondary);color:#64748b;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.cm-action-btn-icon:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.cm-action-btn-icon.danger:hover{color:var(--neon-red);background:#fef2f2;border-color:#fca5a5}.cm-pagination-footer{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.85rem;display:flex}.cm-pagination-actions{gap:8px;display:flex}.cm-page-btn{background-color:var(--bg-secondary);cursor:pointer;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.cm-page-btn:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.cm-page-btn:disabled{opacity:.5;cursor:not-allowed}.cm-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cm-modal{background-color:var(--bg-secondary);border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.25s cubic-bezier(.34,1.56,.64,1) modalZoom;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes modalZoom{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cm-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.cm-modal-title{color:#0f172a;font-size:1.25rem;font-weight:800}.cm-modal-body{flex:1;padding:24px;overflow-y:auto}.cm-modal-footer{background:#f8fafc;border-top:1px solid #f1f5f9;border-radius:0 0 18px 18px;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.cm-form-grid{flex-direction:column;gap:16px;display:flex}.cm-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.cm-form-row{grid-template-columns:1fr}}.cm-form-field{flex-direction:column;gap:6px;display:flex}.cm-form-label{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:800}.cm-form-input{color:#1e293b;border:1px solid #dde2ec;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:all .2s}.cm-form-input:focus{border-color:var(--neon-purple);outline:none;box-shadow:0 0 0 3px #8b5cf626}.cm-form-textarea{resize:vertical;min-height:80px}.cm-solve-card{flex-direction:column;gap:20px;display:flex}.cm-solve-skill{color:#64748b;background:#f1f5f9;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:.8rem;font-weight:700}.cm-solve-question{color:#0f172a;border-left:4px solid var(--neon-blue);background:#f8fafc;border-radius:12px;padding:18px;font-size:1.15rem;font-weight:700;line-height:1.5}.cm-solve-options-list{flex-direction:column;gap:10px;display:flex}.cm-solve-option-btn{text-align:left;background-color:var(--bg-secondary);cursor:pointer;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.cm-solve-option-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.cm-solve-option-btn.selected{border-color:var(--neon-blue);color:#1d4ed8;background:#3b82f614}.cm-solve-option-btn.correct{border-color:var(--neon-green);color:#065f46;background:#10b98114}.cm-solve-option-btn.incorrect{border-color:var(--neon-red);color:#991b1b;background:#ef444414}.cm-solve-input{border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem}.cm-solve-input:focus{border-color:var(--neon-blue);outline:none}.cm-solve-hint-toggle{color:var(--neon-amber);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:4px;padding:0;font-size:.85rem;font-weight:700;display:flex}.cm-solve-hint-box{color:#92400e;background:#fffbeb;border:1px dashed #fcd34d;border-radius:8px;padding:12px 16px;font-size:.85rem;line-height:1.4}.cm-solve-feedback{border-radius:12px;margin-top:10px;padding:16px;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn}.cm-solve-feedback-title{align-items:center;gap:6px;margin-bottom:6px;font-size:1.1rem;font-weight:800;display:flex}.cm-solve-feedback-desc{font-size:.9rem;line-height:1.4}.cm-solve-feedback.correct{color:#137333;background:#e6f4ea}.cm-solve-feedback.incorrect{color:#c5221f;background:#fce8e6}.cm-solve-explanation{background:#f8fafc;border-top:1px solid #e2e8f0;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.cm-solve-explanation-title{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:800}.cm-solve-explanation-text{color:#334155;white-space:pre-line;font-size:.9rem;line-height:1.5}.reward-store{background:var(--bg-primary,#f8fafc);min-height:100vh;padding-bottom:40px}.store-header-bg{background:linear-gradient(135deg, var(--primary,#006bd6), #4f46e5);color:#fff;margin-bottom:30px;padding:40px 0}.store-header{justify-content:space-between;align-items:center;display:flex}.store-title h1{margin:0 0 10px;font-size:2rem;font-weight:800}.store-title p{opacity:.9;margin:0}.store-balance{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;align-items:center;padding:15px 25px;animation:3s ease-in-out infinite float;display:flex}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.balance-icon{filter:drop-shadow(0 0 5px #facc15cc);margin-right:15px;font-size:2rem}.balance-info{flex-direction:column;display:flex}.balance-label{text-transform:uppercase;letter-spacing:1px;opacity:.9;font-size:.85rem}.balance-amount{font-size:1.5rem;font-weight:700}.store-tabs{border-bottom:2px solid var(--border,#e2e8f0);gap:10px;margin-bottom:30px;padding-bottom:5px;display:flex;overflow-x:auto}.store-tab{color:var(--text-secondary,#64748b);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:10px 20px;font-size:1rem;font-weight:600;transition:color .3s;position:relative}.store-tab.active{color:var(--primary,#006bd6)}.tab-indicator{background:var(--primary,#006bd6);border-radius:3px 3px 0 0;width:100%;height:3px;animation:.3s slideIn;position:absolute;bottom:-7px;left:0}.store-loading{justify-content:center;padding:50px;display:flex}.store-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.store-card{background:var(--card-bg,white);box-shadow:var(--shadow,0 4px 6px #0000000d);border:2px solid #0000;border-radius:16px;flex-direction:column;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.store-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.rarity-legendary{background:linear-gradient(#fff 0%,#fffbeb 100%);border-color:#f59e0b}.rarity-legendary:before{content:"";pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#fffc 50%,#fff0 100%);width:200%;height:200%;animation:3s infinite shimmer;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.card-emoji{text-align:center;margin-bottom:15px;font-size:4rem}.card-content{text-align:center;flex-grow:1}.rarity-badge{border-radius:20px;margin-bottom:10px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.badge-common{color:#475569;background:#e2e8f0}.badge-rare{color:#1d4ed8;background:#dbeafe}.badge-epic{color:#6d28d9;background:#ede9fe}.badge-legendary{color:#b45309;background:#fef3c7}.card-content h3{color:var(--text-primary,#1e293b);margin:0 0 10px}.card-content p{color:var(--text-secondary,#64748b);margin:0;font-size:.9rem}.card-actions{border-top:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;display:flex}.item-cost{color:#f59e0b;align-items:center;gap:5px;font-weight:700;display:flex}.btn-buy{background:var(--primary,#006bd6);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-weight:700}.btn-buy:disabled{cursor:not-allowed;background:#cbd5e1}.owned-actions{align-items:center;gap:10px;display:flex}.owned-label{color:#10b981;font-size:.9rem;font-weight:700}.btn-equip{color:#fff;background:#10b981;border:none}.store-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.store-modal{background-color:var(--bg-secondary);text-align:center;border-radius:20px;width:90%;max-width:400px;padding:30px;box-shadow:0 20px 25px -5px #0000001a}.modal-item-preview{margin:20px 0}.preview-emoji{margin-bottom:10px;font-size:5rem}.modal-cost-breakdown{background:#f8fafc;border-radius:10px;margin-bottom:25px;padding:15px}.cost-row{color:#475569;justify-content:space-between;margin-bottom:8px;display:flex}.cost-deduction{color:#ef4444;font-weight:700}.cost-total{color:#1e293b;border-top:1px solid #e2e8f0;margin-top:8px;padding-top:8px;font-weight:700}.modal-actions{gap:15px;display:flex}.modal-actions button{border-radius:8px;flex:1;padding:10px;font-weight:700}.store-toast{color:#fff;z-index:1000;background:#1e293b;border-radius:30px;padding:12px 24px;font-weight:700;animation:.3s cubic-bezier(.175,.885,.32,1.275) toastIn;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 10px 15px -3px #0000001a}.toast-success{background:#10b981}.toast-error{background:#ef4444}@keyframes toastIn{0%{opacity:0;bottom:0}to{opacity:1;bottom:80px}}@media (width<=600px){.store-header{text-align:center;flex-direction:column;gap:20px}}.ocr-container{max-width:1200px;color:var(--text-primary);gap:2rem;margin:0 auto;padding:2rem;display:flex}.ocr-main{flex-direction:column;flex:1;gap:1.5rem;display:flex}.ocr-title{color:var(--primary);margin:0;font-size:2rem;font-weight:700}.ocr-subtitle{color:var(--text-secondary,#666);margin:0}.upload-zone{border:2px dashed var(--border);text-align:center;background-color:var(--card-bg);cursor:pointer;border-radius:12px;padding:3rem 2rem;transition:all .3s;position:relative;overflow:hidden}.upload-zone:hover,.upload-zone.active{border-color:var(--primary);background-color:rgba(var(--primary-rgb,0, 122, 255), .05)}.camera-emoji{margin-bottom:1rem;font-size:3rem;transition:transform .3s;display:block}.upload-zone:hover .camera-emoji{transform:scale(1.1)}.upload-hint{color:var(--text-secondary,#888);font-size:.9rem}.preview-section{flex-direction:column;align-items:center;gap:1rem;display:flex}.image-preview{max-width:100%;max-height:400px;box-shadow:var(--shadow);border-radius:8px}.scan-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:opacity .3s;display:flex}.scan-btn:disabled{opacity:.7;cursor:not-allowed}.ocr-error{color:#ff3b30;background-color:#ff3b301a;border:1px solid #ff3b304d;border-radius:8px;padding:1rem}.results-actions{gap:1rem;margin-bottom:1.5rem;display:flex}.import-btn,.pdf-btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:transform .2s}.import-btn{background-color:var(--correct,#34c759);color:#fff}.pdf-btn{background-color:var(--card-bg);border:1px solid var(--border);color:var(--text-primary)}.import-btn:active,.pdf-btn:active{transform:scale(.98)}.cards-container{flex-direction:column;gap:1.5rem;display:flex}.question-card{background-color:var(--card-bg);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-header h3{color:var(--primary);margin:0}.delete-btn{cursor:pointer;opacity:.6;background:0 0;border:none;font-size:1.2rem;transition:opacity .2s}.delete-btn:hover{opacity:1}.q-input{border:1px solid var(--border);width:100%;color:var(--text-primary);box-sizing:border-box;background-color:#0000;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-family:inherit;font-size:1rem}.q-input:focus{border-color:var(--primary);outline:none}.text-input{resize:vertical;min-height:80px}.type-select{width:auto;min-width:200px}.options-container{background-color:#00000005;border-radius:8px;margin-bottom:1rem;padding:1rem}.options-container h4{margin:0 0 1rem}.option-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.opt-label{min-width:24px;font-weight:600}.option-row .q-input{margin-bottom:0}.remove-opt{color:#ff3b30;cursor:pointer;background:0 0;border:none;font-size:1.1rem}.add-opt{border:1px dashed var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;margin-top:.5rem;padding:.5rem 1rem}.field-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.field-group label{font-size:.9rem;font-weight:600}.ocr-sidebar{background-color:var(--card-bg);width:300px;box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;height:fit-content;padding:1.5rem}.ocr-sidebar h3{border-bottom:1px solid var(--border);margin-top:0;margin-bottom:1.5rem;padding-bottom:.5rem}.history-list{flex-direction:column;gap:.75rem;display:flex}.history-item{background-color:rgba(var(--primary-rgb,0, 122, 255), .05);cursor:pointer;border-radius:6px;justify-content:space-between;padding:.75rem;display:flex}.history-item:hover{background-color:rgba(var(--primary-rgb,0, 122, 255), .1)}.history-date{font-weight:500}.history-count{color:var(--text-secondary,#666);font-size:.9rem}.no-history{color:var(--text-secondary,#888);font-style:italic}.dark .options-container,[data-theme=dark] .options-container,.dark .history-item,[data-theme=dark] .history-item{background-color:#ffffff0d}.dark .history-item:hover,[data-theme=dark] .history-item:hover{background-color:#ffffff1a}.admin-drawer-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172abf;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.admin-drawer-content{background:#1e293b;border-left:1px solid #ffffff1f;flex-direction:column;width:320px;max-width:85vw;height:100%;animation:.25s cubic-bezier(.175,.885,.32,1.275) slideInRight;display:flex;box-shadow:-10px 0 30px #0006}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.admin-drawer-header{background:#0f172a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.admin-drawer-title-row{align-items:center;gap:12px;display:flex}.admin-drawer-icon{font-size:1.5rem}.admin-drawer-title{color:#fff;margin:0;font-size:1rem;font-weight:900}.admin-drawer-user{color:#94a3b8;font-size:.75rem;font-weight:600}.admin-drawer-close{color:#94a3b8;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.admin-drawer-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.admin-drawer-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.admin-drawer-card{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 10px;transition:all .2s;display:flex}.admin-drawer-card:active{background:#6366f133;border-color:#6366f1;transform:scale(.96)}.adc-icon{font-size:1.5rem}.adc-label{text-align:center;font-size:.78rem;font-weight:700}.admin-drawer-quick-link{border-top:1px solid #ffffff14;margin-top:auto;padding-top:16px}.btn-full-admin{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;width:100%;padding:12px;font-size:.88rem;font-weight:800;box-shadow:0 4px 12px #6366f14d}:root{--m3-surface-bg:#0b0f19;--m3-surface-card:#151d30;--m3-surface-border:#94a3b81f;--m3-accent:#6366f1;--m3-accent-pill:#6366f129;--m3-accent-glow:#6366f166;--m3-text-primary:#f8fafc;--m3-text-secondary:#94a3b8;--m3-text-muted:#64748b;--m3-success:#10b981;--m3-error:#ef4444;--m3-header-height:60px;--m3-nav-height:72px}.m3-app-shell{background-color:var(--m3-surface-bg);flex-direction:column;width:100%;min-height:100dvh;display:flex;position:relative}.m3-header{height:calc(var(--m3-header-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--m3-surface-border);z-index:var(--z-navbar);background:#0b0f19d9;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 4px 30px #00000026}.m3-header-brand{align-items:center;gap:8px;display:flex}.m3-brand-logo-svg{width:24px;height:24px;fill:var(--m3-accent);filter:drop-shadow(0 0 6px var(--m3-accent-glow))}.m3-brand-title{color:var(--m3-text-primary);background:linear-gradient(135deg,#fff 40%,#818cf8 100%);-webkit-text-fill-color:transparent;letter-spacing:-.4px;-webkit-background-clip:text;font-size:1.1rem;font-weight:800}.m3-header-actions{align-items:center;gap:12px;display:flex}.m3-badge{text-transform:uppercase;background:var(--m3-accent-pill);color:var(--m3-accent);letter-spacing:.5px;border:1px solid #6366f140;border-radius:9999px;padding:4px 10px;font-size:.68rem;font-weight:800}.m3-net-indicator-wrap{border:1px solid var(--m3-surface-border);background:#94a3b814;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;display:flex}.m3-net-label{color:var(--m3-text-secondary);letter-spacing:.3px;font-size:.65rem;font-weight:700}.m3-net-indicator{background-color:var(--m3-success);border-radius:50%;width:8px;height:8px;position:relative}.m3-net-indicator:after{content:"";background-color:var(--m3-success);border-radius:50%;width:100%;height:100%;animation:1.8s ease-in-out infinite pulseBeat;position:absolute;top:0;left:0}.m3-net-indicator.offline,.m3-net-indicator.offline:after{background-color:var(--m3-error)}@keyframes pulseBeat{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}.m3-offline-banner{color:#fca5a5;top:calc(var(--m3-header-height) + env(safe-area-inset-top,0px));z-index:calc(var(--z-navbar) - 1);background:linear-gradient(90deg,#ef444426 0%,#ef444405 100%);border-bottom:1px solid #ef44442e;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.78rem;font-weight:600;display:flex;position:sticky}.m3-main-content{width:100%;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-top:16px;padding-bottom:calc(var(--m3-nav-height) + env(safe-area-inset-bottom,0px) + 20px);flex:1}.m3-bottom-nav{width:100%;height:calc(var(--m3-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--m3-surface-border);z-index:var(--z-bottom-nav);background:#0b0f19e6;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -4px 30px #0003}.m3-nav-item{color:var(--m3-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;text-decoration:none;transition:color .2s;display:flex;position:relative}.m3-nav-pill{background-color:#0000;border-radius:16px;justify-content:center;align-items:center;width:56px;height:32px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.m3-nav-icon-svg{width:22px;height:22px;fill:var(--m3-text-muted);transition:fill .2s,transform .25s cubic-bezier(.175,.885,.32,1.275)}.m3-nav-label{letter-spacing:.1px;margin-top:4px;font-size:.7rem;font-weight:600;transition:color .2s}.m3-nav-item.active{color:var(--m3-text-primary)}.m3-nav-item.active .m3-nav-pill{background-color:var(--m3-accent-pill);border:1px solid #6366f14d;box-shadow:0 0 12px #6366f133}.m3-nav-item.active .m3-nav-icon-svg{fill:var(--m3-accent);transform:scale(1.12)}.m3-nav-item.active .m3-nav-label{color:var(--m3-accent);font-weight:700}.m3-nav-item:active{transition:transform .1s;transform:scale(.95)}@media (width>=769px){.m3-header,.m3-bottom-nav{display:none}.m3-main-content{padding-top:0;padding-bottom:0}}:root{--z-navbar:100;--z-bottom-nav:150;--z-dropdown:200;--z-modal:300;--z-overlay:400;--z-toast:500;--z-celebration:600;--z-skip:700}:root,:root[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#1e293bbf;--bg-card-hover:#334155d9;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#94a3b82e;--accent:#6366f1;--accent-glow:#6366f14d;--accent-secondary:#8b5cf6;--navbar-bg:#0f172af5;--input-bg:#0f172acc;--input-border:#94a3b840;--card-shadow:0 10px 30px -10px #0009;--radius-lg:16px;--radius-pill:9999px}:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#e2e8f0;--accent:#2563eb;--accent-glow:#2563eb33;--accent-secondary:#4f46e5;--navbar-bg:#fffffff7;--input-bg:#fff;--input-border:#cbd5e1;--card-shadow:0 10px 25px -5px #0f172a14;--radius-lg:16px;--radius-pill:9999px}:root[data-theme=midnight]{--bg-primary:#030712;--bg-secondary:#0f172a;--bg-card:#ffffff0f;--bg-card-hover:#ffffff1a;--text-primary:#e0f2fe;--text-secondary:#7dd3fc;--text-muted:#38bdf8;--border-color:#38bdf833;--accent:#06b6d4;--accent-glow:#06b6d459;--accent-secondary:#3b82f6;--navbar-bg:#030712f5;--input-bg:#ffffff14;--input-border:#38bdf84d;--card-shadow:0 10px 30px -10px #06b6d433;--radius-lg:16px;--radius-pill:9999px}:root[data-theme=ocean]{--bg-primary:#03192e;--bg-secondary:#0f2b48;--bg-card:#ffffff0f;--bg-card-hover:#ffffff1a;--text-primary:#e0f2fe;--text-secondary:#7dd3fc;--text-muted:#38bdf8;--border-color:#38bdf833;--accent:#06b6d4;--accent-glow:#06b6d44d;--accent-secondary:#0284c7;--navbar-bg:#03192ef5;--input-bg:#ffffff14;--input-border:#38bdf84d;--card-shadow:0 10px 30px -10px #0284c740;--radius-lg:16px;--radius-pill:9999px}:root[data-theme=emerald]{--bg-primary:#022c22;--bg-secondary:#064e3b;--bg-card:#ffffff0f;--bg-card-hover:#ffffff1a;--text-primary:#ecfdf5;--text-secondary:#6ee7b7;--text-muted:#34d399;--border-color:#34d39933;--accent:#10b981;--accent-glow:#10b9814d;--accent-secondary:#059669;--navbar-bg:#022c22f5;--input-bg:#ffffff14;--input-border:#34d3994d;--card-shadow:0 10px 30px -10px #10b98140;--radius-lg:16px;--radius-pill:9999px}:root[data-theme=gold]{--bg-primary:#1c0d02;--bg-secondary:#451a03;--bg-card:#ffffff0f;--bg-card-hover:#ffffff1a;--text-primary:#fef3c7;--text-secondary:#fde68a;--text-muted:#fbbf24;--border-color:#fbbf2433;--accent:#f59e0b;--accent-glow:#f59e0b59;--accent-secondary:#d97706;--navbar-bg:#1c0d02f5;--input-bg:#ffffff14;--input-border:#fbbf244d;--card-shadow:0 10px 30px -10px #f59e0b40;--radius-lg:16px;--radius-pill:9999px}:focus{outline:none}:focus-visible{transition:outline-offset .15s,box-shadow .15s;outline:2px solid var(--accent,#6366f1)!important;outline-offset:2px!important;box-shadow:0 0 0 4px var(--accent-glow,#6366f140)!important}body.dark :focus-visible,[data-theme=dark] :focus-visible{outline-offset:2px!important;outline:2px solid #818cf8!important;box-shadow:0 0 0 4px #818cf859!important}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{background:var(--accent,#6366f1);color:#fff;z-index:var(--z-skip);border-radius:0 0 8px;padding:8px 16px;font-weight:600;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card-hover:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:0 14px 40px -10px var(--accent-glow);transform:translateY(-4px)}.btn-gradient{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);border-radius:var(--radius-pill);box-shadow:0 4px 20px var(--accent-glow);border:none;font-weight:700;transition:all .25s;color:#fff!important}.btn-gradient:hover{box-shadow:0 6px 25px var(--accent-glow);transform:scale(1.02)}body,.page-wrapper,.page-content{transition:background-color .3s,color .3s;background-color:var(--bg-primary,#0f172a)!important;color:var(--text-primary,#f8fafc)!important}:root:not([data-theme=light]) body,:root[data-theme=dark] body,:root:not([data-theme=light]) .page-wrapper,:root[data-theme=dark] .page-wrapper,:root:not([data-theme=light]) .dashboard-page,:root[data-theme=dark] .dashboard-page{color:#f8fafc!important;background-color:#0f172a!important}:root:not([data-theme=light]) input:not([type=checkbox]):not([type=radio]),:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]),:root:not([data-theme=light]) select,:root[data-theme=dark] select,:root:not([data-theme=light]) textarea,:root[data-theme=dark] textarea{color:#f8fafc!important;background-color:#0f172a!important;border-color:#94a3b840!important}:root:not([data-theme=light]) option,:root[data-theme=dark] option{color:#f8fafc!important;background-color:#0f172a!important}:root:not([data-theme=light]) .card,:root[data-theme=dark] .card,:root:not([data-theme=light]) .modal,:root[data-theme=dark] .modal,:root:not([data-theme=light]) .modal-content,:root[data-theme=dark] .modal-content,:root:not([data-theme=light]) .dropdown-menu,:root[data-theme=dark] .dropdown-menu,:root:not([data-theme=light]) .badge-gold,:root[data-theme=dark] .badge-gold{color:#f8fafc!important;background-color:#1e293b!important;border-color:#94a3b82e!important}:root,body,.page-wrapper,.page-content,.dashboard-page,.dash-section,.dashboard-welcome,.join-class-widget,.suggested-skill-card,.card,.subject-card{color:#f8fafc!important;background-color:#0f172a!important}.dash-section,.dashboard-welcome,.join-class-widget,.suggested-skill-card,.card,.subject-card{background-color:#1e293b!important;border-color:#94a3b833!important}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;width:100%;min-height:100%;overflow:hidden auto}body{width:100%;min-height:100%;overflow:hidden visible}button,input,select,textarea,a{touch-action:manipulation}@media (width<=768px){.page-content,.mobile-page-content,.dashboard-page,.page-wrapper{padding-left:12px!important;padding-right:12px!important;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important;-webkit-overflow-scrolling:touch!important}.grid,.grid-3,.grid-4,.dashboard-grid,.cards-grid,.pricing-cards-grid{grid-template-columns:1fr!important;gap:12px!important}.flex-mobile-col{flex-direction:column!important;align-items:stretch!important}.modal-content,.dialog-box,.popup-card{border-radius:16px!important;width:94vw!important;max-width:94vw!important;margin:12px auto!important;padding:16px!important}.table-responsive,.grid-responsive,table{touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;width:100%!important;display:block!important;overflow-x:auto!important}input,select,textarea,.btn,.btn-primary,.btn-secondary,.option-btn{min-height:44px!important}h1{font-size:1.75rem!important}h2{font-size:1.35rem!important}h3{font-size:1.15rem!important}}@media (width>=769px) and (width<=1024px){.container,.page-content,.dashboard-page{padding-bottom:40px!important;padding-left:20px!important;padding-right:20px!important}.grid,.grid-3,.grid-4,.dashboard-grid,.cards-grid{grid-template-columns:repeat(2,1fr)!important;gap:16px!important}.modal-content{max-width:80vw!important}}@media (width>=1025px){.container,.page-wrapper,.page-content{max-width:1320px!important;margin-left:auto!important;margin-right:auto!important;padding-left:32px!important;padding-right:32px!important}}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] .welcome-title,[data-theme=light] .dash-section-header h2{color:#0f172a!important}:root{--ixl-blue:#006bd6;--ixl-blue-dark:#004ea8;--ixl-blue-light:#e8f2ff;--ixl-blue-mid:#1a7fe8;--correct:#22a55b;--correct-light:#e6f7ee;--incorrect:#d93025;--incorrect-light:#fdecea;--warning:#f39c12;--gold:#f4c430;--gold-dark:#d4a017;--zone-learning:#e74c3c;--zone-approaching:#f39c12;--zone-proficient:#27ae60;--zone-challenge:#006bd6;--zone-mastery:#8b5cf6;--gray-50:#f8fafd;--gray-100:#f0f4f8;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--text-white:#fff;--math-color:#006bd6;--math-light:#e8f2ff;--ela-color:#e91e8c;--ela-light:#fde8f3;--science-color:#27ae60;--science-light:#e6f7ee;--ss-color:#f39c12;--ss-light:#fff3e0;--spanish-color:#e74c3c;--spanish-light:#fdecea;--cs-color:#8b5cf6;--cs-light:#f3eeff;--physics-color:#0ea5e9;--physics-light:#e0f4ff;--biology-color:#10b981;--biology-light:#d1fae5;--chemistry-color:#f59e0b;--chemistry-light:#fef3c7;--advmath-color:#6366f1;--advmath-light:#eef2ff;--robotics-color:#ec4899;--robotics-light:#fce7f3;--ai-color:#14b8a6;--ai-light:#ccfbf1;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000d;--shadow-lg:0 10px 30px #0000001a, 0 4px 8px #0000000f;--shadow-xl:0 20px 50px #0000001f, 0 8px 16px #00000014;--shadow-blue:0 4px 20px #006bd640;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Nunito", sans-serif;--ease:cubic-bezier(.4, 0, .2, 1);--transition:.2s var(--ease);--transition-slow:.4s var(--ease)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{border:none;outline:none;font-family:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:800;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.5rem)}h3{font-size:clamp(1.2rem,2.5vw,1.75rem)}h4{font-size:1.25rem}p{color:var(--text-secondary);line-height:1.7}.container{max-width:1280px;padding:0 var(--space-6);margin:0 auto}.container-sm{max-width:900px;padding:0 var(--space-6);margin:0 auto}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.w-full{width:100%}.hidden{display:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);transition:all var(--transition);white-space:nowrap;cursor:pointer;border:none;font-size:.9375rem;font-weight:700;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--ixl-blue);color:#fff;box-shadow:var(--shadow-blue)}.btn-primary:hover{background:var(--ixl-blue-dark);transform:translateY(-1px);box-shadow:0 6px 24px #006bd659}.btn-secondary{background-color:var(--bg-secondary);color:var(--ixl-blue);border:2px solid var(--ixl-blue)}.btn-secondary:hover{background:var(--ixl-blue-light);transform:translateY(-1px)}.btn-ghost{color:var(--gray-600);border:2px solid var(--gray-200);background:0 0}.btn-ghost:hover{background:var(--gray-100);border-color:var(--gray-300)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:.8125rem}.btn-lg{padding:var(--space-4) var(--space-10);font-size:1.0625rem}.btn-icon{padding:var(--space-2);border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-600)}.btn-icon:hover{background:var(--gray-200)}.btn-correct{background:var(--correct);color:#fff}.btn-correct:hover{background:#1a8a4a}.btn-incorrect{background:var(--incorrect);color:#fff}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--transition), transform var(--transition);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg)}.card-hover:hover{transform:translateY(-3px)}.card-body{padding:var(--space-6)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-blue{background:var(--ixl-blue-light);color:var(--ixl-blue)}.badge-green{background:var(--correct-light);color:var(--correct)}.badge-red{background:var(--incorrect-light);color:var(--incorrect)}.badge-gold{color:#b8860b;background:#fff3cd}.badge-purple{color:#7c3aed;background:#f3eeff}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{color:var(--text-primary);font-size:.875rem;font-weight:600}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--input-border,#ffffff26);border-radius:var(--radius-md);color:var(--text-primary);background:var(--input-bg,#ffffff12);transition:border-color var(--transition), box-shadow var(--transition);font-size:.9375rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder{color:var(--text-muted)}.form-select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--input-border,#ffffff26);border-radius:var(--radius-md);color:var(--text-primary);background:var(--input-bg,#ffffff12) 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='%2394A3B8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;cursor:pointer;transition:border-color var(--transition);font-size:.9375rem}.form-select option{background-color:var(--bg-primary,#0f172a);color:var(--text-primary,#f8fafc)}.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}.progress-bar-wrap{background:var(--bg-card);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--accent), var(--accent-secondary));height:100%;transition:width .6s var(--ease)}.tabs{background:var(--input-bg);border-radius:var(--radius-lg);gap:4px;padding:4px;display:flex}.tab-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition);cursor:pointer;background:0 0;border:none;flex:1;font-size:.875rem;font-weight:600}.tab-btn.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.tab-btn:hover:not(.active){color:var(--text-primary)}.section{padding:var(--space-16) 0}.section-title{margin-bottom:var(--space-4)}.section-subtitle{color:var(--text-secondary);margin-bottom:var(--space-12);max-width:600px;margin-left:auto;margin-right:auto;font-size:1.125rem}.divider{background:var(--gray-200);height:1px;margin:var(--space-6) 0}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{background:var(--gray-800);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:var(--z-dropdown);font-size:.75rem;font-weight:500;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--gray-800);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes glow{0%,to{box-shadow:0 0 8px #006bd666}50%{box-shadow:0 0 24px #006bd6cc}}@keyframes scoreRise{0%{stroke-dashoffset:283px}}.anim-fadeIn{animation:.4s forwards fadeIn}.anim-fadeInUp{animation:.5s forwards fadeInUp}.anim-popIn{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards popIn}.skeleton{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-md);background-size:200%;animation:1.5s linear infinite shimmer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.grid-2{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.container{padding:0 var(--space-4)}h1{font-size:2rem}}.modal-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-8);width:calc(100% - 32px);max-width:480px;box-shadow:var(--shadow-xl);animation:.3s fadeInUp}.alert{padding:var(--space-4);border-radius:var(--radius-md);align-items:flex-start;gap:var(--space-3);font-size:.875rem;font-weight:500;display:flex}.alert-success{background:var(--correct-light);color:#166534;border-left:4px solid var(--correct)}.alert-error{background:var(--incorrect-light);color:#991b1b;border-left:4px solid var(--incorrect)}.alert-info{background:var(--ixl-blue-light);color:var(--ixl-blue-dark);border-left:4px solid var(--ixl-blue)}.confetti-canvas{pointer-events:none;z-index:var(--z-celebration);position:fixed;inset:0}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.page-content{flex:1;scroll-margin-top:62px}.page-content>:first-child{scroll-margin-top:62px}.modal-overlay{z-index:var(--z-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;animation:.2s fadeIn;position:fixed;inset:0}@media (width<=640px){.btn{padding:var(--space-3) var(--space-5);min-height:44px;font-size:.9rem}.btn-sm{padding:var(--space-2) var(--space-4);min-height:36px}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:2px;padding:3px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-btn{padding:var(--space-2) var(--space-3);flex:none;font-size:.8rem}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:90vh;padding:var(--space-6);align-self:flex-end;margin:0;overflow-y:auto}.modal-backdrop{align-items:flex-end}.card{border-radius:var(--radius-md)}.form-group{gap:var(--space-1)}.form-input,.form-select{font-size:1rem}.container,.container-sm{padding:0 var(--space-3)}h1{font-size:1.6rem}h2{font-size:1.3rem}h3{font-size:1.1rem}.hide-mobile{display:none!important}.grid-2,.grid-3,.grid-4{gap:var(--space-4);grid-template-columns:1fr}.section{padding:var(--space-10) 0}}@media (width<=480px){.btn-lg{padding:var(--space-3) var(--space-6);font-size:.95rem}.badge{padding:2px 8px;font-size:.65rem}}@media (hover:none){.card:hover,.btn-primary:hover,.btn-secondary:hover,.card-hover:hover{transform:none}}@media (width<=768px){html,body{width:100%;overflow-x:hidden}*{-webkit-tap-highlight-color:#0000}.mobile-page-content{padding-bottom:80px!important}.navbar-links,.hamburger{display:none!important}.navbar-inner{height:54px!important;padding:0 16px!important}.logo-text{font-size:1.1rem!important}button,.btn,[role=button],a.btn{min-height:44px;padding:10px 16px}.card,[class*=card]{border-radius:12px!important;padding:14px!important}h1{font-size:1.6rem!important}h2{font-size:1.3rem!important}h3{font-size:1.1rem!important}p,li{font-size:.9rem!important}[class*=grid-]:not(.bottom-nav){grid-template-columns:1fr!important}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}[class*=modal],[class*=dialog]{border-radius:16px!important;width:95vw!important;max-width:95vw!important;margin:10px auto!important}.stats-grid,[class*=stats-row]{grid-template-columns:1fr 1fr!important;gap:10px!important;display:grid!important}.practice-container,[class*=practice-wrap],[class*=session-wrap]{min-height:100vh;padding:12px!important}[class*=answer-btn],[class*=choice-btn],[class*=option-btn]{border-radius:12px!important;min-height:52px!important;padding:14px 16px!important;font-size:.95rem!important}[class*=subject-card],[class*=skill-card]{padding:14px!important}[class*=leaderboard]{padding:8px!important}input,select,textarea{border-radius:10px!important;padding:12px 14px!important;font-size:16px!important}[class*=decoration],[class*=bg-shape],[class*=blob]{display:none!important}[class*=sidebar],[class*=side-panel]{width:100%!important;position:static!important}.container,[class*=page-container],[class*=content-wrap]{max-width:100%!important;padding:12px!important}[class*=row]:not(.bottom-nav):not(.stats-grid):not([class*=stats-row]){flex-wrap:wrap!important}footer,.footer{display:none!important}}@media (width<=380px){.logo-text{font-size:.95rem!important}h1{font-size:1.35rem!important}.bottom-nav-label{font-size:.55rem!important}}@media (width<=768px) and (orientation:landscape){.bottom-nav{height:52px!important}.mobile-page-content{padding-bottom:60px!important}}[dir=rtl]{text-align:right}[dir=rtl] .navbar-inner,[dir=rtl] .navbar-links,[dir=rtl] .navbar-right,[dir=rtl] .grade-selector,[dir=rtl] .skill-controls,[dir=rtl] .filter-tabs,[dir=rtl] .disc-item-main,[dir=rtl] .disc-post-box,[dir=rtl] .disc-meta,[dir=rtl] .disc-actions{flex-direction:row-reverse}[dir=rtl] .disc-replies{border-left:none;border-right:2px solid #e2e8f0;padding-left:0;padding-right:16px}[dir=rtl] .disc-reply-item{flex-direction:row-reverse}:lang(ur),[lang=ur] *{font-family:Noto Nastaliq Urdu,serif;line-height:2}[data-theme=light] .card{background-color:var(--bg-secondary);border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000f}[data-theme=light] .card:hover{box-shadow:0 4px 16px #0000001a}[data-theme=light] .navbar{background:#fffffff7!important;border-bottom:1px solid #e2e8f0!important}[data-theme=light] .navbar a,[data-theme=light] .navbar button,[data-theme=light] .navbar .nav-link,[data-theme=light] .navbar .logo-text{color:#0f172a!important}[data-theme=light] .navbar .nav-link:hover{color:#006bd6!important}[data-theme=light] .dropdown-menu,[data-theme=light] .nav-dropdown{background-color:var(--bg-secondary)!important;border:1px solid #e2e8f0!important;box-shadow:0 10px 30px #0000001a!important}[data-theme=light] .dropdown-menu a,[data-theme=light] .nav-dropdown a,[data-theme=light] .dropdown-item{color:#0f172a!important}[data-theme=light] .dropdown-menu a:hover,[data-theme=light] .nav-dropdown a:hover,[data-theme=light] .dropdown-item:hover{color:#006bd6!important;background:#f1f5f9!important}[data-theme=light] .bottom-nav{background-color:var(--bg-secondary)!important;border-top:1px solid #e2e8f0!important}[data-theme=light] .bottom-nav a,[data-theme=light] .bottom-nav-label{color:#64748b!important}[data-theme=light] .bottom-nav a.active,[data-theme=light] .bottom-nav a.active .bottom-nav-label{color:#006bd6!important}[data-theme=light] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),[data-theme=light] select,[data-theme=light] textarea{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #d1d5db!important}[data-theme=light] input:focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus{border-color:#006bd6!important;box-shadow:0 0 0 3px #006bd61a!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#94a3b8!important}[data-theme=light] label{color:#374151!important}[data-theme=light] .btn-primary{color:#fff;background:#006bd6}[data-theme=light] .btn-secondary,[data-theme=light] .btn-ghost{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0}[data-theme=light] .btn-secondary:hover,[data-theme=light] .btn-ghost:hover{background:#e2e8f0}[data-theme=light] .stat-card,[data-theme=light] .widget-card,[data-theme=light] .dashboard-card{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] .stat-value,[data-theme=light] .widget-title,[data-theme=light] .dashboard-title{color:#0f172a!important}[data-theme=light] .stat-label,[data-theme=light] .widget-subtitle{color:#64748b!important}[data-theme=light] .modal-overlay{background:#0000004d!important}[data-theme=light] .modal-content,[data-theme=light] .modal{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] table{color:#0f172a}[data-theme=light] th{color:#374151;background:#f1f5f9;border-bottom:2px solid #e2e8f0}[data-theme=light] td{color:#0f172a;border-bottom:1px solid #f1f5f9}[data-theme=light] tr:hover td{background:#f8fafc}[data-theme=light] [style*="rgba(255,255,255,0.04)"],[data-theme=light] [style*="rgba(255,255,255,0.05)"],[data-theme=light] [style*="rgba(255,255,255,0.06)"],[data-theme=light] [style*="rgba(255,255,255,0.07)"]{background-color:var(--bg-secondary)!important;border-color:#e2e8f0!important}[data-theme=light] [style*="rgba(255,255,255,0.1)"]{border-color:#e2e8f0!important}[data-theme=light] .page-title,[data-theme=light] .section-title{color:#0f172a!important}[data-theme=light] .page-subtitle,[data-theme=light] .section-subtitle{color:#475569!important}[data-theme=light] ::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=light] ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=light] [style*="color: white"],[data-theme=light] [style*="color:'white'"],[data-theme=light] [style*=color\:white],[data-theme=light] [style*="color: #fff"],[data-theme=light] [style*="color:'#fff'"],[data-theme=light] [style*="color:#fff"],[data-theme=light] [style*="color: #f1f5f9"],[data-theme=light] [style*="color:'#f1f5f9'"],[data-theme=light] [style*="color:#f1f5f9"],[data-theme=light] [style*="color: #e2e8f0"],[data-theme=light] [style*="color:'#e2e8f0'"]{color:#0f172a!important}[data-theme=light] [style*="color: rgba(255"],[data-theme=light] [style*="color:rgba(255"],[data-theme=light] [style*="color:'rgba(255"]{color:#475569!important}[data-theme=light] [style*="background: #0f172a"],[data-theme=light] [style*="background:'#0f172a'"],[data-theme=light] [style*="background:#0f172a"],[data-theme=light] [style*="background: #1e293b"],[data-theme=light] [style*="background:'#1e293b'"],[data-theme=light] [style*="background:#1e293b"],[data-theme=light] [style*="background: #0a0f1e"],[data-theme=light] [style*="background:'#0a0f1e'"],[data-theme=light] [style*="background:#0a0f1e"]{background:#f8fafc!important}[data-theme=light] [style*="background: rgba(255, 255, 255, 0.0"],[data-theme=light] [style*="background:rgba(255, 255, 255, 0.0"],[data-theme=light] [style*="background: rgba(255,255,255,0.0"],[data-theme=light] [style*="background:rgba(255,255,255,0.0"]{background-color:var(--bg-secondary)!important;border-color:#e2e8f0!important}[data-theme=light] [style*="border: 1px solid rgba(255"],[data-theme=light] [style*="border:1px solid rgba(255"],[data-theme=light] [style*="border:'1px solid rgba(255"],[data-theme=light] [style*="borderColor: rgba(255"],[data-theme=light] [style*="borderColor:'rgba(255"]{border-color:#e2e8f0!important}[data-theme=light] .dash-section{background-color:var(--bg-secondary)!important;border:1px solid #e2e8f0!important;box-shadow:0 2px 8px #0000000f!important}[data-theme=light] .dash-section h2,[data-theme=light] .suggested-skill-name{color:#0f172a!important}[data-theme=light] .suggested-skill-sub{color:#64748b!important}[data-theme=light] .ap-wrapper,[data-theme=light] .admin-panel{color:#0f172a!important;background:#f8fafc!important}[data-theme=light] .ap-sidebar,[data-theme=light] .admin-sidebar{background-color:var(--bg-secondary)!important;border-right:1px solid #e2e8f0!important}[data-theme=light] .ap-sidebar a,[data-theme=light] .admin-sidebar a,[data-theme=light] .ap-sidebar button{color:#475569!important}[data-theme=light] .ap-sidebar a:hover,[data-theme=light] .ap-sidebar a.active,[data-theme=light] .admin-sidebar a:hover{color:#006bd6!important;background:#f1f5f9!important}[data-theme=light] .ap-main{color:#0f172a!important}[data-theme=light] .ap-card,[data-theme=light] .ap-stat-card{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] .msg-sidebar,[data-theme=light] .msg-list-wrap{background-color:var(--bg-secondary)!important;border-color:#e2e8f0!important}[data-theme=light] .msg-item{color:#0f172a!important}[data-theme=light] .msg-item:hover{background:#f8fafc!important}[data-theme=light] .msg-bubble{color:#0f172a!important}[data-theme=light] .msg-input{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #d1d5db!important}[data-theme=light] .skill-tree-page{background:#f8fafc!important}[data-theme=light] .skill-node{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:2px solid #e2e8f0!important}[data-theme=light] .lb-page{background:#f8fafc!important}[data-theme=light] .lb-row{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] .minigame-page{background:#f8fafc!important}[data-theme=light] .jcw-wrap,[data-theme=light] .join-class-widget{color:#0f172a!important}[data-theme=light] .jcw-wrap *,[data-theme=light] .join-class-widget *{color:inherit!important}[data-theme=light] .jcw-wrap input,[data-theme=light] .join-class-widget input{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #d1d5db!important}[data-theme=light] .server-settings{color:#0f172a!important;background:#f8fafc!important}[data-theme=light] .server-settings *{color:inherit}[data-theme=light] .server-settings input,[data-theme=light] .server-settings select,[data-theme=light] .server-settings textarea{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #d1d5db!important}[data-theme=light] .teacher-dash,[data-theme=light] .gradebook-page,[data-theme=light] .teacher-reports{color:#0f172a!important;background:#f8fafc!important}[data-theme=light] .quiz-page,[data-theme=light] .quiz-card{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] .pd-page,[data-theme=light] .principal-dash{color:#0f172a!important;background:#f8fafc!important}[data-theme=light] .profile-page{background:#f8fafc!important}[data-theme=light] .profile-card{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] .league-page,[data-theme=light] .competition-page{background:#f8fafc!important}[data-theme=light] .subject-card{border:1px solid #e2e8f0!important}[data-theme=light] .diagnostic-page{background:#f8fafc!important}[data-theme=light] .pricing-page{color:#0f172a!important;background:#f8fafc!important}[data-theme=light] .pricing-card{background-color:var(--bg-secondary)!important;color:#0f172a!important;border:1px solid #e2e8f0!important}[data-theme=light] .checkout-page{color:#0f172a!important;background:#f8fafc!important}.dash-section,.suggested-skill-card,.subject-card,.subject-card-body,.quick-action-btn,.card,.glass-card,.jcw-wrap,.jcw-box,.jcw-enrolled,.od-card,.profile-stat-card,.reward-card,.assignment-card,.ap-card,.sm-card,.modal-content,[data-theme=light] .dash-section,[data-theme=light] .suggested-skill-card,[data-theme=light] .subject-card,[data-theme=light] .subject-card-body,[data-theme=light] .card{color:#f8fafc!important;background-color:#1e293b!important;border-color:#94a3b833!important}.suggested-skill-card,.quick-action-btn,[data-theme=light] .suggested-skill-card,[data-theme=light] .quick-action-btn{background-color:#0f172a!important}.dash-section h2,.dash-section-header h2,.suggested-skill-name,.stat-value,.ws-num,.welcome-title,[data-theme=light] .dash-section h2,[data-theme=light] .suggested-skill-name,[data-theme=light] .stat-value{color:#f8fafc!important}.suggested-skill-sub,.stat-label,.ws-label,.weekly-summary,.week-day,[data-theme=light] .suggested-skill-sub,[data-theme=light] .stat-label{color:#94a3b8!important}:root{--m3-safe-top:env(safe-area-inset-top,0px);--m3-safe-bottom:env(safe-area-inset-bottom,0px);--m3-safe-left:env(safe-area-inset-left,0px);--m3-safe-right:env(safe-area-inset-right,0px);--m3-app-height:100dvh;--m3-surface-bg:#0f172a;--m3-surface-card:#1e293b;--m3-surface-card-hover:#334155;--m3-surface-border:#334155;--m3-text-primary:#f8fafc;--m3-text-secondary:#94a3b8;--m3-text-muted:#64748b;--m3-accent-primary:#6366f1;--m3-accent-primary-hover:#4f46e5;--m3-accent-pill:#6366f140;--m3-success:#10b981;--m3-warning:#f59e0b;--m3-error:#ef4444;--m3-touch-min-size:48px;--m3-nav-height:64px;--m3-header-height:56px;--m3-radius-sm:8px;--m3-radius-md:12px;--m3-radius-lg:20px;--m3-radius-full:9999px;--m3-transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--m3-transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}html,body{background-color:var(--m3-surface-bg);width:100%;min-height:100dvh;color:var(--m3-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow:hidden auto!important}*,:before,:after{box-sizing:border-box}input,select,textarea,.m3-touch-target{min-height:var(--m3-touch-min-size);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.m3-nav-item,.m3-action-btn{min-height:var(--m3-touch-min-size);min-width:var(--m3-touch-min-size);touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active,.m3-interactive:active{transition:transform var(--m3-transition-fast);transform:scale(.96)}input[type=text],input[type=number],input[type=email],input[type=password],textarea{background-color:var(--m3-surface-card);color:var(--m3-text-primary);border:1px solid var(--m3-surface-border);border-radius:var(--m3-radius-md);-webkit-user-select:text;user-select:text;outline:none;padding:12px 16px;font-size:16px!important}input:focus,textarea:focus{border-color:var(--m3-accent-primary);box-shadow:0 0 0 2px var(--m3-accent-pill)}.m3-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;will-change:transform;overflow:hidden auto;transform:translate(0,0)}.m3-scroll-container::-webkit-scrollbar{display:none}.m3-scroll-container{-ms-overflow-style:none;scrollbar-width:none}
