@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-primary:#0f0e17;--bg-secondary:#1a1932;--bg-card:#ffffff0f;--bg-card-hover:#ffffff1a;--bg-glass:#ffffff14;--border-glass:#ffffff1f;--text-primary:#fffffe;--text-secondary:#a7a9be;--text-muted:#72738c;--accent-purple:#6c63ff;--accent-pink:#ff6b9d;--accent-blue:#4ecdc4;--accent-orange:#f7b731;--accent-green:#20bf6b;--accent-red:#fc5c65;--gradient-hero:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-card:linear-gradient(135deg, #6c63ff26, #ff6b9d14);--gradient-success:linear-gradient(135deg, #20bf6b 0%, #0a8f4e 100%);--gradient-danger:linear-gradient(135deg, #fc5c65 0%, #eb3b5a 100%);--math-color:#6c63ff;--math-gradient:linear-gradient(135deg, #6c63ff 0%, #4834d4 100%);--math-bg:#6c63ff1f;--deutsch-color:#ff6b6b;--deutsch-gradient:linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);--deutsch-bg:#ff6b6b1f;--english-color:#20bf6b;--english-gradient:linear-gradient(135deg, #20bf6b 0%, #0a8f4e 100%);--english-bg:#20bf6b1f;--french-color:#3b82f6;--french-gradient:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--french-bg:#3b82f61f;--nmg-color:#f7b731;--nmg-gradient:linear-gradient(135deg, #f7b731 0%, #e67e22 100%);--nmg-bg:#f7b7311f;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:50%;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-glow:0 0 20px #6c63ff4d;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--font-family:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=light]{--bg-primary:#f5f3ff;--bg-secondary:#ede9fe;--bg-card:#00000008;--bg-card-hover:#0000000f;--bg-glass:#0000000a;--border-glass:#0000001a;--text-primary:#1e1b4b;--text-secondary:#4c4f69;--text-muted:#7c7f9b;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--shadow-glow:0 0 20px #6c63ff26}[data-theme=light] body:before{background:radial-gradient(at 20%,#6c63ff0f 0%,#0000 50%),radial-gradient(at 80% 20%,#ff6b9d0a 0%,#0000 50%),radial-gradient(at 50% 80%,#4ecdc40a 0%,#0000 50%)}[data-theme=light] .modal{background:#f0ecfe}[data-theme=light] .login-toggle button,[data-theme=light] a{color:#5b54d4}[data-theme=light] .login-toggle button:hover,[data-theme=light] a:hover{color:#e0429a}[data-theme=light] .text-gradient{background:linear-gradient(135deg,#5b54d4 0%,#7c3aed 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .card-glass{background:#ffffffb3;border:1px solid #00000014;box-shadow:0 4px 24px #0000000f}[data-theme=light] .input{color:var(--text-primary);background-color:#fffc;border:1px solid #0000001f}[data-theme=light] .input::placeholder{color:#9ca3af}[data-theme=light] .btn-primary{box-shadow:0 4px 15px #667eea4d}[data-theme=light] .btn-secondary{background:#fff9;border:1px solid #0000001a}[data-theme=light] select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%234c4f69' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E")}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-full);cursor:pointer;width:44px;height:44px;transition:all var(--transition-normal);color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);border-color:var(--accent-purple);transform:scale(1.08)}.theme-toggle:active{transform:scale(.95)}.password-wrapper{width:100%;position:relative}.password-wrapper .input{padding-right:48px}.password-toggle{color:var(--text-muted);cursor:pointer;width:44px;height:44px;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:var(--accent-purple)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20%,#6c63ff14 0%,#0000 50%),radial-gradient(at 80% 20%,#ff6b9d0f 0%,#0000 50%),radial-gradient(at 50% 80%,#4ecdc40d 0%,#0000 50%);position:fixed;inset:0}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{color:var(--text-secondary);line-height:1.6}a{color:var(--accent-purple);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-pink)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;border:none;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff1a,#0000);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-hero);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent-purple)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 4px 15px #20bf6b66}.btn-danger{background:var(--gradient-danger);color:#fff}.btn-lg{padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-lg);font-size:1.125rem}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.875rem}.btn-icon{border-radius:var(--radius-full);width:44px;height:44px;padding:0}.card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-normal)}.card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-md);border-color:#fff3;transform:translateY(-2px)}.card-glass{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-2xl);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}.input-group{gap:var(--space-sm);flex-direction:column;display:flex}.input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.input{width:100%;padding:var(--space-md) var(--space-lg);background-color:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:all var(--transition-fast);outline:none;font-size:1rem}.input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px #6c63ff26}.input::placeholder{color:var(--text-muted)}select.input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23a7a9be' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 5px #6c63ff4d}50%{box-shadow:0 0 20px #6c63ff99,0 0 40px #6c63ff4d}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes confettiDrop{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes xpPop{0%{opacity:0;transform:scale(0)translateY(0)}50%{opacity:1;transform:scale(1.3)translateY(-20px)}to{opacity:0;transform:scale(1)translateY(-40px)}}@keyframes starBurst{0%{opacity:1;transform:scale(0)rotate(0)}to{opacity:0;transform:scale(2)rotate(180deg)}}.animate-fade-in{animation:.5s forwards fadeIn}.animate-slide-up{animation:.6s forwards slideUp}.animate-bounce{animation:2s ease-in-out infinite bounce}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-float{animation:3s ease-in-out infinite float}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton{border-radius:var(--radius-sm);background:#ffffff14;animation:1.5s ease-in-out infinite skeletonPulse;position:relative;overflow:hidden}[data-theme=light] .skeleton{background:#0000000f}.skeleton-text{height:16px;margin-bottom:var(--space-xs);width:100%}.skeleton-text.short{width:60%}.skeleton-text.title{width:45%;height:24px;margin-bottom:var(--space-md)}.skeleton-avatar{border-radius:var(--radius-full);width:48px;height:48px}.skeleton-card{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-xl);min-height:140px;padding:var(--space-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.text-center{text-align:center}.text-gradient{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.container{width:100%;max-width:1200px;padding:0 var(--space-xl);z-index:1;margin:0 auto;position:relative}.login-page{min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex;position:relative}.login-container{width:100%;max-width:440px;animation:.6s fadeIn}.login-header{text-align:center;margin-bottom:var(--space-2xl)}.login-logo{margin-bottom:var(--space-md);font-size:4rem;animation:3s ease-in-out infinite float;display:block}.login-title{margin-bottom:var(--space-sm);font-size:2rem;font-weight:800}.login-subtitle{color:var(--text-secondary);font-size:1rem}.login-form{gap:var(--space-lg);flex-direction:column;display:flex}.login-error{border-radius:var(--radius-md);padding:var(--space-md);color:var(--accent-red);text-align:center;background:#fc5c651a;border:1px solid #fc5c654d;font-size:.875rem}.login-toggle{text-align:center;color:var(--text-secondary);font-size:.9rem}.login-toggle button{color:var(--accent-purple);font-family:var(--font-family);cursor:pointer;background:0 0;border:none;margin:-8px -4px -8px 4px;padding:8px 4px;font-size:.9rem;font-weight:600}.login-toggle button:hover{color:var(--accent-pink)}.select-student-page{min-height:100vh;padding:var(--space-2xl) 0}.select-student-topbar{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.select-student-user{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;font-size:.85rem;overflow:hidden}.select-student-actions{gap:var(--space-sm);flex-wrap:nowrap;flex-shrink:0;align-items:center;display:flex}@media (width<=600px){.select-student-btn-label{display:none}.select-student-actions .btn.btn-sm{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;font-size:1.1rem;display:inline-flex}.select-student-admin-btn{min-width:44px;min-height:44px;padding:0!important}}.select-student-header{text-align:center;margin-bottom:var(--space-2xl)}.select-student-title{margin-bottom:var(--space-sm);font-size:2.25rem;font-weight:800}.students-grid{gap:var(--space-lg);max-width:900px;margin:0 auto var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.student-card{background:var(--bg-card);border:2px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;cursor:grab;will-change:transform;transition:border-color .2s,box-shadow .2s,background .2s;animation:.35s forwards fadeIn;position:relative}.student-card:hover{background:var(--bg-card-hover);border-color:var(--accent-purple);box-shadow:var(--shadow-glow)}.student-card-avatar{margin-bottom:var(--space-md);font-size:4rem;display:block}.student-card-name{margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:700}.student-card-grade{color:var(--text-secondary);font-size:.875rem}.student-card-level{margin-top:var(--space-sm);color:var(--accent-purple);font-size:.8rem;font-weight:600}.add-student-card{border:2px dashed var(--border-glass);background:0 0;flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.add-student-card:hover{border-color:var(--accent-purple);background:#6c63ff0d}.add-student-icon{color:var(--text-muted);margin-bottom:var(--space-sm);font-size:3rem}.modal{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:500px;max-height:90vh;animation:.3s scaleIn;overflow-y:auto}.modal-title{margin-bottom:var(--space-xl);text-align:center;font-size:1.5rem;font-weight:700}.avatar-picker{gap:var(--space-sm);margin-bottom:var(--space-lg);grid-template-columns:repeat(6,1fr);display:grid}.avatar-option{aspect-ratio:1;background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;font-size:2rem;display:flex}.avatar-option:hover{background:var(--bg-card-hover);transform:scale(1.1)}.avatar-option.selected{border-color:var(--accent-purple);box-shadow:var(--shadow-glow);background:#6c63ff26}.modal-actions{gap:var(--space-md);margin-top:var(--space-xl);display:flex}.modal-actions .btn{flex:1}.logout-bar{padding:var(--space-md) var(--space-xl);justify-content:flex-end;display:flex}.dashboard-page{min-height:100vh;padding:0 0 var(--space-2xl);overflow-x:hidden}.navbar{padding:var(--space-lg) 0;margin-bottom:var(--space-lg);z-index:10;justify-content:space-between;align-items:center;display:flex;position:relative}.navbar-left{align-items:center;gap:var(--space-md);display:flex}.navbar-avatar{background:var(--bg-card);border:2px solid var(--border-glass);border-radius:var(--radius-full);cursor:pointer;width:48px;height:48px;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:2rem;display:flex}.navbar-avatar:hover{border-color:var(--accent-purple);transform:scale(1.05)}.navbar-info{flex-direction:column;display:flex}.navbar-name{font-size:1rem;font-weight:700}.navbar-level{color:var(--accent-purple);font-size:.8rem;font-weight:500}.navbar-right{align-items:center;gap:var(--space-lg);display:flex}.navbar-stat{align-items:center;gap:var(--space-sm);background:var(--bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-glass);display:flex}.navbar-stat-icon{font-size:1.2rem}.navbar-stat-value{font-size:.9rem;font-weight:700}.navbar-stat-label{color:var(--text-muted);font-size:.75rem}.welcome-section{text-align:center;margin-bottom:var(--space-2xl);animation:.5s fadeIn}.welcome-greeting{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:1.5rem}.welcome-name{margin-bottom:var(--space-md);font-size:2.5rem;font-weight:800}.xp-bar-container{max-width:500px;margin:0 auto var(--space-2xl);animation:.6s fadeIn}.xp-bar-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.xp-bar-level{color:var(--accent-purple);font-size:.875rem;font-weight:600}.xp-bar-progress{color:var(--text-muted);font-size:.8rem}.xp-bar{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:6px;width:100%;height:12px;overflow:hidden}.xp-bar-fill{background:var(--gradient-hero);border-radius:6px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative}.xp-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/200% 100%;animation:2s infinite shimmer;position:absolute;inset:0}.subjects-section{margin-bottom:var(--space-2xl)}.subjects-title{margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);font-size:1.25rem;font-weight:700;display:flex}.subjects-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.subject-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-xl);cursor:pointer;transition:all var(--transition-normal);opacity:0;animation:.5s forwards slideUp;position:relative;overflow:hidden}.subject-card:before{content:"";border-radius:var(--radius-xl) var(--radius-xl) 0 0;height:4px;position:absolute;top:0;left:0;right:0}.subject-card.math:before{background:var(--math-gradient)}.subject-card.deutsch:before{background:var(--deutsch-gradient)}.subject-card.english:before{background:var(--english-gradient)}.subject-card.french:before{background:var(--french-gradient)}.subject-card.nmg:before{background:var(--nmg-gradient)}.subject-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.subject-card.math:hover{border-color:var(--math-color);box-shadow:0 0 20px #6c63ff33}.subject-card.deutsch:hover{border-color:var(--deutsch-color);box-shadow:0 0 20px #ff6b6b33}.subject-card.english:hover{border-color:var(--english-color);box-shadow:0 0 20px #20bf6b33}.subject-card.french:hover{border-color:var(--french-color);box-shadow:0 0 20px #3b82f633}.subject-card.nmg:hover{border-color:var(--nmg-color);box-shadow:0 0 20px #f7b73133}.subject-card-emoji{margin-bottom:var(--space-md);font-size:3rem;display:block}.subject-card-name{margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:700}.subject-card-desc{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.85rem}.subject-card-progress{align-items:center;gap:var(--space-sm);display:flex}.subject-progress-bar{background:var(--bg-glass);border-radius:3px;flex:1;height:6px;overflow:hidden}.subject-progress-fill{border-radius:3px;height:100%;transition:width .6s}.subject-progress-fill.math{background:var(--math-gradient)}.subject-progress-fill.deutsch{background:var(--deutsch-gradient)}.subject-progress-fill.english{background:var(--english-gradient)}.subject-progress-fill.french{background:var(--french-gradient)}.subject-progress-fill.nmg{background:var(--nmg-gradient)}.subject-progress-text{color:var(--text-muted);text-align:right;min-width:30px;font-size:.75rem;font-weight:600}.subject-locked{opacity:.5;cursor:not-allowed}.subject-locked-badge{top:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--text-muted);background:#00000080;font-size:.75rem;position:absolute}.badges-section{margin-bottom:var(--space-2xl)}.badges-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.badge-item{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;transition:all var(--transition-normal)}.badge-item.earned{border-color:var(--accent-purple);background:#6c63ff0f}.badge-item.locked{opacity:.4;filter:grayscale(.8)}.badge-emoji{margin-bottom:var(--space-sm);font-size:2rem;display:block}.badge-name{font-size:.8rem;font-weight:600}.badge-desc{color:var(--text-muted);margin-top:var(--space-xs);font-size:.75rem}.exercise-page{min-height:100vh;padding:var(--space-xl) 0;padding-bottom:calc(var(--space-xl) * 2)}.exercise-page>.container{min-height:calc(100vh - var(--space-xl) * 2);flex-direction:column;display:flex}.exercise-header{margin-bottom:var(--space-2xl);justify-content:space-between;align-items:center;display:flex}.exercise-back{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-full);cursor:pointer;width:44px;height:44px;transition:all var(--transition-fast);color:var(--text-primary);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.exercise-back:hover{background:var(--bg-card-hover);border-color:var(--accent-purple)}.exercise-subject-name{font-size:1.25rem;font-weight:700}.exercise-counter{color:var(--text-secondary);font-size:.9rem;font-weight:600}.exercise-progress{background:var(--bg-glass);width:100%;max-width:600px;height:8px;margin:0 auto var(--space-2xl);border-radius:4px;overflow:hidden}.exercise-progress-fill{border-radius:4px;height:100%;transition:width .4s}.exercise-card{width:100%;max-width:720px;margin:0 auto;animation:.4s fadeIn}.exercise-question{text-align:center;margin-bottom:var(--space-xl);word-break:break-word;-webkit-hyphens:auto;hyphens:auto;padding:0 var(--space-sm);font-size:1.5rem;font-weight:700;line-height:1.5}.exercise-hint{text-align:center;color:var(--text-muted);margin-bottom:var(--space-xl);font-size:.9rem;font-style:italic}.choices-grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.exercise-choices{justify-content:center;align-items:stretch;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;width:100%;display:flex}.btn-choice{background:var(--bg-card);border:2px solid var(--border-glass);border-radius:var(--radius-lg);max-width:260px;padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:all var(--transition-normal);font-family:var(--font-family);color:var(--text-primary);text-align:center;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;flex:140px;justify-content:center;align-items:center;height:auto;min-height:64px;font-size:1.1rem;font-weight:500;line-height:1.4;display:flex;overflow:visible}.btn-choice:hover:not(.disabled){background:var(--bg-card-hover);border-color:var(--accent-purple);transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff33}.btn-choice.correct{border-color:var(--accent-green);background:#20bf6b26;animation:.5s pulse}.btn-choice.wrong{border-color:var(--accent-red);background:#fc5c6526}.btn-choice.disabled{cursor:default;opacity:.75}.btn-choice.selected{border-color:var(--accent-purple);background:#6c63ff1f}.choice-btn{background:var(--bg-card);border:2px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:all var(--transition-normal);font-family:var(--font-family);color:var(--text-primary);text-align:center;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;justify-content:center;align-items:center;min-height:64px;font-size:1.1rem;font-weight:500;line-height:1.4;display:flex}.choice-btn:hover:not(.disabled){background:var(--bg-card-hover);border-color:var(--accent-purple);transform:translateY(-2px)}.choice-btn.correct{border-color:var(--accent-green);background:#20bf6b26;animation:.5s pulse}.choice-btn.wrong{border-color:var(--accent-red);background:#fc5c6526}.choice-btn.disabled{cursor:default;opacity:.7}.exercise-input-container{width:100%;max-width:480px;margin:0 auto var(--space-xl);text-align:center}.exercise-input{width:100%;padding:var(--space-lg) var(--space-xl);background:var(--bg-glass);border:2px solid var(--border-glass);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-family);text-align:center;transition:all var(--transition-fast);outline:none;font-size:1.5rem;font-weight:600}.exercise-input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 4px #6c63ff26}.exercise-input.correct{border-color:var(--accent-green);box-shadow:0 0 0 4px #20bf6b26}.exercise-input.wrong{border-color:var(--accent-red);box-shadow:0 0 0 4px #fc5c6526}.exercise-feedback{text-align:center;margin:var(--space-xl) 0;padding:var(--space-lg);border-radius:var(--radius-lg);animation:.3s scaleIn}.exercise-feedback.correct{background:#20bf6b1a;border:1px solid #20bf6b4d}.exercise-feedback.wrong{background:#fc5c651a;border:1px solid #fc5c654d}.feedback-icon{margin-bottom:var(--space-sm);font-size:2.5rem;display:block}.feedback-text{font-size:1.1rem;font-weight:600}.feedback-explanation{color:var(--text-secondary);margin-top:var(--space-sm);font-size:.9rem}.flashcard-container{align-items:center;gap:var(--space-xl);padding-top:var(--space-md);flex-direction:column;display:flex}.flashcard{perspective:1200px;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;max-width:480px;height:260px}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:var(--radius-xl);transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border-radius:var(--radius-xl);justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xl);border:2px solid var(--border-glass);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;inset:0}.flashcard-front{background:linear-gradient(135deg,#6c63ff1f,#38bdf814);border-color:#6c63ff4d}.flashcard-back{background:linear-gradient(135deg,#20bf6b1f,#00d2ff14);border-color:#20bf6b4d;transform:rotateY(180deg)}.flashcard-emoji{font-size:3.5rem;line-height:1}.flashcard-word{color:var(--text-primary);text-align:center;letter-spacing:-.5px;font-size:2.2rem;font-weight:800}.flashcard-translation{color:var(--accent-green);text-align:center;letter-spacing:-.5px;font-size:2.2rem;font-weight:800}.flashcard-tap-hint{color:var(--text-muted);opacity:.7;font-size:.75rem}.flashcard-audio-btn{background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:20px;align-items:center;gap:6px;margin-top:4px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.flashcard-audio-btn:hover{color:var(--primary);border-color:var(--primary);background:#6c63ff26;transform:scale(1.05)}.flashcard-actions{text-align:center;width:100%;max-width:480px;animation:.3s fadeIn}.flashcard-question{margin-bottom:var(--space-lg);color:var(--text-secondary);font-size:1.1rem;font-weight:600}.flashcard-btn-row{gap:var(--space-md);justify-content:center;display:flex}.flashcard-btn-knew{max-width:200px;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);cursor:pointer;color:var(--accent-green);transition:all var(--transition-fast);background:#20bf6b26;border:2px solid #20bf6b80;flex:1;font-size:1rem;font-weight:700}.flashcard-btn-knew:hover{background:#20bf6b40;transform:translateY(-2px);box-shadow:0 4px 16px #20bf6b33}.flashcard-btn-didnt{max-width:200px;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);cursor:pointer;color:var(--accent-red);transition:all var(--transition-fast);background:#fc5c651a;border:2px solid #fc5c6566;flex:1;font-size:1rem;font-weight:700}.flashcard-btn-didnt:hover{background:#fc5c6533;transform:translateY(-2px);box-shadow:0 4px 16px #fc5c6533}@media (width<=480px){.flashcard{height:220px}.flashcard-word,.flashcard-translation{font-size:1.7rem}.flashcard-emoji{font-size:2.8rem}.flashcard-btn-row{flex-direction:column;align-items:center}.flashcard-btn-knew,.flashcard-btn-didnt{width:100%;max-width:100%}}.exercise-actions{margin-top:var(--space-xl);justify-content:center;display:flex}.exercise-summary{text-align:center;max-width:500px;margin:0 auto;animation:.5s fadeIn}.summary-emoji{margin-bottom:var(--space-lg);font-size:5rem;animation:1s bounce;display:block}.summary-title{margin-bottom:var(--space-sm);font-size:2rem;font-weight:800}.summary-subtitle{color:var(--text-secondary);margin-bottom:var(--space-2xl)}.summary-stats{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:1fr 1fr 1fr;display:grid}.summary-stat{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-lg)}.summary-stat-value{font-size:2rem;font-weight:800;display:block}.summary-stat-value.xp{color:var(--accent-purple)}.summary-stat-label{color:var(--text-muted);font-size:.8rem}.summary-badges{margin-bottom:var(--space-2xl)}.new-badge-card{border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-md);background:#6c63ff1a;border:1px solid #6c63ff4d;animation:2s infinite glow}.new-badge-emoji{margin-bottom:var(--space-sm);font-size:3rem;display:block}.new-badge-name{font-size:1.2rem;font-weight:700}.new-badge-desc{color:var(--text-secondary);font-size:.85rem}.reward-overlay{z-index:2000;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.xp-popup{color:var(--accent-purple);pointer-events:none;font-size:2rem;font-weight:800;animation:1.5s forwards xpPop}.level-up-overlay{z-index:3000;background:#000c;flex-direction:column;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.level-up-text{margin-bottom:var(--space-md);font-size:3rem;font-weight:900;animation:1s infinite bounce}.level-up-number{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:6rem;font-weight:900;animation:1.5s infinite pulse}.level-up-title{color:var(--text-secondary);margin-top:var(--space-md);font-size:1.5rem}.confetti-container{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.confetti-piece{width:10px;height:10px;animation:linear forwards confettiDrop;position:absolute;top:-10px}input,select,textarea{font-size:16px!important}html{scroll-padding-bottom:280px}@supports (-webkit-touch-callout:none){.exercise-page,.ask-anything-page{height:auto}}@media (hover:none) and (pointer:coarse){.subject-card:hover,.card:hover,.student-card:hover{box-shadow:none;transform:none}.subject-card:active,.card:active,.student-card:active,.choice-btn:active,.btn-choice:active,.btn:active{opacity:.9;transform:scale(.97)}.btn-sm{min-height:44px;padding:var(--space-sm) var(--space-md)}.btn-choice,.choice-btn{min-height:60px}.btn-choice:hover:not(.disabled),.choice-btn:hover:not(.disabled){transform:none}*{-webkit-tap-highlight-color:transparent}}@supports (padding:env(safe-area-inset-top)){.login-page{padding-left:max(var(--space-xl), env(safe-area-inset-left));padding-right:max(var(--space-xl), env(safe-area-inset-right))}.login-page,.select-student-page,.dashboard-page,.exercise-page{padding-top:max(var(--space-xl), env(safe-area-inset-top));padding-bottom:max(var(--space-xl), env(safe-area-inset-bottom))}.exercise-page{padding-bottom:max(calc(var(--space-xl) * 2), env(safe-area-inset-bottom))}.select-student-page>.container,.dashboard-page>.container,.exercise-page>.container{padding-left:max(var(--space-md), env(safe-area-inset-left));padding-right:max(var(--space-md), env(safe-area-inset-right))}}@media (width>=768px) and (width<=1024px){.container{padding:0 var(--space-2xl)}.navbar,.navbar-right{gap:var(--space-md)}.navbar-stat{padding:var(--space-sm) var(--space-md)}.navbar-stat-value{font-size:.9rem}.navbar-stat-label{font-size:.72rem}.subjects-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr)}.students-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.exercise-page{padding:var(--space-2xl) var(--space-2xl)}.exercise-card{max-width:640px}.exercise-question{padding:0 var(--space-md);font-size:1.5rem}.exercise-choices{gap:var(--space-lg)}.exercise-choices .btn-choice{flex:180px;max-width:300px}.btn-choice{min-height:72px;padding:var(--space-lg) var(--space-xl);font-size:1.1rem}.choice-btn{min-height:72px;font-size:1.1rem}.exercise-input{padding:var(--space-lg) var(--space-xl);font-size:1.4rem}.exercise-input-container{max-width:520px}.exercise-back{width:52px;height:52px;font-size:1.3rem}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.choices-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr}.modal{max-width:560px}.subject-card{padding:var(--space-xl)}.subject-card-emoji{font-size:3rem}}@media (width>=1024px) and (width<=1366px){.subjects-grid{grid-template-columns:repeat(3,1fr)}.exercise-card{max-width:700px}.exercise-question{font-size:1.5rem}.btn-choice{min-height:68px}}@media (width<=768px){h1{font-size:1.75rem}h2{font-size:1.5rem}.container{padding:0 var(--space-md)}.login-page{padding:var(--space-md);padding-top:var(--space-xl);align-items:flex-start}.login-header{margin-bottom:var(--space-lg)}.login-logo{margin-bottom:var(--space-sm);font-size:3rem}.login-title{font-size:1.75rem}.login-subtitle{font-size:.9rem}.card-glass{padding:var(--space-lg)}.navbar{gap:var(--space-sm);padding:var(--space-md) var(--space-sm);flex-wrap:wrap;justify-content:space-between}.navbar-left{justify-content:flex-start;width:auto}.navbar-right{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;width:auto}.hide-mobile{display:none!important}.navbar-stat{padding:var(--space-xs) var(--space-sm);background:var(--bg-glass);border-radius:var(--radius-full);padding:var(--space-xs) var(--space-sm)}.subjects-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.subject-card{padding:var(--space-lg)}.subject-card-emoji{font-size:2.5rem}.subject-card-name{font-size:1.1rem}.subject-card-desc{font-size:.8rem}.exercise-page{padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--space-lg) * 2)}.exercise-header{margin-bottom:var(--space-md)}.exercise-question{margin-bottom:var(--space-lg);padding:0;font-size:1.2rem;line-height:1.5}.exercise-input{font-size:1.1rem}.exercise-input-container{max-width:100%}.choices-grid{gap:var(--space-md);grid-template-columns:1fr}.exercise-choices{align-items:stretch;gap:var(--space-sm);flex-direction:column}.exercise-choices .btn-choice{flex:auto;max-width:100%}.choice-btn{padding:var(--space-md) var(--space-lg);text-align:left;min-height:56px;padding-left:var(--space-lg);justify-content:flex-start;font-size:1rem}.btn-choice{text-align:left;min-height:56px;padding-left:var(--space-lg);justify-content:flex-start;font-size:1rem}.students-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.student-card{padding:var(--space-lg)}.student-card-avatar{font-size:3rem}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.welcome-name{font-size:1.75rem}.welcome-greeting{font-size:1.2rem}.xp-bar-container{max-width:100%;margin-bottom:var(--space-xl)}.xp-bar-header{margin-bottom:var(--space-sm);flex-direction:column;align-items:flex-start;gap:4px}.summary-stats{grid-template-columns:1fr}.summary-emoji{font-size:4rem}.summary-title{font-size:1.5rem}.avatar-picker{grid-template-columns:repeat(4,1fr)}.select-student-title{font-size:1.75rem}.modal{border-radius:var(--radius-lg);max-width:100%;padding:var(--space-lg)}.modal-overlay{padding:var(--space-md)}.theme-toggle{width:44px;min-width:44px;height:44px;min-height:44px;font-size:1.1rem}}@media (width<=480px){.subjects-grid{gap:var(--space-lg);grid-template-columns:1fr}.exercise-subject-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.95rem;overflow:hidden}.exercise-counter{white-space:nowrap;font-size:.8rem}.exercise-question{font-size:1.1rem}.exercise-back{flex-shrink:0;width:44px;min-width:44px;height:44px;min-height:44px;font-size:1rem}.summary-stats{grid-template-columns:1fr 1fr}.login-container{max-width:100%}.students-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr}.student-card{padding:var(--space-md)}.student-card-avatar{font-size:2.5rem}.student-card-name{font-size:1rem}.feedback-icon{font-size:2rem}.feedback-text{font-size:1rem}}@media (height<=500px) and (orientation:landscape){.login-page{padding-top:var(--space-md);align-items:flex-start}.login-logo{margin-bottom:var(--space-xs);font-size:2rem}.login-title{font-size:1.5rem}.login-header{margin-bottom:var(--space-sm)}.card-glass{padding:var(--space-md)}.login-form{gap:var(--space-sm)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;padding:var(--space-xl);background:#0006;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.tutorial-modal{background:var(--bg-primary);border:1px solid var(--border-glass);border-radius:var(--radius-xl);width:95%;max-width:600px;max-height:92vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}[data-theme=dark] .tutorial-modal{background:linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%)}.tutorial-header{padding:var(--space-xl);border-bottom:1px solid var(--border-glass);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.tutorial-tabs{justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--bg-glass);border-bottom:1px solid var(--border-glass);-webkit-overflow-scrolling:touch;flex-shrink:0;display:flex;overflow-x:auto}.tutorial-tab{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:all var(--transition-normal);background:0 0;border:1px solid #0000;flex-direction:column;flex:1;align-items:center;gap:4px;font-weight:600;display:flex}.tutorial-tab span:first-child{font-size:1.5rem}.tutorial-tab:hover{background:var(--bg-card-hover);color:var(--text-primary)}.tutorial-tab.active{background:var(--bg-primary);border-color:var(--accent-purple);color:var(--accent-purple);box-shadow:var(--shadow-sm)}.tutorial-content{padding:var(--space-2xl);flex:1;overflow-y:auto}.tutorial-steps{gap:var(--space-xl);flex-direction:column;display:flex}.tutorial-step{gap:var(--space-lg);animation:.4s backwards slideUp;display:flex}.step-number{background:var(--accent-purple);color:#fff;border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:800;display:flex;box-shadow:0 0 10px #6c63ff4d}.step-info h4{margin-bottom:var(--space-xs);color:var(--text-primary);font-size:1.1rem}.step-info p{color:var(--text-secondary);font-size:.95rem}.btn-close{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.btn-close:hover{background:var(--accent-red);color:#fff;transform:rotate(90deg)}.help-trigger{margin-top:var(--space-lg);justify-content:center;display:flex}.help-trigger-btn{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-secondary);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:var(--space-sm);transition:all var(--transition-normal);font-size:.85rem;font-weight:600;display:flex}.help-trigger-btn:hover{background:var(--bg-card-hover);color:var(--accent-purple);border-color:var(--accent-purple);transform:translateY(-2px)}@media (width<=480px){.tutorial-content{padding:var(--space-lg)}.tutorial-tab span:first-child{font-size:1.2rem}.tutorial-tab{padding:var(--space-sm) var(--space-md);flex-direction:row;flex:auto;justify-content:center;gap:8px;min-width:0;font-size:.85rem}.tutorial-tabs{justify-content:flex-start;padding:12px 10px}}.help-trigger-top{margin-bottom:var(--space-xl);justify-content:center;animation:.8s backwards fadeIn;display:flex}.help-trigger-top .help-trigger-btn{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-xl);cursor:pointer;align-items:center;gap:var(--space-md);transition:all var(--transition-normal);border:none;padding:12px 24px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 15px #6c63ff66}.help-trigger-top .help-trigger-btn:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 8px 25px #6c63ff99}.help-trigger-top .help-trigger-btn span{font-size:1.4rem}@keyframes pulse-glow{0%{box-shadow:0 0 #6c63ffb3}70%{box-shadow:0 0 0 15px #6c63ff00}to{box-shadow:0 0 #6c63ff00}}.pulse-animation{animation:2s infinite pulse-glow}.ask-anything-page{background:var(--bg-primary);min-height:100vh;padding:var(--space-xl) var(--space-md);justify-content:center;align-items:flex-start;display:flex;position:relative;overflow:hidden}.ask-blob{filter:blur(80px);opacity:.12;pointer-events:none;border-radius:50%;animation:8s ease-in-out infinite alternate blobFloat;position:fixed}.ask-blob-1{background:radial-gradient(circle,#6c63ff,#9c63ff);width:500px;height:500px;animation-delay:0s;top:-100px;left:-100px}.ask-blob-2{background:radial-gradient(circle,#ff6b6b,#ff8e53);width:400px;height:400px;animation-delay:3s;bottom:-80px;right:-80px}.ask-blob-3{background:radial-gradient(circle,#4ecdc4,#26a69a);width:300px;height:300px;animation-delay:6s;top:40%;left:60%}@keyframes blobFloat{0%{transform:translate(0)scale(1)}to{transform:translate(30px,40px)scale(1.1)}}.ask-container{z-index:1;width:100%;max-width:660px;animation:.5s fadeIn;position:relative}.ask-back-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;min-height:44px;margin-bottom:var(--space-xl);transition:all var(--transition-normal);background:0 0;align-items:center;padding:12px 16px;font-size:.9rem;display:inline-flex}.ask-back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.ask-header{text-align:center;margin-bottom:var(--space-xl)}.ask-owl{margin-bottom:var(--space-md);font-size:4rem;animation:2s ease-in-out infinite owlBounce;display:block}@keyframes owlBounce{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-8px)rotate(5deg)}}.ask-title{background:var(--gradient-hero);-webkit-text-fill-color:transparent;margin-bottom:var(--space-sm);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;line-height:1.2}.ask-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.5}.ask-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);gap:var(--space-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;display:flex;box-shadow:0 8px 40px #0003}.ask-input-wrapper{background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition-normal);align-items:center;gap:12px;padding:14px 16px;display:flex}.ask-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff26}.ask-input-icon{flex-shrink:0;font-size:1.2rem}.ask-input{color:var(--text-primary);font-size:1rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;min-width:0}.ask-input::placeholder{color:var(--text-muted)}.ask-input-clear{color:var(--text-muted);cursor:pointer;min-width:44px;min-height:44px;transition:color var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 8px;font-size:.9rem;display:flex}.ask-input-clear:hover{color:var(--text-primary)}.ask-error{color:#ff5252;margin:-8px 0;font-size:.85rem}.ask-subject-row{flex-wrap:wrap;gap:8px;display:flex}.ask-subject-btn{border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);font-size:.85rem;font-family:var(--font-sans);align-items:center;gap:6px;padding:8px 14px;display:flex}.ask-subject-btn:hover{border-color:var(--primary);color:var(--primary)}.ask-subject-btn.active{border-color:var(--primary);color:var(--primary);background:#6c63ff26;font-weight:600}.ask-submit-btn{border-radius:var(--radius-lg);background:var(--gradient-hero);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-normal);font-size:1.1rem;font-weight:700;font-family:var(--font-sans);border:none;justify-content:center;align-items:center;gap:10px;padding:16px 24px;display:flex;box-shadow:0 4px 20px #6c63ff66}.ask-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #6c63ff99}.ask-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ask-loading-dots{align-items:center;gap:4px;display:inline-flex}.ask-loading-dots span{background:#fff;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dotPulse}.ask-loading-dots span:nth-child(2){animation-delay:.2s}.ask-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ask-chips-section{margin-bottom:var(--space-xl)}.ask-chips-label{color:var(--text-muted);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.ask-chips{flex-wrap:wrap;gap:10px;display:flex}.ask-chip{border-radius:var(--radius-xl);background:var(--bg-secondary);border:1px solid var(--border);min-height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);font-size:.85rem;font-family:var(--font-sans);align-items:center;gap:6px;padding:8px 16px;display:flex}.ask-chip:hover:not(:disabled){color:var(--primary);background:#6c63ff1f;border-color:#6c63ff66;transform:translateY(-1px)}.ask-recent{margin-bottom:var(--space-xl)}.ask-recent-item{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;transition:all var(--transition-normal);font-size:.9rem;font-family:var(--font-sans);align-items:center;gap:10px;padding:10px 16px;display:flex}.ask-recent-item:hover:not(:disabled){color:var(--text-primary);background:#6c63ff14;border-color:#6c63ff4d}.ask-recent-replay{opacity:.5;margin-left:auto;font-size:.75rem}.subject-card-ask{background:linear-gradient(135deg,#6c63ff26 0%,#9c63ff1a 100%);border:2px solid #6c63ff59;position:relative;overflow:hidden}.subject-card-ask:before{content:"";background:var(--gradient-hero);opacity:0;transition:opacity var(--transition-normal);position:absolute;inset:0}.subject-card-ask:hover:before{opacity:.08}.subject-card-ask .subject-emoji{font-size:2.8rem;animation:3s ease-in-out infinite owlBounce}@media (width<=600px){.ask-form{padding:var(--space-lg)}.ask-subject-row{gap:6px}.ask-subject-btn{min-height:44px;padding:10px;font-size:.78rem}}.admin-shell{background:var(--bg-primary);height:100vh;font-family:var(--font-family);display:flex;overflow:hidden}.admin-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-glass);-webkit-backdrop-filter:blur(20px);flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow:hidden}.admin-sidebar-header{border-bottom:1px solid var(--border-glass);padding:24px 16px 20px}.admin-logo{align-items:center;gap:12px;display:flex}.admin-logo-icon{background:var(--gradient-hero);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex;box-shadow:0 4px 12px #6366f166}.admin-logo-title{color:var(--text-primary);letter-spacing:.03em;font-size:.95rem;font-weight:800}.admin-logo-sub{color:var(--text-muted);margin-top:1px;font-size:.72rem}.admin-nav{flex-direction:column;flex:1;gap:3px;padding:12px 10px;display:flex;overflow-y:auto}.admin-nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.admin-nav-item:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-glass)}.admin-nav-item--active{color:var(--text-primary);background:#6c63ff2e;border-color:#6c63ff73;font-weight:600;position:relative}.admin-nav-item--active:before{content:"";background:var(--accent-purple);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:0}.admin-nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.admin-sidebar-footer{border-top:1px solid var(--border-glass);align-items:center;gap:8px;padding:14px 12px;display:flex}.admin-user-chip{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.admin-user-avatar{flex-shrink:0;font-size:1.1rem}.admin-user-info{flex-direction:column;min-width:0;display:flex}.admin-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.admin-user-badge{color:var(--accent-purple);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.admin-sidebar-footer-actions{flex-shrink:0;gap:6px;display:flex}.admin-back-btn{color:#a78bfa;cursor:pointer;background:#6c63ff26;border:1px solid #6c63ff59;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:7px 9px;font-size:.95rem;transition:all .15s;display:flex}.admin-back-btn:hover{color:#c4b5fd;background:#6c63ff47;border-color:#6c63ff99;transform:translateY(-1px)}.admin-back-btn--full{width:100%;font-size:.95rem;font-weight:600;font-family:var(--font-family);border-radius:10px;justify-content:center;gap:8px;min-height:44px;padding:11px 16px}.admin-logout-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:7px 9px;font-size:.95rem;transition:all .15s;display:flex}.admin-logout-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d}.admin-bottom-nav-item--back{font-family:var(--font-family);cursor:pointer;-webkit-tap-highlight-color:transparent;color:#a78bfa;background:0 0;border:none}.admin-bottom-nav-item--back:active .admin-bottom-nav-icon{transition:transform 80ms;transform:scale(.88)}.admin-main{background:var(--bg-primary);flex:1;overflow-y:auto}.admin-page{max-width:1200px;padding:32px;animation:.35s fadeIn}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.admin-btn{border-radius:var(--radius-sm);font-family:var(--font-family);border:1px solid var(--border-glass);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:9px 18px;font-size:.875rem;font-weight:600;display:inline-flex}.admin-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-purple)}.admin-btn-primary{color:#fff;background:linear-gradient(135deg,#6c63ffd9,#8b5cf6d9);border-color:#0000;box-shadow:0 4px 12px #6c63ff40}.admin-btn-primary:hover{background:linear-gradient(135deg,#6c63ff,#8b5cf6);border-color:#0000;transform:translateY(-1px);box-shadow:0 6px 20px #6c63ff66}.admin-btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.admin-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:var(--bg-card);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.95rem;font-family:var(--font-family);justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-action-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-purple);color:var(--text-primary);transform:translateY(-1px)}.admin-action-btn:active{transform:scale(.93)}.admin-alert{border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;font-weight:500;animation:.2s fadeIn;display:flex}.admin-alert-success{color:var(--accent-green);background:#20bf6b1f;border:1px solid #20bf6b4d}.admin-alert-error{color:var(--accent-red);background:#fc5c651a;border:1px solid #fc5c654d}.admin-page-title{color:var(--text-primary);margin:0 0 4px;font-size:1.5rem;font-weight:800}.admin-page-subtitle{color:var(--text-muted);font-size:.875rem}.admin-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.admin-stats-grid--3{grid-template-columns:repeat(3,1fr)}.admin-stats-grid--4{grid-template-columns:repeat(4,1fr)}.admin-stat-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:14px;align-items:center;gap:14px;padding:18px 20px;transition:all .2s;display:flex}.admin-stat-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.admin-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.admin-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1}.admin-stat-label{color:var(--text-muted);margin-top:3px;font-size:.78rem;font-weight:500}.admin-stat-sub{color:var(--text-muted);margin-top:2px;font-size:.72rem}.admin-section{margin-bottom:28px}.admin-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;font-size:.85rem;font-weight:700}.admin-cards-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.admin-cards-col{flex-direction:column;gap:16px;display:flex}.admin-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:16px;padding:22px;transition:all .2s}.admin-card:hover{background:var(--bg-card-hover)}.admin-card-title{color:var(--text-primary);margin-bottom:18px;font-size:.95rem;font-weight:700}.admin-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.admin-search{background:var(--bg-card);border:1px solid var(--border-glass);min-width:220px;color:var(--text-primary);font-family:var(--font-family);border-radius:10px;outline:none;flex:1;padding:9px 14px;font-size:.875rem;transition:border-color .15s}.admin-search:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.admin-search::placeholder{color:var(--text-muted)}.admin-select{background:var(--bg-card);border:1px solid var(--border-glass);color:var(--text-primary);font-family:var(--font-family);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%23a7a9be' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:10px;outline:none;padding:9px 30px 9px 14px;font-size:.875rem}.admin-select:focus{border-color:#6366f1}.admin-filter-btn{background:var(--bg-card);border:1px solid var(--border-glass);color:var(--text-muted);font-family:var(--font-family);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:500;transition:all .15s}.admin-filter-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.admin-filter-btn--active{color:#a5b4fc;background:#6366f12e;border-color:#6366f166;font-weight:600}.admin-table-wrap{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:14px;margin-bottom:16px;overflow:hidden}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border-glass);white-space:nowrap;background:#ffffff08;padding:12px 16px;font-size:.72rem;font-weight:700}.admin-table td{color:var(--text-secondary);vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:12px 16px}.admin-table-row{cursor:pointer;transition:background .12s}.admin-table-row:hover td{background:#ffffff0a}.admin-table-row:last-child td{border-bottom:none}.admin-row-arrow{color:var(--text-muted);opacity:0;transition:opacity .15s}.admin-table-row:hover .admin-row-arrow{opacity:1}.admin-pagination{justify-content:center;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.admin-badge{white-space:nowrap;border-radius:99px;align-items:center;padding:3px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.admin-badge--parent{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d}.admin-badge--teacher{color:#6ee7b7;background:#10b98126;border:1px solid #10b9814d}.admin-badge--superadmin{color:#c4b5fd;background:linear-gradient(135deg,#6366f140,#8b5cf633);border:1px solid #8b5cf666}.admin-badge--neutral{color:var(--text-secondary);border:1px solid var(--border-glass);background:#ffffff12}.admin-badge--exercise{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f140}.admin-badge--registration{color:#6ee7b7;background:#10b9811f;border:1px solid #10b98140}.admin-badge--login{color:#fcd34d;background:#f59e0b1f;border:1px solid #f59e0b40}.admin-badge--approved{color:#6ee7b7;background:#10b98126;border:1px solid #10b9814d}.admin-badge--pending{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b4d}.admin-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.admin-modal{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:88vh;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);animation:.25s scaleIn;overflow-y:auto}.admin-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 24px 0;display:flex}.admin-modal-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:800}.admin-modal-sub{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.admin-modal-close{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;padding:6px 10px;font-size:.9rem}.admin-modal-close:hover{color:#ef4444;background:#ef444426}.admin-modal-body{flex-direction:column;gap:20px;padding:20px 24px 24px;display:flex}.admin-meta-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-meta-item{flex-direction:column;gap:4px;display:flex}.admin-meta-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.7rem;font-weight:700}.admin-modal-section{border-top:1px solid #ffffff12;padding-top:16px}.admin-modal-section-title{color:var(--text-secondary);margin:0 0 12px;font-size:.85rem;font-weight:700}.admin-student-row{background:var(--bg-card);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;display:flex}.admin-modal-actions{border-top:1px solid #ffffff12;flex-wrap:wrap;gap:10px;padding-top:16px;display:flex}.admin-confirm-delete{color:#ef4444;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.btn-danger-outline{color:#f87171;background:0 0;border:1px solid #ef44444d}.btn-danger-outline:hover{background:#ef44441f;border-color:#ef444480}.admin-loading{justify-content:center;align-items:center;height:300px;display:flex}.admin-error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;margin-bottom:20px;padding:16px 20px;font-size:.9rem}[data-theme=light] .admin-sidebar{background:var(--bg-secondary);border-right-color:var(--border-glass)}[data-theme=light] .admin-modal{background:var(--bg-secondary);border-color:var(--border-glass)}[data-theme=light] .admin-table-wrap{background:#ffffffb3;border-color:#00000014}[data-theme=light] .admin-table th{background:#00000005}[data-theme=light] .admin-stat-card,[data-theme=light] .admin-card{background:#ffffffb3;border-color:#00000012}[data-theme=light] .admin-search,[data-theme=light] .admin-select,[data-theme=light] .admin-filter-btn{color:var(--text-primary);background:#fffc;border-color:#0000001a}.admin-mobile-header,.admin-hamburger,.admin-bottom-nav,.admin-drawer-overlay{display:none}.admin-edit-overlay{-webkit-backdrop-filter:blur(6px);z-index:200;background:#000000a6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@media (width>=768px) and (width<=900px){.admin-sidebar{width:64px}.admin-nav-label,.admin-logo-title,.admin-logo-sub,.admin-user-info{display:none}.admin-nav-item{justify-content:center;padding:12px}.admin-logo{justify-content:center}.admin-sidebar-footer{flex-direction:column;justify-content:center;gap:8px;padding:12px 8px}.admin-sidebar-footer-actions{flex-direction:column;gap:6px}.admin-page{width:100%;padding:20px 16px}.admin-stats-grid,.admin-stats-grid--4,.admin-stats-grid--3{grid-template-columns:repeat(2,1fr)}.admin-cards-row{grid-template-columns:1fr}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=767px){.admin-shell{flex-direction:column;height:100dvh;overflow:hidden}.admin-sidebar{display:none}.admin-mobile-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-glass);-webkit-backdrop-filter:blur(20px);min-height:56px;padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.admin-mobile-logo{align-items:center;gap:10px;display:flex}.admin-mobile-title{color:var(--text-primary);letter-spacing:.03em;font-size:1rem;font-weight:800}.admin-mobile-header-actions{align-items:center;gap:8px;display:flex}.admin-hamburger{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);justify-content:center;align-items:center;font-size:1.3rem;display:flex}.admin-hamburger:hover,.admin-hamburger:active{background:#6c63ff33;border-color:#6c63ff66}.admin-main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.admin-page{max-width:100%;padding:16px}.admin-stats-grid,.admin-stats-grid--4,.admin-stats-grid--3{grid-template-columns:repeat(2,1fr);gap:10px}.admin-stat-card{gap:10px;padding:14px 12px}.admin-stat-value{font-size:1.25rem}.admin-stat-icon{width:38px;height:38px;font-size:1rem}.admin-cards-row{grid-template-columns:1fr;gap:14px}.admin-card{padding:16px}.admin-filters{flex-direction:column;gap:8px}.admin-search{min-width:unset;width:100%}.admin-select{width:100%}.admin-filter-btn{min-height:44px;font-size:.9rem}.admin-table-wrap{border-radius:12px;overflow:hidden}.admin-table{font-size:.875rem}.admin-table thead{display:none}.admin-table tbody tr.admin-table-row{background:var(--bg-card);border:1px solid var(--border-glass);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:14px;transition:background .15s;display:block}.admin-table tbody tr.admin-table-row:last-child{margin-bottom:0}.admin-table tbody tr.admin-table-row:hover td{background:0 0}.admin-table tbody tr.admin-table-row:active{background:var(--bg-card-hover)}.admin-table td{min-height:36px;color:var(--text-primary);border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:6px 0;font-size:.85rem;display:flex}.admin-table td:last-child{border-bottom:none;padding-bottom:0}.admin-table td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex-shrink:0;margin-right:12px;font-size:.7rem;font-weight:700}.admin-table td:has(.admin-row-arrow){display:none}.admin-table tbody{background:0 0;flex-direction:column;gap:8px;padding:12px;display:flex}.admin-table-wrap{background:0 0;border:none;border-radius:0}.admin-pagination{gap:8px}.admin-pagination .btn{min-height:44px}.admin-modal-overlay{align-items:flex-end;padding:0}.admin-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:90dvh}.admin-meta-grid{grid-template-columns:1fr}.admin-modal-actions{flex-direction:column;gap:8px}.admin-modal-actions .btn{justify-content:center;width:100%;min-height:48px}.admin-bottom-nav{background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-glass);padding-bottom:env(safe-area-inset-bottom,0px);z-index:100;height:calc(64px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.admin-bottom-nav-item{color:var(--text-muted);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:8px 4px;text-decoration:none;display:flex}.admin-bottom-nav-item:active{opacity:.7}.admin-bottom-nav-item--active{color:var(--accent-purple)}.admin-bottom-nav-icon{font-size:1.35rem;line-height:1;transition:transform .15s}.admin-bottom-nav-item--active .admin-bottom-nav-icon{transform:scale(1.15)}.admin-bottom-nav-label{letter-spacing:.02em;font-size:.62rem;font-weight:600;line-height:1}.admin-drawer-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;background:#0009;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.admin-drawer{background:var(--bg-secondary);border-right:1px solid var(--border-glass);-webkit-backdrop-filter:blur(20px);width:min(85vw,320px);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;animation:.25s cubic-bezier(.4,0,.2,1) slideInLeft;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.admin-drawer-header{border-bottom:1px solid #ffffff12;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.admin-drawer-close{color:#fff9;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:all .15s;display:flex}.admin-drawer-close:hover{color:#ef4444;background:#ef444426}.admin-drawer-nav{flex:1;padding:12px 10px;overflow-y:auto}.admin-drawer-nav-item{border-radius:12px;min-height:52px;margin-bottom:4px;padding:14px 16px!important;font-size:1rem!important}.admin-drawer-nav-item .admin-nav-icon{width:28px;font-size:1.2rem}.admin-drawer-footer{border-top:1px solid #ffffff12;flex-direction:column;gap:12px;padding:16px;display:flex}.admin-drawer-footer .admin-logout-btn{border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:.95rem;display:flex}.admin-page-title{font-size:1.2rem}.admin-section-title{font-size:.8rem}}@media (width<=400px){.admin-stats-grid,.admin-stats-grid--4,.admin-stats-grid--3{grid-template-columns:1fr}.admin-bottom-nav-label{display:none}.admin-bottom-nav-icon{font-size:1.5rem}.admin-bottom-nav-item{padding:10px 4px}}.subject-card-husi{cursor:pointer;background:linear-gradient(135deg,#f59e0b26 0%,#ef44441a 100%);border:1px solid #f59e0b40;position:relative}.subject-card-husi:hover{border-color:#f59e0b80;transform:translateY(-4px)scale(1.02);box-shadow:0 12px 40px #f59e0b33}.husi-page{background:var(--bg-primary);min-height:100vh;padding:var(--space-xl) var(--space-md);padding-bottom:calc(var(--space-xl) * 2);justify-content:center;align-items:flex-start;display:flex;position:relative;overflow:hidden}.husi-blob{filter:blur(80px);opacity:.18;pointer-events:none;z-index:0;border-radius:50%;position:fixed}.husi-blob-1{background:radial-gradient(circle,#f59e0b,#0000);width:500px;height:500px;animation:10s ease-in-out infinite blobFloat;top:-100px;left:-100px}.husi-blob-2{background:radial-gradient(circle,#ef4444,#0000);width:400px;height:400px;animation:12s ease-in-out infinite reverse blobFloat;bottom:-80px;right:-80px}.husi-container{z-index:1;gap:var(--space-lg);flex-direction:column;width:100%;max-width:560px;display:flex;position:relative}.husi-header{text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.husi-wizard{filter:drop-shadow(0 0 20px #f59e0b66);font-size:4rem;animation:.6s cubic-bezier(.175,.885,.32,1.275) both bounceIn;display:block}.husi-title{background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2rem;font-weight:800}.husi-subtitle{color:var(--text-secondary);max-width:420px;margin:0;font-size:.95rem;line-height:1.6}.husi-badge{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.husi-form{gap:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;display:flex}.husi-upload-section{gap:var(--space-sm);flex-direction:column;display:flex}.husi-upload-buttons{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.husi-upload-btn{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-base);color:var(--text-primary);background:#f59e0b0f;border:2px dashed #f59e0b59;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100px;transition:all .2s;display:flex}.husi-upload-btn:hover{background:#f59e0b1f;border-color:#f59e0ba6;transform:translateY(-2px)}.husi-upload-icon{font-size:2rem}.husi-upload-label{font-size:.9rem;font-weight:700}.husi-upload-sub{color:var(--text-muted);font-size:.72rem}.husi-camera-btn{background:#ef44440f;border-color:#ef444459}.husi-camera-btn:hover{background:#ef44441f;border-color:#ef4444a6}.husi-image-preview{border-radius:var(--radius-lg);border:2px solid #f59e0b59;position:relative;overflow:hidden}.husi-preview-img{object-fit:contain;background:#0000004d;width:100%;max-height:260px;display:block}.husi-remove-img{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;transition:background .2s;display:flex;position:absolute;top:4px;right:4px}.husi-remove-img:hover{background:#ef4444cc}.husi-divider{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.8rem;display:flex}.husi-divider:before,.husi-divider:after{content:"";background:var(--border-glass);flex:1;height:1px}.husi-text-area{flex-direction:column;gap:6px;display:flex}.husi-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.husi-textarea{width:100%;padding:var(--space-md);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-base);resize:vertical;box-sizing:border-box;background:#ffffff0d;min-height:80px;font-size:.95rem;transition:border-color .2s}.husi-textarea:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b26}.husi-textarea::placeholder{color:var(--text-muted)}.husi-char-count{color:var(--text-muted);align-self:flex-end;font-size:.7rem}.husi-error{color:#ef4444;border-radius:var(--radius-md);background:#ef444414;border:1px solid #ef444440;margin:0;padding:8px 12px;font-size:.85rem}.husi-submit-btn{width:100%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-xl);color:#fff;font-size:1.05rem;font-weight:700;font-family:var(--font-base);cursor:pointer;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;justify-content:center;align-items:center;gap:8px;transition:all .2s;display:flex}.husi-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #f59e0b66}.husi-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.husi-chat-wrapper{z-index:1;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-glass);flex-direction:column;width:100%;max-width:640px;height:100dvh;max-height:100dvh;display:flex;position:relative;overflow:hidden}.husi-chat-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-glass);background:#ffffff0a;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.husi-chat-title{align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.husi-chat-back{border:1px solid var(--border-glass);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;min-height:44px;font-size:.82rem;font-family:var(--font-base);background:0 0;align-items:center;padding:10px 14px;transition:all .2s;display:inline-flex}.husi-chat-back:hover{color:#f59e0b;border-color:#f59e0b}.husi-chat-messages{padding:var(--space-lg);gap:var(--space-md);scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.husi-msg-row{gap:var(--space-sm);align-items:flex-end;animation:.3s both fadeIn;display:flex}.husi-msg-row--husi{flex-direction:row}.husi-msg-row--user{flex-direction:row-reverse}.husi-avatar{flex-shrink:0;margin-bottom:2px;font-size:1.5rem}.husi-bubble{max-width:78%;padding:var(--space-sm) var(--space-md);border-radius:18px;font-size:.92rem;line-height:1.55}.husi-bubble--husi{color:var(--text-primary);background:#f59e0b1f;border:1px solid #f59e0b33;border-bottom-left-radius:4px}.husi-bubble--user{color:var(--text-primary);background:linear-gradient(135deg,#f59e0b40,#ef44442e);border:1px solid #f59e0b4d;border-bottom-right-radius:4px}.husi-bubble--thinking{padding:var(--space-sm) var(--space-lg)}.husi-bubble p{margin:0}.husi-followup-form{border-top:1px solid var(--border-glass);padding:var(--space-sm) var(--space-md) var(--space-md);padding-bottom:max(var(--space-md), env(safe-area-inset-bottom,0px));background:#ffffff08;flex-shrink:0}.husi-followup-row{gap:var(--space-sm);align-items:center;display:flex}.husi-followup-input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-glass);border-radius:var(--radius-xl);color:var(--text-primary);font-family:var(--font-base);background:#ffffff0f;flex:1;font-size:.92rem;transition:border-color .2s}.husi-followup-input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 2px #f59e0b26}.husi-followup-input::placeholder{color:var(--text-muted)}.husi-followup-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;transition:all .2s;display:flex}.husi-followup-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #f59e0b66}.husi-followup-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (width<=600px){.husi-page{align-items:stretch;padding:0}.husi-chat-wrapper{border-radius:0;height:100dvh;max-height:100dvh}.husi-container{padding:var(--space-md)}.husi-upload-buttons{grid-template-columns:1fr}.husi-form{padding:var(--space-lg) var(--space-md)}.husi-title{font-size:1.6rem}.husi-wizard{font-size:3rem}.husi-bubble{max-width:88%;font-size:.88rem}}@media (width>=768px) and (width<=1024px){.students-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);max-width:720px}.student-card{padding:var(--space-xl);min-height:180px}.welcome-section{margin-bottom:var(--space-xl)}.welcome-name{font-size:2.25rem}.xp-bar-container{max-width:100%}.btn-sm{min-height:44px;padding:var(--space-sm) var(--space-lg)}}@media (width<=480px){.select-student-page{padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px))}.students-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);max-width:100%}}@media (width<=399px){.students-grid{grid-template-columns:1fr}}@media (width<=767px){.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:100%;max-height:92dvh;padding-bottom:max(var(--space-2xl), env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.modal-actions{flex-direction:column}.modal-actions .btn{min-height:52px}.dashboard-page .navbar-right .btn-sm{padding:var(--space-xs) var(--space-sm);min-height:40px;font-size:.75rem}}@media (width<=400px){.dashboard-page .navbar-right{gap:4px}.dashboard-page .navbar-right .btn-sm{justify-content:center;min-width:40px;padding:0;font-size:0}.dashboard-page .navbar-right .btn-sm:first-letter{font-size:1.2rem}}@media (hover:none) and (pointer:coarse){.admin-table tbody tr.admin-table-row{min-height:60px}.admin-bottom-nav-item:active .admin-bottom-nav-icon{transition:transform 80ms;transform:scale(.88)}.admin-filter-btn{min-height:44px;padding:10px 16px}.admin-search,.admin-select{min-height:44px;font-size:16px!important}}.lp-root{position:relative;overflow-x:hidden}.lp-bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.lp-orb{filter:blur(80px);border-radius:50%;animation:14s ease-in-out infinite lp-orb-drift;position:absolute}.lp-orb-1{background:#6c63ff1f;width:700px;height:700px;top:-200px;left:-200px}.lp-orb-2{background:#ff6b9d14;width:550px;height:550px;animation-delay:-5s;top:25%;right:-180px}.lp-orb-3{background:#4ecdc412;width:450px;height:450px;animation-delay:-9s;bottom:-120px;left:35%}@keyframes lp-orb-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-50px)scale(1.06)}66%{transform:translate(-25px,25px)scale(.94)}}.lp-navbar{z-index:200;border-bottom:1px solid #0000;height:68px;transition:background .3s,border-color .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.lp-navbar--scrolled{-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--border-glass);background:#0f0e17d1;box-shadow:0 4px 24px #0003}[data-theme=light] .lp-navbar--scrolled{background:#f0ecfed1}.lp-navbar-inner{z-index:1;justify-content:space-between;align-items:center;gap:24px;max-width:1400px;height:100%;margin:0 auto;padding:0 48px;display:flex;position:relative}.lp-nav-brand{color:var(--text-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:flex}.lp-nav-owl{font-size:1.6rem;animation:4s ease-in-out infinite float;display:inline-block}.lp-nav-links{align-items:center;gap:4px;display:flex}.lp-nav-link{color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:8px 14px;font-size:.9rem;font-weight:500}.lp-nav-link:hover{color:var(--text-primary);background:var(--bg-card)}.lp-nav-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.lp-nav-cta{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-md);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;border:none;padding:10px 22px;font-size:.9rem;font-weight:700;box-shadow:0 4px 16px #667eea59}.lp-nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 24px #667eea8c}.lp-hamburger{display:none}.lp-hero{z-index:1;grid-template-columns:1fr 460px;align-items:center;gap:56px;max-width:1400px;min-height:100vh;margin:0 auto;padding:68px 68px 80px;display:grid;position:relative}.lp-hero-left{padding:56px 0 40px}.lp-badge{color:#a78bfa;background:#6c63ff24;border:1px solid #6c63ff4d;border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:8px 20px;font-size:.82rem;font-weight:600;animation:.6s both fadeIn;display:inline-flex}.lp-hero-title{margin-bottom:24px;font-size:clamp(2.8rem,4.5vw,4.4rem);font-weight:900;line-height:1.06;animation:.6s .1s both fadeIn}.lp-hero-sub{color:var(--text-secondary);max-width:560px;margin-bottom:36px;font-size:1.08rem;line-height:1.75;animation:.6s .2s both fadeIn}.lp-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:40px;animation:.6s .3s both fadeIn;display:flex}.lp-btn-primary{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-lg);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);border:none;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 6px 24px #667eea66}.lp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 36px #667eea99}.lp-btn-ghost{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-lg);font-family:var(--font-family);cursor:pointer;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-normal);align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:600;display:inline-flex}.lp-btn-ghost:hover{border-color:var(--accent-purple);background:var(--bg-card-hover)}.lp-hero-stats{border-top:1px solid var(--border-glass);align-items:center;padding-top:32px;animation:.6s .4s both fadeIn;display:flex}.lp-stat{flex-direction:column;padding:0 24px;display:flex}.lp-stat:first-child{padding-left:0}.lp-stat-num{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.9rem;font-weight:900;line-height:1.1}.lp-stat-num.lp-stat-emoji{-webkit-text-fill-color:initial;background:0 0;font-size:1.9rem}.lp-stat-label{color:var(--text-muted);margin-top:3px;font-size:.75rem}.lp-stat-divider{background:var(--border-glass);flex-shrink:0;width:1px;height:36px}.lp-hero-right{animation:7s ease-in-out infinite lp-float-card,.7s .2s both fadeIn}@keyframes lp-float-card{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.lp-login-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(40px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);flex-direction:column;gap:18px;padding:36px 32px;display:flex;box-shadow:0 28px 80px #00000059}[data-theme=light] .lp-login-card{background:#ffffffb8;box-shadow:0 12px 48px #0000001a}.lp-login-card-header{text-align:center;padding-bottom:4px}.lp-card-owl{margin-bottom:8px;font-size:3rem;animation:3s ease-in-out infinite float;display:block}.lp-card-title{margin-bottom:4px;font-size:1.35rem;font-weight:800}.lp-card-subtitle{color:var(--text-secondary);font-size:.85rem}.lp-tab-switcher{background:var(--bg-secondary);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}[data-theme=light] .lp-tab-switcher{background:#0000000f}.lp-tab-btn{border-radius:var(--radius-sm);font-family:var(--font-family);cursor:pointer;border:none;flex:1;padding:9px 8px;font-size:.82rem;font-weight:600;transition:all .2s}.lp-tab-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 2px 8px #0003}[data-theme=light] .lp-tab-btn.active{background:#fff}.lp-tab-btn:not(.active){color:var(--text-muted);background:0 0}.lp-form{flex-direction:column;gap:14px;display:flex}.lp-submit-btn{width:100%;margin-top:2px}.lp-role-row{gap:10px;margin-top:4px;display:flex}.lp-role-option{border-radius:var(--radius-md);border:1px solid var(--border-glass);cursor:pointer;text-align:center;background:0 0;flex:1;padding:10px;transition:all .2s}.lp-role-option.active{border-color:var(--accent-purple);background:#6c63ff0f}.lp-role-icon{margin-bottom:4px;font-size:1.2rem;display:block}.lp-role-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.lp-role-option.active .lp-role-label{color:var(--text-primary)}.lp-privacy-row{align-items:flex-start;gap:10px;display:flex}.lp-pending-box{border-radius:var(--radius-md);padding:var(--space-md);background:#f59e0b14;border:1px solid #f59e0b4d;align-items:flex-start;gap:10px;display:flex}.lp-pending-icon{flex-shrink:0;font-size:1.2rem}.lp-pending-title{color:#d97706;margin-bottom:4px;font-size:.88rem;font-weight:700}.lp-pending-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.lp-success-box{border-radius:var(--radius-md);padding:var(--space-md);color:var(--accent-green);text-align:center;background:#20bf6b1a;border:1px solid #20bf6b4d;font-size:.875rem}.lp-card-footer-links{flex-direction:column;align-items:center;gap:4px;display:flex}.lp-tutorial-link{font-family:var(--font-family);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:.8rem;font-weight:600}.lp-tutorial-link:hover{color:var(--accent-purple)}.lp-section{z-index:1;position:relative}.lp-section-inner{max-width:1400px;margin:0 auto;padding:88px 68px}.lp-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-purple);margin-bottom:14px;font-size:.8rem;font-weight:700}.lp-section-title{text-align:center;margin-bottom:16px;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;line-height:1.2}.lp-section-sub{text-align:center;color:var(--text-secondary);max-width:620px;margin:0 auto 56px;font-size:1rem;line-height:1.75}.lp-features-section{border-top:1px solid var(--border-glass)}.lp-features-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.lp-feature-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);transition:all var(--transition-normal);padding:28px;position:relative;overflow:hidden}.lp-feature-card:before{content:"";background:var(--gradient-hero);transform-origin:0;height:3px;transition:transform .35s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.lp-feature-card:hover{background:var(--bg-card-hover);border-color:#6c63ff40;transform:translateY(-4px);box-shadow:0 12px 40px #0000002e}.lp-feature-card:hover:before{transform:scaleX(1)}.lp-feature-icon{margin-bottom:16px;font-size:2.2rem;display:block}.lp-feature-title{color:var(--text-primary);margin-bottom:8px;font-size:1rem;font-weight:700}.lp-feature-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.65}.lp-subjects-section{border-top:1px solid var(--border-glass)}.lp-subjects-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.lp-subject-card{border-radius:var(--radius-xl);text-align:center;transition:all var(--transition-normal);cursor:default;border:1px solid;padding:32px 22px}.lp-subject-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.lp-subject-math{background:var(--math-bg);border-color:#6c63ff40}.lp-subject-deutsch{background:var(--deutsch-bg);border-color:#ff6b6b40}.lp-subject-english{background:var(--english-bg);border-color:#20bf6b40}.lp-subject-french{background:var(--french-bg);border-color:#3b82f640}.lp-subject-nmg{background:var(--nmg-bg);border-color:#f7b73140}.lp-subject-icon{margin-bottom:14px;font-size:2.8rem;display:block}.lp-subject-name{color:var(--text-primary);margin-bottom:6px;font-size:1.05rem;font-weight:700}.lp-subject-count{color:var(--accent-purple);margin-bottom:4px;font-size:.8rem;font-weight:600}.lp-subject-desc{color:var(--text-muted);font-size:.78rem}.lp-testimonials-section{border-top:1px solid var(--border-glass)}.lp-testimonials-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.lp-testimonial-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);transition:all var(--transition-normal);padding:28px}.lp-testimonial-card:hover{background:var(--bg-card-hover);transform:translateY(-3px)}.lp-stars{color:var(--accent-orange);letter-spacing:2px;margin-bottom:14px;font-size:.95rem}.lp-testimonial-text{color:var(--text-secondary);margin-bottom:18px;font-size:.9rem;font-style:italic;line-height:1.7}.lp-testimonial-author{align-items:center;gap:12px;display:flex}.lp-testimonial-avatar{border-radius:var(--radius-full);background:var(--gradient-hero);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.lp-testimonial-name{color:var(--text-primary);font-size:.88rem;font-weight:700}.lp-testimonial-role{color:var(--text-muted);margin-top:2px;font-size:.76rem}.lp-cta-section{border-top:1px solid var(--border-glass)}.lp-cta-card{background:var(--gradient-hero);border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:32px;padding:64px 56px;display:flex;position:relative;overflow:hidden}.lp-cta-content{flex:1}.lp-cta-title{color:#fff;margin-bottom:12px;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:900}.lp-cta-sub{color:#ffffffd1;max-width:520px;margin-bottom:28px;font-size:1rem;line-height:1.65}.lp-cta-btn{color:#5b4fcf;border-radius:var(--radius-lg);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);background:#fff;border:none;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:800;display:inline-flex;box-shadow:0 4px 20px #0003}.lp-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.lp-cta-owl{opacity:.18;flex-shrink:0;font-size:8rem;line-height:1;animation:4s ease-in-out infinite float}.lp-footer{z-index:1;border-top:1px solid var(--border-glass);padding:24px 0;position:relative}.lp-footer-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1400px;margin:0 auto;padding:0 68px;display:flex}.lp-footer-brand{color:var(--text-secondary);font-size:.88rem;font-weight:700}.lp-footer-links{gap:20px;display:flex}.lp-footer-links a{color:var(--text-muted);transition:color var(--transition-fast);font-size:.82rem;text-decoration:none}.lp-footer-links a:hover{color:var(--accent-purple)}.lp-footer-copy{color:var(--text-muted);font-size:.78rem}@media (width<=1100px){.lp-navbar-inner{padding:0 32px}.lp-hero{grid-template-columns:1fr;gap:40px;max-width:700px;padding:100px 32px 64px}.lp-hero-left{padding:32px 0 0}.lp-hero-right{animation:.7s .2s both fadeIn}.lp-features-grid,.lp-subjects-grid{grid-template-columns:repeat(2,1fr)}.lp-testimonials-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}.lp-section-inner{padding:72px 32px}.lp-footer-inner{padding:0 32px}.lp-cta-card{text-align:center;flex-direction:column;padding:48px 40px}.lp-cta-owl{display:none}}@media (width<=768px){.lp-nav-links,.lp-nav-cta{display:none}.lp-navbar-inner{height:60px;padding:0 16px}.lp-navbar{height:60px}.lp-hamburger{border-radius:var(--radius-sm);background:var(--bg-glass);border:1px solid var(--border-glass);cursor:pointer;width:44px;height:44px;color:var(--text-primary);transition:background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.lp-hamburger:hover{background:var(--bg-card)}.lp-mobile-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);background:#0000008c;animation:.2s fadeIn;position:fixed;inset:0}.lp-mobile-drawer{z-index:501;background:var(--bg-primary);border-left:1px solid var(--border-glass);flex-direction:column;width:min(300px,85vw);height:100dvh;padding:0;animation:.28s cubic-bezier(.4,0,.2,1) lp-slide-in;display:flex;position:fixed;top:0;right:0;overflow-y:auto}@keyframes lp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.lp-mobile-drawer-header{border-bottom:1px solid var(--border-glass);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.lp-mobile-drawer-brand{color:var(--text-primary);align-items:center;gap:8px;font-size:1rem;font-weight:800;display:flex}.lp-mobile-drawer-close{border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;width:44px;height:44px;color:var(--text-secondary);border:none;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.lp-mobile-drawer-nav{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.lp-mobile-nav-link{border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:12px;min-height:52px;padding:14px 16px;font-size:1rem;font-weight:600;display:flex}.lp-mobile-nav-link:hover,.lp-mobile-nav-link:active{background:var(--bg-card)}.lp-mobile-drawer-footer{border-top:1px solid var(--border-glass);flex-shrink:0;padding:16px 20px}.lp-mobile-cta-full{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-lg);width:100%;font-family:var(--font-family);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:14px;font-size:1rem;font-weight:700;display:flex}.lp-hero{gap:32px;padding:80px 16px 48px}.lp-hero-title{font-size:clamp(2rem,8vw,2.6rem)}.lp-hero-sub{font-size:.95rem}.lp-hero-stats{border-top:1px solid var(--border-glass);grid-template-columns:1fr 1fr;gap:12px 8px;padding-top:20px;display:grid}.lp-stat-divider{display:none}.lp-stat{padding:0}.lp-stat-num{font-size:1.4rem}.lp-login-card{gap:14px;max-height:none;padding:24px 20px}.lp-card-owl{font-size:2.4rem}.lp-card-title{font-size:1.15rem}.lp-tab-btn{min-height:44px;padding:11px 8px}.lp-submit-btn{min-height:52px;font-size:1rem}.lp-section-inner{padding:52px 16px}.lp-features-grid{grid-template-columns:1fr;gap:14px}.lp-subjects-grid{grid-template-columns:1fr 1fr;gap:12px}.lp-subject-card{padding:22px 14px}.lp-subject-icon{margin-bottom:10px;font-size:2rem}.lp-cta-card{text-align:center;padding:36px 20px}.lp-cta-btn{justify-content:center;width:100%;min-height:52px}.lp-footer-inner{text-align:center;flex-direction:column;gap:8px;padding:0 16px}.lp-eyebrow{font-size:.72rem}.lp-section-title{font-size:clamp(1.5rem,5vw,2rem)}.lp-section-sub{font-size:.9rem}}@media (width<=480px){.lp-hero{padding:76px 14px 40px}.lp-hero-title{font-size:clamp(1.85rem,7vw,2.2rem)}.lp-hero-actions{flex-direction:column;align-items:stretch}.lp-btn-primary,.lp-btn-ghost{justify-content:center;width:100%;min-height:52px}.lp-subjects-grid{grid-template-columns:1fr}.lp-badge{padding:6px 14px;font-size:.72rem}.lp-login-card{padding:20px 16px}}@supports (padding:max(0px)){@media (width<=768px){.lp-navbar-inner{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}}.lp-mobile-drawer{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.lp-footer-inner{padding-bottom:max(24px, env(safe-area-inset-bottom))}}
