.theme-toggle{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--navy-900);color:var(--gold-500);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-lg);transition:transform .2s var(--ease),box-shadow .2s;z-index:9999}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle:active{transform:scale(.95)}.theme-icon{transition:transform .3s ease}.theme-toggle:hover .theme-icon{transform:rotate(20deg)}.dark-theme .theme-toggle{background:var(--gold-500);color:var(--navy-900)}@media (max-width: 768px){.theme-toggle{bottom:16px;right:16px;width:44px;height:44px}}.sr-stack{position:fixed;top:calc(var(--header-height) + 12px);right:16px;z-index:10001;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px))}.sr-card{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid var(--gold-500);box-shadow:var(--shadow-lg);animation:srIn .3s var(--ease) both}.sr-end{border-left-color:var(--navy-600)}.sr-done{border-left-color:var(--success-color)}@keyframes srIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.sr-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;background:var(--navy-900);color:var(--gold-500)}.sr-start .sr-icon{animation:srRing 1.2s ease .3s 2}.sr-done .sr-icon{background:var(--success-soft);color:var(--success-color)}.dark-theme .sr-icon{box-shadow:inset 0 0 0 1px #ffffff2e}@keyframes srRing{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}}.sr-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sr-body strong{font-size:.95rem;color:var(--text-primary)}.sr-body>span{font-size:.85rem;color:var(--text-secondary)}.sr-error{color:var(--error-color)!important}.sr-actions{display:flex;gap:8px;margin-top:10px}.sr-primary,.sr-secondary{display:inline-flex;align-items:center;gap:6px;min-height:0;padding:7px 14px;border-radius:var(--radius-full);font-size:.82rem;font-weight:700}.sr-primary{background:var(--gold-500);color:var(--navy-900)}.sr-primary:hover{background:var(--gold-400)}.sr-secondary{background:var(--bg-secondary);color:var(--text-secondary)}.sr-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sr-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;min-width:0;padding:0;border-radius:8px;color:var(--text-tertiary);flex-shrink:0}.sr-close:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 520px){.sr-stack{top:auto;bottom:76px;right:16px;left:16px;width:auto}}:root{--navy-950: #060f26;--navy-900: #0b1b3f;--navy-800: #13285a;--navy-700: #1d3a7a;--navy-600: #2a4f9e;--navy-500: #3d67c2;--navy-200: #c9d5ee;--navy-100: #e6ecf7;--navy-50: #f3f6fb;--gold-600: #d9950f;--gold-500: #f5b53d;--gold-400: #f8c766;--gold-100: #fdf0d5;--gold-50: #fef8ea;--bg-primary: #ffffff;--bg-secondary: #f5f7fb;--bg-tertiary: #ebeff6;--text-primary: #0b1b3f;--text-secondary: #46557a;--text-tertiary: #6b7794;--text-on-brand: #ffffff;--border-color: #e3e8f1;--border-strong: #cfd7e6;--primary-color: #0b1b3f;--primary-hover: #1d3a7a;--primary-soft: #e6ecf7;--accent-color: #f5b53d;--accent-hover: #d9950f;--accent-soft: #fdf0d5;--accent-text: #8a5a00;--link-color: #2a4f9e;--success-color: #12a866;--success-soft: #e3f6ec;--error-color: #e5484d;--error-soft: #fdeceb;--warning-color: #e09a12;--warning-soft: #fdf0d5;--info-color: #2a4f9e;--info-soft: #e6ecf7;--card-bg: #ffffff;--input-bg: #ffffff;--input-border: #d5dcea;--toggle-bg: #0b1b3f;--header-bg: rgba(255, 255, 255, .86);--gradient-brand: linear-gradient(135deg, #0b1b3f 0%, #1d3a7a 100%);--gradient-hero: radial-gradient(1200px 600px at 85% -10%, rgba(245, 181, 61, .18), transparent 60%), linear-gradient(160deg, #0b1b3f 0%, #13285a 55%, #1d3a7a 100%);--gradient-accent: linear-gradient(135deg, #f8c766 0%, #f5b53d 50%, #d9950f 100%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(11, 27, 63, .06), 0 1px 3px rgba(11, 27, 63, .08);--shadow-md: 0 4px 12px rgba(11, 27, 63, .08), 0 2px 4px rgba(11, 27, 63, .04);--shadow-lg: 0 16px 40px rgba(11, 27, 63, .12), 0 4px 12px rgba(11, 27, 63, .06);--shadow-focus: 0 0 0 3px rgba(245, 181, 61, .45);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.2, .7, .2, 1);--header-height: 72px;--primary-blue: var(--primary-color);--primary-dark: var(--primary-hover);--primary-light: var(--primary-soft);--success-green: var(--success-color);--warning-orange: var(--accent-color);--danger-red: var(--error-color);--purple: var(--primary-color);--purple-gradient: var(--gradient-brand);--gray-50: var(--bg-secondary);--gray-100: var(--bg-tertiary);--gray-200: var(--border-color);--gray-400: var(--text-tertiary);--gray-500: var(--text-tertiary);--gray-700: var(--text-secondary);--gray-900: var(--text-primary);--white: #ffffff;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--transition-fast: .2s ease;--transition-normal: .3s ease;--font-family: var(--font-sans)}.dark-theme{--bg-primary: #07122b;--bg-secondary: #0b1b3f;--bg-tertiary: #13285a;--text-primary: #f3f6fb;--text-secondary: #b9c4dc;--text-tertiary: #8a97b5;--text-on-brand: #0b1b3f;--border-color: #1e3263;--border-strong: #2a4278;--primary-color: #3d67c2;--primary-hover: #2a4f9e;--primary-soft: rgba(143, 176, 242, .12);--accent-color: #f5b53d;--accent-hover: #f8c766;--accent-soft: rgba(245, 181, 61, .14);--accent-text: #f8c766;--link-color: #8fb0f2;--success-color: #3dd68c;--success-soft: rgba(61, 214, 140, .12);--error-color: #ff6b6b;--error-soft: rgba(255, 107, 107, .12);--warning-color: #f8c766;--warning-soft: rgba(248, 199, 102, .12);--info-color: #8fb0f2;--info-soft: rgba(143, 176, 242, .12);--card-bg: #0e2048;--input-bg: #0b1b3f;--input-border: #2a4278;--toggle-bg: #f5b53d;--header-bg: rgba(7, 18, 43, .82);--gradient-brand: linear-gradient(135deg, #13285a 0%, #1d3a7a 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2}#root{width:100%;min-height:100vh}::selection{background:#f5b53d59;color:inherit}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit}a{text-decoration:none;color:inherit}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none;color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid transparent;background-clip:padding-box}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-full);font-weight:600;font-size:.95rem;line-height:1;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s var(--ease),background-color .2s,box-shadow .2s,border-color .2s,color .2s}.eg-btn:active{transform:translateY(1px)}.eg-btn-lg{padding:16px 28px;font-size:1rem}.eg-btn-accent{background:var(--accent-color);color:var(--navy-900);box-shadow:0 6px 18px #f5b53d59}.eg-btn-accent:hover{background:var(--gold-400);box-shadow:0 8px 24px #f5b53d73}.eg-btn-primary{background:var(--navy-900);color:#fff}.eg-btn-primary:hover{background:var(--navy-700)}.dark-theme .eg-btn-primary{background:var(--accent-color);color:var(--navy-900)}.eg-btn-outline{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.eg-btn-outline:hover{border-color:var(--text-primary);background:var(--bg-secondary)}.eg-btn-ghost-light{background:#ffffff14;color:#fff;border-color:#ffffff3d}.eg-btn-ghost-light:hover{background:#ffffff29;border-color:#fff6}.eg-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.eg-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-text);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.eg-field{display:flex;flex-direction:column;gap:6px}.eg-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.eg-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.eg-input::placeholder{color:var(--text-tertiary)}.eg-input:focus{border-color:var(--accent-color);box-shadow:var(--shadow-focus)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top:2px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.dark-theme .card,.dark-theme .widget,.dark-theme .panel,.dark-theme .box{background-color:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}.dark-theme input,.dark-theme textarea,.dark-theme select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.dark-theme input:focus,.dark-theme textarea:focus,.dark-theme select:focus{border-color:var(--primary-color);outline-color:var(--primary-color)}.dark-theme button:not(.theme-toggle){transition:all .3s ease}.dark-theme .btn-primary{background-color:var(--primary-color);color:#fff}.dark-theme .btn-primary:hover{background-color:var(--primary-hover)}.dark-theme .btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .btn-success{background-color:var(--success-color)}.dark-theme .btn-error,.dark-theme .btn-danger{background-color:var(--error-color)}.dark-theme table{background-color:var(--card-bg);color:var(--text-primary)}.dark-theme th{background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-theme td{border-color:var(--border-color)}.dark-theme tr:hover{background-color:var(--bg-tertiary)}.dark-theme .modal,.dark-theme .dialog,.dark-theme .popup{background-color:var(--card-bg);color:var(--text-primary)}.dark-theme .modal-overlay,.dark-theme .backdrop{background-color:#000000b3}.dark-theme ::-webkit-scrollbar{width:12px;height:12px}.dark-theme ::-webkit-scrollbar-track{background:var(--bg-secondary)}.dark-theme ::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:6px}.dark-theme ::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.dark-theme code,.dark-theme pre{background-color:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.dark-theme .badge,.dark-theme .tag,.dark-theme .chip{background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .alert-success{background-color:#34d3991a;border-color:var(--success-color);color:var(--success-color)}.dark-theme .alert-error,.dark-theme .alert-danger{background-color:#f871711a;border-color:var(--error-color);color:var(--error-color)}.dark-theme .alert-warning{background-color:#fbbf241a;border-color:var(--warning-color);color:var(--warning-color)}.dark-theme .alert-info{background-color:#60a5fa1a;border-color:var(--info-color);color:var(--info-color)}.dark-theme .dropdown,.dark-theme .menu{background-color:var(--card-bg);border-color:var(--border-color);box-shadow:var(--shadow-lg)}.dark-theme .dropdown-item:hover,.dark-theme .menu-item:hover{background-color:var(--bg-tertiary)}.dark-theme .tooltip{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.dark-theme .progress{background-color:var(--bg-tertiary)}.dark-theme .progress-bar{background-color:var(--primary-color)}.dark-theme .spinner{border-color:var(--bg-tertiary);border-top-color:var(--primary-color)}.dark-theme .skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%)}.dark-theme ::selection{background:#2a4f9e4d;color:var(--text-primary)}.dark-theme *:focus{outline-color:var(--primary-color)}.dark-theme .sidebar,.dark-theme .nav,.dark-theme .navbar{background-color:var(--bg-secondary);border-color:var(--border-color)}.dark-theme .nav-item:hover,.dark-theme .nav-link:hover{background-color:var(--bg-tertiary)}.dark-theme .dashboard{background-color:var(--bg-primary)}.dark-theme .stat-card,.dark-theme .metric-card{background-color:var(--card-bg);box-shadow:var(--shadow-md)}.dark-theme .question-card,.dark-theme .answer-option{background-color:var(--card-bg);border-color:var(--border-color)}.dark-theme .answer-option:hover{background-color:var(--bg-tertiary)}.dark-theme .chat-message{background-color:var(--card-bg)}.dark-theme .chat-input{background-color:var(--input-bg);border-color:var(--input-border)}.dark-theme .leaderboard-item{background-color:var(--card-bg);border-color:var(--border-color)}.dark-theme .text-muted{color:var(--text-tertiary)!important}.dark-theme .text-secondary{color:var(--text-secondary)!important}.dark-theme .text-primary{color:var(--text-primary)!important}.dark-theme img{opacity:.9}.dark-theme img:hover{opacity:1}.dark-theme *{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.dark-theme .no-transition,.dark-theme .theme-toggle{transition:none}.eg-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.3rem;letter-spacing:-.03em;color:var(--text-primary);white-space:nowrap}.eg-logo .logo-mark{flex-shrink:0;border-radius:11px}.eg-logo-accent{color:var(--gold-600)}.dark-theme .eg-logo-accent,.eg-logo-light .eg-logo-accent{color:var(--gold-500)}.eg-logo-light{color:#fff}.dark-theme .eg-logo .logo-mark{box-shadow:0 0 0 1px #ffffff1f}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--header-bg);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border-color);z-index:1000}.header-content{max-width:1280px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.logo{display:flex;align-items:center;text-decoration:none;transition:opacity .2s}.logo:hover{opacity:.85}.desktop-nav{display:flex;align-items:center;gap:4px}.nav-link{position:relative;padding:8px 14px;border-radius:var(--radius-full);color:var(--text-secondary);font-weight:600;font-size:.93rem;transition:color .2s,background-color .2s}.nav-link:hover{color:var(--text-primary);background:var(--bg-secondary)}.nav-link.active{color:var(--text-primary);background:var(--primary-soft)}.nav-link.active:after{content:"";position:absolute;left:50%;bottom:-2px;width:18px;height:3px;border-radius:3px;background:var(--accent-color);transform:translate(-50%)}.account-dropdown{position:relative;margin-left:12px}.account-button{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-weight:600;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.account-button svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--navy-900);color:var(--gold-500)}.account-button:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;padding:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s var(--ease),visibility .18s}.dropdown-menu:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}.account-dropdown:hover .dropdown-menu,.account-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{display:flex;align-items:center;gap:10px;padding:10px 12px;font-weight:700;color:var(--text-primary)}.dropdown-divider{height:1px;margin:6px 4px;background:var(--border-color)}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;font-weight:500;text-align:left;transition:background-color .15s,color .15s}.dropdown-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.dropdown-item.logout{color:var(--error-color)}.dropdown-item.logout:hover{background:var(--error-soft);color:var(--error-color)}.auth-buttons{display:flex;align-items:center;gap:8px;margin-left:16px}.btn-login,.btn-register{display:inline-flex;align-items:center;padding:10px 20px;border-radius:var(--radius-full);font-weight:600;font-size:.92rem;transition:background-color .2s,color .2s,box-shadow .2s}.btn-login{color:var(--text-primary)}.btn-login:hover{background:var(--bg-secondary)}.btn-register{background:var(--navy-900);color:#fff}.btn-register:hover{background:var(--navy-700);color:#fff}.dark-theme .btn-register{background:var(--gold-500);color:var(--navy-900)}.dark-theme .btn-register:hover{background:var(--gold-400);color:var(--navy-900)}.mobile-menu-button{display:none;padding:8px;border-radius:var(--radius-sm);color:var(--text-primary);transition:background-color .2s}.mobile-menu-button:hover{background:var(--bg-secondary)}.mobile-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060f268c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1001;animation:headerFadeIn .2s ease forwards}@keyframes headerFadeIn{0%{opacity:0}to{opacity:1}}.mobile-sidebar{position:fixed;top:0;right:0;width:min(320px,86vw);height:100vh;background:var(--card-bg);box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform .28s var(--ease);z-index:1002;overflow-y:auto}.mobile-sidebar.open{transform:translate(0)}.sidebar-content{display:flex;flex-direction:column;min-height:100%;padding:20px}.sidebar-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sidebar-title{font-weight:700;font-size:1.05rem;color:var(--text-primary)}.sidebar-close-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);transition:background-color .2s}.sidebar-close-button:hover{background:var(--bg-tertiary)}.sidebar-user{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:20px;border-radius:var(--radius-lg);background:var(--gradient-hero);color:#fff}.user-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gold-500);color:var(--navy-900);flex-shrink:0}.user-info{min-width:0}.user-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:.82rem;text-transform:capitalize;color:#ffffffb8}.sidebar-section{margin-bottom:20px}.sidebar-section-title{margin:0 8px 8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;transition:background-color .15s,color .15s}.sidebar-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-link.active{background:var(--primary-soft);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--accent-color)}.mobile-sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;border-radius:var(--radius-md);background:var(--error-soft);color:var(--error-color);font-weight:600}.sidebar-logout:hover{filter:brightness(.97)}.sidebar-auth-buttons{display:flex;flex-direction:column;gap:10px}.btn-login-mobile,.btn-register-mobile{display:block;padding:12px;border-radius:var(--radius-full);text-align:center;font-weight:600}.btn-login-mobile{border:1.5px solid var(--border-strong);color:var(--text-primary)}.btn-login-mobile:hover{background:var(--bg-secondary)}.btn-register-mobile{background:var(--gold-500);color:var(--navy-900)}.btn-register-mobile:hover{background:var(--gold-400)}@media (max-width: 991px){.desktop-nav{display:none}.mobile-menu-button{display:block}}@media (max-width: 480px){.header-content{padding:0 16px}}.footer{background:var(--navy-950);color:#ffffffad;border-top:3px solid var(--gold-500)}.footer-inner{max-width:1200px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr);gap:48px}.footer-brand p{margin-top:16px;max-width:340px;font-size:.93rem;line-height:1.65}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.footer-col h4{margin-bottom:14px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-500)}.footer-col li{margin-bottom:10px}.footer-col a{color:#ffffffc7;font-size:.93rem;transition:color .2s}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:0 auto;padding:20px 24px;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem}@media (max-width: 768px){.footer-inner{grid-template-columns:1fr;gap:32px;padding:40px 16px 28px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{padding:18px 16px}}html,body,#root{height:100%;margin:0}.layout-wrapper{display:flex;flex-direction:column;min-height:100vh}.layout-content{flex:1;padding-top:calc(var(--header-height) + 20px);padding-left:20px;padding-right:20px;padding-bottom:20px;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.layout-content{padding-top:calc(var(--header-height) + 15px);padding-left:15px;padding-right:15px;padding-bottom:15px}}@media (max-width: 480px){.layout-content{padding-top:calc(var(--header-height) + 10px);padding-left:10px;padding-right:10px;padding-bottom:10px}}.layout-content.layout-full-bleed{padding:var(--header-height) 0 0}.landing-page{background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}.lp-hero{position:relative;background:var(--gradient-hero);color:#fff;padding:72px 24px 0;overflow:hidden}.lp-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 30%,#000 20%,transparent 75%);pointer-events:none}.lp-hero-inner{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:56px}.lp-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--radius-full);border:1px solid rgba(245,181,61,.4);background:#f5b53d1f;color:var(--gold-400);font-size:.85rem;font-weight:600}.lp-hero h1{margin:22px 0 18px;font-size:clamp(2.3rem,4.6vw,3.6rem);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:#fff}.lp-highlight{position:relative;color:var(--gold-500);white-space:nowrap}.lp-highlight:after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.16em;border-radius:4px;background:#f5b53d47}.lp-hero-lead{max-width:540px;font-size:1.1rem;line-height:1.7;color:#ffffffc2}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.lp-hero-points{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;font-size:.9rem;color:#ffffffb8}.lp-hero-points li{display:inline-flex;align-items:center;gap:6px}.lp-hero-points svg{color:var(--gold-500)}.lp-hero-visual{position:relative;padding:36px 24px 48px}.lp-chat-card{position:relative;background:#fff;color:var(--navy-900);border-radius:var(--radius-xl);box-shadow:0 30px 80px #00000059;overflow:hidden;animation:slideUp .7s var(--ease) both}.lp-chat-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e3e8f1}.lp-chat-head strong{display:block;font-size:.98rem}.lp-chat-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--navy-900);color:var(--gold-500)}.lp-chat-status{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#6b7794}.lp-chat-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#12a866}.lp-chat-body{display:flex;flex-direction:column;gap:12px;padding:22px 20px 26px;background:#f5f7fb}.lp-bubble{max-width:82%;padding:12px 16px;border-radius:16px;font-size:.93rem;line-height:1.5}.lp-bubble-ai{align-self:flex-start;background:#fff;border:1px solid #e3e8f1;border-bottom-left-radius:4px}.lp-bubble-user{align-self:flex-end;background:var(--navy-900);color:#fff;border-bottom-right-radius:4px}.lp-typing{display:inline-flex;gap:5px;padding:14px 16px}.lp-typing span{width:7px;height:7px;border-radius:50%;background:#6b7794;animation:lpTyping 1.2s infinite ease-in-out}.lp-typing span:nth-child(2){animation-delay:.15s}.lp-typing span:nth-child(3){animation-delay:.3s}@keyframes lpTyping{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.lp-float{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-lg);background:#fff;color:var(--navy-900);box-shadow:0 16px 40px #00000047;animation:lpFloat 5s ease-in-out infinite}.lp-float strong{display:block;font-size:.88rem}.lp-float span:not(.lp-float-icon){font-size:.78rem;color:#6b7794}.lp-float-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--gold-100);color:var(--gold-600)}.lp-float-icon-navy{background:var(--navy-100);color:var(--navy-900)}.lp-float-streak{top:0;right:0}.lp-float-score{bottom:8px;left:-8px;animation-delay:1.5s}@keyframes lpFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.lp-stats{position:relative;max-width:1200px;margin:56px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.12)}.lp-stat{padding:28px 16px;text-align:center}.lp-stat+.lp-stat{border-left:1px solid rgba(255,255,255,.12)}.lp-stat-value{display:block;font-size:1.9rem;font-weight:800;letter-spacing:-.03em;color:var(--gold-500)}.lp-stat-label{font-size:.88rem;color:#ffffffad}.lp-section{padding:96px 0}.lp-section-tint{background:var(--bg-secondary)}.lp-section-head{max-width:640px;margin:0 auto 52px;text-align:center}.lp-section-head h2{margin:16px 0 12px;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:800;color:var(--text-primary)}.lp-section-head p{font-size:1.05rem;color:var(--text-secondary)}.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:step}.lp-step{position:relative;padding:32px 28px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color)}.lp-step-num{position:absolute;top:24px;right:24px;font-size:2.6rem;font-weight:800;line-height:1;color:var(--bg-tertiary)}.lp-step-icon{color:var(--gold-600)}.dark-theme .lp-step-icon{color:var(--gold-500)}.lp-step h3{margin:18px 0 8px;font-size:1.15rem;color:var(--text-primary)}.lp-step p{color:var(--text-secondary);font-size:.95rem}.lp-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lp-feature{padding:28px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}.lp-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}.lp-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--navy-900);color:var(--gold-500)}.dark-theme .lp-feature-icon{background:var(--accent-soft)}.lp-feature h3{margin:20px 0 8px;font-size:1.1rem;color:var(--text-primary)}.lp-feature p{color:var(--text-secondary);font-size:.95rem}.lp-agents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.lp-agent{display:flex;flex-direction:column;align-items:flex-start;padding:28px 24px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);text-align:left;color:var(--text-primary);transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}.lp-agent:hover{transform:translateY(-4px);border-color:var(--gold-500);box-shadow:var(--shadow-lg)}.lp-agent-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--gold-100);color:var(--gold-600)}.dark-theme .lp-agent-icon{background:var(--accent-soft);color:var(--gold-500)}.lp-agent h3{margin:20px 0 6px;font-size:1.1rem}.lp-agent p{flex:1;color:var(--text-secondary);font-size:.93rem}.lp-agent-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-weight:700;font-size:.9rem;color:var(--link-color)}.lp-agent:hover .lp-agent-link svg{transform:translate(3px)}.lp-agent-link svg{transition:transform .2s}.lp-testimonial{display:flex;align-items:center;justify-content:center;gap:20px;max-width:820px;margin:0 auto}.lp-testimonial-card{flex:1;padding:40px 44px;border-radius:var(--radius-xl);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);animation:fadeIn .4s ease both}.lp-stars{display:flex;gap:4px;color:var(--gold-500)}.lp-testimonial-card blockquote{margin:18px 0 26px;font-size:1.2rem;line-height:1.6;font-weight:500;color:var(--text-primary)}.lp-testimonial-card figcaption{display:flex;align-items:center;gap:14px}.lp-testimonial-card figcaption strong{display:block;color:var(--text-primary)}.lp-testimonial-card figcaption span span{font-size:.88rem;color:var(--text-tertiary)}.lp-author-avatar{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--navy-900);color:var(--gold-500);font-weight:700}.lp-testimonial-nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);transition:background-color .2s,border-color .2s}.lp-testimonial-nav:hover{border-color:var(--text-primary)}.lp-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}.lp-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--border-strong);transition:width .25s var(--ease),background-color .25s}.lp-dot.active{width:28px;background:var(--gold-500)}.lp-cta-wrap{padding:96px 0}.lp-cta{position:relative;padding:64px 32px;border-radius:28px;background:var(--gradient-hero);color:#fff;text-align:center;overflow:hidden}.lp-cta-icon{margin:0 auto;color:var(--gold-500)}.lp-cta h2{margin:18px 0 12px;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:800;color:#fff}.lp-cta p{max-width:520px;margin:0 auto;color:#ffffffc2;font-size:1.05rem}.lp-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}@media (max-width: 1024px){.lp-agents,.lp-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.lp-hero{padding-top:48px}.lp-hero-inner{grid-template-columns:1fr;gap:24px}.lp-hero-visual{max-width:480px;width:100%;margin:0 auto}.lp-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}.lp-stat:nth-child(3){border-left:none}.lp-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}.lp-steps{grid-template-columns:1fr}}@media (max-width: 640px){.lp-hero{padding:36px 16px 0}.lp-highlight{white-space:normal}.lp-hero-actions .eg-btn{flex:1 1 100%}.lp-hero-visual{padding:28px 0 44px}.lp-float-streak{right:-4px}.lp-float-score{left:0}.lp-section,.lp-cta-wrap{padding:64px 0}.container{padding:0 16px}.lp-features,.lp-agents{grid-template-columns:1fr}.lp-testimonial{gap:8px}.lp-testimonial-nav{display:none}.lp-testimonial-card{padding:28px 24px}.lp-testimonial-card blockquote{font-size:1.05rem}.lp-cta{padding:48px 20px;border-radius:20px}}*{box-sizing:border-box}.hero-section{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:60px 20px;background:var(--gradient-hero);color:#fff;min-height:70vh;width:100%}.hero-text{flex:1 1 400px;max-width:600px;margin-bottom:30px}.hero-text h1{font-size:2.5rem;margin-bottom:20px;line-height:1.2}.hero-text p{font-size:1.2rem;margin-bottom:30px;line-height:1.6}.hero-buttons{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.hero-buttons .btn{background:var(--card-bg);color:var(--primary-color);padding:12px 25px;text-decoration:none;border-radius:8px;font-weight:700;transition:all .3s ease;display:inline-block;text-align:center;min-width:140px}.hero-buttons .btn:hover{background:var(--bg-secondary);transform:translateY(-2px);box-shadow:0 5px 15px #0003}.hero-buttons .btn-outline{background:transparent;border:2px solid white;color:#fff}.hero-buttons .btn-outline:hover{background:var(--card-bg);color:var(--primary-color)}.tutor-preview{flex:1 1 300px;display:flex;justify-content:center;margin-top:30px;width:100%}.tutor-card{background:var(--card-bg);color:var(--text-primary);padding:25px;border-radius:20px;max-width:400px;width:100%;box-shadow:0 10px 20px #0000001a;animation:jump 2s ease-in-out infinite}.tutor-card:hover{box-shadow:0 15px 25px #0003;transform:translateY(-5px);transition:all .3s ease}@media (max-width: 1200px){.hero-section{padding:50px 20px}.hero-text h1{font-size:2.2rem}}@media (max-width: 992px){.hero-section{justify-content:center;text-align:center;padding:40px 15px}.hero-text{max-width:100%;margin-bottom:40px}.hero-buttons{justify-content:center}}@media (max-width: 768px){.hero-text h1{font-size:2rem}.hero-text p{font-size:1.1rem}.tutor-card{padding:20px}}@media (max-width: 480px){.hero-section{padding:30px 10px}.hero-text h1{font-size:1.8rem}.hero-text p{font-size:1rem}.hero-buttons .btn{width:100%;margin-bottom:10px}.stat-card{width:100%;max-width:280px;height:150px;padding:20px;margin:10px 5px}.stat-card h2{font-size:2rem;margin-bottom:5px}.stat-card p{font-size:1rem}}@keyframes jump{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.tutor-header{display:flex;align-items:center;margin-bottom:15px}.tutor-icon{width:40px;height:40px;background:var(--primary-color);color:#fff;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:1.2rem;margin-right:10px}.tutor-text{margin-bottom:10px;line-height:1.4}.tutor-input{background:var(--bg-secondary);border-radius:8px;padding:10px;font-size:.9rem;width:100%}.agents-section{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding:50px 20px;width:100%}.agent-card{background:#f9f9f9;padding:20px;width:220px;min-width:200px;border-radius:15px;text-align:center;box-shadow:0 5px 15px #0000000d;transition:all .3s ease}.agent-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.agent-icon{font-size:2rem;margin-bottom:10px}.testimonials-section{display:flex;align-items:center;justify-content:center;gap:15px;padding:50px 20px;width:100%;flex-wrap:wrap}.testimonial-card{background:#f9f9f9;padding:20px 30px;border-radius:15px;max-width:400px;width:100%;text-align:center;box-shadow:0 5px 15px #0000000d;margin:10px}.testimonial-btn{background:var(--primary-color);color:#fff;border:none;padding:10px 15px;font-size:1.2rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.testimonial-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.stats-section{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;padding:60px 20px;background:var(--bg-secondary);width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box}.stat-card{background:var(--card-bg);padding:30px 15px;border-radius:15px;text-align:center;width:240px;min-width:220px;height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 5px 15px #0000000d;transition:all .3s ease;margin:10px;overflow:hidden;word-wrap:break-word}.stat-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.stat-card h2{font-size:2.5rem;color:var(--primary-color);margin-bottom:10px;line-height:1.1;width:100%;overflow:hidden;text-overflow:ellipsis}.stat-card p{color:var(--text-secondary);font-size:1.1rem;font-weight:500;width:100%}.cta-section{padding:100px 0;background:var(--navy-900);color:#fff;text-align:center}.cta-section h2{font-size:2rem;margin-bottom:25px;line-height:1.3}.cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.cta-buttons .btn{padding:12px 25px;border-radius:8px;font-weight:700;text-decoration:none;display:inline-block;transition:all .3s ease;min-width:140px;text-align:center}.cta-buttons .btn-outline{background:transparent;border:2px solid white;color:#fff}.cta-buttons .btn-outline:hover{background:var(--card-bg);color:var(--primary-color);transform:translateY(-2px)}@media (min-width: 1200px){.hero-section{padding:80px 40px}.hero-text h1{font-size:3rem}.hero-text p{font-size:1.3rem}.agents-section,.stats-section{padding:60px 40px}}@media (max-width: 1199px) and (min-width: 768px){.hero-section{padding:50px 30px}.hero-text h1{font-size:2.2rem}.agent-card{width:calc(33.333% - 20px);min-width:180px}.stat-card{width:calc(25% - 20px);min-width:140px}}@media (max-width: 767px) and (min-width: 600px){.hero-section{flex-direction:column;text-align:center;padding:40px 25px}.hero-text{max-width:100%;margin-bottom:40px}.hero-text h1{font-size:2rem}.hero-text p{font-size:1.1rem}.tutor-preview{margin-top:0}.agent-card{width:calc(50% - 20px);min-width:160px}.stat-card{width:calc(50% - 20px);min-width:120px}.testimonials-section{flex-direction:column}}@media (max-width: 599px) and (min-width: 480px){.hero-section{flex-direction:column;text-align:center;padding:30px 20px}.hero-text h1{font-size:1.8rem}.hero-text p{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center}.hero-buttons .btn{width:100%;max-width:250px}.tutor-card{padding:20px;margin:0 10px}.agents-section,.stats-section,.testimonials-section{padding:40px 15px}.agent-card,.stat-card{width:100%;max-width:280px;margin:0 auto 20px}.cta-section h2{font-size:1.5rem}}@media (max-width: 479px){.hero-section{padding:25px 15px;min-height:60vh}.hero-text h1{font-size:1.5rem;margin-bottom:15px}.hero-text p{font-size:.95rem;margin-bottom:25px}.hero-buttons .btn{padding:10px 20px;font-size:.9rem;width:100%;max-width:220px}.tutor-card{padding:15px;margin:0 5px}.tutor-text{font-size:.9rem}.tutor-input{font-size:.8rem;padding:8px}.agents-section,.stats-section,.testimonials-section{padding:35px 10px}.agent-card,.stat-card{width:100%;max-width:260px;margin:0 auto 15px;padding:18px}.agent-icon,.stat-card h2{font-size:1.7rem}.testimonial-card{padding:18px 20px;margin:8px}.testimonial-btn{padding:8px 12px;font-size:1rem}.cta-section{padding:50px 15px}.cta-section h2{font-size:1.3rem;margin-bottom:20px}.cta-buttons .btn{width:100%;max-width:200px;margin-bottom:10px}}@media (max-width: 319px){.hero-text h1{font-size:1.3rem}.hero-text p{font-size:.9rem}.tutor-card{margin:0;padding:12px}.agent-card,.stat-card{padding:15px}.cta-section h2{font-size:1.2rem}}.about-page{width:100%;overflow-x:hidden;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%;box-sizing:border-box}.about-hero{background:var(--gradient-hero);color:#fff;padding:100px 0 80px;text-align:center;position:relative;overflow:hidden}.about-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="1" fill="white" opacity="0.1"/><circle cx="80" cy="40" r="1" fill="white" opacity="0.1"/><circle cx="40" cy="80" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.1}.hero-content{position:relative;z-index:2;animation:fadeInUp 1s ease-out}.about-hero h1{font-size:48px;font-weight:700;margin-bottom:20px;letter-spacing:-1px}.about-hero p{font-size:20px;opacity:.9;max-width:600px;margin:0 auto}.about-mission{padding:100px 0;background:var(--bg-secondary);width:100%}.mission-content{display:flex;flex-wrap:wrap;gap:80px;align-items:center;justify-content:center;max-width:1200px;margin:0 auto;padding:0 20px}.mission-text{flex:1;min-width:300px;max-width:500px}.mission-image{flex:1;min-width:300px;max-width:500px;display:flex;justify-content:center}.mission-text h2{font-size:36px;font-weight:700;color:var(--text-primary);margin-bottom:24px}.mission-text>p{font-size:18px;line-height:1.7;color:var(--text-secondary);margin-bottom:40px}.mission-features{display:flex;flex-direction:column;gap:24px}.feature h4{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.feature p{color:var(--text-tertiary);line-height:1.5}.mission-image img{width:100%;height:auto;border-radius:20px;box-shadow:0 20px 40px #0000001a;transition:transform .3s ease}.mission-image img:hover{transform:translateY(-10px)}.team-section{padding:100px 0;background:var(--card-bg);text-align:center}.team-section h2{font-size:36px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.section-subtitle{font-size:18px;color:var(--text-tertiary);margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;max-width:900px;margin:0 auto}.team-card{background:var(--card-bg);border-radius:20px;padding:40px 30px;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;border:1px solid var(--border-color)}.team-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.team-image{margin-bottom:24px;position:relative}.team-image img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--border-color);box-shadow:0 4px 12px #0000001a}.team-info h4{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:5px}.team-info p{color:var(--text-secondary);font-weight:500;font-size:14px}.timeline-section{padding:100px 0;background:var(--card-bg);color:#000;text-align:center}.timeline-section h2{font-size:36px;font-weight:700;margin-bottom:16px;color:#000}.timeline-section .section-subtitle{color:#000000e6;margin-bottom:60px}.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:800px;margin:0 auto}.timeline-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px,black;box-shadow:0 10px 30px #0000001a;padding:40px 30px;border-radius:30px;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.timeline-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.timeline-year h3{font-size:2rem;font-weight:700;margin-bottom:5px;color:#000}.timeline-content p{font-size:14px;line-height:1.6;color:var(--text-secondary)}.about-cta{padding:100px 0;background:var(--navy-900);color:#fff;text-align:center}.cta-content h2{font-size:36px;font-weight:700;margin-bottom:20px}.cta-content p{font-size:18px;opacity:.9;margin-bottom:40px}.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;text-decoration:none;display:inline-block}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:12px 25px;border-radius:8px;font-weight:700;text-decoration:none;display:inline-block;transition:all .3s ease}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 5px 15px #0003}.btn-secondary{background:transparent;color:#fff;border:2px solid white;padding:10px 23px;border-radius:8px;font-weight:700;text-decoration:none;display:inline-block;transition:all .3s ease}.btn-secondary:hover{background:var(--card-bg);color:var(--text-primary);transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1400px){.about-hero{padding:120px 0 100px}.about-hero h1{font-size:56px}.about-hero p{font-size:24px}.about-mission,.team-section,.timeline-section,.about-cta{padding:120px 0}}@media (max-width: 1399px) and (min-width: 1200px){.about-hero h1{font-size:52px}.about-hero p{font-size:22px}.mission-content{gap:100px}}@media (max-width: 1199px) and (min-width: 992px){.container{padding:0 30px}.about-hero h1{font-size:46px}.mission-content{gap:60px}.team-grid{max-width:800px}}@media (max-width: 991px) and (min-width: 768px){.about-hero{padding:80px 0 60px}.about-hero h1{font-size:40px}.about-hero p{font-size:18px}.mission-content{flex-direction:column;gap:50px;text-align:center;padding:0 30px}.mission-text,.mission-image{max-width:100%;width:100%}.about-mission,.team-section,.timeline-section,.about-cta{padding:80px 0}.mission-text h2,.team-section h2,.timeline-section h2,.cta-content h2{font-size:32px}.team-grid{gap:30px;max-width:600px}.team-card{min-width:220px;max-width:280px}}@media (max-width: 767px) and (min-width: 600px){.container{padding:0 25px}.about-hero{padding:70px 0 50px}.about-hero h1{font-size:36px}.about-hero p{font-size:17px}.mission-content{padding:0 25px}.mission-text h2,.team-section h2,.timeline-section h2,.cta-content h2{font-size:28px}.team-grid{flex-direction:column;align-items:center;max-width:350px}.team-card{max-width:100%;width:100%}.timeline-grid{flex-direction:column;align-items:center;max-width:350px}.timeline-card{max-width:100%;width:100%}.cta-buttons{flex-direction:column;align-items:center;width:100%}.btn-primary,.btn-secondary{width:100%;max-width:280px}}@media (max-width: 599px) and (min-width: 480px){.container{padding:0 20px}.about-hero{padding:60px 0 40px}.about-hero h1{font-size:32px;line-height:1.2}.about-hero p{font-size:16px;padding:0 10px}.about-mission,.team-section,.timeline-section,.about-cta{padding:60px 0}.mission-content{padding:0 20px;gap:40px}.mission-text h2,.team-section h2,.timeline-section h2,.cta-content h2{font-size:26px}.mission-text>p{font-size:16px}.feature h4{font-size:16px}.feature p{font-size:14px}.team-card,.timeline-card{padding:30px 25px;margin:0 10px}.team-image img{width:100px;height:100px}.team-info h4{font-size:18px}.timeline-year h3{font-size:28px}.btn-primary,.btn-secondary{width:100%;max-width:260px;padding:14px 24px}}@media (max-width: 479px) and (min-width: 360px){.container{padding:0 15px}.about-hero{padding:50px 0 35px}.about-hero h1{font-size:28px;line-height:1.1;margin-bottom:15px}.about-hero p{font-size:15px;padding:0 10px}.about-mission,.team-section,.timeline-section,.about-cta{padding:50px 0}.mission-content{padding:0 15px;gap:35px}.mission-text h2,.team-section h2,.timeline-section h2,.cta-content h2{font-size:24px;line-height:1.2}.mission-text>p{font-size:15px}.section-subtitle{font-size:16px;margin-bottom:40px}.team-card,.timeline-card{padding:25px 20px;margin:0 5px}.team-image img{width:90px;height:90px}.team-info h4{font-size:17px}.team-info p{font-size:14px}.timeline-year h3{font-size:24px}.timeline-content p{font-size:14px}.cta-content p{font-size:16px;margin-bottom:30px}.btn-primary,.btn-secondary{width:100%;max-width:240px;padding:12px 20px;font-size:15px}}@media (max-width: 359px) and (min-width: 320px){.container{padding:0 12px}.about-hero{padding:45px 0 30px}.about-hero h1{font-size:24px;margin-bottom:12px}.about-hero p{font-size:14px;padding:0 5px}.about-mission,.team-section,.timeline-section,.about-cta{padding:45px 0}.mission-content{padding:0 12px;gap:30px}.mission-text h2,.team-section h2,.timeline-section h2,.cta-content h2{font-size:22px}.mission-text>p{font-size:14px}.feature h4{font-size:15px}.feature p{font-size:13px}.section-subtitle{font-size:15px;margin-bottom:35px}.team-card,.timeline-card{padding:20px 15px;margin:0 3px}.team-image img{width:80px;height:80px}.team-info h4{font-size:16px}.team-info p{font-size:13px}.timeline-year h3{font-size:22px}.timeline-content p{font-size:13px}.cta-content p{font-size:15px;margin-bottom:25px}.btn-primary,.btn-secondary{width:100%;max-width:220px;padding:10px 18px;font-size:14px}}@media (max-width: 319px){.container{padding:0 10px}.about-hero{padding:40px 0 25px}.about-hero h1{font-size:20px;margin-bottom:10px}.about-hero p{font-size:13px}.about-mission,.team-section,.timeline-section,.about-cta{padding:40px 0}.mission-content{padding:0 10px;gap:25px}.mission-text h2,.team-section h2,.timeline-section h2,.cta-content h2{font-size:20px}.mission-text>p{font-size:13px}.team-card,.timeline-card{padding:18px 12px}.team-image img{width:70px;height:70px}.team-info h4{font-size:15px}.timeline-year h3{font-size:20px}.btn-primary,.btn-secondary{max-width:200px;padding:8px 15px;font-size:13px}}@media (max-height: 500px) and (orientation: landscape){.about-hero{padding:30px 0 20px}.about-hero h1{font-size:24px;margin-bottom:10px}.about-hero p{margin-bottom:15px}.about-mission,.team-section,.timeline-section,.about-cta{padding:40px 0}}.team-section .team-grid{grid-template-columns:repeat(auto-fit,minmax(0,320px));justify-content:center;margin-top:40px}.team-image .team-photo{width:120px;height:120px;margin:0 auto;border-radius:50%;object-fit:cover;border:none;box-shadow:0 0 0 4px var(--accent-soft)}.team-avatar{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:var(--navy-900);color:var(--gold-500);font-size:2.2rem;font-weight:800;letter-spacing:.02em;box-shadow:0 0 0 4px var(--accent-soft)}.contact-page{min-height:calc(100vh - 160px);display:flex;justify-content:center;align-items:center;padding:60px 20px 40px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);width:100%;box-sizing:border-box}@media (max-height: 600px){.contact-page{min-height:auto;padding:20px;align-items:flex-start}}.contact-card{background:var(--card-bg);padding:50px 40px;border-radius:20px;box-shadow:0 25px 50px #00000026;width:100%;max-width:600px;text-align:center;animation:slideUp .8s ease forwards;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy-900),var(--navy-600),var(--gold-500));background-size:300% 100%;animation:gradientMove 3s ease-in-out infinite}.contact-card h2{margin-bottom:15px;color:var(--text-primary);font-size:32px;font-weight:700;animation:slideUp .8s ease-out .2s both}.contact-card p{margin-bottom:35px;color:var(--text-tertiary);font-size:16px;line-height:1.6;animation:slideUp .8s ease-out .4s both}.contact-form{display:flex;flex-direction:column;gap:25px;animation:slideUp .8s ease-out .6s both}.contact-form input,.contact-form textarea{padding:18px 20px;border:2px solid var(--border-color);border-radius:12px;font-size:16px;font-family:inherit;transition:all .3s ease;outline:none;background:var(--bg-secondary);resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary-color);background:var(--card-bg);box-shadow:0 0 0 4px #2a4f9e1a;transform:translateY(-2px)}.contact-form textarea{min-height:120px;font-family:inherit;line-height:1.5}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-tertiary);font-weight:400}.contact-form button{padding:18px 30px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 50%);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.contact-form button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.contact-form button:hover:before{left:100%}.contact-form button:hover{transform:translateY(-3px);box-shadow:0 15px 35px #2a4f9e66}.contact-form button:active{transform:translateY(-1px)}.contact-form.success{animation:successPulse .6s ease}.contact-form.error{animation:errorShake .6s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientMove{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}@media (max-width: 768px){.contact-page{padding:60px 15px 30px;min-height:calc(100vh - 140px);align-items:flex-start}.contact-card{padding:35px 25px;border-radius:15px;margin:0}.contact-card h2{font-size:26px}.contact-form input,.contact-form textarea,.contact-form button{padding:15px 16px;font-size:15px}.contact-form{gap:18px}}@media (max-width: 480px){.contact-page{padding:30px 10px 20px;min-height:calc(100vh - 120px)}.contact-card{padding:30px 20px;margin:0;width:100%;max-width:none}.contact-card h2{font-size:22px;margin-bottom:12px}.contact-card p{font-size:14px;margin-bottom:25px}.contact-form input,.contact-form textarea,.contact-form button{padding:12px 14px;font-size:14px}.contact-form{gap:15px}.contact-form textarea{min-height:100px}}@media (max-width: 360px){.contact-page{padding:20px 8px 15px}.contact-card{padding:25px 15px;border-radius:12px}.contact-card h2{font-size:20px}.contact-form input,.contact-form textarea,.contact-form button{padding:10px 12px;font-size:13px}}@media (min-width: 1200px){.contact-page{padding:80px 40px 60px}.contact-card{max-width:650px;padding:60px 50px}.contact-card h2{font-size:36px}.contact-card p{font-size:18px}}@media (max-height: 500px){.contact-page{min-height:auto;padding:15px 20px;align-items:flex-start}.contact-card{padding:20px 30px}.contact-card h2{font-size:20px;margin-bottom:8px}.contact-card p{font-size:13px;margin-bottom:15px}.contact-form{gap:12px}.contact-form input,.contact-form textarea{padding:10px 14px}.contact-form textarea{min-height:60px}.contact-form button{padding:10px 20px;font-size:14px}}.contact-form input:focus,.contact-form textarea:focus,.contact-form button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.contact-form button:disabled{opacity:.7;cursor:not-allowed;transform:none;background:#a0aec0}.contact-form button:disabled:before{display:none}.contact-card:hover{transform:translateY(-5px);box-shadow:0 35px 60px #0003}.contact-form textarea::-webkit-scrollbar{width:6px}.contact-form textarea::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.contact-form textarea::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.contact-form textarea::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.register-card{background:var(--card-bg);border-radius:16px;padding:40px;width:100%;max-width:500px;box-shadow:0 20px 60px #0000004d}.register-card h2{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text-primary);text-align:center}.register-card .subtitle{font-size:14px;color:var(--text-tertiary);text-align:center;margin-bottom:32px}.register-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--text-primary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--text-tertiary);pointer-events:none;z-index:1}.register-form input,.register-form select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;transition:all .2s;outline:none;box-sizing:border-box;font-family:inherit}.register-form input.with-icon{padding-left:40px}.register-form input:focus,.register-form select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.register-form input:disabled,.register-form select:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.input-error{border-color:#fc8181!important}.input-error:focus{box-shadow:0 0 0 3px #fc81811a!important}.field-error{font-size:12px;color:#e53e3e;margin-top:4px;display:block}.register-form select{cursor:pointer;background-color:var(--card-bg);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0aec0' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;display:flex;align-items:center;z-index:1;transition:color .2s}.password-strength{margin-top:8px;padding:12px;background:var(--bg-secondary);border-radius:8px;font-size:13px}.strength-item{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:var(--text-secondary)}.check-valid{color:#48bb78;font-weight:700;font-size:16px}.check-invalid{color:#cbd5e0;font-size:16px}.error-banner,.success-banner,.info-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;border:1px solid}.error-banner{background:#fff5f5;border-color:#fc8181;color:#c53030}.success-banner{background:#f0fff4;border-color:#68d391;color:#2f855a}.info-banner{background:var(--primary-soft);border-color:#63b3ed;color:#2c5282}.resend-section{margin-top:20px;padding:16px;background:var(--bg-secondary);border-radius:8px;text-align:center}.resend-section p{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.resend-button{padding:10px 20px;background:var(--card-bg);border:2px solid var(--primary-color);border-radius:8px;color:var(--primary-color);font-weight:600;cursor:pointer;font-size:14px;transition:all .2s}.resend-button:hover{background:var(--primary-color);color:#fff}.form-footer{margin-top:24px;text-align:center}.login-link{font-size:14px;color:var(--text-secondary)}.login-link a{color:var(--primary-color);font-weight:600;text-decoration:none;transition:color .2s}.login-link a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 600px){.register-container{padding:16px}.register-card{padding:30px 24px}.register-card h2{font-size:24px}.form-row{grid-template-columns:1fr;gap:20px}.register-form{gap:16px}}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,5fr) 7fr;background:var(--bg-primary)}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:40px 48px;background:var(--gradient-hero);color:#fff;overflow:hidden}.auth-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 30% 40%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 30% 40%,#000 10%,transparent 70%);pointer-events:none}.auth-brand>*{position:relative}.auth-brand-logo{align-self:flex-start}.auth-brand-copy h1{max-width:420px;font-size:clamp(2rem,3vw,2.6rem);font-weight:800;line-height:1.12;color:#fff}.auth-brand-copy p{max-width:400px;margin-top:16px;color:#ffffffbd;font-size:1.02rem}.auth-brand-copy ul{display:flex;flex-direction:column;gap:14px;margin-top:32px}.auth-brand-copy li{display:flex;align-items:center;gap:12px;color:#ffffffe6;font-weight:500}.auth-brand-copy li svg{flex-shrink:0;color:var(--gold-500)}.auth-brand-quote{padding:20px 22px;border-radius:var(--radius-lg);background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.auth-brand-quote p{font-size:.98rem;line-height:1.6;color:#fff}.auth-brand-quote span{display:block;margin-top:10px;font-size:.85rem;color:var(--gold-400);font-weight:600}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.auth-mobile-logo{display:none;width:100%;max-width:440px;margin-bottom:28px}.auth-page .login-container,.auth-page .register-container,.auth-page .forgot-password-container,.auth-page .reset-password-container{position:static;inset:auto;min-height:0;height:auto;width:100%;padding:0;background:none;display:flex;justify-content:center;overflow:visible}.auth-page .login-card,.auth-page .register-card,.auth-page .forgot-password-card,.auth-page .reset-password-card{width:100%;max-width:440px;padding:0;margin:0;background:none;border:none;box-shadow:none;border-radius:0;text-align:left;animation:slideUp .45s var(--ease) both}.auth-page .register-card{max-width:520px}.auth-page h2{background:none;-webkit-text-fill-color:currentColor;margin:0 0 6px;font-size:2rem;font-weight:800;text-align:left;color:var(--text-primary)}.auth-page .subtitle,.auth-page .auth-subtitle{margin:0 0 28px;text-align:left;color:var(--text-secondary);font-size:1rem}.auth-page form{display:flex;flex-direction:column;gap:18px}.auth-page .form-row{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-page .form-group{display:flex;flex-direction:column;gap:6px;margin:0}.auth-page label:not(.remember-me){font-size:.875rem;font-weight:600;color:var(--text-primary)}.auth-page .input-wrapper,.auth-page .password-input{position:relative}.auth-page input[type=text],.auth-page input[type=email],.auth-page input[type=password],.auth-page input:not([type]),.auth-page select{width:100%;height:50px;padding:0 16px;border-radius:var(--radius-md);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:.97rem;transition:border-color .2s,box-shadow .2s}.auth-page input.with-icon{padding-left:46px}.auth-page .password-input input,.auth-page .input-wrapper input[type=password],.auth-page .input-wrapper:has(.password-toggle) input{padding-right:48px}.auth-page input::placeholder{color:var(--text-tertiary)}.auth-page input:focus,.auth-page select:focus{border-color:var(--accent-color);box-shadow:var(--shadow-focus);outline:none}.auth-page input.input-error{border-color:var(--error-color)}.auth-page .input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.auth-page .password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;min-height:0;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);box-shadow:none}.auth-page .password-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.auth-page .field-error{font-size:.82rem;color:var(--error-color)}.auth-page .form-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 2px;font-size:.9rem}.auth-page .remember-me{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);cursor:pointer}.auth-page .remember-me input{width:17px;height:17px;accent-color:var(--navy-900)}.dark-theme .auth-page .remember-me input{accent-color:var(--gold-500)}.auth-page .forgot-password,.auth-page .form-footer a,.auth-page .back-to-login{color:var(--link-color);font-weight:600}.auth-page .forgot-password:hover,.auth-page .form-footer a:hover,.auth-page .back-to-login:hover{text-decoration:underline}.auth-page button[type=submit],.auth-page .resend-button{width:100%;height:52px;margin-top:4px;border-radius:var(--radius-full);background:var(--navy-900);color:#fff;font-weight:700;font-size:1rem;border:none;box-shadow:0 8px 20px #0b1b3f2e;transition:background-color .2s,transform .15s,box-shadow .2s}.auth-page button[type=submit]:hover:not(:disabled),.auth-page .resend-button:hover{background:var(--navy-700)}.auth-page button[type=submit]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.dark-theme .auth-page button[type=submit],.dark-theme .auth-page .resend-button{background:var(--gold-500);color:var(--navy-900)}.dark-theme .auth-page button[type=submit]:hover:not(:disabled){background:var(--gold-400)}.auth-page .form-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);font-size:.93rem}.auth-page .error-banner,.auth-page .success-banner,.auth-page .info-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:18px;border-radius:var(--radius-md);font-size:.9rem;border:1px solid transparent}.auth-page .error-banner{background:var(--error-soft);color:var(--error-color);border-color:#e5484d40}.auth-page .success-banner{background:var(--success-soft);color:var(--success-color);border-color:#12a86640}.auth-page .info-banner{background:var(--info-soft);color:var(--info-color)}.auth-page .password-strength{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:6px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-secondary);font-size:.82rem;color:var(--text-secondary)}.auth-page .strength-item{display:flex;align-items:center;gap:6px}.auth-page .check-valid{color:var(--success-color);font-weight:700}.auth-page .check-invalid{color:var(--text-tertiary)}.auth-page .role-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-page .role-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);text-align:left;min-height:0;transition:border-color .2s,background-color .2s,box-shadow .2s}.auth-page .role-option:hover{border-color:var(--border-strong)}.auth-page .role-option.selected{border-color:var(--accent-color);background:var(--accent-soft);box-shadow:var(--shadow-focus)}.auth-page .role-option-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--navy-900);color:var(--gold-500)}.auth-page .role-option strong{display:block;font-size:.95rem}.auth-page .role-option small{font-size:.8rem;color:var(--text-secondary)}.auth-page .resend-section{margin-top:20px;text-align:center;color:var(--text-secondary)}.auth-page .resend-section .resend-button{margin-top:10px}.auth-page .icon-wrapper{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;border-radius:16px;background:var(--accent-soft);color:var(--accent-text)}.auth-page .back-to-login{display:inline-flex;align-items:center;gap:6px;margin-top:20px}@media (max-width: 960px){.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-logo{display:block}.auth-main{justify-content:flex-start;padding:40px 20px 64px}}@media (max-width: 520px){.auth-page .form-row,.auth-page .role-picker,.auth-page .password-strength{grid-template-columns:1fr}.auth-page h2{font-size:1.7rem}}.gauth{margin-top:18px}.gauth-divider{display:flex;align-items:center;gap:12px;color:#6b7280;font-size:.85rem;margin-bottom:14px}.gauth-divider:before,.gauth-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.gauth-button{display:flex;justify-content:center;min-height:44px}.gauth-button.busy{opacity:.55;pointer-events:none}.gauth-error{margin:10px 0 0;color:#b91c1c;font-size:.9rem;text-align:center}.gauth-role{border:1px solid #e5e7eb;border-radius:12px;padding:16px;text-align:center;background:#fff}.gauth-role-title{margin:0 0 2px;font-weight:700;color:#111827}.gauth-role-sub{margin:0 0 12px;font-size:.85rem;color:#6b7280;word-break:break-all}.gauth-role-row{display:flex;gap:10px}.gauth-role-row button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border-radius:10px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font:inherit;font-weight:600;cursor:pointer}.gauth-role-row button:hover:not(:disabled){border-color:#2563eb;background:#eff6ff}.gauth-role-row button:disabled{opacity:.6;cursor:wait}.gauth-cancel{margin-top:10px;background:none;border:0;color:#6b7280;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline}.login-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--bg-secondary) 0%,#c3cfe2 100%);margin:0;padding:0;box-sizing:border-box}.login-card{background:var(--card-bg);padding:40px;border-radius:12px;box-shadow:0 20px 40px #0000001a;width:90%;max-width:400px;text-align:center;animation:slideIn .6s ease forwards}@media (max-width: 768px){.login-card{padding:30px;width:85%}}@media (max-width: 480px){.login-card{padding:20px;width:90%}}.login-card h2{margin-bottom:30px;color:var(--text-primary);font-size:28px;font-weight:700}.login-form{display:flex;flex-direction:column;gap:20px}.login-form input{padding:16px;border:2px solid var(--border-color);border-radius:10px;font-size:16px;transition:all .3s ease;outline:none;background:var(--bg-secondary)}.login-form input:focus{border-color:var(--primary-color);background:var(--card-bg);box-shadow:0 0 0 3px #2a4f9e1a}.form-group.password-input{position:relative}.form-group.password-input input{padding-right:64px}.login-form .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none!important;border:none!important;cursor:pointer;padding:0!important;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:color .2s ease;border-radius:8px}.login-form .password-toggle:hover{color:var(--text-secondary)}.login-form .password-toggle:focus{outline:2px solid var(--primary-color);outline-offset:2px}.remember-me{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--primary-color)}.remember-me span{font-size:14px;line-height:1}.forgot-password{font-size:14px;color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:var(--primary-hover);text-decoration:underline}.error{color:#e53e3e;background:#fed7d7;border:1px solid #feb2b2;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.register-link{margin-top:24px;color:var(--text-tertiary);font-size:14px}.register-link a{color:var(--primary-color);text-decoration:none;font-weight:600}.register-link a:hover{color:var(--primary-hover);text-decoration:underline}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.login-card{padding:30px 20px;width:95%}.remember-me{justify-content:flex-start}.forgot-password{text-align:center}}.verify-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:var(--bg-secondary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.verify-box{background:var(--card-bg);padding:40px 60px;border-radius:12px;box-shadow:0 8px 16px #0000001a;text-align:center;max-width:400px}.verify-box h2{font-size:2rem;margin-bottom:20px}.verify-box h2.success{color:#28a745}.verify-box h2.error{color:#dc3545}.verify-box p{font-size:1.1rem;color:var(--text-primary)}.verify-box .loading{color:var(--primary-color)}.verify-box a{display:inline-block;margin-top:20px;padding:10px 20px;background:var(--primary-color);color:#fff;border-radius:6px;text-decoration:none;transition:background .3s}.verify-box a:hover{background:var(--primary-color)}.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}@media (min-width: 1200px){.agent-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.agent-grid{grid-template-columns:1fr}}.students-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.student-preview-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast)}.student-preview-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.student-preview-card .student-avatar{width:40px;height:40px;background:var(--primary-blue);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-preview-card .student-info{flex:1;min-width:0}.student-preview-card .student-info h4{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-preview-card .student-info p{margin:0;font-size:12px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-all-btn{background:none;border:none;color:var(--primary-blue);font-size:14px;font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.view-all-btn:hover{color:var(--primary-dark)}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin:var(--spacing-lg) 0}.profile-stat{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.profile-stat svg{color:var(--primary-blue);flex-shrink:0}.profile-stat div h4{margin:0 0 2px;font-size:18px;font-weight:600;color:var(--gray-900)}.profile-stat div p{margin:0;font-size:12px;color:var(--gray-500)}.dark-theme .student-preview-card{background:var(--bg-secondary);border-color:var(--border-color)}.dark-theme .student-preview-card:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.dark-theme .student-preview-card .student-info h4{color:var(--text-primary)}.dark-theme .student-preview-card .student-info p{color:var(--text-secondary)}.dark-theme .view-all-btn{color:var(--primary-color)}.dark-theme .profile-stat{background:var(--bg-secondary);border-color:var(--border-color)}.dark-theme .profile-stat div h4{color:var(--text-primary)}.dark-theme .profile-stat div p{color:var(--text-secondary)}.student-dashboard{background:var(--bg-secondary);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);min-height:calc(100vh - var(--header-height) - 40px)}.student-dashboard .sidebar,.teacher-dashboard .dashboard-sidebar{width:264px;flex-shrink:0;display:flex;flex-direction:column;padding:24px 16px;background:var(--gradient-hero);border-right:none;color:#fff}.student-dashboard .sidebar-header,.teacher-dashboard .dashboard-sidebar .sidebar-header{padding:0 8px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.student-dashboard .sidebar-header h2{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-500)}.teacher-dashboard .dashboard-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between}.teacher-dashboard .sidebar-toggle{display:none;padding:6px;border-radius:var(--radius-sm);color:#fff}.student-dashboard .sidebar .sidebar-header{display:block}.student-dashboard .sidebar-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.student-dashboard .student-info{display:flex;align-items:center;gap:12px;margin-top:4px;padding:12px;border-radius:var(--radius-md);background:#ffffff0f}.student-dashboard .student-avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--gold-500);color:var(--navy-900);font-weight:800}.student-dashboard .student-info h4{color:#fff;font-size:.92rem}.student-dashboard .student-info p{color:#ffffffa3}.student-dashboard .sidebar-close-btn{color:#fffc}.student-dashboard .sidebar-close-btn:hover{background:#ffffff1a;color:#fff}.student-dashboard .sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:20px 0}.student-dashboard .nav-item{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);border:none;background:transparent;color:#ffffffb3;font-size:.92rem;font-weight:600;text-align:left;transition:background-color .15s,color .15s}.student-dashboard .nav-item svg{flex-shrink:0;opacity:.85}.student-dashboard .nav-item:hover{background:#ffffff12;color:#fff}.student-dashboard .nav-item.active{background:#ffffff1a;color:#fff;border-right:none}.student-dashboard .nav-item.active svg{color:var(--gold-500);opacity:1}.student-dashboard .nav-item.active:before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--gold-500)}.student-dashboard .notification-badge{margin-left:auto;background:var(--gold-500);color:var(--navy-900);font-weight:800}.student-dashboard .sidebar .sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.student-dashboard .top-bar{height:68px;padding:0 24px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.student-dashboard .search-bar{flex:1;max-width:440px;padding:10px 16px;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-color);transition:border-color .2s,box-shadow .2s}.student-dashboard .search-bar:focus-within{border-color:var(--accent-color);box-shadow:var(--shadow-focus)}.student-dashboard .icon-btn,.teacher-dashboard .icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);transition:background-color .2s,border-color .2s}.student-dashboard .icon-btn:hover,.teacher-dashboard .icon-button:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.student-dashboard .notification-dot{background:var(--gold-500);box-shadow:0 0 0 2px var(--card-bg)}.student-dashboard .dashboard-content,.teacher-dashboard .dashboard-main{padding:28px}.teacher-dashboard .dashboard-main{flex:1;min-width:0}.student-dashboard .welcome-section,.teacher-dashboard .dashboard-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 32px;margin-bottom:24px;border-radius:var(--radius-xl);background:var(--gradient-hero);color:#fff;overflow:hidden}.student-dashboard .welcome-section:after,.teacher-dashboard .dashboard-header:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(245,181,61,.25),transparent 70%);pointer-events:none}.student-dashboard .welcome-text h2,.teacher-dashboard .dashboard-header h1{margin:0 0 6px;font-size:1.6rem;font-weight:800;color:#fff}.student-dashboard .welcome-text p,.teacher-dashboard .dashboard-header p{margin:0;color:#ffffffbd}.student-dashboard .level-badge{background:var(--gold-500);color:var(--navy-900);border-radius:var(--radius-full);font-weight:800}.student-dashboard .points-display{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-full);color:#fff}.student-dashboard .points-display svg{color:var(--gold-500)}.teacher-dashboard .dashboard-header .icon-button{position:relative;z-index:1;background:#ffffff1a;border-color:#fff3;color:#fff}.student-dashboard .stat-card{padding:20px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s}.student-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.student-dashboard .stat-icon{border-radius:14px;background:var(--navy-900);color:var(--gold-500)}.student-dashboard .stat-card:nth-child(2n) .stat-icon{background:var(--gold-100);color:var(--gold-600)}.dark-theme .student-dashboard .stat-icon{background:var(--accent-soft);color:var(--gold-500)}.student-dashboard .dashboard-section,.student-dashboard .agents-section,.teacher-dashboard .section{padding:24px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.student-dashboard .dashboard-section h3,.student-dashboard .section-header h2{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.student-dashboard .agent-card{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--card-bg);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}.student-dashboard .agent-card:hover{transform:translateY(-3px);border-color:var(--accent-color);box-shadow:var(--shadow-md)}.student-dashboard .agent-icon{border-radius:14px}.student-dashboard .primary-btn,.student-dashboard .retry-btn,.student-dashboard .join-btn,.teacher-dashboard .view-all-btn{border-radius:var(--radius-full);background:var(--navy-900);color:#fff;font-weight:600;border:none}.student-dashboard .primary-btn:hover,.student-dashboard .retry-btn:hover,.student-dashboard .join-btn:hover,.teacher-dashboard .view-all-btn:hover{background:var(--navy-700)}.dark-theme .student-dashboard .primary-btn,.dark-theme .student-dashboard .retry-btn,.dark-theme .student-dashboard .join-btn,.dark-theme .teacher-dashboard .view-all-btn{background:var(--gold-500);color:var(--navy-900)}.student-dashboard .secondary-btn{border-radius:var(--radius-full);background:transparent;border:1.5px solid var(--border-strong);color:var(--text-primary)}.student-dashboard .progress-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.student-dashboard .progress{background:var(--gradient-accent);border-radius:var(--radius-full)}.dark-theme .student-dashboard{background:var(--bg-primary)}.dark-theme .student-dashboard .sidebar,.dark-theme .teacher-dashboard .dashboard-sidebar{background:var(--navy-950);border-right:1px solid var(--border-color)}.dark-theme .student-dashboard .nav-item{color:#ffffffb3}.dark-theme .student-dashboard .nav-item:hover,.dark-theme .student-dashboard .nav-item.active{color:#fff}@media (max-width: 1024px){.student-dashboard{border-radius:var(--radius-lg)}.teacher-dashboard .sidebar-toggle{display:inline-flex}}@media (max-width: 768px){.student-dashboard{border-radius:0;border:none}.student-dashboard .dashboard-content,.teacher-dashboard .dashboard-main{padding:16px}.student-dashboard .welcome-section,.teacher-dashboard .dashboard-header{flex-direction:column;align-items:flex-start;padding:22px}}.student-dashboard>.loading-screen,.student-dashboard>.error-screen{flex:1}.teacher-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.student-dashboard .stat-card,.teacher-dashboard .stat-card{width:auto;min-width:0;margin:0}.teacher-dashboard .stat-card{display:flex;flex-direction:row;align-items:center;gap:16px;text-align:left}.teacher-dashboard .stat-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.teacher-dashboard .stat-content h3{margin:0;font-size:1.75rem;font-weight:800;line-height:1.1;color:var(--text-primary)}.teacher-dashboard .stat-content p{margin:2px 0 0;font-size:.88rem;color:var(--text-secondary)}.dark-theme .student-dashboard .agent-icon{box-shadow:inset 0 0 0 1px #ffffff2e}.dark-theme .student-dashboard .nav-item.active{background:#ffffff1a}.dark-theme .student-dashboard .stat-card .stat-icon,.dark-theme .student-dashboard .stat-card:nth-child(2n) .stat-icon{background:var(--accent-soft);color:var(--gold-500)}.student-dashboard .error-banner{background:var(--error-soft);color:var(--error-color);border:1px solid rgba(229,72,77,.25);border-radius:var(--radius-md)}.student-dashboard .leaderboard-you{display:flex;align-items:center;gap:14px;margin-bottom:16px;background:var(--gradient-hero);color:#fff;border:none}.student-dashboard .leaderboard-you svg{color:var(--gold-500);flex-shrink:0}.student-dashboard .leaderboard-you strong{display:block;font-size:1.1rem}.student-dashboard .leaderboard-you span{color:#ffffffbf;font-size:.9rem}.student-dashboard .activity-list.is-loading{opacity:.6}.student-dashboard .leaderboard-row.current-user{background:var(--accent-soft);border-left:3px solid var(--gold-500)}.student-dashboard .ov-welcome{align-items:center}.ov-level{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;min-width:220px}.ov-level-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.ov-points{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#fff}.ov-points svg{color:var(--gold-500)}.ov-xp{height:8px;border-radius:999px;background:#ffffff26;overflow:hidden}.ov-xp-fill{height:100%;border-radius:999px;background:var(--gradient-accent)}.ov-level small{color:#ffffffb3;font-size:.8rem}.ov-muted{margin:0;color:var(--text-tertiary);font-size:.9rem}.ov-link{min-height:0;padding:0;background:none;color:var(--link-color);font-weight:700;font-size:.9rem}.ov-link:hover{text-decoration:underline}.ov-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ov-section-head h3{margin:0}.student-dashboard .ov-today{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;margin-bottom:20px}.ov-today-plan{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.ov-today-plan h3{display:flex;align-items:center;gap:8px;margin:0}.ov-next{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 14px;border-radius:var(--radius-md);background:var(--accent-soft);border-left:4px solid var(--gold-500)}.ov-next-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.ov-next strong{font-size:1.05rem;color:var(--text-primary)}.ov-next span:last-child{font-size:.88rem;color:var(--text-secondary)}.ov-quick-label{display:block;margin-bottom:10px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.ov-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ov-quick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:0;padding:14px;border-radius:var(--radius-md);border:1.5px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-weight:700;font-size:.9rem;text-align:left;transition:border-color .2s,transform .15s var(--ease),background-color .2s}.ov-quick-btn svg{padding:6px;width:34px;height:34px;border-radius:10px;background:var(--navy-900);color:var(--gold-500)}.ov-quick-btn:hover{border-color:var(--gold-500);background:var(--card-bg);transform:translateY(-2px)}.student-dashboard .ov-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px}.student-dashboard .ov-stats .stat-card{display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left}.student-dashboard .ov-stats .stat-icon{width:46px;height:46px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.student-dashboard .ov-stats .stat-info h3{margin:0;font-size:1.6rem;font-weight:800;line-height:1.1;color:var(--text-primary)}.student-dashboard .ov-stats .stat-info p{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary)}.student-dashboard .ov-agents{margin-bottom:20px;overflow:hidden}.student-dashboard .ov-agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0}.student-dashboard .ov-agent{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:0;margin:0;padding:14px;text-align:left;color:var(--text-primary);flex-direction:row}.student-dashboard .ov-agent .agent-icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.student-dashboard .ov-agent .agent-icon svg{width:20px;height:20px}.student-dashboard .ov-agent .agent-info{display:block;min-width:0}.student-dashboard .ov-agent h4{margin:0;font-size:.95rem;color:var(--text-primary)}.student-dashboard .ov-agent p{margin:2px 0 0;font-size:.8rem;color:var(--text-tertiary)}.student-dashboard .ov-bottom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}.ov-badge.score{background:var(--primary-soft);color:var(--text-primary)}.ov-badge.points{background:var(--accent-soft);color:var(--accent-text)}.ov-leader-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ov-leader-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-secondary)}.ov-leader-list li.me{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--gold-500)}.ov-rank{width:32px;font-weight:800;color:var(--text-primary)}.ov-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:600}.ov-pts{font-weight:700;color:var(--text-secondary);font-size:.88rem}.ov-deeper-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}@media (max-width: 900px){.student-dashboard .ov-today,.student-dashboard .ov-bottom{grid-template-columns:1fr}}@media (max-width: 520px){.ov-quick-grid{grid-template-columns:1fr}.ov-quick-btn{flex-direction:row;align-items:center}.ov-level{min-width:0;width:100%}}.student-dashboard .ov-agents{display:block;text-align:left}.student-dashboard .ov-stats .stat-info h3{text-transform:none;letter-spacing:-.02em}.student-dashboard .top-bar{display:none}@media (max-width: 1024px){.student-dashboard .top-bar{display:flex;justify-content:flex-start;padding:10px 16px 0;background:transparent;border:0;box-shadow:none}.student-dashboard .top-bar .mobile-menu-btn{display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;padding:8px 14px;border-radius:999px;font-weight:600}}.student-dashboard .focus-card .section-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.student-dashboard .focus-card h3{display:flex;align-items:center;gap:8px;margin:0}.student-dashboard .focus-sub{color:var(--text-secondary);font-size:.88rem}.student-dashboard .focus-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.student-dashboard .focus-item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:var(--bg-secondary);border-left:4px solid var(--gold-500)}.student-dashboard .focus-text{display:flex;flex-direction:column;gap:2px;min-width:0}.student-dashboard .focus-text strong{overflow-wrap:anywhere}.student-dashboard .focus-text span{color:var(--text-secondary);font-size:.85rem}.student-dashboard .focus-actions{display:flex;gap:8px;flex-wrap:wrap}.student-dashboard .focus-strengths{display:flex;align-items:center;gap:6px;margin:12px 0 0;font-size:.88rem;color:var(--text-secondary)}.teacher-dashboard{align-items:stretch}.teacher-dashboard .dashboard-main{padding:24px 28px 40px}.teacher-dashboard .dashboard-content{padding:0;max-width:none;margin:0}.teacher-dashboard .dashboard-header{padding:24px 28px;margin-bottom:20px}.teacher-dashboard .dashboard-overview{display:flex;flex-direction:column;gap:20px}.teacher-dashboard .dashboard-overview>*{margin:0}.teacher-dashboard .stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0}.teacher-dashboard .stat-card{padding:16px 18px;min-height:0;height:auto;border-radius:var(--radius-lg)}.teacher-dashboard .stat-content h3{font-size:1.6rem}.teacher-dashboard .section,.teacher-dashboard .dashboard-section{padding:22px;margin:0;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.teacher-dashboard .section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0;margin:0 0 16px;border:0;background:none}.teacher-dashboard .section-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:1.1rem}.teacher-dashboard .section-header p{margin:0;color:var(--text-secondary);font-size:.9rem}.teacher-dashboard .agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0}.teacher-dashboard .agent-card{width:auto;max-width:none;display:flex;flex-direction:row;align-items:center;text-align:left;gap:14px;min-height:0;padding:16px 18px;border:1px solid var(--border-color);border-left:4px solid var(--gold-500);border-radius:var(--radius-lg);background:var(--card-bg)}.teacher-dashboard .agent-card .agent-icon{margin:0;width:46px;height:46px;flex-shrink:0}.teacher-dashboard .agent-card .agent-info{flex:1;min-width:0}.teacher-dashboard .agent-card .agent-info h3{margin:0 0 2px;font-size:1rem;color:var(--text-primary)}.teacher-dashboard .agent-card .agent-info p{margin:0;font-size:.85rem;line-height:1.4;color:var(--text-secondary)}.teacher-dashboard .agent-card .agent-arrow{color:var(--text-secondary);font-size:1.2rem;flex-shrink:0}.teacher-dashboard .students-preview{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.teacher-dashboard .students-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.teacher-dashboard .student-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--card-bg);cursor:pointer}.teacher-dashboard .student-card:hover{border-color:var(--gold-500);box-shadow:var(--shadow-sm)}.teacher-dashboard .student-card .student-avatar{width:44px;height:44px;border-radius:50%;background:var(--navy-900, #0B1B3F);color:var(--gold-500);display:grid;place-items:center;flex-shrink:0}.teacher-dashboard .student-card .student-info{flex:1;min-width:0}.teacher-dashboard .student-card .student-info h3{margin:0 0 2px;font-size:1rem}.teacher-dashboard .student-card .student-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.teacher-dashboard .tl-add{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;margin-bottom:18px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-primary, var(--card-bg))}.teacher-dashboard .tl-add:focus-within{border-color:var(--gold-500);box-shadow:0 0 0 3px #f5b53d40}.teacher-dashboard .tl-add input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;padding:8px 0}.teacher-dashboard .tl-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--text-secondary)}.teacher-dashboard .tl-empty p{margin:0;max-width:60ch}.teacher-dashboard .tl-remove{border:0;background:none;color:var(--text-secondary);padding:8px;border-radius:8px;cursor:pointer}.teacher-dashboard .tl-remove:hover{background:#dc26261a;color:#dc2626}.teacher-dashboard .empty-state{text-align:center;padding:36px 16px;color:var(--text-secondary)}@media (max-width: 768px){.teacher-dashboard .dashboard-main,.teacher-dashboard .section,.teacher-dashboard .dashboard-section{padding:16px}.teacher-dashboard .tl-add{flex-wrap:wrap}.teacher-dashboard .tl-add .eg-btn{width:100%}}.teacher-dashboard .students-list .student-card{width:auto;max-width:none;min-width:0;margin:0}.teacher-dashboard .student-card .student-info{display:block;width:auto}.teacher-dashboard .student-card .student-info h3,.teacher-dashboard .student-card .student-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-dashboard .student-card .student-arrow{color:var(--text-secondary);flex-shrink:0}.teacher-dashboard .stats-grid .stat-card{width:auto;max-width:none}@media (max-width: 560px){.teacher-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard .stat-card{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width: 1024px){.teacher-dashboard{flex-direction:column}.teacher-dashboard .dashboard-sidebar{width:auto;height:auto;flex-direction:row;align-items:center;padding:10px 14px;overflow-x:auto;border-radius:0;transform:none;position:static}.teacher-dashboard .dashboard-sidebar .sidebar-header,.teacher-dashboard .sidebar-toggle{display:none}.teacher-dashboard .dashboard-sidebar .sidebar-nav{display:flex;flex-direction:row;gap:6px;padding:0;width:100%}.teacher-dashboard .dashboard-sidebar .nav-item{width:auto;flex:0 0 auto;white-space:nowrap;padding:9px 16px;border-radius:999px}.teacher-dashboard .dashboard-sidebar .nav-item.active:before{display:none}.teacher-dashboard .dashboard-main{width:100%;margin:0}}@media (min-width: 521px){.teacher-dashboard .dashboard-header{flex-direction:row;align-items:center;padding:20px 26px}}.teacher-dashboard .stat-card .stat-content p{line-height:1.25}.teacher-dashboard .section-header{flex-direction:row;text-align:left}.teacher-dashboard .section-header h2{justify-content:flex-start}@media (max-width: 560px){.teacher-dashboard .agent-grid,.teacher-dashboard .students-list{grid-template-columns:1fr}}.messaging-container{display:flex;height:600px;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;border:1px solid var(--border-color)}.conversations-sidebar{width:320px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.conversations-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--card-bg)}.conversations-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.unread-badge{background:#ef4444;color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:8px}.new-conversation-btn{background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:8px;cursor:pointer;display:flex;align-items:center;transition:all .2s}.new-conversation-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.search-container{padding:16px 20px;display:flex;align-items:center;gap:12px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.search-container input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;outline:none}.search-container input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.conversations-list{flex:1;overflow-y:auto}.no-conversations{padding:40px 20px;text-align:center;color:var(--text-tertiary)}.no-conversations p{margin:12px 0 4px;font-weight:500}.no-conversations small{font-size:12px;opacity:.7}.conversation-item{padding:16px 20px;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s;position:relative}.conversation-item:hover{background:var(--bg-secondary)}.conversation-item.active{background:var(--primary-soft);border-right:3px solid var(--primary-color)}.conversation-avatar{width:40px;height:40px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.conversation-info{flex:1;min-width:0}.conversation-name{font-weight:600;color:var(--text-primary);margin-bottom:2px;font-size:14px}.conversation-type{font-size:12px;color:var(--primary-color);font-weight:500;text-transform:capitalize;margin-bottom:4px}.conversation-preview{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.conversation-time{font-size:11px;color:var(--text-tertiary)}.conversation-unread{background:#ef4444;color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600;min-width:18px;text-align:center}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--card-bg)}.chat-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--card-bg)}.chat-user-info{display:flex;align-items:center;gap:12px}.chat-user-name{font-weight:600;color:var(--text-primary);font-size:16px}.chat-user-type{font-size:12px;color:var(--primary-color);font-weight:500;text-transform:capitalize}.chat-actions{display:flex;align-items:center;gap:12px}.connection-status{font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px}.connection-status.connected{color:#059669;background:#d1fae5}.connection-status.disconnected{color:#dc2626;background:#fee2e2}.chat-action-btn{background:none;border:none;padding:8px;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:all .2s}.chat-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.messages-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.no-messages{text-align:center;color:var(--text-tertiary);padding:40px 20px}.no-messages p{margin:12px 0 4px;font-weight:500}.no-messages small{font-size:12px;opacity:.7}.message{display:flex;max-width:70%}.message.sent{margin-left:auto;justify-content:flex-end}.message.received{margin-right:auto;justify-content:flex-start}.message-content{background:var(--bg-secondary);padding:12px 16px;border-radius:18px;position:relative}.message.sent .message-content{background:var(--primary-color);color:#fff}.message.received .message-content{background:var(--bg-secondary);color:var(--text-primary)}.message-content p{margin:0 0 8px;line-height:1.4;word-wrap:break-word}.message-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;opacity:.7}.message-time{white-space:nowrap}.message-status{display:flex;align-items:center}.message-input{padding:20px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:12px;background:var(--card-bg)}.message-input input{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:25px;font-size:14px;outline:none;transition:all .2s}.message-input input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.message-input input:disabled{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed}.message-input button{background:var(--primary-color);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.message-input button:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.message-input button:disabled{background:var(--bg-tertiary);cursor:not-allowed;transform:none}.no-active-conversation{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);padding:40px;text-align:center}.no-active-conversation h3{margin:16px 0 8px;color:var(--text-primary)}.no-active-conversation p{margin:0;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg);border-radius:12px;width:90%;max-width:400px;max-height:80vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.modal-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-header button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-tertiary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-body{padding:20px;max-height:400px;overflow-y:auto}.modal-search{margin-bottom:16px;position:relative}.modal-search input{width:100%;padding:12px 16px 12px 40px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;outline:none;transition:all .2s}.modal-search input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.modal-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.users-list{display:flex;flex-direction:column;gap:8px}.user-item{padding:12px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s}.user-item:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.user-details{flex:1}.user-name{font-weight:600;color:var(--text-primary);margin-bottom:4px}.user-info{display:flex;gap:8px;flex-wrap:wrap}.user-subject,.user-school{font-size:12px;color:var(--text-tertiary);background:var(--bg-secondary);padding:2px 8px;border-radius:12px}.user-name{font-weight:500;color:var(--text-primary);font-size:14px}.user-type{font-size:12px;color:var(--primary-color);font-weight:500;text-transform:capitalize}.error-message{position:fixed;top:20px;right:20px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:1001;min-width:300px}.error-message button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.messaging-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary)}.messaging-loading p{margin:16px 0 0;font-size:14px}@media (max-width: 768px){.messaging-container{height:100vh;border-radius:0}.conversations-sidebar{width:100%;position:absolute;z-index:10;height:100%}.chat-area{width:100%}.message{max-width:85%}.modal-content{width:95%;margin:0 10px}}.eg-announcements{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.eg-announcement{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--border-color);border-left:4px solid var(--accent-color);background:var(--card-bg);box-shadow:var(--shadow-sm);color:var(--text-primary);animation:fadeIn .2s ease}.eg-announcement-icon{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-text)}.eg-announcement-body{flex:1;min-width:0}.eg-announcement-body h3{margin:0 0 4px;font-size:1rem;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.eg-announcement-body p{margin:0;font-size:.92rem;line-height:1.55;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.eg-announcement-body time{display:block;margin-top:6px;font-size:.78rem;color:var(--text-tertiary)}.eg-announcement-close{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-tertiary);transition:background-color .15s,color .15s}.eg-announcement-close:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 480px){.eg-announcement{padding:14px;gap:10px}.eg-announcement-icon{width:32px;height:32px}}.student-dashboard{display:flex;min-height:100vh;background:var(--gray-50);font-family:var(--font-family);width:100%;box-sizing:border-box}.main-content{flex:1;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;width:100%}.dashboard-content{flex:1;padding:var(--spacing-lg);width:100%;box-sizing:border-box}.sidebar{width:280px;background:var(--card-bg);border-right:1px solid var(--gray-200);padding:var(--spacing-lg) 0;overflow-y:auto;flex-shrink:0;transition:transform var(--transition-normal)}.sidebar-header{padding:0 var(--spacing-lg) var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.sidebar-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.sidebar-header h2{margin:0;color:var(--gray-900);font-size:18px;font-weight:600}.sidebar-close-btn{background:none;border:none;color:var(--gray-500);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:none;transition:all var(--transition-fast)}.sidebar-close-btn:hover{background:var(--gray-100);color:var(--gray-900)}.student-info{display:flex;align-items:center;gap:var(--spacing-sm)}.student-avatar{width:40px;height:40px;background:var(--primary-blue);color:var(--white);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.student-info h4{margin:0;color:var(--gray-900);font-size:14px;font-weight:600}.student-info p{margin:0;color:var(--gray-500);font-size:12px}.sidebar-nav{padding:var(--spacing-lg) 0}.nav-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;background:none;color:var(--gray-500);font-size:14px;cursor:pointer;transition:all var(--transition-fast);text-align:left}.nav-item:hover{background:var(--gray-100);color:var(--primary-blue)}.nav-item.active{background:var(--primary-light);color:var(--primary-blue);border-right:2px solid var(--primary-blue)}.notification-badge{background:var(--danger-red);color:var(--white);border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600;margin-left:auto}.sidebar-footer{border-top:1px solid var(--gray-200);padding-top:var(--spacing-lg)}.top-bar{height:64px;background:var(--card-bg);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);gap:var(--spacing-md)}.mobile-menu-btn{display:none}.search-bar{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--gray-100);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);flex:1;max-width:400px}.search-bar input{border:none;background:none;outline:none;color:var(--gray-900);font-size:14px;width:100%}.search-bar input::placeholder{color:var(--gray-500)}.top-bar-actions{display:flex;gap:var(--spacing-xs)}.icon-btn{width:40px;height:40px;border:none;background:var(--gray-100);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);position:relative}.icon-btn:hover{background:var(--gray-200)}.notification-dot{position:absolute;top:-2px;right:-2px;background:var(--danger-red);color:var(--white);border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.welcome-section{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.learning-streak-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border:none}.welcome-text h2{margin:0 0 var(--spacing-xs) 0;font-size:24px}.welcome-text p{margin:0;opacity:.9}.level-info{display:flex;align-items:center;gap:var(--spacing-md)}.level-badge,.points-display{background:#fff3;padding:var(--spacing-xs) var(--spacing-md);border-radius:20px;font-weight:600}.points-display{display:flex;align-items:center;gap:var(--spacing-xs)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:var(--spacing-xl)}.stat-card{background:var(--card-bg);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--gray-200);display:flex;align-items:center;gap:var(--spacing-md)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--white);flex-shrink:0}.stat-icon.lessons{background:var(--primary-blue)}.stat-icon.streak{background:var(--success-green)}.stat-icon.badges{background:var(--warning-orange)}.stat-icon.rank{background:var(--purple)}.stat-info h3{margin:0 0 4px;font-size:20px;color:var(--gray-900)}.stat-info p{margin:0;color:var(--gray-500);font-size:14px}.progress-bar{background:var(--gray-200);height:4px;border-radius:2px;margin-top:var(--spacing-xs);overflow:hidden}.progress{background:var(--primary-blue);height:100%;border-radius:2px;transition:width var(--transition-normal)}.dashboard-section{background:var(--card-bg);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin-bottom:var(--spacing-lg)}.dashboard-section h3{margin:0 0 var(--spacing-md) 0;color:var(--gray-900);font-size:18px;font-weight:600}.learning-streak-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:none}.learning-streak-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-header h2{margin:0;color:var(--gray-900);font-size:24px;font-weight:600}.agents-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.agents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.agent-card{background:var(--gray-50);border:2px solid var(--gray-100);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;align-items:center;text-align:center;min-height:140px}.agent-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.agent-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-sm);color:var(--white);flex-shrink:0}.agent-icon svg{width:24px;height:24px}.agent-info{width:100%}.agent-info h4{font-size:15px;font-weight:600;color:var(--gray-900);margin:0 0 4px}.agent-info p{font-size:13px;color:var(--gray-500);margin:0;line-height:1.4}.agent-usage-stats{padding:var(--spacing-md) 0}.usage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.usage-stat{text-align:center;padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md)}.usage-stat h4{font-size:24px;font-weight:700;color:var(--primary-blue);margin:0 0 4px}.usage-stat p{font-size:12px;color:var(--gray-500);margin:0}.usage-bars{display:flex;flex-direction:column;gap:var(--spacing-sm)}.usage-bar-item{display:flex;flex-direction:column;gap:4px}.usage-label{font-size:13px;color:var(--gray-900);font-weight:500}.usage-bar-container{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--gray-100);border-radius:4px;padding:2px;min-height:28px}.usage-bar{height:24px;border-radius:4px;transition:width var(--transition-normal);min-width:2px;animation:progressFill 1.5s ease-out forwards}@keyframes progressFill{0%{width:0%}}.usage-count{font-size:12px;color:var(--gray-500);font-weight:600;min-width:30px;text-align:right}.primary-btn,.secondary-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.primary-btn{background:var(--primary-blue);color:var(--white)}.primary-btn:hover{background:var(--primary-dark)}.secondary-btn{background:var(--card-bg);color:var(--primary-blue);border:1px solid var(--primary-blue)}.secondary-btn:hover{background:var(--primary-light)}.join-btn{background:var(--success-green);color:var(--white);border:none;padding:6px var(--spacing-sm);border-radius:var(--radius-sm);display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;transition:background var(--transition-fast)}.join-btn:hover{background:#059669}.activity-list,.schedule-list,.learning-path{display:flex;flex-direction:column;gap:var(--spacing-sm)}.activity-item,.lesson-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.activity-item:hover,.lesson-item:hover{border-color:var(--primary-blue)}.activity-icon,.lesson-time{font-weight:600;color:var(--primary-blue);font-size:14px;min-width:60px}.activity-content,.lesson-details{flex:1}.activity-content p,.lesson-details h4{margin:0 0 2px;font-size:14px;color:var(--gray-900)}.activity-content .activity-meta,.lesson-details p{margin:0;font-size:12px;color:var(--gray-500);display:flex;align-items:center;gap:var(--spacing-xs)}.points{background:var(--success-green);color:var(--white);padding:2px 6px;border-radius:4px;font-weight:600}.no-data{text-align:center;color:var(--gray-500);font-size:14px;padding:20px}.loading-screen,.error-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md)}.loading-spinner{animation:spin 1s linear infinite}.error-screen h3{color:var(--gray-900);margin:0}.error-screen p{color:var(--gray-500);margin:0}.retry-btn{background:var(--primary-blue);color:var(--white);border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.retry-btn:hover{background:var(--primary-dark)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998}.sidebar-overlay.show{display:block}@media (max-width: 1024px){.agents-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.student-dashboard{flex-direction:column}.sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;z-index:999;transform:translate(-100%);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-close-btn{display:flex}.main-content{width:100%;margin-left:0}.mobile-menu-btn{display:flex}.top-bar{padding:0 var(--spacing-md);height:56px}.search-bar{max-width:200px}.dashboard-content{padding:var(--spacing-md)}.welcome-section{flex-direction:column;text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md)}.welcome-text h2{font-size:20px}.level-info{justify-content:center}.stats-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.stat-card{padding:var(--spacing-md)}.agents-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.agent-card{min-height:120px;padding:var(--spacing-md)}.agent-icon{width:40px;height:40px}.agent-info h4{font-size:14px}.agent-info p{font-size:12px}.usage-bars{gap:var(--spacing-md)}.usage-bar{height:28px}}@media (max-width: 480px){.sidebar{width:260px}.top-bar{padding:0 var(--spacing-sm);flex-wrap:wrap}.search-bar{width:100%;order:3;margin-top:var(--spacing-xs)}.welcome-text h2{font-size:18px}.level-badge,.points-display{padding:6px var(--spacing-sm);font-size:12px}.agents-grid{grid-template-columns:1fr;gap:var(--spacing-xs)}.agent-card{flex-direction:row;text-align:left;min-height:auto;padding:var(--spacing-sm)}.agent-icon{width:36px;height:36px;margin-bottom:0;margin-right:var(--spacing-sm)}.agent-info{text-align:left}.agent-info h4{font-size:13px}.agent-info p{font-size:11px}.usage-summary{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.usage-stat{padding:var(--spacing-xs)}.usage-stat h4{font-size:20px}.usage-bar-container{flex-direction:column;align-items:flex-start;gap:4px}.usage-count{text-align:left}.leaderboard-filters{width:100%}.filter-btn{flex:1;min-width:70px}.info-grid{grid-template-columns:1fr}.profile-section{margin-bottom:var(--spacing-lg)}.session-card{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.session-time{width:100%;text-align:left}.path-item{padding:var(--spacing-sm)}.path-info h4{font-size:13px}}@media (max-width: 768px) and (orientation: landscape){.welcome-section{flex-direction:row;padding:var(--spacing-md) var(--spacing-lg)}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.student-dashboard{max-width:1400px;margin:0 auto}.sidebar{width:320px}.dashboard-content{max-width:1200px;margin:0 auto}.agents-grid,.stats-grid{grid-template-columns:repeat(4,1fr)}}.section-subtitle{color:var(--gray-500);font-size:14px;margin:4px 0 0}.leaderboard-filters{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.filter-btn{background:var(--gray-100);color:var(--gray-500);border:none;padding:6px var(--spacing-sm);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all var(--transition-fast);font-weight:500}.filter-btn:hover{background:var(--gray-200);color:var(--gray-700)}.filter-btn.active{background:var(--primary-blue);color:var(--white)}.current-user{background:var(--primary-light)!important;border-left:3px solid var(--primary-blue)!important}.profile-section{margin-bottom:var(--spacing-xl)}.profile-section:last-child{margin-bottom:0}.profile-section h3{margin:0 0 var(--spacing-md) 0;color:var(--gray-900);font-size:16px;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.info-item span,.info-item p{font-size:14px;color:var(--gray-900)}.schedule-container{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.sessions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.session-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-sm)}.session-time{text-align:center;min-width:60px}.session-time .time{font-size:16px;font-weight:600;color:var(--gray-900);display:block}.session-time .duration{font-size:12px;color:var(--gray-500);display:block;margin-top:2px}.session-details{flex:1}.session-details h4{margin:0 0 4px;color:var(--gray-900);font-size:14px;font-weight:600}.session-details p{margin:0;color:var(--gray-500);font-size:13px}.session-type{background:var(--primary-light);color:var(--primary-blue);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;display:inline-block;margin-top:4px}.no-sessions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--gray-500);gap:var(--spacing-md);text-align:center}.no-sessions h3{margin:0;color:var(--gray-700);font-size:18px}.no-sessions p{margin:0;font-size:14px}.path-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.path-item:hover{border-color:var(--primary-blue)}.path-item.completed{border-color:var(--success-green);background:#f0fdf4}.path-item.in_progress{border-color:var(--primary-blue);background:var(--primary-light)}.path-item.not_started{border-color:var(--gray-200);background:var(--gray-50)}.path-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-blue)}.path-item.completed .path-icon{color:var(--success-green)}.path-item.not_started .path-icon{color:var(--gray-400)}.path-info{flex:1}.path-info h4{margin:0 0 4px;font-size:14px;color:var(--gray-900);font-weight:600}.path-progress{display:flex;align-items:center;gap:var(--spacing-xs)}.path-progress .progress-bar{flex:1;margin:0}.path-progress span{font-size:12px;color:var(--gray-500);font-weight:600;min-width:40px;text-align:right}.hidden{display:none!important}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.dark-theme .logout-btn{background:var(--error-color)}.dark-theme .logout-btn:hover{background:#dc2626}.dark-theme .mobile-menu-btn{background:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .mobile-menu-btn:hover{background:var(--border-color)}.dark-theme .close-sidebar-btn{background:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .dashboard-content{background:var(--bg-primary)}.dark-theme .welcome-banner{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%)}.dark-theme .welcome-banner h2,.dark-theme .welcome-banner p{color:#fff}.dark-theme .stats-card{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .stats-card h3{color:var(--text-secondary)}.dark-theme .stats-card .stat-value{color:var(--text-primary)}.dark-theme .stats-card .stat-change{color:var(--text-tertiary)}.dark-theme .stats-card .stat-icon{background:var(--bg-tertiary)}.dark-theme .stat-card{background:var(--card-bg)!important;border:1px solid var(--border-color)!important}.dark-theme .stat-card .stat-info h3{color:var(--text-primary)!important}.dark-theme .stat-card .stat-info p{color:var(--text-secondary)!important}.dark-theme .stat-card .stat-icon{opacity:.9}.dark-theme .quick-actions .action-card{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .quick-actions .action-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2a4f9e33}.dark-theme .action-card h3,.dark-theme .action-card p{color:var(--text-primary)}.dark-theme .recent-activity{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .recent-activity h3{color:var(--text-primary)}.dark-theme .activity-item{background:var(--bg-secondary);border:1px solid var(--border-color)}.dark-theme .activity-item:hover{background:var(--bg-tertiary)}.dark-theme .activity-item strong{color:var(--text-primary)}.dark-theme .activity-time{color:var(--text-tertiary)}.dark-theme .progress-section{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .progress-section h3{color:var(--text-primary)}.dark-theme .progress-item{border-bottom-color:var(--border-color)}.dark-theme .progress-item span:first-child{color:var(--text-secondary)}.dark-theme .progress-bar-bg{background:var(--bg-tertiary)}.dark-theme .btn-primary{background:var(--primary-color)}.dark-theme .btn-primary:hover{background:var(--primary-hover)}.dark-theme .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .btn-secondary:hover{background:var(--border-color)}.dark-theme .btn-success{background:var(--success-color)}.dark-theme .loading-container,.dark-theme .error-container{background:var(--bg-primary);color:var(--text-primary)}.dark-theme .error-message{background:#f871711a;border-color:var(--error-color);color:var(--error-color)}.dark-theme .empty-state{background:var(--card-bg);border:2px dashed var(--border-color);color:var(--text-secondary)}.dark-theme .achievement-badge{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .achievement-badge:hover{border-color:var(--primary-color)}.dark-theme .leaderboard-item{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .leaderboard-item:hover{background:var(--bg-tertiary)}.dark-theme .chart-container{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .modal-overlay{background:#000c}.dark-theme .modal{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .modal h2,.dark-theme .modal h3{color:var(--text-primary)}.dark-theme .tooltip,.dark-theme .performance-badge{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.dark-theme .performance-badge.excellent{background:#34d39926;color:var(--success-color);border-color:var(--success-color)}.dark-theme .performance-badge.good{background:#60a5fa26;color:var(--info-color);border-color:var(--info-color)}.dark-theme .performance-badge.needs-improvement{background:#fbbf2426;color:var(--warning-color);border-color:var(--warning-color)}.dark-theme .notification-badge{background:var(--error-color);color:#fff}.dark-theme .card:hover,.dark-theme .widget:hover{box-shadow:0 8px 16px #0000004d}.dark-theme input,.dark-theme textarea,.dark-theme select{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary)}.dark-theme input::placeholder,.dark-theme textarea::placeholder{color:var(--text-tertiary)}.dark-theme input:focus,.dark-theme textarea:focus,.dark-theme select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.dark-theme .dropdown-menu{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 10px 30px #00000080}.dark-theme .dropdown-item{color:var(--text-primary)}.dark-theme .dropdown-item:hover{background:var(--bg-tertiary)}.dark-theme hr,.dark-theme .divider{border-color:var(--border-color)}.dark-theme .tag,.dark-theme .badge{background:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .subject-pill,.dark-theme .topic-pill{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.dark-theme .subject-pill:hover,.dark-theme .topic-pill:hover{background:var(--border-color);border-color:var(--primary-color)}.dark-theme .dashboard-section{background:var(--card-bg)!important;border-color:var(--border-color)!important}.dark-theme .dashboard-section h2,.dark-theme .dashboard-section h3,.dark-theme .dashboard-section h4{color:var(--text-primary)!important}.dark-theme .learning-streak-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%)!important;border:none!important;color:#fff!important}.dark-theme .learning-streak-section h3,.dark-theme .learning-streak-section h2,.dark-theme .learning-streak-section p{color:#fff!important}.dark-theme .streak-stat{background:#ffffff26!important;border:1px solid rgba(255,255,255,.2)!important}.dark-theme .streak-stat-label{color:#ffffffe6!important}.dark-theme .streak-stat-value{color:#fff!important}.dark-theme .agents-section{background:var(--card-bg)!important;border-color:var(--border-color)!important}.dark-theme .agents-section h2,.dark-theme .agents-section h3{color:var(--text-primary)!important}.dark-theme .agent-card{background:var(--bg-secondary)!important;border-color:var(--border-color)!important}.dark-theme .agent-card:hover{border-color:var(--primary-color)!important;background:var(--bg-tertiary)!important}.dark-theme .agent-info h4{color:var(--text-primary)!important}.dark-theme .agent-info p{color:var(--text-secondary)!important}.dark-theme .section-header h2{color:var(--text-primary)!important}.dark-theme .activity-section,.dark-theme .learning-activity,.dark-theme .recent-activity-section{background:var(--card-bg)!important;border:1px solid var(--border-color)!important}.dark-theme .activity-section h3,.dark-theme .learning-activity h3,.dark-theme .recent-activity-section h3,.dark-theme .activity-stat{color:var(--text-primary)!important}.dark-theme .activity-label{color:var(--text-secondary)!important}.dark-theme .activity-card{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important}.dark-theme .activity-card:hover{background:var(--bg-tertiary)!important}.dark-theme .stat-number{color:var(--text-primary)!important}.dark-theme .stat-label{color:var(--text-secondary)!important}.dark-theme .grid-item{background:var(--card-bg)!important;border:1px solid var(--border-color)!important}.dark-theme .grid-item:hover{border-color:var(--primary-color)!important}.dark-theme .search-bar{background:var(--bg-tertiary)!important}.dark-theme .search-bar input{color:var(--text-primary)!important;background:transparent!important}.dark-theme .search-bar input::placeholder{color:var(--text-tertiary)!important}.dark-theme .icon-btn{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.dark-theme .icon-btn:hover{background:var(--border-color)!important}.dark-theme .section-header h2{color:var(--text-primary)}.dark-theme .activity-section,.dark-theme .learning-activity,.dark-theme .recent-activity-section{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .activity-section h3,.dark-theme .learning-activity h3,.dark-theme .recent-activity-section h3,.dark-theme .activity-stat{color:var(--text-primary)}.dark-theme .activity-label{color:var(--text-secondary)}.dark-theme .activity-card{background:var(--bg-secondary);border:1px solid var(--border-color)}.dark-theme .activity-card:hover{background:var(--bg-tertiary)}.dark-theme .stat-number{color:var(--text-primary)}.dark-theme .stat-label{color:var(--text-secondary)}.dark-theme .grid-item{background:var(--card-bg);border:1px solid var(--border-color)}.dark-theme .grid-item:hover{border-color:var(--primary-color)}.dark-theme .agent-usage-stats,.dark-theme .usage-summary{background:transparent}.dark-theme .usage-stat{background:var(--bg-secondary)!important;border:1px solid var(--border-color)}.dark-theme .usage-stat h4{color:var(--primary-color)!important}.dark-theme .usage-stat p{color:var(--text-secondary)!important}.dark-theme .usage-label{color:var(--text-primary)!important}.dark-theme .usage-bar-container{background:var(--bg-tertiary)!important}.dark-theme .usage-count,.dark-theme .stat-info h3,.dark-theme .stat-info p,.dark-theme .stat-info span{color:var(--text-primary)!important}.dark-theme .stat-info p{color:var(--text-secondary)!important}.points-widget{background-color:var(--card-bg);border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000d;margin-bottom:20px}.points-widget.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.points-widget.error{border-left:4px solid #f44336;background-color:#fff8f8}.points-widget.empty{border-left:4px solid #9e9e9e;background-color:#f9f9f9;text-align:center;padding:30px}.points-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.points-actions{display:flex;align-items:center;gap:15px}.refresh-button{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:var(--primary-color);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.refresh-button:hover{background-color:var(--bg-secondary);transform:scale(1.05)}.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.refresh-button .spinning{animation:spin 1s linear infinite}.points-total,.points-rank{display:flex;align-items:center}.points-icon{margin-right:12px;color:var(--primary-color)}.points-total h3,.points-rank h3{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.points-total p,.points-rank p{margin:0;font-size:14px;color:var(--text-tertiary)}.points-breakdown h4,.points-leaderboard h4{font-size:16px;font-weight:600;margin:0 0 15px;color:var(--text-primary)}.points-categories{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.points-category{background-color:#f9f9f9;border-radius:8px;padding:10px 15px;display:flex;align-items:center;flex:1;min-width:100px}.category-icon{margin-right:8px}.category-icon.quiz{color:#ec4899}.category-icon.tutor{color:#10b981}.category-icon.summarizing{color:var(--primary-color)}.category-name{font-size:14px;font-weight:500;flex:1;color:var(--text-tertiary)}.category-value{font-weight:700;font-size:20px;color:var(--text-primary);margin-left:8px}.leaderboard-list{list-style:none;padding:0;margin:0}.leaderboard-list li{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.leaderboard-list li:last-child{border-bottom:none}.leaderboard-list li.current-user{background-color:#f0f9ff;border-radius:6px;padding:10px;margin:0 -10px;font-weight:600}.leaderboard-rank{width:40px;font-weight:600;color:var(--primary-color)}.leaderboard-name{flex:1;font-size:14px}.leaderboard-points{font-weight:700;font-size:18px;color:var(--text-primary)}@media (max-width: 768px){.points-header{flex-direction:column;align-items:flex-start}.points-rank{margin-top:15px}.points-categories{flex-direction:column}}.dark-theme .points-widget{background-color:var(--card-bg);box-shadow:0 4px 12px #0000004d;border:1px solid var(--border-color)}.dark-theme .points-widget.error{background-color:#f871711a;border-left-color:var(--error-color)}.dark-theme .points-widget.empty{background-color:var(--bg-secondary);border-left-color:var(--text-tertiary)}.dark-theme .points-header{border-bottom-color:var(--border-color)}.dark-theme .refresh-button{color:var(--primary-color)}.dark-theme .refresh-button:hover{background-color:var(--bg-tertiary)}.dark-theme .points-icon{color:var(--primary-color)}.dark-theme .points-total h3,.dark-theme .points-rank h3{color:var(--text-primary)}.dark-theme .points-total p,.dark-theme .points-rank p{color:var(--text-secondary)}.dark-theme .points-category{background-color:var(--bg-secondary);border:1px solid var(--border-color)}.dark-theme .points-category:hover{background-color:var(--bg-tertiary)}.dark-theme .points-category-label{color:var(--text-secondary)}.dark-theme .points-category-value{color:var(--text-primary)}.dark-theme .leaderboard-section{border-top-color:var(--border-color)}.dark-theme .leaderboard-section h4{color:var(--text-primary)}.dark-theme .leaderboard-item{background-color:var(--bg-secondary);border:1px solid var(--border-color)}.dark-theme .leaderboard-item:hover{background-color:var(--bg-tertiary)}.dark-theme .leaderboard-rank,.dark-theme .leaderboard-name{color:var(--text-primary)}.dark-theme .leaderboard-score{color:var(--primary-color)}.dark-theme .points-loader{color:var(--text-secondary)}.dark-theme .points-breakdown h4,.dark-theme .points-leaderboard h4{color:var(--text-primary)!important}.dark-theme .category-name{color:var(--text-secondary)!important}.dark-theme .category-value{color:#fff!important;font-weight:700;font-size:20px}.dark-theme .leaderboard-points{color:#fff!important;font-weight:700}.dark-theme .leaderboard-list li.current-user{background-color:#2a4f9e26!important}.dark-theme .current-user .leaderboard-name{color:var(--text-primary)!important}.learning-streak-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border-radius:20px;padding:24px;color:#fff;box-shadow:0 10px 30px #2a4f9e4d;transition:all .3s ease;position:relative;overflow:hidden;margin:20px 0}.learning-streak-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.learning-streak-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #2a4f9e66}.learning-streak-card.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);box-shadow:0 10px 30px #2a4f9e66}.learning-streak-card.at-risk{background:linear-gradient(135deg,var(--accent-color) 0%,#dc2626 100%);box-shadow:0 10px 30px #f59e0b4d}.learning-streak-card.inactive{background:linear-gradient(135deg,#868f96,#596164);box-shadow:0 10px 30px #868f964d}.streak-error-banner{background:#ef4444e6;padding:8px 12px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:8px;font-size:.875rem;position:relative;z-index:1}.streak-error-banner .error-icon{font-size:1rem}.streak-error-banner .error-text{flex:1}.streak-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative;z-index:1}.streak-header h3{margin:0;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:8px}.active-badge,.at-risk-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.active-badge{background:#ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.at-risk-badge{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.streak-content{display:flex;align-items:center;justify-content:center;gap:20px;margin:30px 0;position:relative;z-index:1}.streak-flame{font-size:4rem}.flame-icon{display:inline-block;transition:all .3s ease;filter:grayscale(100%);opacity:.5}.flame-icon.burning{filter:grayscale(0%);opacity:1;animation:flicker 2s ease-in-out infinite}@keyframes flicker{0%,to{transform:scale(1) rotate(-5deg);filter:brightness(1)}25%{transform:scale(1.05) rotate(5deg);filter:brightness(1.2)}50%{transform:scale(.95) rotate(-3deg);filter:brightness(.9)}75%{transform:scale(1.02) rotate(3deg);filter:brightness(1.1)}}.streak-number{text-align:center}.streak-number .number{display:block;font-size:3.5rem;font-weight:800;line-height:1;text-shadow:2px 2px 8px rgba(0,0,0,.2)}.streak-number .label{display:block;font-size:1rem;font-weight:500;opacity:.9;margin-top:8px}.streak-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:24px 0;position:relative;z-index:1}.detail-item{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 16px;border-radius:12px;display:flex;flex-direction:column;gap:4px;transition:all .3s ease}.detail-item:hover{background:#ffffff40;transform:translateY(-2px)}.detail-label{font-size:.875rem;opacity:.9;font-weight:500}.detail-value{font-size:1.125rem;font-weight:700}.streak-motivation{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;border-radius:12px;text-align:center;margin-top:20px;position:relative;z-index:1;border:2px solid rgba(255,255,255,.3)}.streak-motivation p{margin:0 0 8px;font-size:1.125rem;font-weight:600}.streak-motivation small{font-size:.875rem;opacity:.9}.streak-motivation.start{background:#ffffff26}.streak-motivation.active{background:#ffffff40;animation:fadeIn .5s ease-in-out}.streak-motivation.champion{background:linear-gradient(135deg,#ffd7004d,#ffa5004d);border-color:#ffd70080;box-shadow:0 0 20px #ffd7004d}.streak-motivation.warning{background:#ffc1074d;border-color:#ffc10780;animation:shake .5s ease-in-out}.streak-motivation.expired{background:#ef44444d;border-color:#ef444480}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.streak-progress{margin-top:24px;position:relative;z-index:1}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:10px;transition:width .8s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-label{margin-top:8px;text-align:center;font-size:.875rem;font-weight:500;opacity:.95}.streak-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.streak-loading span{font-size:1rem;font-weight:500;opacity:.9}@media (max-width: 768px){.learning-streak-card{padding:20px;margin:16px 0}.streak-header h3{font-size:1.25rem}.streak-content{gap:16px;margin:20px 0}.streak-flame{font-size:3rem}.streak-number .number{font-size:2.5rem}.streak-number .label{font-size:.875rem}.streak-details{grid-template-columns:1fr;gap:12px}.detail-item{padding:10px 14px}.streak-motivation p{font-size:1rem}.streak-motivation small{font-size:.8125rem}}@media (max-width: 480px){.learning-streak-card{padding:16px;border-radius:16px}.streak-header{flex-direction:column;align-items:flex-start;gap:8px}.streak-content{flex-direction:column;gap:12px}.streak-flame{font-size:2.5rem}.streak-number .number{font-size:2rem}}@media (prefers-color-scheme: dark){.learning-streak-card{box-shadow:0 10px 30px #00000080}.detail-item{background:#0003}.streak-motivation{background:#0000004d;border-color:#fff3}}.learning-streak-card:focus-within{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}@media print{.learning-streak-card{background:var(--card-bg)!important;color:#000!important;box-shadow:none!important;border:2px solid var(--border-color)}.learning-streak-card:before{display:none}.flame-icon,.detail-item,.streak-motivation{background:transparent!important;color:#000!important}}.rt{display:flex;flex-direction:column;gap:16px}.rt h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.rt-muted{color:var(--text-tertiary);font-size:.9rem;margin:0}.rt-loading{color:var(--text-tertiary);text-align:center}.rt-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.rt-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:16px}.rt-add-btn{padding:10px 18px}.rt-next{display:flex;flex-direction:column;gap:2px;padding:14px 16px;margin-bottom:14px;border-radius:var(--radius-md);background:var(--gradient-hero);color:#fff;border-left:4px solid var(--gold-500)}.rt-next-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400)}.rt-next strong{font-size:1.1rem}.rt-next span:last-child{font-size:.88rem;color:#ffffffbf}.rt-list{display:flex;flex-direction:column;gap:10px}.rt-progress{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.rt-progress p{margin:0;color:var(--text-secondary)}.rt-ring{--rt-progress: 0deg;position:relative;width:116px;height:116px;margin:8px 0 4px;border-radius:50%;background:conic-gradient(var(--gold-500) var(--rt-progress),var(--bg-tertiary) 0);display:flex;align-items:center;justify-content:center}.rt-ring:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:var(--card-bg)}.rt-ring span{position:relative;font-size:1.5rem;font-weight:800;color:var(--text-primary)}.rt-session{--rt-color: var(--navy-900);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid var(--rt-color);transition:box-shadow .2s,opacity .2s}.rt-session:hover{box-shadow:var(--shadow-sm)}.rt-session.done{opacity:.7;background:var(--success-soft)}.rt-session.done .rt-session-subject{text-decoration:line-through;text-decoration-color:var(--success-color)}.rt-session-main{display:flex;flex-direction:column;min-width:0}.rt-session-time{font-size:.78rem;font-weight:600;color:var(--text-tertiary)}.rt-session-subject{font-size:.95rem;color:var(--text-primary)}.rt-session-topic,.rt-session-notes{font-size:.82rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.rt-session-notes{font-style:italic;color:var(--text-tertiary)}.rt-session-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.rt-session.compact{flex-direction:column;align-items:stretch;padding:8px 10px;gap:6px}.rt-session.compact .rt-session-actions{justify-content:flex-end}.rt-session.compact .rt-session-subject{font-size:.85rem}.rt-check{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;min-width:0;padding:0;border-radius:50%;border:2px solid var(--border-strong);background:transparent;color:transparent;transition:all .15s}.rt-check:hover{border-color:var(--success-color);color:var(--success-color)}.rt-check.checked{background:var(--success-color);border-color:var(--success-color);color:#fff}.rt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.rt-study-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;min-height:0;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-text);font-size:.8rem;font-weight:700;white-space:nowrap}.rt-study-btn:hover{background:var(--gold-500);color:var(--navy-900)}.rt-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:0;min-width:0;padding:0;border-radius:8px;background:transparent;color:var(--text-tertiary)}.rt-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.rt-icon-btn.danger:hover{background:var(--error-soft);color:var(--error-color)}.rt-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:32px 24px}.rt-empty p{max-width:520px;margin:0;color:var(--text-secondary)}.rt-empty-icon{color:var(--gold-600)}.rt-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.rt-form{display:flex;flex-direction:column;gap:14px}.rt-form-head{display:flex;align-items:center;justify-content:space-between}.rt-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.rt-field label,.rt-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.rt-optional{font-weight:400;color:var(--text-tertiary)}.rt-hint{color:var(--text-tertiary);font-size:.8rem}.rt-form select,.rt-input{width:100%;height:44px;padding:0 12px;border-radius:var(--radius-md);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:.95rem}.rt-form select:focus,.rt-input:focus{border-color:var(--accent-color);box-shadow:var(--shadow-focus);outline:none}.rt-days{display:flex;flex-wrap:wrap;gap:6px}.rt-day-chip{min-width:52px;min-height:0;padding:8px 10px;border-radius:var(--radius-full);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-secondary);font-weight:600;font-size:.85rem}.rt-day-chip.selected{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.dark-theme .rt-day-chip.selected{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-900)}.rt-time-row{display:flex;align-items:flex-end;gap:12px}.rt-duration{height:44px;display:flex;align-items:center;padding:0 12px;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;white-space:nowrap}.rt-error{padding:10px 14px;border-radius:var(--radius-md);background:var(--error-soft);color:var(--error-color);font-size:.9rem}.rt-form-actions{display:flex;justify-content:flex-end;gap:10px}.rt-form-actions .eg-btn:disabled{opacity:.5;cursor:not-allowed}.rt-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.rt-col{display:flex;flex-direction:column;min-width:0;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid transparent}.rt-col.today{border-color:var(--gold-500);background:var(--accent-soft)}.rt-col-head{display:flex;align-items:baseline;justify-content:space-between;padding:10px 10px 6px;font-weight:700;color:var(--text-primary)}.rt-col-head small{color:var(--text-tertiary);font-weight:600}.rt-col-body{display:flex;flex-direction:column;gap:6px;padding:0 6px 8px}.rt-add-slot{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:0;padding:8px;border-radius:var(--radius-sm);border:1.5px dashed var(--border-strong);background:transparent;color:var(--text-tertiary);font-size:.8rem;font-weight:600}.rt-add-slot:hover{border-color:var(--accent-color);color:var(--accent-text)}.rt-day-tabs{display:none}.rt-link-btn{min-height:0;background:none;color:var(--text-tertiary);font-size:.85rem;font-weight:600;text-decoration:underline}.rt-link-btn:hover{color:var(--error-color)}.rt-confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.88rem;color:var(--text-secondary)}.rt-confirm .eg-btn{padding:8px 14px}.rt-danger-btn{background:var(--error-color);color:#fff}.rt-toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%);z-index:10000;padding:12px 18px;border-radius:var(--radius-full);background:var(--navy-900);color:#fff;font-weight:600;font-size:.9rem;box-shadow:var(--shadow-lg);animation:fadeIn .2s ease both}.dark-theme .rt-toast{background:var(--gold-500);color:var(--navy-900)}@media (max-width: 1100px){.rt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 860px){.rt-summary{grid-template-columns:1fr}.rt-day-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px}.rt-day-tab{flex:1 0 52px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:8px 6px;border-radius:var(--radius-md);border:1.5px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-weight:700;font-size:.85rem}.rt-day-tab small{font-weight:600;color:var(--text-tertiary)}.rt-day-tab.today{border-color:var(--gold-500)}.rt-day-tab.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.rt-day-tab.active small{color:#ffffffb3}.dark-theme .rt-day-tab.active{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-900)}.rt-grid{grid-template-columns:1fr}.rt-col{display:none}.rt-col.selected{display:flex}.rt-session.compact{flex-direction:row;align-items:center}}@media (max-width: 520px){.rt-time-row{flex-wrap:wrap}.rt-session{flex-direction:column;align-items:stretch}.rt-session-actions{justify-content:flex-end}.rt-form-actions .eg-btn{flex:1}}.rt-reminders .rt-card-head{margin-bottom:10px}.rt-reminder-grid{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:14px 24px;align-items:start}.rt-reminders select{width:100%;height:44px;padding:0 12px;border-radius:var(--radius-md);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-primary)}.rt-checkbox{display:flex;align-items:flex-start;gap:10px;padding-top:26px;cursor:pointer}.rt-checkbox input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy-900)}.dark-theme .rt-checkbox input{accent-color:var(--gold-500)}.rt-checkbox strong{display:block;font-size:.9rem;color:var(--text-primary)}.rt-checkbox small{color:var(--text-tertiary)}.rt-permission{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-secondary)}.rt-perm{font-size:.88rem;color:var(--text-secondary)}.rt-perm.ok{color:var(--success-color);font-weight:600}.rt-perm.warn{color:var(--accent-text)}.rt-small-btn{padding:8px 14px;font-size:.85rem}.rt-test-btn{margin-left:auto;text-decoration:none;color:var(--link-color)}.rt-test-btn:hover{color:var(--text-primary);text-decoration:underline}.rt-reminder-note{grid-column:1 / -1;font-size:.82rem}.rt-switch{position:relative;display:inline-flex;cursor:pointer}.rt-switch input{position:absolute;opacity:0;width:1px;height:1px}.rt-switch span[aria-hidden]{width:46px;height:26px;border-radius:999px;background:var(--border-strong);position:relative;transition:background-color .2s}.rt-switch span[aria-hidden]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease)}.rt-switch input:checked+span[aria-hidden]{background:var(--success-color)}.rt-switch input:checked+span[aria-hidden]:after{transform:translate(20px)}.rt-switch input:focus-visible+span[aria-hidden]{box-shadow:var(--shadow-focus)}@media (max-width: 640px){.rt-reminder-grid{grid-template-columns:1fr}.rt-checkbox{padding-top:0}.rt-test-btn{margin-left:0}}.rt-push{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;padding:14px 16px;border-radius:var(--radius-md);border:1.5px dashed var(--border-strong)}.rt-push-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}.rt-push-text strong{font-size:.92rem;color:var(--text-primary)}.rt-push-text small{color:var(--text-tertiary)}.rt-push-msg{margin-top:4px;font-size:.85rem;font-weight:600}.rt-push-msg.ok{color:var(--success-color)}.rt-push-msg.err{color:var(--error-color)}.rt-push-actions{display:flex;align-items:center;gap:12px}.rt-push-actions .rt-test-btn{margin-left:0}.admin-dashboard .main-content{min-width:0}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:16px}.admin-dashboard .admin-stat{display:flex;align-items:center;gap:16px}.admin-dashboard .admin-stat .stat-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.admin-stat-value{font-size:1.75rem;font-weight:800;line-height:1.1;color:var(--text-primary)}.admin-stat-label{font-size:.88rem;color:var(--text-secondary)}.admin-stat-hint{margin-top:2px;font-size:.78rem;color:var(--accent-text);font-weight:600}.admin-notice,.admin-error{padding:14px 16px;border-radius:var(--radius-md);font-size:.92rem;margin-bottom:16px}.admin-notice{background:var(--accent-soft);color:var(--accent-text);border:1px solid rgba(245,181,61,.35)}.admin-error{background:var(--error-soft);color:var(--error-color);border:1px solid rgba(229,72,77,.25)}.admin-muted{color:var(--text-tertiary);text-align:center;padding:24px 0}.admin-toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.admin-search{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;padding:0 14px;height:44px;border-radius:var(--radius-full);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-tertiary)}.admin-search:focus-within{border-color:var(--accent-color);box-shadow:var(--shadow-focus)}.admin-search input{flex:1;min-width:0;height:100%;background:transparent;color:var(--text-primary)}.admin-select{height:44px;padding:0 14px;border-radius:var(--radius-full);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-weight:600;cursor:pointer}.admin-select-sm{height:34px;padding:0 10px;font-size:.85rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md)}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th{text-align:left;padding:12px 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--bg-secondary)}.admin-user{display:flex;align-items:center;gap:10px}.admin-user strong{display:block}.admin-user small{color:var(--text-tertiary);font-size:.78rem}.admin-avatar{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--navy-900);color:var(--gold-500);font-size:.78rem;font-weight:800}.dark-theme .admin-avatar{box-shadow:inset 0 0 0 1px #ffffff2e}.admin-email{color:var(--text-secondary)!important;word-break:break-all}.admin-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:.78rem;font-weight:700}.admin-badge-gold{background:var(--accent-soft);color:var(--accent-text)}.admin-verified{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;border:none}button.admin-verified{cursor:pointer}.admin-verified.yes{background:var(--success-soft);color:var(--success-color)}.admin-verified.no{background:var(--error-soft);color:var(--error-color)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:.88rem;color:var(--text-secondary)}.admin-pagination>div{display:flex;align-items:center;gap:10px}.admin-pagination button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary)}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-messages{display:flex;flex-direction:column;gap:12px}.admin-message header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-message header strong{display:block;color:var(--text-primary)}.admin-message header a{font-size:.85rem;color:var(--link-color)}.admin-message time{font-size:.82rem;color:var(--text-tertiary);white-space:nowrap}.admin-message h4{margin:0 0 6px;font-size:.98rem;color:var(--text-primary)}.admin-message p{margin:0;color:var(--text-secondary);white-space:pre-wrap}.admin-dashboard .dashboard-section{margin-bottom:20px}.admin-dashboard .dashboard-section h3{margin:0 0 12px}.admin-nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:.72rem}.admin-dashboard .admin-group-title{margin:8px 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.admin-dashboard .admin-section-head h3,.admin-dashboard .admin-section-head p{margin:0}.admin-dashboard .admin-section-intro{margin:-4px 0 16px}.admin-dashboard .admin-stat-link{width:100%;text-align:left;font:inherit;cursor:pointer}.admin-dashboard .admin-stat-link:hover{border-color:var(--accent-color)}.admin-dashboard .admin-quick{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px}.admin-quick-label{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.admin-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-count{min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--accent-color);color:var(--navy-900);font-size:.75rem;font-weight:800}.admin-notice{display:flex;align-items:flex-start;gap:10px}.admin-notice svg{flex-shrink:0;margin-top:2px}.admin-overview-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px;align-items:start;margin-top:4px}.admin-dashboard .admin-overview-grid .dashboard-section{margin-bottom:0}.admin-segmented{display:inline-flex;padding:3px;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-color)}.admin-segmented button{padding:6px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.admin-segmented button.active{background:var(--card-bg);color:var(--text-primary);box-shadow:var(--shadow-sm)}.admin-chart-scroll{overflow-x:auto}.admin-chart-svg{display:block;width:100%;min-width:480px;height:auto}.admin-chart-grid{stroke:var(--border-color);stroke-width:1}.admin-chart-tick{fill:var(--text-tertiary);font-size:11px;font-family:var(--font-sans)}.admin-chart-bar.series-a{fill:var(--primary-color)}.admin-chart-bar.series-b{fill:var(--accent-color)}.admin-chart-bar:hover{opacity:.8}.admin-chart-line{fill:none;stroke:var(--accent-color);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.admin-chart-area{fill:var(--accent-soft)}.admin-chart-dot{fill:var(--card-bg);stroke:var(--primary-color);stroke-width:2}.admin-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:.82rem;color:var(--text-secondary)}.admin-legend span{display:inline-flex;align-items:center;gap:6px}.admin-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.admin-legend i.series-a{background:var(--primary-color)}.admin-legend i.series-b{background:var(--accent-color)}.admin-hint{margin:8px 0 0;font-size:.85rem;color:var(--text-tertiary)}.admin-feed{display:flex;flex-direction:column;max-height:380px;overflow-y:auto}.admin-feed li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color)}.admin-feed li:last-child{border-bottom:none}.admin-feed-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--primary-soft);color:var(--link-color)}.admin-feed-quiz,.admin-feed-contact{background:var(--accent-soft);color:var(--accent-text)}.admin-feed-body{flex:1;min-width:0}.admin-feed-body strong{display:block;font-size:.9rem;color:var(--text-primary);font-weight:600}.admin-feed-body small{display:block;font-size:.8rem;color:var(--text-tertiary);overflow-wrap:anywhere}.admin-feed time{flex-shrink:0;font-size:.76rem;color:var(--text-tertiary);white-space:nowrap}.admin-icon-btn{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);transition:background-color .15s,border-color .15s}.admin-icon-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-strong)}.admin-icon-btn:disabled{opacity:.5;cursor:not-allowed}.admin-icon-danger{color:var(--error-color)}.admin-icon-danger:hover:not(:disabled){background:var(--error-soft);border-color:var(--error-color)}.admin-link-btn{font-size:.85rem;font-weight:600;color:var(--link-color);padding:4px 6px;border-radius:var(--radius-sm)}.admin-link-btn:hover{text-decoration:underline}.eg-btn.admin-btn-sm{padding:8px 14px;font-size:.85rem}.admin-btn-danger{background:var(--error-color);color:#fff}.admin-btn-danger:hover:not(:disabled){filter:brightness(.92)}.dark-theme .admin-btn-danger{color:var(--navy-950)}.admin-btn-danger-outline{background:transparent;color:var(--error-color);border-color:var(--error-color)}.admin-btn-danger-outline:hover:not(:disabled){background:var(--error-soft)}.admin-dashboard .eg-btn:disabled,.admin-dialog .eg-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.admin-spin{animation:spin 1s linear infinite}.admin-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 0;color:var(--text-tertiary);font-size:.92rem}.admin-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 12px;text-align:center;color:var(--text-secondary)}.admin-empty strong{color:var(--text-primary);font-size:.98rem}.admin-empty p{margin:0;max-width:380px;font-size:.88rem;color:var(--text-tertiary)}.admin-empty .eg-btn{margin-top:8px}.admin-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--accent-soft);color:var(--accent-text);margin-bottom:4px}.admin-error-row,.admin-success-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-error-row .eg-btn{padding:8px 14px;font-size:.85rem}.admin-error.admin-error-tight,.admin-success.admin-error-tight{margin:12px 0 0}.admin-success{padding:14px 16px;border-radius:var(--radius-md);font-size:.92rem;margin-bottom:16px;background:var(--success-soft);color:var(--success-color);border:1px solid var(--success-color)}.admin-success-row{align-items:flex-start;flex-wrap:nowrap}.admin-removed{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;color:var(--text-secondary);font-size:.85rem}.admin-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}.admin-toolbar-actions .eg-btn{height:44px;padding:0 18px}.admin-table-wrap.is-refreshing{opacity:.6;transition:opacity .2s}.admin-table{min-width:720px}.admin-row-click{cursor:pointer}.admin-nowrap{white-space:nowrap}.admin-cell-stack strong,.admin-cell-stack span{display:block}.admin-cell-stack small{display:block;color:var(--text-tertiary);font-size:.78rem}.admin-table td.admin-details{max-width:320px;color:var(--text-secondary);font-size:.85rem;overflow-wrap:anywhere}.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-table td .admin-empty{padding:20px 0}.admin-table tbody tr:has(.admin-empty):hover td{background:transparent}.admin-badges{display:flex;flex-wrap:wrap;gap:6px}.admin-badge{white-space:nowrap}.admin-badge-success{background:var(--success-soft);color:var(--success-color)}.admin-badge-warn{background:var(--warning-soft);color:var(--accent-text)}.admin-badge-danger{background:var(--error-soft);color:var(--error-color)}.admin-badge-info{background:var(--info-soft);color:var(--info-color)}.admin-badge-neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.admin-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-chip{padding:8px 16px;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--card-bg);color:var(--text-secondary);font-size:.88rem;font-weight:600}.admin-chip:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.admin-chip.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.dark-theme .admin-chip.active{background:var(--accent-color);border-color:var(--accent-color);color:var(--navy-900)}.admin-dashboard .admin-messages .admin-message{margin-bottom:0}.admin-message.is-handled{opacity:.85}.admin-message-when{display:flex;align-items:center;gap:10px;flex-shrink:0}.admin-message header a{overflow-wrap:anywhere}.admin-message-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.admin-ann-list{display:flex;flex-direction:column;gap:12px}.admin-ann{padding:16px 18px;border:1px solid var(--border-color);border-left:4px solid var(--accent-color);border-radius:var(--radius-md);background:var(--card-bg)}.admin-ann.is-off{border-left-color:var(--border-strong)}.admin-ann.is-off h4,.admin-ann.is-off .admin-ann-body{opacity:.7}.admin-ann-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.admin-ann h4{margin:0 0 4px;font-size:1rem;color:var(--text-primary);overflow-wrap:anywhere}.admin-ann-body{margin:0;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem}.admin-ann-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.admin-ann-meta{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.8rem;color:var(--text-tertiary)}.admin-inline-switch{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.admin-switch{position:relative;width:44px;height:24px;flex-shrink:0;border-radius:var(--radius-full);background:var(--border-strong);transition:background-color .2s}.admin-switch span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease)}.admin-switch.on{background:var(--success-color)}.admin-switch.on span{transform:translate(20px)}.admin-switch:disabled{opacity:.5;cursor:not-allowed}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;background:#060f268c;animation:fadeIn .15s ease}.admin-overlay-modal{align-items:center;justify-content:center;padding:20px}.admin-overlay-drawer{justify-content:flex-end}.admin-dialog{display:flex;flex-direction:column;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);font-family:var(--font-sans)}.admin-dialog:focus,.admin-dialog:focus-visible{outline:none}.admin-modal{width:100%;max-height:calc(100vh - 40px);border-radius:var(--radius-lg);animation:slideUp .2s var(--ease)}.admin-modal.admin-dialog-sm{max-width:460px}.admin-modal.admin-dialog-md{max-width:620px}.admin-modal.admin-dialog-lg{max-width:820px}.admin-drawer{width:100%;max-width:560px;height:100%;border-radius:var(--radius-lg) 0 0 var(--radius-lg);animation:adminSlideIn .22s var(--ease)}.admin-drawer.admin-dialog-lg{max-width:720px}@keyframes adminSlideIn{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.admin-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--border-color)}.admin-dialog-head h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.admin-dialog-head p{margin:4px 0 0;font-size:.88rem;color:var(--text-secondary);overflow-wrap:anywhere}.admin-dialog-body{flex:1;overflow-y:auto;padding:18px 22px 22px}.admin-dialog-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--border-color)}.admin-dialog-foot .eg-btn{padding:11px 20px}.admin-confirm{display:flex;gap:14px;align-items:flex-start}.admin-confirm-icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--error-soft);color:var(--error-color)}.admin-confirm-text{min-width:0}.admin-confirm-text p{margin:0 0 8px;color:var(--text-secondary);font-size:.93rem;overflow-wrap:anywhere}.admin-confirm-text strong{color:var(--text-primary)}.admin-confirm-field{margin-top:16px}.admin-confirm-field code{padding:1px 6px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);font-size:.85rem;overflow-wrap:anywhere}.admin-form{display:flex;flex-direction:column;gap:14px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-form-actions .eg-btn{padding:11px 20px}.admin-form select.eg-input{cursor:pointer}.admin-textarea{resize:vertical;min-height:110px;line-height:1.5}.admin-counter{align-self:flex-end;font-size:.75rem;color:var(--text-tertiary)}.admin-field-hint{margin:0;font-size:.82rem;color:var(--text-tertiary)}.admin-field-error{margin:0;font-size:.82rem;color:var(--error-color)}.eg-input.admin-input-invalid{border-color:var(--error-color)}.admin-password{position:relative}.admin-password .eg-input{padding-right:46px}.admin-password button{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-tertiary)}.admin-password button:hover{color:var(--text-primary);background:var(--bg-secondary)}.admin-drawer-content{display:flex;flex-direction:column;gap:20px}.admin-profile-head{display:flex;gap:16px;align-items:flex-start}.admin-profile-head>div{min-width:0;flex:1}.admin-avatar.admin-avatar-lg{width:56px;height:56px;font-size:1.05rem}.admin-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:12px 0 0}.admin-meta dt{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.admin-meta dd{margin:0;font-size:.9rem;color:var(--text-primary);overflow-wrap:anywhere}.admin-mini-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.admin-mini-stats>div{padding:12px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color)}.admin-mini-stats strong{display:block;font-size:1.25rem;font-weight:800;color:var(--text-primary)}.admin-mini-stats span{font-size:.78rem;color:var(--text-secondary)}.admin-drawer-section{padding-top:18px;border-top:1px solid var(--border-color)}.admin-drawer-section h4{margin:0 0 12px;font-size:.98rem;color:var(--text-primary)}.admin-drawer-section .admin-empty{padding:12px 0}.admin-results li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color)}.admin-results li:last-child{border-bottom:none}.admin-results strong{display:block;font-size:.9rem;color:var(--text-primary)}.admin-results small{font-size:.78rem;color:var(--text-tertiary)}.admin-score{flex-shrink:0;padding:4px 10px;border-radius:var(--radius-full);font-size:.82rem;font-weight:700}.admin-score.good{background:var(--success-soft);color:var(--success-color)}.admin-score.low{background:var(--error-soft);color:var(--error-color)}.admin-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}.admin-toggle-row strong{display:block;font-size:.92rem;color:var(--text-primary)}.admin-toggle-row small{font-size:.8rem;color:var(--text-tertiary)}.admin-drawer-section.admin-danger-zone{border-top-color:var(--error-color)}.admin-danger-zone h4{color:var(--error-color)}.admin-danger-zone p{margin:0 0 12px;font-size:.88rem;color:var(--text-secondary)}.admin-questions{display:flex;flex-direction:column;gap:16px;margin-top:14px}.admin-question{padding:16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary)}.admin-question-text{margin:0 0 10px;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.admin-question-text span{color:var(--accent-text);margin-right:4px}.admin-options{display:flex;flex-direction:column;gap:6px}.admin-options li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--card-bg);font-size:.9rem;color:var(--text-secondary)}.admin-options li.correct{border-color:var(--success-color);background:var(--success-soft);color:var(--text-primary);font-weight:600}.admin-option-letter{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);font-size:.75rem;font-weight:700;color:var(--text-secondary)}.admin-options li.correct .admin-option-letter{background:var(--success-color);color:var(--card-bg)}.admin-option-text{flex:1;min-width:0;overflow-wrap:anywhere}.admin-option-mark{display:inline-flex;color:var(--success-color)}.admin-explanation{margin:10px 0 0;font-size:.85rem;color:var(--text-secondary)}.admin-explanation strong{color:var(--text-primary)}.admin-toasts{position:fixed;right:20px;bottom:20px;z-index:3000;display:flex;flex-direction:column;gap:10px;max-width:min(400px,calc(100vw - 32px));pointer-events:none}.admin-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-left:4px solid var(--success-color);box-shadow:var(--shadow-lg);font-size:.9rem;pointer-events:auto;animation:slideUp .2s var(--ease)}.admin-toast>svg{flex-shrink:0;margin-top:1px;color:var(--success-color)}.admin-toast span{flex:1;overflow-wrap:anywhere}.admin-toast button{flex-shrink:0;color:var(--text-tertiary)}.admin-toast-error{border-left-color:var(--error-color)}.admin-toast-error>svg{color:var(--error-color)}@media (max-width: 1100px){.admin-overview-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.student-dashboard.admin-dashboard{flex-direction:column}.student-dashboard.admin-dashboard .sidebar{position:static;transform:none;width:100%;height:auto;padding:14px 12px 6px;box-shadow:none;z-index:auto;overflow:visible}.student-dashboard.admin-dashboard .sidebar-header{padding:0 4px 10px}.student-dashboard.admin-dashboard .sidebar-header-top{margin-bottom:0}.student-dashboard.admin-dashboard .student-info{display:none}.student-dashboard.admin-dashboard .sidebar-nav{flex-direction:row;overflow-x:auto;gap:6px;padding:10px 0 8px;scrollbar-width:none}.student-dashboard.admin-dashboard .sidebar-nav::-webkit-scrollbar{display:none}.student-dashboard.admin-dashboard .nav-item{width:auto;flex-shrink:0;white-space:nowrap;padding:9px 12px}.student-dashboard.admin-dashboard .nav-item.active:before{display:none}.student-dashboard.admin-dashboard .nav-item.active{box-shadow:inset 0 -2px 0 var(--gold-500)}.student-dashboard.admin-dashboard .dashboard-section{padding:16px}.admin-toolbar-actions{margin-left:0;width:100%}.admin-toolbar-actions .eg-btn{flex:1}.admin-dashboard .admin-search{min-width:100%}.admin-dashboard .admin-toolbar .admin-select{flex:1}.admin-overlay-modal{padding:0;align-items:flex-end}.admin-modal,.admin-modal.admin-dialog-sm,.admin-modal.admin-dialog-md,.admin-modal.admin-dialog-lg{max-width:none;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.admin-drawer,.admin-drawer.admin-dialog-lg{max-width:none;border-radius:0}.admin-dialog-head,.admin-dialog-body,.admin-dialog-foot{padding-left:16px;padding-right:16px}.admin-form-grid,.admin-meta{grid-template-columns:minmax(0,1fr)}.admin-dialog-foot .eg-btn,.admin-form-actions .eg-btn{flex:1}.admin-message header{flex-direction:column}.admin-toasts{left:16px;right:16px;bottom:16px;max-width:none}}@media (max-width: 420px){.admin-profile-head{flex-direction:column}.admin-quick-actions,.admin-quick-actions .eg-btn{width:100%}.admin-pagination{flex-direction:column;align-items:flex-start}}.profile-container{padding:2rem 0}.profile-card{text-align:center}.avatar-container{margin-bottom:2rem}.profile-avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.avatar-upload{margin-bottom:1rem}.progress-item{margin-bottom:1.5rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.achievement-item{text-align:center;padding:1rem}.achievement-item img{width:64px;height:64px;margin-bottom:.5rem}.achievement-item h6{margin:.5rem 0}.achievement-item p{font-size:.9rem;color:var(--text-tertiary)}@media (max-width: 768px){.profile-container{padding:1.5rem 0}.profile-avatar{width:120px;height:120px}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.achievement-item{padding:.75rem}.achievement-item img{width:48px;height:48px}}@media (max-width: 480px){.profile-container{padding:1rem 0}.profile-avatar{width:100px;height:100px}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.achievement-item{padding:.5rem}.achievement-item h6{font-size:.9rem}.achievement-item p{font-size:.8rem}}.dark-theme .profile-container{color:var(--text-primary)}.dark-theme .profile-card{background-color:var(--card-bg);color:var(--text-primary)}.dark-theme .achievement-item{background-color:var(--bg-secondary);color:var(--text-primary)}.dark-theme .achievement-item p{color:var(--text-secondary)}.dark-theme .progress-item{color:var(--text-primary)}.dark-theme .card{background-color:var(--card-bg);color:var(--text-primary);border-color:var(--border-color)}.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme h4,.dark-theme h5,.dark-theme h6{color:var(--text-primary)}.dark-theme p{color:var(--text-secondary)}.dark-theme .form-label{color:var(--text-primary)}.dark-theme .form-control{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.dark-theme .form-control:focus{background-color:var(--input-bg);border-color:var(--primary-color);color:var(--text-primary)}.profile-edit-container{max-width:1000px;margin:0 auto;padding:2rem;background-color:var(--card-bg);border-radius:12px;box-shadow:0 2px 12px #00000014}.profile-edit-header{display:flex;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.profile-edit-header h1{margin:0;font-size:1.8rem;color:var(--text-primary);flex:1;text-align:center}.profile-edit-header .back-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--primary-color);font-size:.9rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.profile-edit-header .back-button:hover{background-color:var(--bg-secondary)}.profile-edit-form{display:flex;flex-direction:column;gap:2rem}.form-section{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.form-section h2{margin-top:0;margin-bottom:1.5rem;font-size:1.2rem;color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:.75rem}.form-row{display:flex;gap:1.5rem;margin-bottom:1.25rem}@media (max-width: 768px){.form-row{flex-direction:column;gap:1rem}}.form-group{flex:1;margin-bottom:1rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem;margin-bottom:.5rem;color:var(--text-secondary)}.form-group small{display:block;color:var(--text-tertiary);font-size:.75rem;margin-top:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;color:var(--text-primary);background-color:var(--card-bg);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2a4f9e33}.form-group input:disabled{background-color:var(--bg-secondary);cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.profile-edit-container button{padding:.75rem 1.5rem;border-radius:6px;font-weight:500;font-size:.95rem;cursor:pointer;transition:background-color .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:.5rem}.profile-edit-container button:active{transform:scale(.98)}.profile-edit-container button:disabled{opacity:.7;cursor:not-allowed}.primary-btn{background-color:var(--primary-color);color:#fff;border:none}.primary-btn:hover{background-color:var(--primary-hover)}.secondary-btn{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.secondary-btn:hover{background-color:var(--bg-tertiary)}.alert{padding:1rem;border-radius:6px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.alert.error{background-color:#fee2e2;color:#b91c1c;border-left:4px solid #ef4444}.alert.success{background-color:#dcfce7;color:#15803d;border-left:4px solid #22c55e}.dark-theme .profile-edit-container{background-color:var(--card-bg);color:var(--text-primary);box-shadow:0 2px 12px #0000004d}.dark-theme .profile-edit-header{border-bottom-color:var(--border-color)}.dark-theme .profile-edit-header h1{color:var(--text-primary)}.dark-theme .profile-edit-header .back-button{color:var(--primary-color)}.dark-theme .profile-edit-header .back-button:hover{background-color:var(--bg-tertiary)}.dark-theme .form-section{background-color:var(--bg-secondary);box-shadow:0 1px 3px #0003}.dark-theme .form-section h2{color:var(--text-primary);border-bottom-color:var(--border-color)}.dark-theme .form-group label{color:var(--text-primary)}.dark-theme .form-group small{color:var(--text-secondary)}.dark-theme .form-control,.dark-theme input,.dark-theme textarea,.dark-theme select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.dark-theme .form-control:focus,.dark-theme input:focus,.dark-theme textarea:focus,.dark-theme select:focus{background-color:var(--input-bg);border-color:var(--primary-color);color:var(--text-primary)}.dark-theme .form-control::placeholder,.dark-theme input::placeholder,.dark-theme textarea::placeholder{color:var(--text-tertiary)}.dark-theme .avatar-preview-container{background-color:var(--bg-tertiary);border-color:var(--border-color)}.dark-theme .file-input-label{background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .file-input-label:hover{background-color:var(--bg-secondary)}.dark-theme .save-button{background-color:var(--primary-color);color:#fff}.dark-theme .save-button:hover{background-color:var(--primary-hover)}.dark-theme .cancel-button{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.dark-theme .cancel-button:hover{background-color:var(--bg-secondary)}.agent-hub-container{padding:2rem 0}.agent-card{cursor:pointer;transition:transform .2s,box-shadow .2s;height:100%}.agent-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #0000001a}.capabilities{margin-top:1rem}.capabilities ul{padding-left:1.2rem;margin-bottom:0}.capabilities li{font-size:.9rem;color:var(--text-tertiary)}.agent-interaction{max-width:1000px;margin:20px auto;height:calc(100vh - 100px);display:flex;flex-direction:column;background:var(--card-bg);border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.agent-interaction header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:20px}.back-button{background:none;border:none;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;transition:background-color .2s}.back-button:hover{background:#f0f7ff}.chat-history{flex:1;overflow-y:auto;padding:20px}.message{margin-bottom:20px;max-width:80%;animation:fadeIn .3s ease-out}.message.user{margin-left:auto}.message.agent{margin-right:auto}.message-content{padding:12px 16px;border-radius:12px;position:relative}.message.user .message-content{background:var(--primary-color);color:#fff;border-top-right-radius:2px}.message.agent .message-content{background:var(--bg-secondary);color:#1c1e21;border-top-left-radius:2px}.message.error .message-content{background:#dc3545;color:#fff}.message-timestamp{font-size:.75rem;color:var(--text-tertiary);margin-top:4px;padding:0 8px}.input-form{padding:20px;border-top:1px solid var(--border-color);display:flex;gap:10px}.input-form input{flex:1;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem}.input-form button{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.input-form button:hover{background:var(--primary-color)}.input-form button:disabled{background:var(--bg-tertiary);cursor:not-allowed}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:var(--bg-secondary);border-radius:12px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:#666;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.curriculum-card-simple{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border-color);margin:0;overflow:visible;transition:all .3s ease;width:100%;height:auto;min-height:400px;display:flex;flex-direction:column}.curriculum-card-simple:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.curriculum-header-simple{padding:1.5rem 2rem 1rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-secondary) 100%)}.curriculum-title-simple{margin-bottom:.75rem!important;color:var(--text-primary)!important;font-size:1.3rem!important;font-weight:600;display:flex;align-items:center;gap:.5rem}.title-icon{color:var(--primary-color);font-size:1.1rem}.quick-metadata{display:flex;gap:.5rem;flex-wrap:wrap}.subject-tag,.grade-tag{font-weight:500;border-radius:15px;padding:.25rem .75rem}.curriculum-body-simple{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:1rem;overflow:visible}.content-section-simple{margin-bottom:1.5rem}.content-text{line-height:1.6;flex:1;word-wrap:break-word;overflow-wrap:break-word}.content-paragraph-simple{margin-bottom:1rem!important;color:var(--text-secondary);font-size:.95rem;white-space:pre-wrap;word-break:break-word}.objectives-simple{margin:1.5rem 0;padding:1.25rem;background:var(--bg-secondary);border-radius:10px;border-left:4px solid var(--primary-color)}.objectives-label{display:block;margin-bottom:.75rem;color:var(--text-primary);font-size:1rem}.objectives-tags{display:flex;flex-wrap:wrap;gap:.5rem}.objective-tag{background:var(--primary-soft);color:var(--link-color);border:1px solid var(--border-strong);white-space:normal;border-radius:15px;padding:.25rem .75rem;font-size:.9rem}.more-tag{background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:15px;padding:.25rem .75rem;font-size:.9rem}.activities-simple{margin:1.5rem 0;padding:1.25rem;background:var(--success-soft);border-radius:10px;border-left:4px solid var(--success-color)}.activities-label{display:block;margin-bottom:.75rem;color:var(--text-primary);font-size:1rem}.activities-list-simple{display:flex;flex-direction:column;gap:.75rem}.activity-item-simple{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color)}.activity-icon{color:var(--success-color);font-size:1rem}.more-activities{color:var(--text-tertiary);font-style:italic;margin-top:.5rem;display:block}.fallback-content{padding:1rem}.fallback-text{color:var(--text-secondary);line-height:1.7;font-size:1rem}.metadata-value{background:#ffffffe6!important;color:var(--text-primary)!important;border:none!important;font-weight:600!important;padding:.25rem .75rem!important;border-radius:15px!important}.curriculum-section{margin-bottom:2.5rem;border:none!important;border-radius:16px!important;overflow:hidden;box-shadow:0 8px 25px #00000014!important;transition:all .3s ease}.curriculum-section:hover{transform:translateY(-2px);box-shadow:0 12px 35px #0000001f!important}.section-header{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-secondary) 100%);padding:1.5rem 2rem;border-bottom:3px solid var(--border-color);display:flex;align-items:center;gap:1rem}.section-icon{font-size:1.75rem;color:var(--primary-color);background:var(--card-bg);padding:.75rem;border-radius:50%;box-shadow:0 4px 12px #2a4f9e33}.section-title{color:var(--text-primary)!important;margin:0!important;font-size:1.5rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:1px}.section-content{padding:0}.objectives-section .section-icon{color:#27ae60;box-shadow:0 4px 12px #27ae6033}.objectives-section .section-header{border-bottom-color:#27ae60}.objectives-list{list-style:none;padding:2rem;margin:0;background:linear-gradient(135deg,#f8fff8,#f0fff0)}.objective-item{display:flex;align-items:flex-start;margin-bottom:1.5rem;padding:1.5rem;background:var(--card-bg);border-radius:12px;border-left:5px solid #27ae60;box-shadow:0 4px 15px #27ae601a;transition:all .3s ease}.objective-item:hover{transform:translate(10px);box-shadow:0 6px 20px #27ae6026;border-left-width:8px}.objective-item:last-child{margin-bottom:0}.objective-marker{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin-right:1.25rem;flex-shrink:0;box-shadow:0 3px 10px #27ae604d}.objective-text{color:var(--text-primary);font-size:1.1rem;line-height:1.6;font-weight:500}.content-section .section-icon{color:var(--primary-color);box-shadow:0 4px 12px #2a4f9e33}.content-section .section-header{border-bottom-color:var(--primary-color)}.content-body{padding:2rem;background:linear-gradient(135deg,#f8fcff,#f0f8ff);line-height:1.7}.content-paragraph{color:var(--text-primary)!important;font-size:1.1rem!important;line-height:1.8!important;margin-bottom:1.5rem!important;text-align:justify;padding:1rem;background:var(--card-bg);border-radius:10px;border-left:4px solid var(--primary-color);box-shadow:0 2px 10px #2a4f9e1a}.activities-section .section-icon{color:#e67e22;box-shadow:0 4px 12px #e67e2233}.activities-section .section-header{border-bottom-color:#e67e22}.content-activities{background:linear-gradient(135deg,#fff8f0,#fef5e7);padding:2rem}.activities-list{list-style:none;padding:0;margin:0}.activity-item{display:flex;align-items:flex-start;padding:1.25rem;margin-bottom:1rem;background:var(--card-bg);border-radius:10px;border-left:4px solid #e67e22;box-shadow:0 3px 12px #e67e221a;transition:all .3s ease;color:var(--text-primary);font-size:1rem;line-height:1.6}.activity-item:hover{transform:translate(8px);box-shadow:0 5px 18px #e67e2226;border-left-width:6px}.activity-item:last-child{margin-bottom:0}.general-content .content-body{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-secondary) 100%)}@media (max-width: 768px){.curriculum-content-wrapper{padding:1rem}.curriculum-header-enhanced{padding:1.5rem;margin-bottom:2rem}.curriculum-title-enhanced{font-size:2rem!important}.content-metadata{flex-direction:column;align-items:center}.metadata-item{width:100%;justify-content:center}.section-header{padding:1.25rem;flex-direction:column;text-align:center;gap:.75rem}.section-icon{font-size:1.5rem;padding:.5rem}.section-title{font-size:1.3rem!important}.objectives-list,.content-body,.content-activities{padding:1.5rem}.objective-item,.activity-item{padding:1rem}.objective-marker{width:1.5rem;height:1.5rem;font-size:.8rem;margin-right:1rem}.objective-text,.content-paragraph,.activity-item{font-size:1rem!important}}@media (max-width: 768px){.curriculum-card-simple{min-height:350px;margin:.5rem 0}.curriculum-header-simple{padding:1.25rem 1.5rem .75rem}.curriculum-body-simple{padding:1.25rem}.curriculum-title-simple{font-size:1.2rem!important}}@media (max-width: 480px){.curriculum-content-wrapper{padding:.75rem}.curriculum-card-simple{min-height:300px;margin:.25rem 0}.curriculum-header-simple{padding:1rem 1.25rem .75rem}.curriculum-body-simple{padding:1rem}.curriculum-title-simple{font-size:1.1rem!important}.content-paragraph-simple{font-size:.9rem}.objectives-simple,.activities-simple{margin:1rem 0;padding:1rem}}.topics-simple{margin:.5rem 0}.topics-label{display:block;margin-bottom:.75rem;color:var(--text-primary);font-size:1rem}.topic-chip{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--border-color);border-radius:15px;padding:.25rem .75rem;font-size:.9rem;white-space:normal}.curriculum-empty-note{color:var(--text-tertiary);font-style:italic}.agent-container{padding:2rem;max-width:6400px;margin:0 auto;width:100%;box-sizing:border-box;min-height:100vh}.agent-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.agent-title{color:var(--text-primary);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.agent-subtitle{color:var(--text-tertiary);font-size:1.1rem;margin-bottom:1.5rem}.curriculum-stats{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.stat-item{text-align:center;padding:1rem;background:linear-gradient(135deg,#080909,var(--primary-hover));color:#fff;border-radius:12px;min-width:120px;box-shadow:0 4px 12px #2a4f9e4d}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.9rem;opacity:.9}.error-banner{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #e74c3c4d}.error-icon{font-size:1.2rem}.agent-loading{text-align:center;padding:4rem 2rem;color:var(--text-tertiary)}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.curriculum-controls{display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;align-items:end}.search-container{flex:2}.search-input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.filter-container{flex:1;display:flex;flex-direction:column;gap:.5rem}.filter-container label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.subject-filter{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;background:var(--card-bg);font-size:1rem;cursor:pointer;transition:border-color .3s ease}.subject-filter:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.curriculum-content{margin-bottom:2rem}.no-results{text-align:center;padding:4rem 2rem;color:var(--text-tertiary)}.no-results h3{color:var(--text-primary);margin-bottom:1rem}.curriculum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:20px 0;width:100%;box-sizing:border-box}.curriculum-item-wrapper{transition:transform .2s ease-in-out}.curriculum-item-wrapper:hover{transform:translateY(-3px)}.curriculum-item{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 20px #00000014;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden;border:1px solid var(--border-color);margin-bottom:2rem;max-width:900px;margin-left:auto;margin-right:auto}.curriculum-item:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.curriculum-content-wrapper{padding:2rem;line-height:1.6}.curriculum-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;text-align:center;padding-bottom:1rem;border-bottom:3px solid var(--primary-color)}.curriculum-section{margin-bottom:2.5rem}.section-header{display:flex;align-items:center;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-secondary));border-radius:12px;border-left:5px solid var(--primary-color)}.section-icon{font-size:1.5rem;margin-right:.75rem;color:var(--primary-color)}.section-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.5px}.section-content{padding:0 1rem}.objectives-list{list-style:none;padding:0;margin:0}.objective-item{display:flex;align-items:flex-start;margin-bottom:1.2rem;padding:1rem;background:var(--bg-secondary);border-radius:10px;border-left:4px solid #27ae60;transition:all .3s ease}.objective-item:hover{background:#f1f8ff;border-left-color:var(--primary-color);transform:translate(5px)}.objective-marker{font-weight:700;color:#27ae60;margin-right:.75rem;font-size:1.1rem;min-width:1.5rem}.objective-text{color:var(--text-primary);font-size:1rem;line-height:1.5}.content-metadata{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff9f0;border-radius:10px;border:1px solid #fed7aa}.metadata-item{display:flex;align-items:center;font-size:.9rem;color:#8b4513}.metadata-label{font-weight:600;margin-right:.5rem}.metadata-value{color:var(--text-primary);font-weight:500}.curriculum-header{padding:1.5rem 1.5rem 1rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-secondary));border-bottom:1px solid var(--border-color)}.curriculum-subject{color:var(--text-primary);margin:0 0 .5rem;font-size:1.4rem;font-weight:700}.curriculum-grade{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.curriculum-body{padding:2rem;background:#fdfdfd}.topics-section{margin-bottom:2rem}.topics-label{display:block;color:var(--text-primary);font-weight:700;margin-bottom:1.5rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:.5px}.topics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.topic-tag{background:linear-gradient(135deg,#e8f4f8,#d4edda);color:#2c5530;padding:1rem 1.25rem;border-radius:12px;font-size:.95rem;font-weight:600;border:2px solid #c3e6cb;transition:all .3s ease;text-align:center;cursor:pointer;box-shadow:0 2px 8px #0000001a}.topic-tag:hover{background:linear-gradient(135deg,#d4edda,#c3e6cb);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.no-topics{color:var(--text-tertiary);font-style:italic;padding:2rem;text-align:center;background:var(--bg-secondary);border-radius:10px;border:2px dashed var(--border-color)}.content-body{padding:2rem;background:var(--card-bg);border-radius:12px;margin:1rem 0;border:1px solid var(--border-color)}.content-paragraph{margin-bottom:1.5rem;color:var(--text-secondary);font-size:1.05rem;line-height:1.7;text-align:justify}.content-activities{background:#f0f8ff;padding:1.5rem;border-radius:12px;border-left:5px solid #2196f3;margin-top:2rem}.activities-title{font-size:1.3rem;font-weight:700;color:#1976d2;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.activities-list{list-style:none;padding:0}.activity-item{padding:.75rem 0;border-bottom:1px solid var(--primary-soft);color:#37474f;font-size:1rem}.activity-item:last-child{border-bottom:none}.curriculum-footer{padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.topic-count{color:var(--text-tertiary);font-size:.9rem;font-weight:500}.curriculum-info{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:2rem;text-align:center}.last-updated{margin:0 0 .5rem;color:var(--text-tertiary)}.data-source{margin:0;color:var(--text-tertiary);font-size:.9rem}.agent-actions{display:flex;justify-content:center;gap:1rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none;font-weight:600;transition:background .3s ease,transform .2s ease}.back-button:hover{background:linear-gradient(135deg,var(--primary-hover),#21618c);transform:translateY(-2px);box-shadow:0 4px 12px #2980b94d}@media (max-width: 1024px){.agent-container{padding:1.5rem}.curriculum-stats{gap:1rem}.stat-item{min-width:100px;padding:.75rem}.stat-number{font-size:1.5rem}}@media (max-width: 768px){.agent-container{padding:1rem}.agent-title{font-size:2rem}.curriculum-stats,.curriculum-controls{flex-direction:column;gap:1rem}.curriculum-grid{grid-template-columns:1fr;gap:1rem;padding:15px 0}.curriculum-item{margin-bottom:0}}@media (max-width: 480px){.agent-container{padding:.75rem}.agent-title{font-size:1.75rem}.curriculum-header{padding:1rem}.curriculum-subject{font-size:1.2rem}.curriculum-body{padding:1rem}.topics-grid{justify-content:center}.topic-tag{font-size:.8rem;padding:.4rem .6rem}}.subject-detail-view{margin:1rem 0;animation:fadeIn .3s ease-in-out}.subject-detail-view h2{color:var(--text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--primary-color);margin-bottom:1rem}.detail-count{color:var(--text-tertiary);font-style:italic;margin-bottom:1.5rem}.subject-detail-item{background:var(--card-bg);border-radius:16px;box-shadow:0 6px 30px #00000026;margin-bottom:3rem;padding:4rem;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;max-width:100%;min-height:500px;width:100%}.subject-detail-content{display:flex;gap:4rem;margin-top:2rem;flex:1;min-height:350px}.detail-left-column,.detail-right-column{flex:1;min-width:400px;display:flex;flex-direction:column}.subject-detail-item:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.detail-topic{font-size:2.6rem;font-weight:700;margin-bottom:1.5rem;color:#2d3a4b;display:flex;flex-wrap:wrap;word-break:break-word;min-height:3.5rem;text-align:center}.detail-objectives h4,.detail-text h4{font-size:1.5rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.detail-text{background:#f9f9f9;padding:2.5rem;border-radius:12px;margin:0;border-left:6px solid #27ae60;flex:1;min-height:250px}.detail-objectives ul{list-style-type:disc;margin-left:2rem;margin-bottom:0}.detail-objectives li{margin-bottom:1rem;line-height:1.7;font-size:1.1rem;color:var(--text-secondary);padding-left:.5rem}.detail-text p{line-height:1.8;color:var(--text-secondary);font-size:1.1rem;margin:0}.detail-topics-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}.detail-topic-tag{background:#2a4f9e1a;color:var(--primary-color);padding:.3rem .8rem;border-radius:30px;font-size:.9rem;display:inline-block}.detail-objectives ul{list-style-type:disc;margin-left:1.5rem;margin-bottom:1rem}.detail-objectives li{margin-bottom:.5rem;line-height:1.5}.detail-text{background:#f9f9f9;padding:1rem;border-radius:8px;margin:1rem 0}.detail-text p{line-height:1.6;color:var(--text-secondary)}.detail-grade{margin-top:2rem;font-size:1.2rem;color:var(--text-tertiary);text-align:center;padding:1rem;background:#f1f2f6;border-radius:8px;font-weight:600}.subject-loading{display:flex;flex-direction:column;align-items:center;padding:2rem;color:var(--primary-color);background:#2a4f9e0d;border-radius:8px;margin:1rem 0}@media (max-width: 768px){.subject-detail-item{padding:1rem}.subject-detail-content{flex-direction:column;gap:1rem}.detail-left-column,.detail-right-column{flex:none}}.agent-container{padding:1.5rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;min-height:calc(100vh - 140px)}@media (max-width: 1024px){.agent-container{padding:1.25rem}}@media (max-width: 768px){.agent-container{padding:1rem;min-height:calc(100vh - 120px)}}@media (max-width: 480px){.agent-container{padding:.75rem;min-height:calc(100vh - 110px)}}.agent-title{color:var(--text-primary);text-align:center;margin-bottom:2rem;font-size:2rem;font-weight:700}@media (max-width: 768px){.agent-title{font-size:1.75rem;margin-bottom:1.5rem}}@media (max-width: 480px){.agent-title{font-size:1.5rem;margin-bottom:1.25rem}}.agent-loading{text-align:center;padding:3rem 1rem;font-size:1.2rem;color:var(--text-tertiary);min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.agent-error{text-align:center;padding:1.5rem;color:#e74c3c;background-color:#fde8e7;border-radius:8px;margin:1rem 0;border:2px solid #f5c6cb}@media (max-width: 480px){.agent-loading{padding:2rem 1rem;font-size:1.1rem}.agent-error{padding:1rem;font-size:.95rem}}.back-button{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none;margin-top:1.5rem;font-weight:600;transition:transform .2s}@media (max-width: 480px){.back-button{width:100%;text-align:center;padding:.65rem 1rem;margin-top:1rem}}.quiz-form-container{max-width:600px;margin:0 auto;padding:1.5rem 1rem}.quiz-form{background-color:var(--card-bg);padding:2rem;border-radius:12px;box-shadow:0 4px 20px #0000001a;border:1px solid var(--border-color)}.quiz-form h3{color:var(--text-primary);text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.form-control{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.generate-quiz-btn{width:100%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.generate-quiz-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2a4f9e66}.generate-quiz-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}@media (max-width: 768px){.quiz-form-container{padding:1rem .5rem}.quiz-form{padding:1.5rem}.quiz-form h3{font-size:1.3rem}.form-group{margin-bottom:1.25rem}}@media (max-width: 480px){.quiz-form{padding:1.25rem}.quiz-form h3{font-size:1.2rem}.form-control{padding:.65rem;font-size:.95rem}.generate-quiz-btn{padding:.85rem 1.5rem;font-size:1rem}}.quiz-container{max-width:900px;margin:0 auto}.quiz-header{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-secondary));padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;text-align:center;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000000d}.quiz-header h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.new-quiz-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.new-quiz-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}@media (max-width: 768px){.quiz-header{padding:1.25rem;margin-bottom:1.25rem}.quiz-header h3{font-size:1.2rem}.quiz-header p{font-size:.9rem}}@media (max-width: 480px){.quiz-header{padding:1rem;margin-bottom:1rem}.quiz-header h3{font-size:1.1rem}.quiz-header p{font-size:.85rem;margin-bottom:.75rem}.new-quiz-btn{padding:.5rem 1rem;font-size:.85rem;width:100%}}.quiz-progress{background-color:var(--bg-secondary);padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid var(--border-color)}.progress-bar{width:100%;height:8px;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border-radius:4px;transition:width .3s ease}.progress-text{text-align:center;font-size:.9rem;color:var(--text-tertiary);font-weight:500}@media (max-width: 480px){.quiz-progress{padding:.75rem;margin-bottom:1rem}.progress-text{font-size:.85rem}}.quiz-timer{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.timer-display{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-secondary));padding:.75rem 1.25rem;border-radius:12px;border:2px solid var(--border-color);box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.timer-display.warning{border-color:var(--accent-color);background:linear-gradient(135deg,#fff3cd,#ffeaa7);animation:timerPulse 1s infinite}.timer-display.danger{border-color:#dc3545;background:linear-gradient(135deg,#f8d7da,#f5c6cb);animation:timerPulse .5s infinite}.timer-icon{font-size:1.2rem}.timer-text{font-size:1.4rem;font-weight:700;font-family:Courier New,monospace;color:var(--text-primary)}.timer-warning{margin-top:.5rem;color:#dc3545;font-weight:600;font-size:.9rem;text-align:center}.timer-expired{margin-top:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;font-weight:600;font-size:.9rem;text-align:center;border-radius:8px;border:2px solid #dc3545;animation:expiredPulse 1s infinite}@keyframes expiredPulse{0%{transform:scale(1);background:linear-gradient(135deg,#dc3545,#c82333)}50%{transform:scale(1.02);background:linear-gradient(135deg,#e74c3c,#dc3545)}to{transform:scale(1);background:linear-gradient(135deg,#dc3545,#c82333)}}@keyframes timerPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 480px){.quiz-timer{margin-bottom:1rem}.timer-display{padding:.6rem 1rem}.timer-text{font-size:1.2rem}.timer-warning{font-size:.85rem}}.quiz-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.nav-btn{padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px}.prev-btn{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff}.prev-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#495057);transform:translate(-2px)}.next-btn{background:linear-gradient(135deg,#28a745,#218838);color:#fff}.next-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);transform:translate(2px)}.nav-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;opacity:.6}.question-counter{font-size:1.1rem;font-weight:700;color:var(--text-primary);background-color:var(--card-bg);padding:.5rem 1rem;border-radius:20px;border:2px solid var(--primary-color);box-shadow:0 2px 4px #0000001a}.quiz-instructions{text-align:center;color:var(--text-tertiary);font-size:.9rem;margin-top:1rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}@media (max-width: 768px){.quiz-navigation{padding:.75rem;margin-top:1.5rem}.nav-btn{padding:.65rem 1rem;font-size:.9rem;min-width:90px}.question-counter{font-size:1rem;padding:.4rem .8rem}}@media (max-width: 480px){.quiz-navigation{flex-direction:column;gap:1rem;padding:.75rem}.nav-btn{width:100%;padding:.7rem 1rem;font-size:.9rem}.question-counter{order:-1;font-size:.95rem}.quiz-instructions{font-size:.85rem;padding:.6rem;margin-top:.75rem}}.quiz-question{background-color:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color)}.quiz-question p{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;line-height:1.6}@media (max-width: 768px){.quiz-question{padding:1.25rem;margin-bottom:1.25rem}.quiz-question h4{font-size:1.05rem}.quiz-question p{font-size:.95rem}}@media (max-width: 480px){.quiz-question{padding:1rem;margin-bottom:1rem}.quiz-question h4{font-size:1rem;margin-bottom:.6rem}.quiz-question p{font-size:.9rem;line-height:1.5}}.quiz-options{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.quiz-option{position:relative;padding:.75rem 1rem;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.95rem;text-align:left;word-wrap:break-word;overflow-wrap:break-word}.quiz-option:hover:not(.correct):not(.incorrect){background-color:var(--bg-secondary);border-color:var(--primary-color)}.quiz-option.selected{background-color:var(--primary-color)!important;color:#fff;border-color:var(--primary-color);font-weight:500}.quiz-option.correct{background-color:#28a74526!important;border:2px solid #28a745!important;font-weight:600!important;color:#155724!important;box-shadow:0 0 8px #28a7454d!important;position:relative!important}.quiz-option.correct:before{content:"✓";position:absolute;right:1rem;font-size:1.2rem;color:#28a745;font-weight:700}.quiz-option.incorrect{background-color:#dc35451a!important;border:2px solid #dc3545!important;color:#721c24!important;opacity:.9!important;text-decoration:line-through}.quiz-option.incorrect:before{content:"✗";position:absolute;right:1rem;font-size:1.2rem;color:#dc3545;font-weight:700}@media (max-width: 768px){.quiz-options{gap:.65rem}.quiz-option{padding:.65rem .9rem;font-size:.9rem}}@media (max-width: 480px){.quiz-options{gap:.6rem}.quiz-option{padding:.6rem 2.5rem .6rem .8rem;font-size:.85rem;position:relative}.quiz-option.correct:before,.quiz-option.incorrect:before{right:.75rem;font-size:1rem}}.question-explanation{background-color:#f9f9f9;padding:1.25rem;border-radius:8px;margin-top:1rem;border-left:4px solid #6c757d}.question-explanation h5{margin-top:0;margin-bottom:.75rem;font-size:1.05rem}.question-explanation p{margin-bottom:.75rem;line-height:1.6;font-size:.95rem}.question-explanation p:last-child{margin-bottom:0}.correct-answer{color:#28a745;font-weight:600}.incorrect-answer{color:#dc3545;font-weight:600}@media (max-width: 768px){.question-explanation{padding:1rem}.question-explanation h5{font-size:1rem}.question-explanation p{font-size:.9rem}}@media (max-width: 480px){.question-explanation{padding:.9rem;margin-top:.85rem}.question-explanation h5{font-size:.95rem;margin-bottom:.6rem}.question-explanation p{font-size:.85rem;line-height:1.5}}.quiz-actions{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--border-color)}.quiz-submit{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.quiz-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #27ae6066}.quiz-submit:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}@media (max-width: 768px){.quiz-actions{margin-top:1.5rem;padding-top:1.25rem}.quiz-submit{padding:.9rem 1.75rem;font-size:1.05rem}}@media (max-width: 480px){.quiz-actions{margin-top:1.25rem;padding-top:1rem}.quiz-submit{width:100%;padding:.8rem 1.5rem;font-size:1rem}}.quiz-results-summary{background:linear-gradient(135deg,#f0f8ff,#e6f2ff);padding:2rem;border-radius:12px;text-align:center;margin-top:1.5rem;border:2px solid var(--primary-color);box-shadow:0 4px 20px #2a4f9e33}.quiz-results-summary h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.quiz-score{font-size:1.4rem;font-weight:700;color:var(--primary-color);margin:1rem 0}.points-earned{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:1rem 1.25rem;border-radius:8px;font-size:1.1rem;text-align:center;margin:1rem 0;border:2px solid #4caf50;box-shadow:0 4px 12px #4caf504d;animation:pointsPulse .6s ease-in-out}.points-earned strong{font-size:1.2rem;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.quiz-actions-row{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.download-results-btn{background:linear-gradient(135deg,#28a745,#218838);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;cursor:pointer;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease}.download-results-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}@media (max-width: 768px){.quiz-results-summary{padding:1.5rem}.quiz-results-summary h3{font-size:1.3rem}.quiz-score{font-size:1.25rem}.points-earned{padding:.85rem 1rem;font-size:1rem}.points-earned strong{font-size:1.1rem}}@media (max-width: 480px){.quiz-results-summary{padding:1.25rem;margin-top:1.25rem}.quiz-results-summary h3{font-size:1.2rem}.quiz-score{font-size:1.15rem}.points-earned{padding:.75rem .9rem;font-size:.95rem}.points-earned strong{font-size:1rem}.quiz-actions-row{flex-direction:column;gap:.75rem}.new-quiz-btn,.download-results-btn{width:100%;justify-content:center}}.quiz-results-questions{margin-top:2rem}.quiz-question-result{background-color:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color)}.quiz-question-result h4{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.quiz-question-result p{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;line-height:1.6}.quiz-question-result .quiz-options{margin-top:1rem;margin-bottom:1rem}.quiz-question-result .question-explanation{margin-top:1rem}@media (max-width: 768px){.quiz-results-questions{margin-top:1.5rem}.quiz-question-result{padding:1.25rem;margin-bottom:1.25rem}.quiz-question-result h4{font-size:1.05rem}.quiz-question-result p{font-size:.95rem}}@media (max-width: 480px){.quiz-results-questions{margin-top:1.25rem}.quiz-question-result{padding:1rem;margin-bottom:1rem}.quiz-question-result h4{font-size:1rem;margin-bottom:.6rem}.quiz-question-result p{font-size:.9rem;line-height:1.5}}.quiz-container::-webkit-scrollbar{width:8px}.quiz-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.quiz-container::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.quiz-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}.quiz-option:focus-visible,.quiz-submit:focus-visible,.generate-quiz-btn:focus-visible,.new-quiz-btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.quiz-page{background:var(--bg-secondary);color:var(--text-primary);min-height:calc(100vh - var(--header-height));padding:28px 20px 48px;box-sizing:border-box;font-family:var(--font-sans)}.quiz-page *,.quiz-page *:before,.quiz-page *:after{box-sizing:border-box}.quiz-page .qz-shell{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.quiz-page .qz-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quiz-page .qz-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.quiz-page .qz-eyebrow{margin:0 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.quiz-page .qz-title{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.15;color:var(--text-primary);text-align:left}.quiz-page .qz-subtitle{margin:6px 0 0;color:var(--text-secondary);font-size:.98rem}.quiz-page .qz-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;color:var(--text-primary)}.quiz-page .qz-card-title{margin:0 0 4px;font-size:1.3rem;font-weight:700;color:var(--text-primary)}.quiz-page .qz-card-sub{margin:0 0 18px;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.quiz-page .qz-section-title{margin:0 0 12px;font-size:1.15rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.quiz-page .qz-btn-sm{padding:9px 16px;font-size:.88rem}.quiz-page .eg-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.quiz-page .eg-btn:focus-visible,.quiz-page .qz-chip:focus-visible,.quiz-page .qz-dot:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.quiz-page .qz-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);font-size:.93rem;line-height:1.45;margin:0 0 16px;border:1px solid transparent;text-align:left}.quiz-page .qz-alert-error{background:var(--error-soft);border-color:var(--error-color);color:var(--text-primary)}.quiz-page .qz-alert-info{background:var(--info-soft);border-color:var(--border-strong);color:var(--text-primary);margin:0}.quiz-page .qz-ready{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:18px;background:var(--accent-soft);border:1px solid var(--accent-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.93rem;line-height:1.45}.quiz-page .qz-ready-icon{flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent-color);color:var(--navy-900);font-weight:800;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}.quiz-page .qz-ready-tip{color:var(--text-secondary)}.quiz-page .qz-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;min-width:0}.quiz-page .qz-field label{font-weight:600;font-size:.92rem;color:var(--text-primary)}.quiz-page .qz-field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.quiz-page .qz-input{width:100%;min-height:48px;padding:11px 14px;font:inherit;font-size:1rem;color:var(--text-primary);background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.quiz-page .qz-input::placeholder{color:var(--text-tertiary);opacity:1}.quiz-page .qz-input:hover{border-color:var(--border-strong)}.quiz-page .qz-input:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--shadow-focus)}.quiz-page select.qz-input{cursor:pointer}.quiz-page select.qz-input option,.quiz-page select.qz-input optgroup{background-color:var(--card-bg);color:var(--text-primary)}.quiz-page .qz-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.quiz-page .qz-chips-label{font-size:.85rem;color:var(--text-tertiary);font-weight:600}.quiz-page .qz-chip{font:inherit;font-size:.85rem;font-weight:600;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background-color .15s,border-color .15s}.quiz-page .qz-chip:hover{border-color:var(--text-primary)}.quiz-page .qz-chip.is-active{background:var(--accent-soft);border-color:var(--accent-color)}.quiz-page .qz-generate{width:100%;margin-top:6px}.quiz-page .qz-spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;display:inline-block;animation:qz-spin .8s linear infinite;flex:none}.quiz-page .qz-spinner-lg{width:40px;height:40px;border-width:4px;color:var(--accent-color)}@keyframes qz-spin{to{transform:rotate(360deg)}}.quiz-page .qz-loading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px}.quiz-page .qz-loading-title{margin:6px 0 0;font-size:1.1rem;font-weight:700}.quiz-page .qz-quiz{display:flex;flex-direction:column;gap:16px}.quiz-page .qz-quiz-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}.quiz-page .qz-quiz-meta{min-width:0}.quiz-page .qz-quiz-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.quiz-page .qz-quiz-info{margin:2px 0 0;font-size:.88rem;color:var(--text-secondary)}.quiz-page .qz-progress{padding:16px 20px}.quiz-page .qz-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.quiz-page .qz-progress-label{white-space:nowrap;font-weight:700;font-size:.98rem;color:var(--text-primary)}.quiz-page .qz-progress-track,.quiz-page .qz-time-track,.quiz-page .qz-score-track{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.quiz-page .qz-progress-fill{height:100%;background:var(--accent-color);border-radius:inherit;transition:width .3s var(--ease)}.quiz-page .qz-time-track{height:3px;margin-top:6px;background:transparent}.quiz-page .qz-time-fill{height:100%;background:var(--border-strong);border-radius:inherit;transition:width 1s linear}.quiz-page .qz-timer{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;padding:6px 12px;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.quiz-page .qz-timer-text{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem;color:var(--text-primary)}.quiz-page .qz-timer-unit{font-size:.82rem}.quiz-page .qz-timer.is-low{background:var(--warning-soft);border-color:var(--warning-color)}.quiz-page .qz-timer-note{margin:10px 0 0;font-size:.86rem;color:var(--text-secondary)}.quiz-page .qz-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.quiz-page .qz-dot{width:30px;height:30px;border-radius:50%;font:inherit;font-size:.78rem;font-weight:700;border:1.5px solid var(--border-strong);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;padding:0}.quiz-page .qz-dot.is-done{background:var(--primary-soft);color:var(--text-primary);border-color:var(--primary-color)}.quiz-page .qz-dot.is-current{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color);color:var(--text-primary)}.quiz-page .qz-q-number{margin:0 0 6px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.quiz-page .qz-q-text{margin:0 0 18px;font-size:1.2rem;font-weight:700;line-height:1.45;color:var(--text-primary);overflow-wrap:anywhere}.quiz-page .qz-options{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.quiz-page .qz-option{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:54px;margin:0;padding:12px 14px;font:inherit;font-size:1rem;font-weight:500;line-height:1.4;text-align:left;text-decoration:none;color:var(--text-primary);background:var(--card-bg);border:2px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:none;opacity:1;transform:none;transition:border-color .15s,background-color .15s,box-shadow .15s}.quiz-page button.qz-option{cursor:pointer}.quiz-page .qz-option:before,.quiz-page .qz-option:after{content:none}.quiz-page .qz-option-letter{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;background:var(--bg-secondary);border:2px solid var(--border-strong);color:var(--text-secondary);transition:background-color .15s,border-color .15s,color .15s}.quiz-page .qz-option-text{flex:1;min-width:0;overflow-wrap:anywhere;color:inherit}.quiz-page button.qz-option:hover{border-color:var(--text-primary);background:var(--bg-secondary)}.quiz-page button.qz-option:focus-visible{outline:none;border-color:var(--accent-color);box-shadow:var(--shadow-focus)}.quiz-page .qz-option.is-selected{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:inset 4px 0 0 var(--accent-color);font-weight:600}.quiz-page button.qz-option.is-selected:hover{background:var(--primary-soft);border-color:var(--primary-color)}.quiz-page .qz-option.is-selected .qz-option-letter{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.dark-theme .quiz-page .qz-option.is-selected{border-color:var(--accent-color);background:var(--accent-soft)}.dark-theme .quiz-page .qz-option.is-selected .qz-option-letter{background:var(--accent-color);border-color:var(--accent-color);color:var(--navy-900)}.quiz-page .qz-option.is-correct{background:var(--success-soft);border-color:var(--success-color);font-weight:600}.quiz-page .qz-option.is-correct .qz-option-letter{background:var(--success-color);border-color:var(--success-color);color:#fff}.quiz-page .qz-option.is-wrong{background:var(--error-soft);border-color:var(--error-color);font-weight:600}.quiz-page .qz-option.is-wrong .qz-option-letter{background:var(--error-color);border-color:var(--error-color);color:#fff}.dark-theme .quiz-page .qz-option.is-correct .qz-option-letter,.dark-theme .quiz-page .qz-option.is-wrong .qz-option-letter{color:var(--navy-900)}.quiz-page .qz-option-tag{flex:none;font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap}.quiz-page .qz-nav{display:flex;justify-content:space-between;gap:12px}.quiz-page .qz-nav .eg-btn{min-width:140px}.quiz-page .qz-hint{margin:0;text-align:center;font-size:.88rem;color:var(--text-tertiary)}.quiz-page .qz-hint-left{text-align:left;margin-top:10px}.quiz-page .qz-summary{text-align:center;padding:28px 24px;border-top:5px solid var(--accent-color)}.quiz-page .qz-summary.qz-band-high{border-top-color:var(--success-color)}.quiz-page .qz-summary.qz-band-low{border-top-color:var(--info-color)}.quiz-page .qz-summary-eyebrow{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.quiz-page .qz-score{margin:6px 0 2px;font-family:var(--font-display);font-size:2.75rem;font-weight:800;line-height:1.1;color:var(--text-primary);font-variant-numeric:tabular-nums}.quiz-page .qz-score-sep{margin:0 10px;color:var(--text-tertiary)}.quiz-page .qz-score-pct{color:var(--accent-text)}.quiz-page .qz-band-high .qz-score-pct{color:var(--success-color)}.quiz-page .qz-summary-msg{margin:4px 0 16px;font-size:1.15rem;font-weight:600;color:var(--text-primary)}.quiz-page .qz-score-track{max-width:360px;margin:0 auto 16px;height:10px}.quiz-page .qz-score-fill{height:100%;border-radius:inherit;background:var(--accent-color)}.quiz-page .qz-band-high .qz-score-fill{background:var(--success-color)}.quiz-page .qz-band-low .qz-score-fill{background:var(--info-color)}.quiz-page .qz-points{display:inline-block;margin:0 0 12px;padding:8px 16px;border-radius:var(--radius-full);background:var(--success-soft);border:1px solid var(--success-color);color:var(--text-primary);font-size:.95rem}.quiz-page .qz-points-muted{background:var(--bg-secondary);border-color:var(--border-strong);color:var(--text-secondary)}.quiz-page .qz-summary-note{margin:0 auto 10px;max-width:560px;font-size:.92rem;color:var(--text-secondary);line-height:1.5}.quiz-page .qz-summary .qz-alert{margin:12px 0 0}.quiz-page .qz-summary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.quiz-page .qz-feedback-loading{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-weight:600}.quiz-page .qz-feedback-msg{margin:0 0 14px;font-size:1rem;line-height:1.6;color:var(--text-primary)}.quiz-page .qz-fb-block{padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);border-left-width:4px;margin-top:12px;color:var(--text-primary)}.quiz-page .qz-fb-block h3{margin:0 0 8px;font-size:.98rem;font-weight:700;color:var(--text-primary)}.quiz-page .qz-fb-block ul{margin:0;padding-left:20px}.quiz-page .qz-fb-block li{margin-bottom:4px;line-height:1.5}.quiz-page .qz-fb-block p{margin:0;line-height:1.6}.quiz-page .qz-fb-good{background:var(--success-soft);border-left-color:var(--success-color)}.quiz-page .qz-fb-warn{background:var(--warning-soft);border-left-color:var(--warning-color)}.quiz-page .qz-fb-info{background:var(--info-soft);border-left-color:var(--info-color)}.quiz-page .qz-review{display:flex;flex-direction:column;gap:14px;margin-top:8px}.quiz-page .qz-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.quiz-page .qz-review-head .qz-q-number{margin:0}.quiz-page .qz-review-item .qz-q-text{font-size:1.08rem;margin-bottom:14px}.quiz-page .qz-review-item.is-right{border-left:4px solid var(--success-color)}.quiz-page .qz-review-item.is-wrong{border-left:4px solid var(--error-color)}.quiz-page .qz-badge{flex:none;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap;border:1px solid transparent;color:var(--text-primary)}.quiz-page .qz-badge-right{background:var(--success-soft);border-color:var(--success-color)}.quiz-page .qz-badge-wrong{background:var(--error-soft);border-color:var(--error-color)}.quiz-page .qz-explain{margin-top:14px;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);line-height:1.6}.quiz-page .qz-explain p{margin:0;font-size:.95rem}.quiz-page .qz-explain-answer{margin-top:8px!important}.quiz-page .qz-empty{text-align:center}@media (max-width: 640px){.quiz-page{padding:18px 16px 36px}.quiz-page .qz-title{font-size:1.6rem}.quiz-page .qz-card{padding:18px 16px}.quiz-page .qz-field-row{grid-template-columns:1fr}.quiz-page .qz-q-text{font-size:1.08rem}.quiz-page .qz-score{font-size:2.2rem}.quiz-page .qz-summary-actions{flex-direction:column;align-items:stretch}.quiz-page .qz-summary-actions .eg-btn{width:100%;white-space:normal}.quiz-page .qz-nav .eg-btn{flex:1;min-width:0}}@media (max-width: 400px){.quiz-page .qz-quiz-bar{flex-direction:column;align-items:stretch}.quiz-page .qz-progress-row{flex-wrap:wrap}.quiz-page .qz-option{padding:10px 12px;gap:10px}.quiz-page .qz-option-tag{display:none}.quiz-page .qz-score{font-size:1.9rem}}@media (prefers-reduced-motion: reduce){.quiz-page .qz-spinner{animation-duration:2s}.quiz-page .qz-progress-fill,.quiz-page .qz-time-fill{transition:none}}.qz-recommend{margin:0 0 16px;padding:12px 14px;border-radius:12px;border:1px dashed var(--gold-500, #F5B53D);background:var(--accent-soft, rgba(245,181,61,.1))}.qz-recommend-label{display:block;font-size:.85rem;margin-bottom:8px;opacity:.85}.qz-recommend-chips{display:flex;flex-wrap:wrap;gap:8px}.qz-recommend-chip{border:1px solid var(--border-color, rgba(127,127,127,.35));background:var(--card-bg, #fff);color:inherit;border-radius:999px;padding:7px 14px;font:inherit;font-size:.88rem;cursor:pointer}.qz-recommend-chip:hover,.qz-recommend-chip.on{border-color:var(--gold-500, #F5B53D);background:var(--accent-soft, rgba(245,181,61,.18))}.eg-md{line-height:1.65;overflow-wrap:anywhere}.eg-md>:first-child{margin-top:0}.eg-md>:last-child{margin-bottom:0}.eg-md p{margin:0 0 .85em}.eg-md h1,.eg-md h2,.eg-md h3,.eg-md h4{margin:1em 0 .4em;font-size:1.05em;line-height:1.3;font-weight:700}.eg-md h1{font-size:1.2em}.eg-md ul,.eg-md ol{margin:0 0 .85em;padding-left:1.4em}.eg-md li{margin:.25em 0}.eg-md li>p{margin:0}.eg-md strong{font-weight:700}.eg-md code{padding:.1em .35em;border-radius:6px;background:#7f7f7f2e;font-size:.92em}.eg-md pre{margin:0 0 .85em;padding:.75em 1em;overflow-x:auto;border-radius:10px;background:#7f7f7f26}.eg-md pre code{padding:0;background:none}.eg-md blockquote{margin:0 0 .85em;padding:.2em 1em;border-left:4px solid var(--gold-500, #F5B53D);opacity:.92}.eg-md hr{margin:1em 0;border:0;border-top:1px solid rgba(127,127,127,.3)}.eg-md a{color:inherit;text-decoration:underline}.eg-md-table{margin:0 0 .9em;overflow-x:auto;border:1px solid rgba(127,127,127,.3);border-radius:10px}.eg-md table{width:100%;border-collapse:collapse;font-size:.93em}.eg-md th,.eg-md td{padding:.5em .75em;text-align:left;vertical-align:top;border-bottom:1px solid rgba(127,127,127,.22)}.eg-md th{background:#7f7f7f24;font-weight:700;white-space:nowrap}.eg-md tr:last-child td{border-bottom:0}.agent-container{padding:1rem;max-width:1300px;margin:0 auto;width:100%;box-sizing:border-box;min-height:calc(100vh - 140px);display:flex;flex-direction:column;transition:margin-left .3s ease}@media (max-width: 1024px){.agent-container{padding:1rem}}@media (max-width: 768px){.agent-container{padding:.75rem;min-height:calc(100vh - 120px)}}@media (max-width: 480px){.agent-container{padding:.5rem;min-height:calc(100vh - 110px)}}.agent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a}.header-left{display:flex;align-items:center;gap:.75rem}.header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.clear-chat-btn{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem;box-shadow:0 2px 4px #ef444433}.clear-chat-btn:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.clear-chat-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sidebar-hint{font-size:.85rem;color:var(--primary-color);font-weight:500;padding:.25rem .75rem;background:#2a4f9e1a;border-radius:20px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.toggle-sidebar-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none;border-radius:8px;width:40px;height:40px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0}.toggle-sidebar-btn:hover{transform:scale(1.05)}.agent-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.context-info{display:flex;gap:.5rem;flex-wrap:wrap}.subject-tag,.topic-tag{padding:.25rem .75rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border-radius:20px;font-size:.85rem;font-weight:500}@media (max-width: 768px){.agent-title{font-size:1.2rem}.toggle-sidebar-btn{width:36px;height:36px;font-size:1rem}.clear-chat-btn{font-size:.8rem;padding:.4rem .75rem}.header-right{gap:.5rem}}@media (max-width: 480px){.agent-header{padding:.5rem;margin-bottom:.75rem}.agent-title{font-size:1.1rem}.context-info{display:none}}.conversation-sidebar{position:fixed;left:0;top:60px;height:calc(100vh - 60px);width:300px;background-color:var(--navy-900);color:#fff;z-index:1000;display:flex;flex-direction:column;transition:transform .3s ease;box-shadow:2px 0 10px #0000001a;overflow-y:auto}.conversation-sidebar.closed{transform:translate(-100%)}.conversation-sidebar.open{transform:translate(0)}@media (min-width: 769px){.conversation-sidebar.open~.agent-header,.conversation-sidebar.open~.tutor-chat{margin-left:300px}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.sidebar-header h3{margin:0;font-size:1.2rem;font-weight:600}.close-sidebar-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-sidebar-btn:hover{background-color:#ffffff1a}.new-chat-btn{margin:1rem;padding:.75rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.new-chat-btn:hover:not(:disabled){background-color:var(--primary-hover)}.new-chat-btn:disabled{opacity:.5;cursor:not-allowed}.conversation-stats{padding:1rem;background-color:#ffffff0d;margin:0 1rem 1rem;border-radius:8px}.stat-item{display:flex;justify-content:space-between;padding:.5rem 0}.stat-label{color:#ffffffb3;font-size:.9rem}.stat-value{font-weight:600;color:var(--primary-color)}.sessions-list{flex:1;overflow-y:auto;padding:0 1rem 1rem}.loading-sessions,.no-sessions{text-align:center;padding:2rem 1rem;color:#ffffff80}.session-item{background-color:#ffffff0d;border-radius:8px;padding:.75rem 2.5rem .75rem .75rem;margin-bottom:.5rem;cursor:pointer;transition:all .2s;border-left:3px solid transparent;position:relative}.session-item:hover{background-color:#ffffff1a;transform:translate(2px)}.session-item:hover .delete-session-btn{opacity:1}.delete-session-btn{position:absolute;top:.5rem;right:.5rem;background:#ef4444cc;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s;z-index:10}.delete-session-btn:hover{background:#dc2626;transform:scale(1.1)}.session-item.active .delete-session-btn{opacity:.7}.session-item.active{background-color:#2a4f9e4d;border-left-color:var(--primary-color);box-shadow:0 2px 8px #2a4f9e4d}.session-item.active:after{content:"📍";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:1rem}.session-title{font-weight:600;margin-bottom:.25rem;font-size:.95rem}.session-preview{color:#fffc;font-size:.85rem;margin-bottom:.5rem;line-height:1.4}.session-meta{display:flex;justify-content:space-between;font-size:.75rem;color:#ffffff80}@media (max-width: 768px){.conversation-sidebar{width:280px;top:0;height:100vh;z-index:1100}.conversation-sidebar.open:before{content:"";position:fixed;top:0;left:300px;right:0;bottom:0;background-color:#00000080;z-index:-1}.conversation-sidebar.open~.agent-header,.conversation-sidebar.open~.tutor-chat{margin-left:0}.sidebar-hint{display:none}}@media (max-width: 480px){.conversation-sidebar{width:85vw;max-width:320px}}.tutor-chat{display:flex;flex-direction:column;flex:1;background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;background-color:var(--bg-secondary);min-height:0}@media (max-width: 768px){.chat-messages{padding:1rem}}@media (max-width: 480px){.chat-messages{padding:.75rem}}.chat-message{margin-bottom:1.5rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.agent-response{display:flex;align-items:flex-start;gap:12px}.agent-avatar{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 2px 8px #2a4f9e4d}.agent-content{background:var(--card-bg);border-radius:16px;padding:16px 20px;flex:1;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color);max-width:calc(100% - 52px);word-wrap:break-word;overflow-wrap:break-word}.user-response{display:flex;align-items:flex-start;gap:12px;justify-content:flex-end}.user-avatar{background:linear-gradient(135deg,#4facfe,#00f2fe);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 2px 8px #4facfe4d}.user-content{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border-radius:16px;padding:12px 16px;max-width:calc(100% - 52px);box-shadow:0 2px 8px #2a4f9e4d;word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 768px){.agent-avatar,.user-avatar{width:36px;height:36px;font-size:18px}.agent-content,.user-content{padding:12px 16px;max-width:calc(100% - 48px)}}@media (max-width: 480px){.agent-avatar,.user-avatar{width:32px;height:32px;font-size:16px}.agent-response,.user-response{gap:8px}.agent-content,.user-content{padding:10px 14px;font-size:.95rem;max-width:calc(100% - 40px)}}.formatted-response{line-height:1.6;color:var(--text-primary)}.natural-response{font-size:1rem}.response-paragraph{margin:.8rem 0}.response-paragraph:first-child{margin-top:0}.response-paragraph:last-child{margin-bottom:0}.message-context{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.context-tag{padding:.25rem .5rem;background:#2a4f9e1a;color:var(--primary-color);border-radius:12px;font-size:.75rem;font-weight:500}.agent-loading{margin-bottom:1.5rem}.typing-indicator{display:flex;align-items:center;gap:12px}.typing-content{background:var(--card-bg);border-radius:16px;padding:16px 20px;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color)}.typing-content span:first-child{color:var(--primary-color);font-weight:500;display:block;margin-bottom:8px}.chat-input-container{border-top:1px solid var(--border-color);background:var(--card-bg);padding:1rem;flex-shrink:0}.error-banner{display:flex;align-items:center;justify-content:space-between;background:#fff5f5;border:1px solid #fc8181;color:#c53030;padding:.75rem 1rem;border-radius:8px;margin-bottom:.75rem;font-size:.9rem}.dismiss-error{background:none;border:none;color:#c53030;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.chat-input{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:.75rem}.message-input{flex:1;padding:12px 16px;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;resize:none;font-family:inherit;transition:border-color .2s;min-height:48px;max-height:120px}.message-input:focus{outline:none;border-color:var(--primary-color)}.message-input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.input-actions{display:flex;gap:.5rem}.send-button{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none;border-radius:12px;width:48px;height:48px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0}.send-button:hover:not(:disabled){transform:scale(1.05)}.send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.chat-input-container{padding:.75rem}.message-input{padding:10px 14px;font-size:.95rem}.send-button{width:44px;height:44px}}@media (max-width: 480px){.chat-input-container{padding:.5rem}.chat-input{gap:.5rem}.message-input{padding:10px 12px;font-size:.9rem;min-height:42px}.send-button{width:42px;height:42px;font-size:1.1rem}}.chat-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.control-buttons{display:flex;gap:.5rem}.clear-button{padding:.5rem 1rem;background:var(--card-bg);border:2px solid var(--primary-color);color:var(--primary-color);border-radius:8px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s}.clear-button:hover:not(:disabled){background:var(--primary-color);color:#fff}.clear-button:disabled{opacity:.5;cursor:not-allowed}.chat-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tip-text{font-size:.85rem;color:var(--text-tertiary)}.message-count{font-size:.85rem;color:var(--text-tertiary);font-weight:500}@media (max-width: 768px){.chat-controls{flex-direction:column;align-items:stretch}.control-buttons{width:100%}.clear-button{flex:1}.chat-info{justify-content:space-between;width:100%}.tip-text{font-size:.8rem}}@media (max-width: 480px){.tip-text{display:none}}.error-message .agent-content{background:#fff5f5;border-color:#fc8181}.error-actions{margin-top:.75rem}.retry-button{padding:.5rem 1rem;background:#e53e3e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.retry-button:hover:not(:disabled){background:#c53030}.retry-button:disabled{opacity:.5;cursor:not-allowed}.agent-footer{margin-top:1rem;padding:.75rem;text-align:center}.back-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:transform .2s;text-decoration:none;display:inline-block}.back-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2a4f9e66}@media (max-width: 480px){.agent-footer{padding:.5rem;margin-top:.75rem}.back-button{padding:.6rem 1.25rem;font-size:.95rem;width:100%}}.chat-messages::-webkit-scrollbar,.sessions-list::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track,.sessions-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.sessions-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover,.sessions-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dark-theme .conversation-sidebar{background-color:var(--bg-secondary);color:var(--text-primary);border-right:1px solid var(--border-color)}.dark-theme .sidebar-header{border-bottom-color:var(--border-color)}.dark-theme .sidebar-header h3,.dark-theme .close-sidebar-btn{color:var(--text-primary)}.dark-theme .close-sidebar-btn:hover{background-color:var(--bg-tertiary)}.dark-theme .new-chat-btn{background-color:var(--primary-color);color:#fff}.dark-theme .new-chat-btn:hover:not(:disabled){background-color:var(--primary-hover)}.dark-theme .conversation-stats{background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .stat-item{color:var(--text-secondary)}.dark-theme .sessions-list{color:var(--text-primary)}.dark-theme .session-item{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.dark-theme .session-item:hover{background-color:var(--bg-secondary)}.dark-theme .session-item.active{background-color:var(--primary-color);color:#fff}.dark-theme .session-title{color:var(--text-primary)}.dark-theme .session-time{color:var(--text-tertiary)}.dark-theme .agent-container{background-color:var(--bg-primary);color:var(--text-primary)}.dark-theme .agent-header{background-color:var(--card-bg);color:var(--text-primary);border-color:var(--border-color)}.dark-theme .agent-header h3{color:var(--text-primary)}.dark-theme .tutor-chat{background-color:var(--card-bg);border-color:var(--border-color)}.dark-theme .chat-messages{background-color:var(--bg-secondary)}.dark-theme .message{color:var(--text-primary)}.dark-theme .message.user{background-color:var(--primary-color);color:#fff}.dark-theme .message.assistant{background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .input-area{background-color:var(--card-bg);border-top-color:var(--border-color)}.dark-theme .input-container input{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.dark-theme .input-container input::placeholder{color:var(--text-tertiary)}.dark-theme .input-container input:focus{border-color:var(--primary-color)}.dark-theme .send-button{background-color:var(--primary-color);color:#fff}.dark-theme .send-button:hover:not(:disabled){background-color:var(--primary-hover)}.dark-theme .sidebar-hint{background-color:var(--bg-tertiary);color:var(--text-secondary)}.dark-theme .toggle-sidebar-btn{background-color:var(--primary-color);color:#fff}.dark-theme .toggle-sidebar-btn:hover{background-color:var(--primary-hover)}.conversation-sidebar{top:var(--header-height);height:calc(100vh - var(--header-height));background:var(--gradient-hero)}.agent-container .tutor-chat{width:100%;max-width:880px;min-height:calc(100vh - var(--header-height) - 260px);border-radius:var(--radius-xl);border:1px solid var(--border-color);background:var(--card-bg);box-shadow:var(--shadow-md);overflow:hidden}.agent-container .tutor-chat .chat-messages{flex:1;min-height:320px;padding:24px;background:var(--bg-secondary);overflow-y:auto}.agent-container .tutor-chat .agent-avatar{background:var(--navy-900);color:var(--gold-500);box-shadow:none}.agent-container .tutor-chat .user-avatar{background:var(--gold-500);color:var(--navy-900);box-shadow:none}.agent-container .tutor-chat .agent-content{border-radius:18px 18px 18px 6px;box-shadow:var(--shadow-sm)}.agent-container .tutor-chat .user-content{background:var(--navy-900);border-radius:18px 18px 6px;box-shadow:none}.dark-theme .agent-container .tutor-chat .user-content{background:var(--navy-600)}.agent-container .tutor-chat .chat-input-container{display:flex;flex-direction:column;gap:10px;padding:16px 20px 18px;border-top:1px solid var(--border-color);background:var(--card-bg)}.agent-container .tutor-chat .chat-input{display:flex;align-items:flex-end;gap:10px;width:100%;height:auto;min-height:58px;max-height:none;margin:0;padding:6px 6px 6px 16px;border-radius:var(--radius-lg);border:1.5px solid var(--input-border);background:var(--input-bg);transition:border-color .2s,box-shadow .2s}.agent-container .tutor-chat .chat-input:focus-within{border-color:var(--accent-color);box-shadow:var(--shadow-focus)}.agent-container .tutor-chat .message-input{display:block;flex:1;width:auto;min-height:44px;padding:11px 0;border:none;border-radius:0;background:transparent;color:var(--text-primary);box-shadow:none}.agent-container .tutor-chat .message-input:focus{border:none;box-shadow:none}.agent-container .tutor-chat .send-button{width:44px;height:44px;min-height:0;margin:0;padding:0;border-radius:12px;background:var(--gold-500);color:var(--navy-900)}.agent-container .tutor-chat .send-button:hover:not(:disabled){background:var(--gold-400);transform:none}.agent-container .tutor-chat .chat-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%;font-size:.85rem;color:var(--text-tertiary)}.agent-container .agent-header{width:100%;max-width:880px;border-radius:var(--radius-xl)}.tutor-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px 52px}.tutor-suggest-label{width:100%;font-size:.8rem;opacity:.7}.tutor-suggest-chip{border:1px solid var(--border-color, rgba(127,127,127,.35));background:var(--card-bg, #fff);color:inherit;border-radius:999px;padding:8px 14px;font:inherit;font-size:.88rem;cursor:pointer;text-align:left}.tutor-suggest-chip:hover{border-color:var(--gold-500, #F5B53D);background:var(--accent-soft, rgba(245,181,61,.14))}@media (max-width: 640px){.tutor-suggest{margin-left:0}}.agent-title{color:#2c3e50;text-align:center;margin-bottom:2rem}.agent-title .question-explanation{background-color:var(--bg-secondary);padding:15px;border-radius:8px;margin-top:10px;border-left:4px solid #6c757d}.agent-title .question-explanation h5{color:var(--text-primary);margin-top:0;margin-bottom:10px}.agent-title .correct-answer{color:#28a745;font-weight:700}.agent-title .incorrect-answer{color:#dc3545;font-weight:700}.agent-title .quiz-option.correct{background-color:#28a74533;border:2px solid #28a745}.agent-title .quiz-results-summary{background-color:#f0f8ff;padding:20px;border-radius:10px;text-align:center;margin-top:20px}.agent-title .quiz-score{font-size:1.2rem;font-weight:700}.agent-title .quiz-actions-row{display:flex;justify-content:center;gap:15px;margin-top:20px}.agent-title .download-results-btn{background-color:#28a745;color:#fff;border:none;border-radius:4px;padding:10px 15px;cursor:pointer;font-weight:700;display:flex;align-items:center;transition:background-color .3s}.agent-title .download-results-btn:hover{background-color:#218838}.agent-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.agent-footer p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-top:1rem}.error-message{background-color:#fde8e7;border-left:4px solid #e74c3c;padding:1rem;margin-bottom:1.5rem;border-radius:4px}.refresh-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;gap:5px;transition:background-color .3s}.refresh-button:hover{background-color:var(--primary-hover)}.retry-button{background-color:var(--accent-color);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;transition:background-color .3s}.retry-button:hover{background-color:#e67e22}.no-data-message{text-align:center;padding:2rem;background-color:var(--bg-secondary);border-radius:8px;color:var(--text-tertiary)}.filter-header,.analytics-header,.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.subject-filter{margin-bottom:2rem}.subject-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;margin-top:.5rem;background-color:var(--card-bg)}.recommendation-info,.feedback-info,.analytics-info{background-color:#f0f7fb;border-left:4px solid var(--primary-color);padding:1rem;margin-top:1rem;border-radius:4px}.feedback-loading{text-align:center;padding:2rem;font-style:italic;color:var(--text-tertiary)}.feedback-error{background-color:#fde8e7;padding:1.5rem;border-radius:8px;text-align:center}.submission-card{background-color:var(--bg-secondary);padding:1rem;border-radius:8px;margin-bottom:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid transparent}.submission-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.submission-card.selected{border-color:var(--primary-color);background-color:var(--bg-secondary)}.submission-status{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700;margin-top:.5rem}.submission-status[data-status=Graded]{background-color:#d4edda;color:#155724}.submission-status[data-status=Pending]{background-color:#fff3cd;color:#856404}.feedback-details{background-color:var(--bg-secondary);padding:1.5rem;border-radius:8px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.analytics-card{background-color:var(--card-bg);padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d}.progress-bar{height:10px;background-color:var(--bg-secondary);border-radius:5px;margin:1rem 0;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary-color);border-radius:5px}.score-circle{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background-color:var(--primary-color);color:#fff;font-size:1.5rem;font-weight:700;margin:0 auto}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.subject-card{background-color:var(--card-bg);padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d}.mini-progress{height:6px;background-color:var(--bg-secondary);border-radius:3px;margin-top:.5rem;overflow:hidden}.mini-progress-fill{height:100%;background-color:var(--primary-color);border-radius:3px}.activity-list{margin-top:1rem}.activity-item{padding:1rem;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:1fr 1fr 2fr;gap:1rem}.activity-date{color:var(--text-tertiary);font-size:.9rem}.activity-type{font-weight:700;color:var(--primary-color)}.timeframe-filter{display:flex;align-items:center;gap:.5rem}.timeframe-select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg)}.leaderboard-table{margin-top:1rem;overflow-x:auto}.leaderboard-table table{width:100%;border-collapse:collapse}.leaderboard-table th{background-color:var(--bg-secondary);font-weight:700;color:var(--text-secondary)}.leaderboard-table tr.current-user{background-color:#e8f4fd;font-weight:700}.curriculum-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:2rem}.curriculum-item{background-color:var(--bg-secondary);padding:1rem;border-radius:4px;box-shadow:0 2px 4px #0000001a}.curriculum-item h3{color:var(--text-primary);margin-bottom:.5rem}.quiz-container{max-width:800px;margin:0 auto}.quiz-question{background-color:var(--bg-secondary);padding:1.5rem;border-radius:4px;margin-bottom:1rem}.quiz-options{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.quiz-option{padding:.5rem 1rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.quiz-option:hover{background-color:var(--bg-secondary)}.quiz-submit{margin-top:1rem;padding:.5rem 1rem;background-color:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer}.quiz-submit:hover{background-color:#219a52}.quiz-form-container{max-width:600px;margin:0 auto;padding:2rem}.quiz-form{background-color:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;border:1px solid var(--border-color)}.quiz-form h3{color:var(--text-primary);text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.95rem}.form-control{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:6px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-control:hover{border-color:#bdc3c7}.generate-quiz-btn{width:100%;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;padding:1rem 2rem;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.generate-quiz-btn:hover{background:linear-gradient(135deg,var(--primary-hover),#1f5582);transform:translateY(-2px);box-shadow:0 4px 12px #2a4f9e4d}.generate-quiz-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.quiz-header{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-secondary));padding:1.5rem;border-radius:8px;margin-bottom:2rem;text-align:center;border:1px solid var(--border-color)}.quiz-header h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.4rem}.quiz-header p{color:var(--text-tertiary);margin-bottom:1rem;font-size:.95rem}.new-quiz-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.new-quiz-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-1px)}.quiz-question h4{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.quiz-question p{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;line-height:1.5}.quiz-option.selected{background-color:var(--primary-color)!important;color:#fff;border-color:var(--primary-hover)}.quiz-option.selected:hover{background-color:var(--primary-hover)!important}.quiz-actions{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.quiz-submit{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:1rem 2rem;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.quiz-submit:hover:not(:disabled){background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.quiz-submit:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.quiz-form-container{padding:1rem}.quiz-form{padding:1.5rem}.quiz-header,.quiz-question{padding:1rem}}.tutor-chat{height:600px;display:flex;flex-direction:column;width:100%;max-width:800px;margin:0 auto}@media (max-width: 768px){.tutor-chat{height:500px}}@media (max-width: 480px){.tutor-chat{height:400px}}.chat-messages{flex-grow:1;overflow-y:auto;padding:1rem;background-color:var(--bg-secondary);border-radius:4px}.chat-input{display:flex;gap:.3rem;margin-top:.1rem;padding:0;max-height:50px;align-items:center;box-sizing:border-box}@media (max-width: 480px){.chat-input{gap:.5rem}}.chat-input input{flex-grow:1;padding:.2rem .4rem;border:1px solid var(--border-color);border-radius:3px;height:20px;font-size:13px;line-height:1}.chat-input button{padding:.2rem .5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:3px;cursor:pointer;height:20px;min-width:45px;font-size:12px}@media (max-width: 480px){.chat-input input{padding:.4rem}.chat-input button{padding:.4rem .8rem;min-width:60px}}.chat-input button{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer}.chat-message{margin-bottom:1rem;padding:.5rem 1rem;border-radius:4px;max-width:80%;word-wrap:break-word}@media (max-width: 768px){.chat-message{max-width:85%}}@media (max-width: 480px){.chat-message{max-width:90%;padding:.5rem .75rem;margin-bottom:.75rem}}.chat-message.user{background-color:var(--primary-color);color:#fff;align-self:flex-end}.chat-message.agent{background-color:transparent;color:var(--text-primary);align-self:flex-start;padding:0;max-width:90%}.chat-message.user{background-color:transparent;align-self:flex-end;padding:0;max-width:80%}.agent-response{display:flex;align-items:flex-start;gap:12px;margin-bottom:1.5rem}.agent-avatar{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 2px 8px #2a4f9e4d}.agent-content{background:var(--bg-secondary);border-radius:16px;padding:16px 20px;flex:1;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border-color)}.user-response{display:flex;align-items:flex-start;gap:12px;margin-bottom:1.5rem;justify-content:flex-end}.user-avatar{background:linear-gradient(135deg,#4facfe,#00f2fe);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 2px 8px #4facfe4d}.user-content{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border-radius:16px;padding:12px 16px;max-width:100%;box-shadow:0 2px 8px #2a4f9e4d}.formatted-response{line-height:1.6}.response-header{color:var(--text-primary);margin:1rem 0 .5rem;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--primary-color);padding-bottom:5px}.response-header:first-child{margin-top:0}.header-icon{font-size:1rem}.response-paragraph{margin:.8rem 0;color:var(--text-primary);text-align:justify}.response-list-item{display:flex;margin:.5rem 0;border-left:3px solid var(--primary-color);padding:8px 0 8px 12px;background:#2a4f9e0d;border-radius:0 8px 8px 0}.list-number{background:var(--primary-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin-right:12px;flex-shrink:0}.list-content{flex:1;color:var(--text-primary)}.response-definition{margin:.8rem 0;padding:12px;background:#2ecc711a;border-left:4px solid #2ecc71;border-radius:0 8px 8px 0}.definition-term{font-weight:700;color:#27ae60;display:block;margin-bottom:4px}.definition-content{color:var(--text-primary);display:block}.typing-indicator{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-secondary);border-radius:16px;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.typing-indicator span:first-child{font-size:18px}.typing-indicator span:nth-child(2){color:var(--primary-color);font-weight:500}.dots{display:flex;gap:4px}.dots span{width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:typing 1.4s infinite ease-in-out}.dots span:nth-child(1){animation-delay:-.32s}.dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.action-button:hover{background-color:var(--bg-secondary);border-color:#bbb}.feedback-container{max-width:800px;margin:0 auto;background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.feedback-header{text-align:center;margin-bottom:2rem}.feedback-header h2{color:var(--text-primary);margin-bottom:.5rem}.feedback-header p{color:var(--text-tertiary);margin-top:0}.feedback-form-section{margin-bottom:2rem}.feedback-form-section h3{color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.feedback-form-group{margin-bottom:1.5rem}.feedback-form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.feedback-form-group input,.feedback-form-group select,.feedback-form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.feedback-form-group textarea{min-height:120px;resize:vertical}.rating-options{display:flex;gap:1rem}.rating-option{flex:1;text-align:center}.rating-option input{display:none}.rating-option label{display:block;padding:1rem 0;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s}.rating-option input:checked+label{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.feedback-submit-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s;width:100%}.feedback-submit-button:hover{background-color:var(--primary-hover)}.feedback-submit-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.submitted-feedback{text-align:center;padding:2rem}.submitted-feedback h3{color:var(--text-primary);margin-bottom:1rem}.submitted-feedback p{color:var(--text-tertiary)}.analytics-container{padding:1.5rem;background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.analytics-header h2{color:var(--text-primary);margin:0}.analytics-filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.filter-item{display:flex;flex-direction:column}.filter-item label{font-size:.85rem;margin-bottom:.25rem;color:var(--text-tertiary)}.filter-item select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}@media (max-width: 768px){.charts-grid{grid-template-columns:1fr;gap:1.5rem}.analytics-filters{flex-direction:column;align-items:flex-start}.filter-item{width:100%;margin-bottom:.5rem}.filter-item select{width:100%}}@media (max-width: 480px){.charts-grid{gap:1rem}.chart-container{padding:.75rem}}.chart-container{background-color:var(--bg-secondary);border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-title{font-size:1rem;color:var(--text-primary);margin:0}.chart-actions{display:flex;gap:.5rem}.chart-action-button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem}.chart-action-button:hover{color:var(--text-primary)}.analytics-table{width:100%;border-collapse:collapse;margin-top:2rem}.analytics-table th,.analytics-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.analytics-table th{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:600}.analytics-table tr:hover{background-color:var(--bg-secondary)}.insights-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.insights-section h3{color:var(--text-primary);margin-bottom:1rem}.insight-card{background-color:var(--bg-secondary);border-radius:8px;padding:1rem;margin-bottom:1rem;border-left:4px solid var(--primary-color)}.insight-card h4{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.insight-card p{margin:0;color:var(--text-tertiary)}.progress-container{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.progress-header h2{color:var(--text-primary);margin:0}.progress-filters{display:flex;gap:1rem}.progress-filters select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px}.progress-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;text-align:center}.stat-card h3{color:var(--text-tertiary);font-size:.9rem;text-transform:uppercase;margin-top:0;margin-bottom:.5rem}.stat-card .value{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0}.stat-card .trend{display:flex;align-items:center;justify-content:center;margin-top:.5rem;font-size:.85rem}.trend.positive{color:#27ae60}.trend.negative{color:#e74c3c}.progress-detail{margin-bottom:2rem}.progress-detail h3{color:var(--text-primary);margin-bottom:1rem}.progress-bar-container{background-color:#f1f1f1;border-radius:10px;margin-bottom:1.5rem}.progress-bar{height:20px;border-radius:10px;background-color:var(--primary-color);transition:width .5s;position:relative}.progress-bar .progress-label{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#fff;font-size:.8rem;font-weight:500}.timeline{position:relative;padding-left:2rem;margin-bottom:2rem}.agent-container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.agent-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:30px;text-align:center}.agent-loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.2rem;color:var(--text-secondary)}.agent-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:20px;border-radius:8px;text-align:center;margin:20px 0}.error-message,.warning-message{padding:15px;border-radius:8px;margin-bottom:20px}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33}.warning-message{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.timeframe-selector{display:flex;justify-content:center;gap:10px;margin-bottom:30px;flex-wrap:wrap}.timeframe-button{padding:10px 20px;border:2px solid var(--border-color);background-color:var(--card-bg);border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.timeframe-button:hover{border-color:var(--primary-color);background-color:var(--primary-soft)}.timeframe-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.progress-content{display:flex;flex-direction:column;gap:30px}.progress-section{background:var(--card-bg);padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.progress-section h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:20px;border-bottom:2px solid var(--border-color);padding-bottom:10px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;padding:20px;border-radius:10px;text-align:center;box-shadow:0 4px 6px #0000001a}.stat-card h3{font-size:.9rem;font-weight:500;opacity:.9;margin-bottom:10px}.stat-value{font-size:2rem;font-weight:700;margin-top:5px}.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.topic-card{background:var(--bg-secondary);padding:20px;border-radius:10px;border:1px solid var(--border-color);transition:transform .2s ease}.topic-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.topic-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:15px}.topic-progress{height:12px;background-color:var(--bg-tertiary);border-radius:6px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:6px;transition:width .5s ease}.topic-card p{font-size:1rem;font-weight:600;text-align:right}.streak-display{text-align:center;padding:30px;background:var(--gradient-accent);color:#fff;border-radius:15px}.streak-count{font-size:3rem;font-weight:700;margin-bottom:10px}.streak-display p{font-size:1.1rem;margin:5px 0}.streak-message{font-size:1.2rem;margin-top:15px;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.weak-topics-list{display:flex;flex-direction:column;gap:15px}.weak-topic-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff5f5;border-left:4px solid #fc8181;border-radius:6px;font-weight:500}.topic-score{background:#fc8181;color:#fff;padding:5px 15px;border-radius:20px;font-weight:600}.improvement-tip{margin-top:20px;padding:15px;background:var(--primary-soft);border-left:4px solid var(--primary-color);border-radius:6px;color:#2c5282;font-weight:500}.improvements-list{display:flex;flex-direction:column;gap:12px}.improvement-item{padding:12px 15px;background:#f0fff4;border-left:4px solid #48bb78;border-radius:6px;color:#22543d;font-weight:500}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.feedback-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.refresh-button{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease}.refresh-button:hover{background-color:var(--primary-color)}.feedback-content{display:grid;grid-template-columns:1fr 1fr;gap:25px}@media (max-width: 768px){.feedback-content{grid-template-columns:1fr}}.submissions-section,.feedback-section{background:var(--card-bg);padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.submissions-list{display:flex;flex-direction:column;gap:15px}.submission-card{padding:20px;border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .3s ease}.submission-card:hover{border-color:var(--primary-color);background-color:var(--primary-soft);transform:translateY(-2px)}.submission-card.selected{border-color:var(--primary-color);background-color:var(--primary-soft);box-shadow:0 4px 12px #2a4f9e4d}.submission-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.submission-type{color:var(--text-tertiary);font-size:.9rem;margin:5px 0}.submission-date{color:var(--text-tertiary);font-size:.85rem;margin:5px 0}.submission-status{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin-top:10px}.submission-status[data-status=Graded]{background-color:#c6f6d5;color:#22543d}.submission-status[data-status=Pending]{background-color:#feebc8;color:#7c2d12}.feedback-details{display:flex;flex-direction:column;gap:20px}.feedback-message{padding:15px;background:var(--primary-soft);border-left:4px solid var(--primary-color);border-radius:6px;color:#2c5282;line-height:1.6}.feedback-points{background:var(--bg-secondary);padding:20px;border-radius:10px;border:1px solid var(--border-color)}.feedback-points h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:15px}.feedback-points ul{list-style:none;padding:0;margin:0}.feedback-points li{padding:10px 0 10px 25px;position:relative;line-height:1.5}.feedback-points li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700;font-size:1.2rem}.feedback-suggestions{background:#fffaf0;padding:20px;border-radius:10px;border-left:4px solid #ed8936}.feedback-suggestions h3{font-size:1.1rem;font-weight:600;color:#7c2d12;margin-bottom:10px}.feedback-suggestions p{color:#744210;line-height:1.6}.feedback-loading,.feedback-error{padding:40px;text-align:center;color:var(--text-tertiary)}.retry-button{margin-top:15px;padding:10px 25px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.retry-button:hover{background-color:var(--primary-color)}.no-data-message{padding:40px;text-align:center;color:var(--text-tertiary)}.agent-footer{margin-top:40px;display:flex;flex-direction:column;gap:20px}.back-button{padding:12px 30px;background-color:#4a5568;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:1rem;transition:background-color .3s ease;align-self:center}.back-button:hover{background-color:var(--navy-900)}.feedback-info,.progress-info{background:var(--bg-secondary);padding:20px;border-radius:10px;border:1px solid var(--border-color)}.feedback-info p,.progress-info p{margin:0;color:var(--text-secondary);line-height:1.6}.feedback-info strong,.progress-info strong{color:var(--text-primary)}@media (max-width: 768px){.agent-container{padding:15px}.agent-title{font-size:1.5rem}.stats-grid,.topics-grid{grid-template-columns:1fr}.timeframe-selector{flex-direction:column}.timeframe-button{width:100%}}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:8px;width:2px;background-color:var(--bg-tertiary)}.timeline-item{position:relative;padding-bottom:1.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-2rem;top:.25rem;width:1rem;height:1rem;border-radius:50%;background-color:var(--primary-color)}.timeline-date{color:var(--text-tertiary);font-size:.85rem;margin-bottom:.25rem}.timeline-title{color:var(--text-primary);margin-top:0;margin-bottom:.25rem}.timeline-description{color:var(--text-tertiary);margin:0}.recommendations-section{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem}.recommendations-section h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem}.recommendation-item{padding:1rem;border-bottom:1px solid var(--border-color)}.recommendation-item:last-child{border-bottom:none}.recommendation-title{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.recommendation-description{color:var(--text-tertiary);margin:0}.recommendation-agent-container{padding:1.5rem;background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a}.recommendation-agent-header{margin-bottom:2rem;text-align:center}.recommendation-agent-header h2{color:var(--text-primary);margin-bottom:.5rem}.recommendation-agent-header p{color:var(--text-tertiary);margin-top:0}.preferences-section{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.preferences-section h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem}.preferences-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.preference-group{margin-bottom:1rem}.preference-group label{display:block;margin-bottom:.5rem;color:var(--text-primary)}.preference-group select,.preference-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px}.preference-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.preference-checkbox{display:flex;align-items:center}.preference-checkbox input{margin-right:.5rem}.get-recommendations-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s;width:100%;margin-top:1rem}.get-recommendations-button:hover{background-color:var(--primary-hover)}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}}@media (max-width: 480px){.recommendations-grid{grid-template-columns:1fr;gap:1rem}}.recommendation-card{background-color:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a;transition:transform .3s,box-shadow .3s}.recommendation-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.recommendation-image{width:100%;height:160px;object-fit:cover}.recommendation-content{padding:1.5rem}.recommendation-card h4{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.recommendation-meta{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.85rem;color:var(--text-tertiary)}.recommendation-description{color:var(--text-tertiary);margin-bottom:1rem}.recommendation-tags{display:flex;flex-wrap:wrap;gap:.5rem}.recommendation-tag{background-color:var(--bg-secondary);color:var(--text-tertiary);font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.explore-button{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s;width:100%;margin-top:1rem;text-align:center}.explore-button:hover{background-color:var(--primary-color);color:#fff}.no-recommendations{text-align:center;padding:2rem;color:var(--text-tertiary)}.tutor-container{display:grid;grid-template-columns:1fr 3fr;gap:1.5rem;height:calc(100vh - 100px)}@media (max-width: 768px){.tutor-container{grid-template-columns:1fr}}.tutor-sidebar{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:100%}.tutor-sidebar h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.topic-list{overflow-y:auto;flex-grow:1}.topic-item{padding:.75rem;border-radius:4px;margin-bottom:.5rem;cursor:pointer;transition:background-color .2s}.topic-item:hover{background-color:var(--bg-secondary)}.topic-item.active{background-color:var(--primary-color);color:#fff}.session-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.session-action-button{width:100%;padding:.75rem;margin-bottom:.5rem;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.primary-action{background-color:var(--primary-color);color:#fff}.primary-action:hover{background-color:var(--primary-hover)}.secondary-action{background-color:var(--bg-secondary);color:var(--text-primary)}.secondary-action:hover{background-color:var(--bg-tertiary)}.tutor-main{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:100%}.tutor-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.tutor-header h2{color:var(--text-primary);margin:0}.tutor-content{padding:1.5rem;overflow-y:auto;flex-grow:1}.lesson-section{margin-bottom:2rem}.lesson-section:last-child{margin-bottom:0}.lesson-section h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem}.media-container{margin-bottom:1.5rem}.media-container img,.media-container video{max-width:100%;border-radius:4px}.concept-explanation{background-color:var(--bg-secondary);border-radius:4px;padding:1rem;margin-bottom:1.5rem}.interactive-element{margin-bottom:1.5rem}.chat-container{border-top:1px solid var(--border-color);padding:.5rem}.chat-messages{height:450px;overflow-y:auto;margin-bottom:.3rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:4px}.message{margin-bottom:1rem;padding:.75rem;border-radius:4px;max-width:80%}.user-message{background-color:var(--primary-color);color:#fff;margin-left:auto}.tutor-message{background-color:var(--bg-tertiary);color:var(--text-primary)}.message-time{font-size:.75rem;margin-top:.25rem;text-align:right;opacity:.7}.chat-input-container{display:flex;gap:.5rem}.chat-input{flex-grow:1;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.send-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:0 1rem;cursor:pointer;transition:background-color .2s}.send-button:hover{background-color:var(--primary-hover)}.quiz-container{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.quiz-header{margin-bottom:1.5rem}.quiz-header h3{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.quiz-progress{display:flex;align-items:center;margin-bottom:1.5rem}.quiz-progress-bar{flex-grow:1;height:8px;background-color:var(--bg-tertiary);border-radius:4px;margin-right:1rem}.quiz-progress-fill{height:100%;background-color:var(--primary-color);border-radius:4px}.quiz-progress-text{font-size:.9rem;color:var(--text-tertiary)}.question-container{margin-bottom:1.5rem}.question-text{color:var(--text-primary);font-weight:500;margin-bottom:1rem}.options-list{list-style-type:none;padding:0;margin:0}.option-item{margin-bottom:.5rem}.option-button{width:100%;text-align:left;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg);cursor:pointer;transition:all .2s}.option-button:hover{background-color:var(--bg-tertiary)}.option-button.selected{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.quiz-feedback{padding:1rem;border-radius:4px;margin-bottom:1.5rem}.feedback-correct{background-color:#dff0d8;color:#3c763d}.feedback-incorrect{background-color:#f2dede;color:#a94442}.quiz-next-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.teacher-support-container{display:grid;grid-template-columns:1fr 3fr;gap:1.5rem}@media (max-width: 768px){.teacher-support-container{grid-template-columns:1fr}}.support-sidebar{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.support-sidebar h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.tool-list{list-style-type:none;padding:0;margin:0}.tool-item{margin-bottom:.5rem}.tool-button{display:flex;align-items:center;width:100%;padding:.75rem;background-color:var(--bg-secondary);border:none;border-radius:4px;text-align:left;cursor:pointer;transition:background-color .2s}.tool-button:hover{background-color:var(--bg-tertiary)}.tool-button.active{background-color:var(--primary-color);color:#fff}.tool-icon{margin-right:.5rem}.support-main{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.support-header{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.support-header h2{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.support-header p{color:var(--text-tertiary);margin:0}.lesson-planner{margin-bottom:2rem}.planner-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 992px){.planner-form{gap:1rem}}@media (max-width: 768px){.planner-form{grid-template-columns:1fr}.planner-group textarea{min-height:100px}}@media (max-width: 480px){.planner-form{gap:.75rem}.planner-group label{margin-bottom:.25rem}.planner-group input,.planner-group select,.planner-group textarea{padding:.5rem;font-size:.9rem}}.planner-group{margin-bottom:1rem}.planner-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.planner-group input,.planner-group select,.planner-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.planner-group textarea{min-height:120px;resize:vertical}.generate-button{grid-column:span 2;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem;font-size:1rem;cursor:pointer;transition:background-color .2s}@media (max-width: 768px){.generate-button{grid-column:1}}.generate-button:hover{background-color:var(--primary-hover)}.generate-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.planner-result{margin-top:2rem}.planner-result h3{color:var(--text-primary);margin-bottom:1rem}.lesson-plan{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem}.plan-section{margin-bottom:1.5rem}.plan-section:last-child{margin-bottom:0}.plan-section h4{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.plan-content{line-height:1.6}.plan-actions{display:flex;gap:1rem;margin-top:1.5rem}.plan-action-button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center}.plan-action-button i{margin-right:.5rem}.download-button{background-color:var(--primary-color);color:#fff}.download-button:hover{background-color:var(--primary-hover)}.print-button{background-color:var(--bg-secondary);color:var(--text-primary)}.print-button:hover{background-color:var(--bg-tertiary)}.resource-generator{margin-bottom:2rem}.resource-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.resource-tab{padding:.75rem 1.5rem;border:none;background:none;cursor:pointer;color:var(--text-tertiary);font-weight:500;border-bottom:2px solid transparent;transition:all .2s}.resource-tab:hover{color:var(--text-primary)}.resource-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.resource-content{padding:1rem 0}.resource-form{margin-bottom:1.5rem}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}@media (max-width: 768px){.resource-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}}@media (max-width: 480px){.resource-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.resource-info h4{font-size:.9rem}.resource-meta{font-size:.7rem}.resource-action{font-size:.7rem;padding:.3rem}}.resource-card{background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.resource-preview{height:120px;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.resource-preview i{font-size:2rem;color:var(--text-tertiary)}.resource-info{padding:1rem}.resource-info h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.resource-meta{font-size:.8rem;color:var(--text-tertiary);margin-bottom:.5rem}.resource-actions{display:flex;gap:.5rem}.resource-action{flex:1;padding:.5rem;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.resource-download{background-color:var(--primary-color);color:#fff}.resource-download:hover{background-color:var(--primary-hover)}.resource-preview-btn{background-color:var(--bg-secondary);color:var(--text-primary)}.resource-preview-btn:hover{background-color:var(--bg-tertiary)}.assessment-creator{margin-bottom:2rem}.assessment-form{margin-bottom:1.5rem}.question-builder{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.question-types{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.question-type{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg);cursor:pointer;transition:all .2s}.question-type:hover{background-color:var(--bg-tertiary)}.question-type.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.option-builder{margin-top:1rem}.option-input{display:flex;margin-bottom:.5rem}.option-input input[type=radio],.option-input input[type=checkbox]{margin-right:.5rem}.add-option{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:0;font-size:.9rem;display:flex;align-items:center}.add-option i{margin-right:.25rem}.assessment-preview{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.gradebook{overflow-x:auto}.gradebook-table{width:100%;border-collapse:collapse}.gradebook-table th,.gradebook-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.gradebook-table th{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:600;position:sticky;top:0}.gradebook-table tbody tr:hover{background-color:var(--bg-secondary)}.student-name{font-weight:500;color:var(--text-primary)}.grade-good{color:#27ae60}.grade-average{color:var(--accent-color)}.grade-poor{color:#e74c3c}.knowledge-aggregator-container{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.knowledge-header{margin-bottom:2rem;text-align:center}.knowledge-header h2{color:var(--text-primary);margin-bottom:.5rem}.knowledge-header p{color:var(--text-tertiary);margin-top:0}.knowledge-search-bar{display:flex;margin-bottom:2rem}.knowledge-search-input{flex-grow:1;padding:.75rem;border:1px solid var(--border-color);border-radius:4px 0 0 4px;font-size:1rem}.knowledge-search-button{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer;transition:background-color .2s}.knowledge-search-button:hover{background-color:var(--primary-hover)}.knowledge-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.knowledge-filter{display:flex;align-items:center}.knowledge-filter label{margin-right:.5rem;color:var(--text-primary)}.knowledge-filter select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg)}.knowledge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.knowledge-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}}@media (max-width: 480px){.knowledge-grid{grid-template-columns:1fr;gap:1rem}}.knowledge-card{background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:transform .3s,box-shadow .3s}.knowledge-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.knowledge-card-header{padding:1.5rem;background-color:var(--primary-color);color:#fff}.knowledge-card-header h3{margin:0;font-size:1.2rem}.knowledge-card-body{padding:1.5rem}.knowledge-card-meta{margin-bottom:1rem;font-size:.85rem;color:var(--text-tertiary);display:flex;justify-content:space-between}.knowledge-card-preview{margin-bottom:1rem;color:var(--text-primary);line-height:1.6;max-height:100px;overflow:hidden;position:relative}.knowledge-card-preview:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:40px;background:linear-gradient(transparent,var(--bg-secondary))}.knowledge-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.knowledge-tag{background-color:var(--bg-tertiary);color:var(--text-tertiary);font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.knowledge-card-actions{display:flex;justify-content:space-between}.knowledge-action-button{background-color:transparent;border:none;color:var(--primary-color);cursor:pointer;padding:.5rem;display:flex;align-items:center}.knowledge-action-button i{margin-right:.25rem}.knowledge-view-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.knowledge-modal-content{background-color:var(--card-bg);border-radius:8px;width:80%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 5px 15px #0000004d}.knowledge-modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.knowledge-modal-header h3{margin:0;color:var(--text-primary)}.knowledge-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-tertiary)}.knowledge-modal-body{padding:1.5rem}.knowledge-modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem}.curriculum-container{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.curriculum-header{margin-bottom:2rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.curriculum-header h2{color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.curriculum-header p{color:var(--text-tertiary);margin:0}.curriculum-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.curriculum-filter{display:flex;flex-direction:column}.curriculum-filter label{font-size:.85rem;margin-bottom:.25rem;color:var(--text-tertiary)}.curriculum-filter select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg);min-width:150px}.curriculum-structure{display:flex;gap:1.5rem}@media (max-width: 768px){.curriculum-structure{flex-direction:column}}.curriculum-nav{flex:1;max-width:300px;border-right:1px solid var(--border-color);padding-right:1.5rem}@media (max-width: 768px){.curriculum-nav{max-width:none;border-right:none;padding-right:0;border-bottom:1px solid var(--border-color);padding-bottom:1.5rem;margin-bottom:1.5rem}}.curriculum-nav h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem}.curriculum-tree{max-height:500px;overflow-y:auto}.curriculum-tree-item{margin-bottom:.5rem}.tree-node{display:flex;align-items:center;padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.tree-node:hover{background-color:var(--bg-secondary)}.tree-node.active{background-color:var(--primary-color);color:#fff}.tree-node-icon{margin-right:.5rem}.tree-node-label{flex-grow:1}.tree-node-toggle{background:none;border:none;cursor:pointer;color:inherit;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.tree-children{padding-left:1.5rem;margin-top:.5rem}.curriculum-content{flex:2}.content-header{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.content-header h3{color:var(--text-primary);margin-top:0;margin-bottom:.25rem}.content-meta{display:flex;color:var(--text-tertiary);font-size:.85rem;gap:1rem}.content-body{line-height:1.6;color:var(--text-primary)}.content-section{margin-bottom:1.5rem}.content-section h4{color:var(--text-primary);margin-top:0;margin-bottom:1rem}.learning-objectives{background-color:var(--bg-secondary);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.learning-objectives h4{color:var(--text-primary);margin-top:0;margin-bottom:.5rem;font-size:1rem}.objectives-list{list-style-type:none;padding-left:0;margin:0}.objectives-list li{position:relative;padding-left:1.5rem;margin-bottom:.5rem}.objectives-list li:before{content:"✓";position:absolute;left:0;color:var(--primary-color)}.resources-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}@media (max-width: 768px){.resources-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}}@media (max-width: 480px){.resources-list{grid-template-columns:repeat(2,1fr);gap:.5rem}.resource-item{padding:.75rem}.resource-item-icon{font-size:1.5rem}.resource-item-title{font-size:.9rem}}.resource-item{background-color:var(--bg-secondary);border-radius:8px;padding:1rem;display:flex;flex-direction:column}.resource-item-icon{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem;align-self:center}.resource-item-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.resource-item-type{color:var(--text-tertiary);font-size:.8rem;margin-bottom:.5rem}.resource-item-link{margin-top:auto;background-color:var(--primary-color);color:#fff;text-decoration:none;padding:.5rem;border-radius:4px;font-size:.9rem;text-align:center;transition:background-color .2s}.resource-item-link:hover{background-color:var(--primary-hover)}.curriculum-content-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--text-tertiary)}.curriculum-content-empty i{font-size:3rem;margin-bottom:1rem}.curriculum-content-empty p{margin:0}.quiz-agent-container{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.quiz-agent-header{text-align:center;margin-bottom:2rem}.quiz-agent-header h2{color:var(--text-primary);margin-bottom:.5rem}.quiz-agent-header p{color:var(--text-tertiary);margin-top:0}.quiz-mode-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}@media (max-width: 768px){.quiz-mode-selector{grid-template-columns:1fr;gap:1rem}.quiz-mode-card{padding:1.25rem}.quiz-agent-header h2{font-size:1.5rem}}@media (max-width: 480px){.quiz-mode-selector{margin-bottom:1.5rem}.quiz-mode-icon{font-size:2rem;margin-bottom:.75rem}.quiz-mode-title{font-size:1.1rem}}.quiz-mode-card{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;text-align:center;cursor:pointer;transition:transform .3s,box-shadow .3s}.quiz-mode-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.quiz-mode-icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem}.quiz-mode-title{color:var(--text-primary);margin-top:0;margin-bottom:.5rem;font-size:1.2rem}.quiz-mode-description{color:var(--text-tertiary);margin:0;margin-bottom:1.5rem}.quiz-mode-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;cursor:pointer;transition:background-color .2s}.quiz-mode-button:hover{background-color:var(--primary-hover)}.quiz-setup{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.quiz-setup h3{color:var(--text-primary);margin-top:0;margin-bottom:1.5rem}.quiz-setup-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}@media (max-width: 768px){.quiz-setup-form{grid-template-columns:1fr;gap:1rem}.quiz-setup{padding:1.25rem}.quiz-setup h3{margin-bottom:1rem}}@media (max-width: 480px){.quiz-setup-form{gap:.75rem}.quiz-setup-group label{margin-bottom:.25rem}.quiz-setup-group input,.quiz-setup-group select{padding:.5rem;font-size:.9rem}.quiz-setup-group select[multiple]{height:100px}}.quiz-setup-group{margin-bottom:1rem}.quiz-setup-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.quiz-setup-group input,.quiz-setup-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.quiz-setup-group select[multiple]{height:120px}.start-quiz-button{grid-column:1 / -1;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.start-quiz-button:hover{background-color:var(--primary-hover)}.start-quiz-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.quiz-session{margin-bottom:2rem}.quiz-session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.quiz-session-header h3{color:var(--text-primary);margin:0}.quiz-session-meta{display:flex;gap:1.5rem}.quiz-meta-item{display:flex;align-items:center}.quiz-meta-icon{margin-right:.5rem;color:var(--primary-color)}.quiz-meta-text{color:var(--text-tertiary)}.question-display{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.question-header{display:flex;justify-content:space-between;margin-bottom:1rem}.question-number{font-weight:500;color:var(--text-primary)}.question-points{color:var(--text-tertiary)}.question-text{font-size:1.2rem;color:var(--text-primary);margin-bottom:1.5rem;line-height:1.6}.answer-options{margin-bottom:1.5rem}.answer-option{padding:1rem;border:1px solid var(--border-color);border-radius:4px;margin-bottom:1rem;cursor:pointer;transition:all .2s}.answer-option:hover{background-color:var(--bg-tertiary)}.answer-option.selected{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.answer-option.correct{background-color:#dff0d8;border-color:#d6e9c6}.answer-option.incorrect{background-color:#f2dede;border-color:#ebccd1}.free-text-answer{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;resize:vertical;min-height:100px}.quiz-navigation{display:flex;justify-content:space-between;margin-top:1.5rem}.quiz-nav-button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.quiz-prev-button{background-color:var(--bg-secondary);color:var(--text-primary)}.quiz-prev-button:hover{background-color:var(--bg-tertiary)}.quiz-next-button{background-color:var(--primary-color);color:#fff}.quiz-next-button:hover{background-color:var(--primary-hover)}.quiz-submit-button{background-color:#27ae60;color:#fff}.quiz-submit-button:hover{background-color:#219653}.question-feedback{background-color:var(--bg-secondary);border-radius:8px;padding:1rem;margin-top:1rem;margin-bottom:1rem}.feedback-correct{border-left:4px solid #27ae60}.feedback-incorrect{border-left:4px solid #e74c3c}.feedback-title{font-weight:500;color:var(--text-primary);margin-top:0;margin-bottom:.5rem}.feedback-explanation{color:var(--text-tertiary);margin:0}.quiz-results{text-align:center;padding:2rem}.results-score{font-size:4rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.results-message{font-size:1.5rem;color:var(--text-primary);margin-bottom:2rem}.results-breakdown{max-width:600px;margin:0 auto;margin-bottom:2rem}.breakdown-item{display:flex;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--border-color)}.breakdown-label{color:var(--text-primary)}.breakdown-value{font-weight:500}.results-actions{display:flex;justify-content:center;gap:1rem}.retry-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:var(--primary-hover)}.review-button{background-color:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:4px;padding:.75rem 1.5rem;cursor:pointer;transition:background-color .2s}.review-button:hover{background-color:var(--bg-tertiary)}.question-navigator{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.question-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.question-dot:hover{background-color:var(--bg-tertiary)}.question-dot.current{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.question-dot.answered{background-color:#dff0d8;border-color:#d6e9c6}.timer-container{text-align:center;margin-bottom:1.5rem}.timer{font-size:1.5rem;font-weight:500;color:var(--text-primary)}.timer.warning{color:var(--accent-color)}.timer.danger{color:#e74c3c}.leaderboard{margin-top:2rem}.leaderboard h3{text-align:center;color:var(--text-primary);margin-bottom:1.5rem}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.leaderboard-table th{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:600}.leaderboard-table tbody tr:hover{background-color:var(--bg-secondary)}.leaderboard-rank{font-weight:500;color:var(--text-primary)}.leaderboard-score{font-weight:500}.gold-rank{color:#f1c40f}.silver-rank{color:var(--text-tertiary)}.bronze-rank{color:#d35400}.analytics-content{margin-top:2rem}.analytics-section{margin-bottom:2rem}.analytics-section h2{color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.analytics-card{background-color:var(--card-bg);border-radius:4px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;text-align:center}.progress-bar{height:8px;background-color:var(--bg-secondary);border-radius:4px;margin:1rem 0;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary-color)}.score-circle{width:100px;height:100px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:1.5rem;font-weight:700}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.subject-card{background-color:var(--card-bg);padding:1rem;border-radius:4px;box-shadow:0 1px 3px #0000001a}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;background-color:var(--card-bg);padding:.75rem;border-radius:4px;box-shadow:0 1px 2px #0000001a}.activity-date{min-width:100px;color:var(--text-tertiary)}.activity-type{min-width:80px;padding:.25rem .5rem;background-color:var(--bg-secondary);border-radius:3px;font-size:.85rem;color:var(--text-primary);margin:0 1rem}.activity-details{flex-grow:1}.timeframe-selector{display:flex;justify-content:center;margin-bottom:2rem}.timeframe-button{padding:.5rem 1.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer}.timeframe-button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.timeframe-button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.timeframe-button.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.progress-content{margin-top:2rem}.progress-section{margin-bottom:2rem;background-color:var(--card-bg);border-radius:4px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.goal-card{background-color:var(--bg-secondary);padding:1.5rem;border-radius:4px}.goal-progress{height:8px;background-color:var(--bg-secondary);border-radius:4px;margin:1rem 0;overflow:hidden}.goal-deadline{color:var(--text-tertiary);font-size:.9rem;margin-top:.5rem}.streak-display{text-align:center;padding:1rem}.streak-count{font-size:3rem;font-weight:700;color:#e74c3c;margin-bottom:.5rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.achievement-card{padding:1rem;border-radius:4px;position:relative;overflow:hidden}.achievement-card.locked{background-color:var(--bg-secondary);opacity:.8}.achievement-card.unlocked{background-color:#e9f7ef}.feedback-content{display:grid;grid-template-columns:300px 1fr;gap:1.5rem}.submissions-list{display:flex;flex-direction:column;gap:1rem}.submission-card{background-color:var(--card-bg);padding:1rem;border-radius:4px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.submission-card:hover{background-color:var(--bg-secondary)}.submission-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.submission-type{color:var(--text-tertiary);font-size:.9rem;margin-bottom:.5rem}.submission-date{color:var(--text-tertiary);font-size:.9rem}.submission-status{display:inline-block;padding:.25rem .5rem;border-radius:3px;font-size:.85rem;margin-top:.5rem}.submission-status[data-status=graded]{background-color:#e9f7ef;color:#27ae60}.submission-status[data-status=pending]{background-color:#f9f5e3;color:#f1c40f}.feedback-section{background-color:var(--card-bg);padding:1.5rem;border-radius:4px;box-shadow:0 2px 4px #0000001a}.feedback-details{margin-top:1rem}.feedback-points{margin-bottom:1.5rem}.feedback-points h3{color:var(--text-primary);margin-bottom:.5rem}.feedback-points ul{margin-left:1.5rem}.feedback-points li{margin-bottom:.5rem}.feedback-suggestions{padding-top:1rem;border-top:1px solid var(--border-color)}.subject-filter{text-align:center;margin-bottom:2rem}.subject-select{padding:.5rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--card-bg);min-width:200px}.recommendations-content{margin-top:2rem}.recommendation-section{margin-bottom:2.5rem}.paths-grid,.resources-grid,.practice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.path-card,.resource-card,.practice-card{background-color:var(--card-bg);border-radius:4px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.path-details,.resource-meta,.practice-meta{display:flex;justify-content:space-between;margin:1rem 0;color:var(--text-tertiary);font-size:.9rem}.start-path-button,.start-practice-button,.resource-link{display:inline-block;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;text-decoration:none;text-align:center}.start-path-button:hover,.start-practice-button:hover,.resource-link:hover{background-color:var(--primary-hover)}.points-earned{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:12px 16px;border-radius:8px;font-size:16px;text-align:center;margin:10px 0;border:2px solid #4caf50;box-shadow:0 2px 4px #0000001a;animation:pointsPulse .6s ease-in-out}.points-earned strong{font-size:18px;text-shadow:1px 1px 2px rgba(0,0,0,.2)}@keyframes pointsPulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.02);opacity:1}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.8rem}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-tertiary);transition:color .3s;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#e74c3c}.modal-body{padding:24px;max-height:calc(90vh - 200px);overflow-y:auto}.study-plan-content{line-height:1.8;color:var(--text-primary);font-size:1rem}.study-plan-content h3{color:var(--text-primary);margin-top:24px;margin-bottom:12px;font-size:1.4rem;border-bottom:2px solid var(--primary-color);padding-bottom:8px}.study-plan-content strong{color:var(--primary-hover);font-weight:600}.study-plan-content em{color:var(--text-tertiary);font-style:italic}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:2px solid var(--border-color);justify-content:flex-end}.start-learning-btn{padding:12px 28px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .3s,box-shadow .3s}.start-learning-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2a4f9e66}.modal-close-btn{padding:12px 28px;background-color:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .3s}.modal-close-btn:hover{background-color:#d5dbdb}.priority-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.priority-high{background-color:#ff4757;color:#fff}.priority-medium{background-color:#ffa502;color:#fff}.priority-low{background-color:#26de81;color:#fff}.view-plan-button{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s;display:inline-block}.view-plan-button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2a4f9e4d}@media (max-width: 768px){.modal-content{max-width:95vw;margin:10px}.modal-header h2{font-size:1.4rem}.modal-footer{flex-direction:column}.start-learning-btn,.modal-close-btn{width:100%}}.analytics-container{max-width:1400px;margin:0 auto;padding:1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,#e8ecf1 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.analytics-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 1rem;margin-bottom:2rem;flex-wrap:wrap}.header-content h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text-primary);margin:0}.header-subtitle{font-size:clamp(.9rem,2vw,1rem);color:var(--text-tertiary);margin-top:.5rem}.analytics-content{display:flex;flex-direction:column;gap:2rem}.analytics-section{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 2px 8px #00000014}.analytics-section h2{font-size:clamp(1.3rem,2.5vw,1.5rem);color:var(--text-primary);font-weight:700;margin-bottom:1.5rem}.stats-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--primary-color);display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.stat-icon{font-size:2.5rem;flex-shrink:0}.stat-details{flex:1;min-width:0}.stat-label{font-size:clamp(.8rem,1.6vw,.9rem);color:var(--text-tertiary);margin-bottom:.25rem}.stat-value{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text-primary);line-height:1.2}.performance-overview-card{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 2px 8px #00000014}.performance-overview-card h3{font-size:clamp(1.3rem,2.5vw,1.5rem);color:var(--text-primary);font-weight:700;margin-bottom:1.5rem}.performance-segments{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.segment-item{display:grid;grid-template-columns:180px 1fr 80px;gap:1rem;align-items:center}.segment-header{display:flex;align-items:center;gap:.5rem;font-size:clamp(.9rem,1.8vw,1rem);font-weight:600}.segment-icon{font-size:1.2rem}.segment-count{margin-left:auto;color:var(--text-tertiary)}.segment-bar{height:24px;background:var(--bg-tertiary);border-radius:12px;overflow:hidden}.segment-fill{height:100%;border-radius:12px;transition:width .5s ease}.segment-percentage{font-size:clamp(.85rem,1.8vw,.95rem);font-weight:600;color:var(--text-tertiary);text-align:right}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:clamp(.8rem,1.6vw,.9rem);color:var(--text-tertiary)}.summary-value{font-size:clamp(1.1rem,2vw,1.3rem);font-weight:700;color:var(--text-primary)}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1.5rem}.subject-card{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:2px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.subject-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary-color)}.subject-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:1rem}.subject-header h4{font-size:clamp(1rem,2vw,1.15rem);color:var(--text-primary);font-weight:600;text-transform:capitalize;margin:0}.trend-badge{font-size:1.5rem}.subject-score{margin:1rem 0}.score-circle{width:100px;height:100px;border:4px solid;border-radius:50%;display:flex;align-items:center;justify-content:center}.score-number{font-size:clamp(1.5rem,3vw,1.8rem);font-weight:700}.subject-stats{display:flex;justify-content:space-around;width:100%;padding:1rem 0;border-top:1px solid var(--border-color);margin-top:1rem}.subject-stat{display:flex;flex-direction:column;gap:.25rem;text-align:center}.subject-stat .stat-label{font-size:.75rem;color:var(--text-tertiary)}.subject-stat .stat-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.performance-badge{margin-top:1rem;padding:.5rem 1rem;border-radius:8px;color:#fff;font-size:clamp(.8rem,1.6vw,.9rem);font-weight:600;text-transform:capitalize}.topic-table-container{overflow-x:auto}.topic-table{width:100%;border-collapse:collapse;font-size:clamp(.85rem,1.8vw,.95rem)}.topic-table thead{background:var(--bg-secondary)}.topic-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.topic-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s ease}.topic-table tbody tr:hover{background:var(--bg-secondary)}.topic-table td{padding:1rem;color:var(--text-primary)}.topic-name{font-weight:600;text-transform:capitalize}.score-badge{display:inline-block;padding:.3rem .6rem;border-radius:6px;color:#fff;font-weight:600;font-size:.85rem}.score-badge.excellent{background:#10b981}.score-badge.needs-work{background:#ef4444}.level-badge{display:inline-block;padding:.3rem .6rem;border-radius:6px;background:var(--primary-soft);color:var(--primary-hover);font-weight:600;font-size:.75rem;text-transform:capitalize}.trends-card{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 2px 8px #00000014}.trends-card h3{font-size:clamp(1.3rem,2.5vw,1.5rem);color:var(--text-primary);font-weight:700;margin-bottom:1.5rem}.trend-overview{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.trend-indicator{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border-left:4px solid}.trend-arrow{font-size:3rem;line-height:1}.trend-message{font-size:clamp(1.1rem,2vw,1.3rem);font-weight:600;margin:0}.trend-change{padding:1rem;background:var(--bg-secondary);border-radius:12px;text-align:center}.trend-change p{font-size:clamp(1rem,2vw,1.2rem);font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.trend-comparison{display:flex;justify-content:center;gap:2rem;font-size:clamp(.85rem,1.8vw,.95rem);color:var(--text-tertiary)}.weekly-trend{padding:1.5rem;background:var(--bg-secondary);border-radius:12px}.weekly-trend h4{font-size:clamp(1rem,2vw,1.15rem);color:var(--text-primary);margin-bottom:1rem}.weekly-bars{display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem;height:150px}.week-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.week-fill{width:100%;min-height:20px;border-radius:8px 8px 0 0;transition:height .5s ease}.week-label{font-size:.7rem;color:var(--text-tertiary)}.insights-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem}.insight-card{background:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:2px solid var(--border-color)}.insight-card h3{font-size:clamp(1.1rem,2vw,1.25rem);color:var(--text-primary);font-weight:700;margin-bottom:1rem}.strength-card{border-left:4px solid #10b981}.weakness-card{border-left:4px solid #ef4444}.improving-card{border-left:4px solid var(--primary-color)}.recommendations-card{border-left:4px solid var(--accent-color)}.insight-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.insight-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.insight-item .topic-name{font-size:clamp(.85rem,1.8vw,.95rem);font-weight:600;color:var(--text-primary);text-transform:capitalize}.improvement-badge{background:#10b981;color:#fff;padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:700}.recommendations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.recommendation-item{padding:.75rem;background:#fef3c7;border-radius:8px;color:#78350f;font-size:clamp(.85rem,1.8vw,.95rem);line-height:1.5}.study-patterns-card{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 2px 8px #00000014}.study-patterns-card h3{font-size:clamp(1.3rem,2.5vw,1.5rem);color:var(--text-primary);font-weight:700;margin-bottom:1.5rem}.patterns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.pattern-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:2px solid var(--border-color);transition:transform .2s ease}.pattern-item:hover{transform:translateY(-2px);border-color:var(--primary-color)}.pattern-icon{font-size:2rem;flex-shrink:0}.pattern-content{flex:1;min-width:0}.pattern-label{font-size:clamp(.75rem,1.5vw,.85rem);color:var(--text-tertiary);margin-bottom:.25rem}.pattern-value{font-size:clamp(1rem,2vw,1.15rem);font-weight:700;color:var(--text-primary);margin:0}.peer-comparison-card{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 2px 8px #00000014}.peer-comparison-card h3{font-size:clamp(1.3rem,2.5vw,1.5rem);color:var(--text-primary);font-weight:700;margin-bottom:1.5rem}.comparison-content{display:flex;flex-direction:column;gap:1.5rem}.comparison-bars{display:flex;flex-direction:column;gap:1rem}.comparison-bar{display:grid;grid-template-columns:120px 1fr 80px;gap:1rem;align-items:center}.bar-label{font-size:clamp(.85rem,1.8vw,.95rem);font-weight:600;color:var(--text-secondary)}.bar-container{height:32px;background:var(--bg-tertiary);border-radius:16px;overflow:hidden}.bar-fill{height:100%;border-radius:16px;transition:width .5s ease}.bar-value{font-size:clamp(.9rem,1.8vw,1rem);font-weight:700;color:var(--text-primary);text-align:right}.comparison-message{font-size:clamp(1rem,2vw,1.15rem);font-weight:600;text-align:center;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin:0}.comparison-difference{font-size:clamp(.9rem,1.8vw,1rem);color:var(--text-tertiary);text-align:center;margin:0}.activities-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);transition:transform .2s ease}.activity-item:hover{transform:translate(4px);border-color:var(--primary-color)}.activity-icon{font-size:1.5rem;flex-shrink:0}.activity-details{flex:1;min-width:0}.activity-topic{font-size:clamp(.9rem,1.8vw,1rem);font-weight:600;color:var(--text-primary);margin-bottom:.25rem;text-transform:capitalize}.activity-score{font-size:clamp(.8rem,1.6vw,.9rem);color:var(--text-tertiary);margin:0}.activity-date{font-size:clamp(.75rem,1.5vw,.85rem);color:var(--text-tertiary);white-space:nowrap}.empty-section{text-align:center;padding:3rem 1rem;color:var(--text-tertiary);font-size:clamp(.9rem,2vw,1rem)}.analytics-footer{margin-top:3rem;padding:2rem 1rem;border-top:2px solid var(--border-color);display:flex;flex-direction:column;gap:1.5rem;align-items:center}.footer-tip{background:#fffbeb;border-left:4px solid var(--accent-color);padding:1.25rem;border-radius:8px;max-width:800px;width:100%}.footer-tip p{margin:0;color:#78350f;font-size:clamp(.85rem,1.8vw,.95rem);line-height:1.6}@media (max-width: 768px){.analytics-container{padding:.75rem}.analytics-header{padding:1.5rem .5rem;flex-direction:column;align-items:flex-start}.stats-cards-grid{grid-template-columns:repeat(2,1fr)}.segment-item{grid-template-columns:1fr;gap:.5rem}.segment-header{justify-content:space-between}.subjects-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.comparison-bar{grid-template-columns:1fr;gap:.5rem}.patterns-grid{grid-template-columns:repeat(2,1fr)}.topic-table{font-size:.8rem}.topic-table th,.topic-table td{padding:.75rem .5rem}}@media (max-width: 480px){.analytics-container{padding:.5rem}.analytics-header{padding:1rem .25rem}.stats-cards-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.analytics-section{padding:1.5rem}.subjects-grid{grid-template-columns:1fr}.score-circle{width:80px;height:80px}.patterns-grid,.insights-panel{grid-template-columns:1fr}.weekly-bars{gap:.25rem}.activity-item{flex-direction:column;align-items:flex-start}.activity-date{align-self:flex-end}.topic-table-container{overflow-x:scroll}}.stat-card,.subject-card,.insight-card{animation:fadeIn .4s ease-out}button:focus-visible,.btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.stat-card,.subject-card,.insight-card{border:2px solid currentColor}}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.progress-intuitive-container{min-height:100vh;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);padding:1rem}.progress-intuitive-content{max-width:1400px;margin:0 auto}.loading-state,.error-state,.empty-state{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-box,.error-box,.empty-box{background:var(--card-bg);border-radius:2rem;padding:3rem;text-align:center;box-shadow:0 20px 60px #0000004d;max-width:500px}.spinner-large{width:4rem;height:4rem;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon,.error-icon{font-size:4rem;margin-bottom:1rem}.loading-box h2,.error-box h2,.empty-box h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.loading-box p,.empty-box p{color:var(--text-tertiary);margin-bottom:1.5rem}.error-message{color:#ef4444;margin-bottom:1.5rem}.progress-header-intuitive{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;color:#fff}.progress-header-intuitive h1{font-size:2rem;font-weight:800;margin-bottom:.5rem}.progress-header-intuitive p{font-size:1rem;opacity:.9}.btn-back-simple{padding:.875rem 1.5rem;background:#fff3;color:#fff;border:none;border-radius:.75rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.btn-back-simple:hover{background:#ffffff4d}.timeframe-tabs{display:flex;gap:.5rem;background:var(--card-bg);border-radius:1.5rem;padding:.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.timeframe-tab{flex:1;padding:.875rem 1rem;border:none;border-radius:1rem;background:transparent;color:var(--text-tertiary);font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.timeframe-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #2a4f9e4d}.timeframe-tab:hover:not(.active){background:var(--bg-secondary)}.hero-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.hero-mastery{background:var(--card-bg);border-radius:2rem;padding:2rem;box-shadow:0 10px 40px #0000001a;display:flex;align-items:center;gap:2rem}.mastery-circle{width:150px;height:150px;border:6px solid;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.mastery-icon-large{font-size:3rem;margin-bottom:.5rem}.mastery-circle h2{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.mastery-circle p{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.mastery-info h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.mastery-info p{color:var(--text-tertiary);margin-bottom:.25rem}.mastery-desc{font-size:.875rem;font-style:italic}.hero-streak{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color) 100%);border-radius:2rem;padding:2rem;box-shadow:0 10px 40px #0000001a;display:flex;align-items:center;gap:2rem;color:#fff}.streak-icon-large{font-size:5rem}.streak-info h2{font-size:4rem;font-weight:800;margin-bottom:.5rem}.streak-info p{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.streak-best{font-size:.875rem;opacity:.9}.quick-stats-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-box{background:var(--card-bg);border-radius:1.5rem;padding:1.5rem;box-shadow:0 4px 12px #0000001a;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-box:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.stat-box .stat-icon{font-size:2rem;margin-bottom:.5rem}.stat-box .stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:.25rem}.stat-box .stat-label{font-size:.875rem;color:var(--text-tertiary);font-weight:500}.view-tabs{display:flex;gap:.5rem;background:var(--card-bg);border-radius:1.5rem;padding:.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.view-tab{flex:1;padding:1rem;border:none;border-radius:1rem;background:transparent;color:var(--text-tertiary);font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #2a4f9e4d}.view-tab:hover:not(.active){background:var(--bg-secondary)}.trend-box{background:var(--card-bg);border-radius:2rem;border-left:6px solid;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;gap:2rem}.trend-icon-large{font-size:4rem}.trend-content h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.trend-change{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.trend-change.trend-change-empty{font-size:.95rem;font-weight:500;color:var(--text-secondary);margin-bottom:0}.trend-comparison{display:flex;gap:1.5rem;font-size:.875rem;color:var(--text-tertiary)}.performance-dist{background:var(--card-bg);border-radius:2rem;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.performance-dist h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.dist-bars{display:flex;flex-direction:column;gap:1rem}.dist-segment{display:grid;grid-template-columns:150px 1fr 60px;align-items:center;gap:1rem}.segment-header{display:flex;align-items:center;gap:.5rem}.segment-icon{font-size:1.25rem}.segment-label{font-weight:600;color:var(--text-primary);font-size:.875rem}.segment-count{margin-left:auto;font-weight:700;color:var(--text-tertiary)}.segment-bar-bg{height:2rem;background:var(--bg-secondary);border-radius:1rem;overflow:hidden}.segment-bar-fill{height:100%;border-radius:1rem;transition:width .5s ease}.segment-percent{font-weight:700;color:var(--text-primary);text-align:right}.topics-grid-simple{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.topic-card-simple{background:var(--card-bg);border-radius:1.5rem;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.topic-card-simple:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000026}.topic-header-simple{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.topic-header-simple h4{font-size:1rem;font-weight:700;color:var(--text-primary);flex:1}.badge-strength,.badge-weakness,.badge-improving{font-size:1.25rem}.topic-score-display{display:flex;justify-content:center;margin-bottom:1rem}.score-circle-large{width:100px;height:100px;border:5px solid;border-radius:50%;display:flex;align-items:center;justify-content:center}.score-circle-large span{font-size:1.5rem;font-weight:800}.topic-bar-wrapper{margin-top:1rem}.topic-bar-bg{height:.5rem;background:var(--bg-tertiary);border-radius:2rem;overflow:hidden}.topic-bar-fill{height:100%;border-radius:2rem;transition:width .5s ease}.empty-topics{background:var(--card-bg);border-radius:2rem;padding:3rem;text-align:center;color:var(--text-tertiary);box-shadow:0 4px 12px #0000001a}.section-title-simple{font-size:1.75rem;font-weight:800;color:#fff;margin-bottom:1.5rem}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.insight-card{background:var(--card-bg);border-radius:1.5rem;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.insight-card h3{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.insight-list{list-style:none;padding:0;margin:0}.insight-list li{padding:.75rem;background:var(--bg-secondary);border-radius:.75rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--text-secondary)}.topic-name{font-weight:600;color:var(--text-primary)}.badge-success{background:#d1fae5;color:#065f46;padding:.25rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:700}.badge-warning{background:#fee2e2;color:#991b1b;padding:.25rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:700}.success-card{border-left:4px solid #10b981}.warning-card{border-left:4px solid #ef4444}.patterns-box{background:var(--card-bg);border-radius:2rem;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.patterns-box h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.patterns-grid-simple{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.pattern-item{text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:1rem;transition:transform .3s ease}.pattern-item:hover{transform:translateY(-4px)}.pattern-item .pattern-icon{font-size:2.5rem;margin-bottom:.75rem}.pattern-label{font-size:.875rem;color:var(--text-tertiary);margin-bottom:.5rem}.pattern-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.footer-tip-simple{background:var(--card-bg);border-radius:1.5rem;padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.875rem;box-shadow:0 4px 12px #0000001a;margin-top:2rem}.footer-tip-simple strong{color:var(--text-primary)}@media (max-width: 768px){.progress-intuitive-container{padding:.5rem}.progress-header-intuitive{flex-direction:column;align-items:flex-start;gap:1rem}.progress-header-intuitive h1{font-size:1.5rem}.hero-mastery,.hero-streak{flex-direction:column;text-align:center}.mastery-circle{width:120px;height:120px}.mastery-icon-large{font-size:2.5rem}.streak-icon-large{font-size:4rem}.streak-info h2{font-size:3rem}.timeframe-tabs,.view-tabs{flex-wrap:wrap}.timeframe-tab,.view-tab{min-width:45%}.quick-stats-progress{grid-template-columns:repeat(2,1fr)}.trend-box{flex-direction:column;text-align:center}.dist-segment{grid-template-columns:1fr;gap:.5rem}.segment-header{justify-content:space-between}.segment-percent{text-align:left}.topics-grid-simple,.insights-grid{grid-template-columns:1fr}.patterns-grid-simple{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.quick-stats-progress,.patterns-grid-simple{grid-template-columns:1fr}}.btn-primary-large{padding:1rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary-large:hover{background:var(--primary-hover);box-shadow:0 10px 30px #0003;transform:translateY(-2px)}@keyframes fillBar{0%{width:0}}.segment-bar-fill,.topic-bar-fill{animation:fillBar 1s ease-out}.progress-intuitive-container .btn-primary-large{background:var(--navy-900);color:#fff;border-radius:var(--radius-full)}.progress-intuitive-container .btn-primary-large:hover{background:var(--navy-700)}.dark-theme .progress-intuitive-container .btn-primary-large{background:var(--gold-500);color:var(--navy-900)}.rec-page{max-width:860px;margin:0 auto;padding:24px 16px 64px;color:var(--text-primary, #0B1B3F)}.rec-back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 0;color:var(--text-secondary, #5b6785);font:inherit;cursor:pointer}.rec-back:hover{color:var(--text-primary, #0B1B3F)}.rec-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:8px 0 18px}.rec-head h1{margin:0 0 4px;font-size:1.8rem}.rec-head p{margin:0;color:var(--text-secondary, #5b6785);font-size:1.02rem}.rec-refresh{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-color, #dfe4f0);background:var(--card-bg, #fff);color:inherit;border-radius:999px;padding:8px 14px;font:inherit;font-size:.9rem;cursor:pointer}.rec-refresh:disabled{opacity:.6;cursor:default}.rec-refresh .spin{animation:rec-spin 1s linear infinite}@keyframes rec-spin{to{transform:rotate(360deg)}}.rec-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;border-radius:12px;background:#dc262614;border:1px solid rgba(220,38,38,.3);color:#b91c1c}.dark-theme .rec-alert{color:#fca5a5}.rec-alert button{margin-left:auto;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.rec-skeleton{display:grid;gap:14px}.rec-skel-card{height:130px;border-radius:16px;background:linear-gradient(90deg,#7f7f7f1f,#7f7f7f33,#7f7f7f1f);background-size:200% 100%;animation:rec-shimmer 1.4s ease-in-out infinite}@keyframes rec-shimmer{to{background-position:-200% 0}}.rec-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px}.rec-stats>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #dfe4f0)}.rec-stats span{font-size:.78rem;color:var(--text-secondary, #5b6785)}.rec-stats strong{display:inline-flex;align-items:center;gap:4px;font-size:1.1rem;text-transform:capitalize}.rec-coach{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:18px;border-radius:14px;background:var(--accent-soft, rgba(245, 181, 61, .14));border:1px solid var(--gold-500, #F5B53D)}.rec-coach svg{flex:none;margin-top:2px;color:#d9950f}.rec-coach p{margin:0;line-height:1.55}.rec-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.rec-step{display:flex;gap:14px;padding:16px;border-radius:16px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #dfe4f0);border-left:5px solid var(--tone, #0B1B3F)}.rec-step.tone-blue{--tone: #2A4F9E}.rec-step.tone-red{--tone: #dc2626}.rec-step.tone-amber{--tone: #D9950F}.rec-step.tone-green{--tone: #16a34a}.rec-step.tone-purple{--tone: #7c3aed}.rec-step.tone-navy{--tone: #0B1B3F}.dark-theme .rec-step.tone-navy{--tone: #F5B53D}.rec-rank{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--tone);color:#fff}.dark-theme .rec-step.tone-navy .rec-rank{color:#0b1b3f}.rec-body{flex:1;min-width:0}.rec-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:4px;font-size:.8rem}.rec-kind{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--tone);text-transform:uppercase;letter-spacing:.04em}.rec-subject{padding:2px 10px;border-radius:999px;background:#7f7f7f24}.rec-time{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--text-secondary, #5b6785)}.rec-body h2{margin:2px 0 6px;font-size:1.15rem;line-height:1.3;overflow-wrap:anywhere}.rec-why{margin:0 0 12px;color:var(--text-secondary, #5b6785);line-height:1.55}.rec-actions{display:flex;flex-wrap:wrap;gap:8px}.rec-actions.center{justify-content:center}.rec-empty{text-align:center;padding:32px 16px;border-radius:16px;background:var(--card-bg, #fff);border:1px dashed var(--border-color, #dfe4f0);color:var(--text-secondary, #5b6785)}.rec-empty p{margin:8px 0 14px}.rec-strengths{margin-top:22px}.rec-strengths h3{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:1rem}.rec-strengths>div{display:flex;flex-wrap:wrap;gap:8px}.rec-chip{padding:6px 12px;border-radius:999px;font-size:.88rem;background:#16a34a1f;color:#15803d}.dark-theme .rec-chip{color:#86efac}@media (max-width: 560px){.rec-step{padding:14px 12px;gap:10px}.rec-time{margin-left:0}.rec-actions .eg-btn{flex:1 1 100%}}.agent-container{padding:2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}@media (max-width: 1024px){.agent-container{padding:1.5rem}}@media (max-width: 768px){.agent-container{padding:1rem}}@media (max-width: 480px){.agent-container{padding:.75rem}}.agent-title{color:var(--text-primary);text-align:center;margin-bottom:.5rem}.agent-description{text-align:center;color:var(--text-secondary);margin-bottom:1rem;max-width:700px;margin-left:auto;margin-right:auto;min-height:3rem}.mode-selector{display:flex;justify-content:center;margin-bottom:2rem;border-bottom:1px solid var(--border-color)}.mode-tab{padding:.75rem 1.5rem;margin:0 .5rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;color:var(--text-tertiary);cursor:pointer;transition:all .3s ease}.mode-tab:hover{color:var(--primary-color)}.mode-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:500}.agent-loading{text-align:center;padding:2rem;font-size:1.2rem;color:var(--text-tertiary)}.agent-error{text-align:center;padding:2rem;color:#e74c3c;background-color:#fde8e7;border-radius:4px;margin:1rem 0}.back-button{display:inline-block;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;text-decoration:none;margin-top:1rem}.back-button:hover{background-color:var(--primary-hover)}.file-upload-area{border:2px dashed var(--border-color);border-radius:8px;padding:2rem;text-align:center;margin-bottom:1.5rem;cursor:pointer;transition:all .3s ease}.file-upload-area:hover{border-color:var(--primary-color);background-color:#2a4f9e0d}.file-upload-area.drag-active{border-color:var(--primary-color);background-color:#2a4f9e1a}.file-upload-icon{margin-bottom:1rem;color:var(--text-tertiary)}.file-upload-text p{margin:.5rem 0;color:var(--text-primary)}.file-types{font-size:.9rem;color:var(--text-tertiary)!important}.selected-file{background-color:var(--bg-secondary);padding:.75rem;border-radius:4px;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.file-name{font-weight:500;color:var(--text-primary)}.file-size{color:var(--text-tertiary);font-size:.9rem}.text-separator{display:flex;align-items:center;text-align:center;margin:1.5rem 0}.text-separator:before,.text-separator:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.text-separator span{padding:0 1rem;color:var(--text-tertiary);font-weight:500}.summary-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-primary);transition:all .2s ease}.action-button:hover{background-color:var(--bg-secondary);border-color:var(--border-strong)}.summary-actions .copy-status{align-self:center;font-size:.875rem;font-weight:600;color:var(--success-color)}.summarizer-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.summarizer-content{grid-template-columns:1fr}}.input-section,.summary-section{background-color:var(--card-bg);border-radius:6px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.input-section h2,.summary-section h2{color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.content-input{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;resize:vertical}.summarize-button{margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s;width:100%}.summarize-button:hover{background-color:var(--primary-hover)}.summarize-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.summary-content{line-height:1.6}.summary-text{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.key-points h3{margin-bottom:1rem;color:var(--text-primary)}.key-points ul{margin-left:1.5rem}.key-points li{margin-bottom:.5rem}.summary-options{display:flex;margin:10px 0;gap:20px;justify-content:center}.summary-options label{display:flex;align-items:center;cursor:pointer;font-size:14px}.summary-options input[type=radio]{margin-right:5px}.explainer-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.explainer-content{grid-template-columns:1fr}}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group small{display:block;color:var(--text-tertiary);margin-top:.25rem;font-size:.85rem}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.form-control:focus{border-color:var(--primary-color);outline:none}.steps-slider{display:flex;align-items:center;gap:1rem}.form-slider{flex-grow:1}.steps-value{min-width:70px;text-align:right;font-weight:500;color:var(--text-primary)}.explanation-text{background-color:var(--card-bg);padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d;line-height:1.6;color:var(--text-primary);font-size:1.05rem;white-space:pre-wrap}.explanation-text p{margin-bottom:1rem}.explanation-format{margin-top:.5rem}.format-badge{display:inline-block;background-color:#e1f5fe;color:#0288d1;padding:.4rem .8rem;border-radius:4px;font-size:.9rem;font-weight:500;border:1px solid #b3e5fc}.explanation-steps,.explanation-step,.step-number,.step-content{display:none}.explanation-section h3{color:var(--text-primary);margin:1rem 0}.bl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .1s,background .15s}.bl-btn:disabled{opacity:.6;cursor:wait}.bl-btn:active:not(:disabled){transform:translateY(1px)}.bl-btn-gold{background:#f5b53d;color:#0b1b3f}.bl-btn-gold:hover:not(:disabled){background:#f8c766}.bl-btn-outline{background:transparent;color:var(--text-primary, #0b1b3f);border-color:var(--border-color, #c9d5ee)}.bl-btn-outline:hover:not(:disabled){background:var(--primary-soft, #e6ecf7)}.bl-btn-danger{background:transparent;color:#b91c1c;border-color:#fca5a5}.bl-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding:14px 18px;border-radius:14px;background:var(--accent-soft, #fdf0d5);border:1px solid #f5d28a;border-left:5px solid #f5b53d;color:#4a3500}.bl-banner-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:10px;background:#f5b53d;color:#0b1b3f;flex:none}.bl-banner-text{flex:1 1 260px;display:flex;flex-direction:column;gap:2px;line-height:1.4;font-size:.93rem}.bl-banner-text strong{font-size:1rem;color:#0b1b3f}.bl-page{max-width:760px;margin:0 auto;padding:28px 16px 60px;color:var(--text-primary, #0b1b3f)}.bl-hero{background:#0b1b3f;color:#fff;border-radius:20px;padding:32px 28px;border-bottom:6px solid #f5b53d}.bl-hero h1{margin:0 0 8px;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.2}.bl-hero p{margin:0;color:#c9d5ee}.bl-price{margin-top:22px;display:flex;align-items:baseline;gap:8px}.bl-price strong{font-size:2.6rem;color:#f5b53d}.bl-price span{color:#c9d5ee}.bl-card{margin-top:18px;padding:22px 24px;border-radius:16px;background:var(--bg-card, #fff);border:1px solid var(--border-color, #e5e7eb)}.bl-card h2{margin:0 0 12px;font-size:1.1rem}.bl-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bl-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.bl-tick{flex:none;width:22px;height:22px;border-radius:50%;background:#fdf0d5;color:#8a5a00;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.bl-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.bl-note{margin:12px 0 0;font-size:.85rem;color:var(--text-secondary, #6b7280)}.bl-alert{margin-top:16px;padding:12px 16px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.bl-warn{margin-top:16px;padding:12px 16px;border-radius:12px;background:#fdf0d5;border:1px solid #f5d28a;color:#6b4600}.bl-status{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-weight:800;font-size:.9rem;background:#dcfce7;color:#166534}.bl-status.ending{background:#fdf0d5;color:#8a5a00}.bl-center{text-align:center;padding:48px 20px}.bl-center h1{margin:12px 0 6px}.bl-spinner{width:42px;height:42px;border-radius:50%;border:4px solid #e6ecf7;border-top-color:#f5b53d;animation:bl-spin .9s linear infinite;margin:0 auto}@keyframes bl-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bl-spinner{animation:none}}@media (max-width: 520px){.bl-hero{padding:24px 20px}.bl-banner .bl-btn{width:100%}}.courses-page{background:var(--bg-secondary);color:var(--text-primary);min-height:calc(100vh - var(--header-height));padding:28px 16px 56px;box-sizing:border-box;font-family:var(--font-sans)}.courses-page *,.courses-page *:before,.courses-page *:after{box-sizing:border-box}.courses-page a{text-decoration:none}.courses-page .cs-shell{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.courses-page .cs-shell.cs-narrow{max-width:720px}.courses-page .cs-shell.cs-wide{max-width:1160px}.courses-page a:focus-visible,.courses-page button:focus-visible,.courses-page .eg-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.courses-page .eg-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.courses-page .cs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}.courses-page .cs-title{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.15;color:var(--text-primary);text-align:left}.courses-page .cs-subtitle{margin:6px 0 0;color:var(--text-secondary);font-size:.98rem}.courses-page .cs-muted{margin:0;color:var(--text-secondary);font-size:.93rem;line-height:1.45}.courses-page .cs-muted-sm{color:var(--text-tertiary);font-size:.82rem;font-weight:600}.courses-page .cs-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.courses-page .cs-pills{display:flex;gap:6px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:4px}.courses-page .cs-pill{border:0;background:transparent;color:var(--text-secondary);font:inherit;font-weight:700;font-size:.88rem;padding:7px 16px;border-radius:var(--radius-full);cursor:pointer}.courses-page .cs-pill:hover{color:var(--text-primary);background:var(--bg-tertiary)}.courses-page .cs-pill.active{background:var(--gold-500);color:var(--navy-900)}.courses-page .cs-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;color:var(--text-primary)}.courses-page .cs-continue{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px;border-radius:var(--radius-lg);background:var(--gradient-brand);color:var(--text-on-brand);box-shadow:var(--shadow-md)}.courses-page .cs-continue h2{margin:4px 0;font-size:1.25rem;font-weight:800;color:var(--text-on-brand)}.courses-page .cs-continue p{margin:0;color:var(--navy-200);font-size:.95rem}.courses-page .cs-eyebrow-light{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-400)}.courses-page .cs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.courses-page .cs-subject{display:flex;flex-direction:column;gap:8px;color:var(--text-primary);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}.courses-page .cs-subject:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--gold-500)}.courses-page .cs-subject-icon{width:48px;height:48px;border-radius:var(--radius-md);display:grid;place-items:center;color:#fff;margin-bottom:4px}.courses-page .cs-subject-name{margin:0;font-size:1.12rem;font-weight:800;color:var(--text-primary)}.courses-page .cs-subject-progress{display:flex;flex-direction:column;gap:6px;margin-top:4px}.courses-page .cs-subject-action{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.92rem;color:var(--accent-text)}.courses-page .cs-subject-action.done{color:var(--success-color)}.courses-page .cs-progress{width:100%;height:10px;border-radius:var(--radius-full);background:var(--bg-tertiary);overflow:hidden}.courses-page .cs-progress-sm{height:7px}.courses-page .cs-progress-fill{height:100%;border-radius:inherit;background:var(--gradient-accent);transition:width .5s var(--ease)}.courses-page .cs-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--radius-md);background:var(--error-soft);border:1px solid var(--error-color);color:var(--text-primary);font-size:.93rem}.courses-page .cs-alert span{flex:1;min-width:160px}.courses-page .cs-skel{background:linear-gradient(90deg,var(--bg-tertiary),var(--border-color),var(--bg-tertiary));background-size:200% 100%;animation:cs-shimmer 1.4s infinite linear;border-radius:var(--radius-sm)}.courses-page .cs-skel-card{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.courses-page .cs-skel-icon{width:48px;height:48px;border-radius:var(--radius-md)}.courses-page .cs-skel-line{height:14px;width:100%}.courses-page .cs-skel-line.short{width:55%}.courses-page .cs-skel-header{height:90px;margin-bottom:16px;border-radius:var(--radius-lg)}.courses-page .cs-loading-text{margin:0 0 12px;color:var(--text-secondary);font-weight:600}@keyframes cs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.courses-page .cs-skel{animation:none}.courses-page *{transition:none!important}}.courses-page .cs-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;color:var(--text-tertiary)}.courses-page .cs-crumbs a{color:var(--link-color);font-weight:600}.dark-theme .courses-page .cs-crumbs a{color:var(--gold-400)}.courses-page .cs-crumbs a:hover{text-decoration:underline}.courses-page .cs-crumbs [aria-current]{color:var(--text-secondary);font-weight:600}.courses-page .cs-subject-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm)}.courses-page .cs-subject-head-main{flex:1;min-width:240px}.courses-page .cs-overall{display:flex;flex-direction:column;gap:6px;margin-top:14px;max-width:480px}.courses-page .cs-cta{max-width:100%;text-align:left;white-space:normal}.courses-page .cs-badge-done{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);background:var(--success-soft);color:var(--success-color);font-weight:800;font-size:.8rem;border:1px solid var(--success-color)}.courses-page .cs-term{display:flex;flex-direction:column;gap:12px}.courses-page .cs-term-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 16px;font:inherit;color:var(--text-primary);cursor:pointer}.courses-page .cs-term-head:hover{border-color:var(--gold-500)}.courses-page .cs-term-title{flex:1;font-weight:800;font-size:1.05rem}.courses-page .cs-chev{transition:transform .2s;color:var(--text-secondary);flex-shrink:0}.courses-page .cs-chev.open{transform:rotate(180deg)}.courses-page .cs-topics{display:flex;flex-direction:column;gap:14px}.courses-page .cs-topic-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.courses-page .cs-topic-title{margin:0 0 4px;font-size:1.1rem;font-weight:800;color:var(--text-primary)}.courses-page .cs-topic-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.courses-page .cs-chapters,.courses-page .cs-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.courses-page .cs-chapter,.courses-page .cs-side-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.94rem}.courses-page a.cs-chapter:hover,.courses-page a.cs-side-item:hover{border-color:var(--gold-500);background:var(--accent-soft)}.courses-page .cs-chapter.open{border-color:var(--gold-500)}.courses-page .cs-chapter.locked,.courses-page .cs-side-item.locked{color:var(--text-tertiary);cursor:not-allowed;background:var(--bg-tertiary)}.courses-page .cs-ch-num{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.78rem;font-weight:800}.courses-page .cs-ch-title{flex:1;min-width:0;line-height:1.35}.courses-page .cs-ch-score{font-size:.8rem;font-weight:800;color:var(--success-color)}.courses-page .cs-status{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.courses-page .cs-status-passed{background:var(--success-soft);color:var(--success-color)}.courses-page .cs-status-open{background:var(--accent-soft);color:var(--gold-600)}.courses-page .cs-status-locked{background:var(--bg-tertiary);color:var(--text-tertiary)}.courses-page .cs-lesson-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.courses-page .cs-sidebar{position:sticky;top:calc(var(--header-height) + 12px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;max-height:calc(100vh - var(--header-height) - 32px);overflow-y:auto}.courses-page .cs-drawer-btn{display:none}.courses-page .cs-side-topic{margin:0 0 10px;font-weight:800;font-size:.95rem;color:var(--text-primary)}.courses-page .cs-side-item{padding:8px 10px;font-size:.88rem}.courses-page .cs-side-item.current{background:var(--accent-soft);border-color:var(--gold-500);font-weight:700}.courses-page .cs-side-back{display:inline-block;margin-top:14px;font-weight:700;font-size:.88rem;color:var(--link-color)}.dark-theme .courses-page .cs-side-back{color:var(--gold-400)}.courses-page .cs-main{min-width:0;display:flex;flex-direction:column;gap:18px}.courses-page .cs-lesson,.courses-page .cs-quiz,.courses-page .cs-results{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px}.courses-page .cs-lesson-head{display:flex;flex-direction:column;gap:6px}.courses-page .cs-lesson-title{margin:0;font-family:var(--font-display);font-size:1.8rem;font-weight:800;line-height:1.2;color:var(--text-primary);text-align:left}.courses-page .cs-read-time{display:inline-flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:.85rem;font-weight:600}.courses-page .cs-intro{margin:0;font-size:1.1rem;line-height:1.7;color:var(--text-primary)}.courses-page .cs-h2{margin:8px 0 0;font-size:1.3rem;font-weight:800;color:var(--text-primary);text-align:left}.courses-page .cs-p{margin:10px 0 0;font-size:1.02rem;line-height:1.75;color:var(--text-primary)}.courses-page .cs-section{display:flex;flex-direction:column}.courses-page .cs-box-label{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}.courses-page .cs-example{margin-top:14px;padding:14px 16px;border-radius:var(--radius-md);background:var(--accent-soft);border-left:4px solid var(--gold-500);color:var(--text-primary)}.courses-page .cs-example .cs-box-label{color:var(--accent-text)}.courses-page .cs-keypoints{padding:16px 18px;border-radius:var(--radius-md);background:var(--success-soft);border:1px solid var(--success-color);color:var(--text-primary)}.courses-page .cs-keypoints .cs-box-label{color:var(--success-color)}.courses-page .cs-keypoints ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.courses-page .cs-keypoints li{display:flex;gap:10px;align-items:flex-start;line-height:1.55}.courses-page .cs-keypoints li svg{color:var(--success-color);flex-shrink:0;margin-top:3px}.courses-page .cs-tryit{padding:16px 18px;border-radius:var(--radius-md);background:var(--info-soft);border:1px dashed var(--navy-500);color:var(--text-primary)}.courses-page .cs-tryit .cs-box-label{color:var(--info-color)}.dark-theme .courses-page .cs-tryit .cs-box-label{color:var(--gold-400)}.courses-page .cs-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.courses-page .cs-actions.between{justify-content:space-between;align-items:center}.courses-page .cs-actions.center{justify-content:center}.courses-page .cs-actions .eg-btn{text-decoration:none}.courses-page .cs-quiz-head{display:flex;flex-direction:column;gap:6px}.courses-page .cs-qprogress{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.courses-page .cs-dots{display:flex;gap:8px;flex-wrap:wrap}.courses-page .cs-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg-primary);padding:0;cursor:pointer}.courses-page .cs-dot.answered{background:var(--navy-500);border-color:var(--navy-500)}.courses-page .cs-dot.current{border-color:var(--gold-500);box-shadow:0 0 0 3px var(--accent-soft)}.courses-page .cs-dot.answered.current{background:var(--gold-500)}.courses-page .cs-qcard{padding:22px;box-shadow:none}.courses-page .cs-question{margin:0 0 16px;font-size:1.25rem;line-height:1.45;font-weight:700;color:var(--text-primary);text-align:left}.courses-page .cs-options{display:flex;flex-direction:column;gap:10px}.courses-page .cs-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;min-height:56px;border-radius:var(--radius-md);border:2px solid var(--border-strong);background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:1.02rem;line-height:1.45;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.courses-page .cs-option:hover{border-color:var(--gold-500);background:var(--accent-soft)}.courses-page .cs-option:focus-visible{border-color:var(--gold-500);box-shadow:var(--shadow-focus)}.courses-page .cs-option.selected{border-color:var(--gold-500);background:var(--accent-soft);box-shadow:0 0 0 1px var(--gold-500);font-weight:700}.courses-page .cs-letter{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:800;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-strong)}.courses-page .cs-option.selected .cs-letter{background:var(--gold-500);color:var(--navy-900);border-color:var(--gold-500)}.courses-page .cs-option-text{flex:1;min-width:0;overflow-wrap:anywhere}.courses-page .cs-option-check{color:var(--accent-text);flex-shrink:0}.courses-page .cs-unanswered{margin:0;color:var(--accent-text);font-weight:700;font-size:.9rem}.courses-page .cs-score{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;box-shadow:none}.courses-page .cs-score-num{font-size:2.4rem;font-weight:800;color:var(--text-primary)}.courses-page .cs-banner{padding:10px 18px;border-radius:var(--radius-md);font-weight:800;font-size:1.05rem;border:1px solid}.courses-page .cs-banner.pass{background:var(--success-soft);color:var(--success-color);border-color:var(--success-color)}.courses-page .cs-banner.fail{background:var(--accent-soft);color:var(--accent-text);border-color:var(--gold-500)}.courses-page .cs-points{background:var(--gold-500);color:var(--navy-900);font-weight:800;padding:4px 14px;border-radius:var(--radius-full)}.courses-page .cs-celebrate{text-align:center;padding:22px;border-radius:var(--radius-lg);background:var(--gradient-brand);color:var(--text-on-brand)}.courses-page .cs-celebrate h2{margin:0;font-size:1.3rem;font-weight:800;color:var(--text-on-brand)}.courses-page .cs-celebrate.big{padding:32px 22px}.courses-page .cs-celebrate.big h2{font-size:1.7rem;margin:8px 0}.courses-page .cs-celebrate.big svg{color:var(--gold-400)}.courses-page .cs-celebrate p{margin:0;color:var(--navy-200)}.courses-page .cs-actions.wrap{justify-content:center}.courses-page .cs-review{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.courses-page .cs-review-item{padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);border-left-width:5px;background:var(--bg-primary);color:var(--text-primary)}.courses-page .cs-review-item.ok{border-left-color:var(--success-color)}.courses-page .cs-review-item.bad{border-left-color:var(--error-color)}.courses-page .cs-review-q{display:flex;gap:10px;align-items:flex-start;font-weight:600;line-height:1.45}.courses-page .cs-review-icon{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff}.courses-page .cs-review-item.ok .cs-review-icon{background:var(--success-color)}.courses-page .cs-review-item.bad .cs-review-icon{background:var(--error-color)}.courses-page .cs-review-line{margin:8px 0 0 34px;font-size:.95rem;color:var(--text-primary)}.courses-page .cs-review-expl{margin:8px 0 0 34px;font-size:.93rem;line-height:1.55;color:var(--text-secondary)}.courses-page .cs-state{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 24px}.courses-page .cs-state-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.courses-page .cs-state-title{margin:0;font-size:1.35rem;font-weight:800;line-height:1.3;color:var(--text-primary)}.courses-page .cs-help{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.92rem}.courses-page .cs-link-btn{background:none;border:0;padding:0;font:inherit;font-weight:800;color:var(--link-color);cursor:pointer;text-decoration:underline}.dark-theme .courses-page .cs-link-btn{color:var(--gold-400)}@media (max-width: 899px){.courses-page .cs-lesson-layout{grid-template-columns:1fr;gap:14px}.courses-page .cs-sidebar{position:static;max-height:none;padding:8px}.courses-page .cs-drawer-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;background:transparent;color:var(--text-primary);font:inherit;font-weight:800;cursor:pointer;border-radius:var(--radius-md)}.courses-page .cs-side-panel{display:none;padding:8px 4px 4px}.courses-page .cs-side-panel.open{display:block}}@media (max-width: 560px){.courses-page{padding:18px 12px 40px}.courses-page .cs-title{font-size:1.6rem}.courses-page .cs-lesson,.courses-page .cs-quiz,.courses-page .cs-results{padding:18px 14px}.courses-page .cs-lesson-title{font-size:1.45rem}.courses-page .cs-actions.between{flex-direction:column-reverse;align-items:stretch}.courses-page .cs-actions .eg-btn{width:100%;justify-content:center;text-align:center}.courses-page .cs-continue .eg-btn,.courses-page .cs-cta{width:100%;justify-content:center}.courses-page .cs-grid{grid-template-columns:1fr}.courses-page .cs-score-num{font-size:2rem}.courses-page .cs-review-line,.courses-page .cs-review-expl{margin-left:0}}.courses-page .cs-partbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 18px}.courses-page .cs-part-title{font-size:1.35rem;margin:0 0 12px;color:var(--text-primary, #0B1B3F)}.courses-page .cs-explain{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 8px}.courses-page .cs-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong, var(--border-color));background:var(--card-bg);color:inherit;border-radius:999px;padding:7px 14px;font:inherit;font-size:.88rem;cursor:pointer}.courses-page .cs-chip:hover,.courses-page .cs-chip.on{border-color:var(--gold-500);background:var(--accent-soft, rgba(245,181,61,.15))}.courses-page .cs-explained{margin:8px 0 18px;padding:16px 18px;border-radius:14px;border:1px dashed var(--gold-500);background:var(--accent-soft, rgba(245,181,61,.1))}.courses-page .cs-explained .cs-section{margin:10px 0}.courses-page .cs-h3{font-size:1.02rem;margin:6px 0 4px}.courses-page .cs-example.inner{margin-top:6px}.courses-page .cs-link{background:none;border:0;padding:0;margin-top:6px;color:var(--navy-500, #2A4F9E);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer}.courses-page .cs-alert-text{color:#b91c1c}.courses-page .cs-practice{margin:20px 0}.courses-page .cs-practice .cs-h2{display:flex;align-items:center;gap:8px;margin-top:0}.courses-page .cs-recaps{display:grid;gap:10px;margin:12px 0 16px}.courses-page .cs-recap{padding:12px 14px;border-radius:12px;background:var(--bg-secondary, rgba(11,27,63,.05));border-left:4px solid var(--gold-500)}.courses-page .cs-recap .cs-p{margin:4px 0 0}.courses-page .cs-practice-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:18px}.courses-page .cs-practice-q .cs-question{font-size:1.02rem;margin:0 0 8px}.courses-page .cs-option.correct{border-color:#16a34a;background:#16a34a1f}.courses-page .cs-option.wrong{border-color:#dc2626;background:#dc26261a}.courses-page .cs-practice-fb{margin:8px 0 0;font-size:.92rem}.courses-page .cs-practice-fb.ok{color:#15803d}.courses-page .cs-practice-fb.bad{color:#b91c1c}.dark-theme .courses-page .cs-practice-fb.ok{color:#86efac}.dark-theme .courses-page .cs-practice-fb.bad,.dark-theme .courses-page .cs-alert-text{color:#fca5a5}.courses-page .cs-diagram{margin:18px 0;padding:14px 16px;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md);background:var(--bg-card, #fff)}.courses-page .cs-dg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.courses-page .cs-dg-title{font-weight:700;color:var(--text-primary)}.courses-page .cs-dg-svg{width:100%;height:auto;max-height:440px;display:block;background:#fff;border-radius:var(--radius-md)}.courses-page .cs-dg-leader{stroke:#6b7280;stroke-width:.35}.courses-page .cs-dg-dot{fill:#111827}.courses-page .cs-dg-labeltext{fill:#111827;font-weight:600;font-family:inherit}.courses-page .cs-dg-text{font-family:inherit}.courses-page .cs-dg-label.quiz{cursor:pointer}.courses-page .cs-dg-label.quiz:focus-visible .cs-dg-labeltext{text-decoration:underline}.courses-page .cs-dg-num circle{fill:#111827}.courses-page .cs-dg-num text{fill:#fff;font-weight:700;font-family:inherit}.courses-page .cs-dg-legend{margin:10px 0 0;padding-left:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 16px;color:var(--text-primary);font-size:.92rem}.courses-page .cs-dg-reveal{background:none;border:1px dashed var(--border-color, #9ca3af);border-radius:6px;padding:1px 8px;color:var(--text-secondary);cursor:pointer;font:inherit}.courses-page .cs-dg-caption{margin:10px 0 0;color:var(--text-secondary);font-size:.9rem}.courses-page .cs-badge-free{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.75rem;font-weight:800}.courses-page .cs-badge-lock{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:#fdf0d5;color:#8a5a00;font-size:.75rem;font-weight:800}.courses-page .cs-chapter.premium{opacity:.85;cursor:pointer}.courses-page .cs-chapter.premium:hover{background:var(--accent-soft, #fdf0d5)}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);padding:20px}.forgot-password-card{background:var(--card-bg);border-radius:16px;padding:48px 40px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.icon-wrapper{display:flex;justify-content:center;margin-bottom:24px}.mail-icon{color:var(--primary-color);animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.forgot-password-card h2{text-align:center;margin-bottom:12px;color:var(--text-primary);font-size:28px;font-weight:700}.subtitle{text-align:center;color:var(--text-tertiary);margin-bottom:32px;font-size:15px;line-height:1.6}.forgot-password-form,.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.input-wrapper{position:relative}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.input-wrapper input.with-icon{padding-left:44px}.forgot-password-form input{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:15px;transition:all .2s;box-sizing:border-box}.forgot-password-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.forgot-password-form input.input-error{border-color:#f56565}.forgot-password-form input:disabled{background-color:var(--bg-secondary);cursor:not-allowed}.error-banner{background-color:#fff5f5;border:1px solid #feb2b2;color:#c53030;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:14px}.back-to-login{text-align:center;margin-top:24px}.back-to-login a{display:inline-flex;align-items:center;gap:6px;color:var(--primary-color);text-decoration:none;font-weight:600;font-size:14px;transition:color .2s}.back-to-login a:hover{color:var(--primary-hover)}.success-state{text-align:center}.success-icon-wrapper{display:flex;justify-content:center;margin-bottom:24px}.success-icon{color:#48bb78;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message{font-size:16px;color:var(--text-primary);margin-bottom:12px;line-height:1.6}.info-text{color:var(--text-tertiary);font-size:14px;margin-bottom:32px}.success-actions{display:flex;flex-direction:column;gap:12px}.back-to-login-btn,.try-again-btn{width:100%;padding:14px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;box-sizing:border-box}.back-to-login-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border:none}.back-to-login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #2a4f9e4d}.try-again-btn{background:var(--card-bg);color:var(--primary-color);border:2px solid var(--primary-color)}.try-again-btn:hover{background:var(--bg-secondary)}@media (max-width: 640px){.forgot-password-card{padding:32px 24px}.forgot-password-card h2{font-size:24px}}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-accent);padding:20px}.reset-password-card{background:var(--card-bg);border-radius:16px;padding:48px 40px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;animation:slideIn .3s ease-out}.lock-icon{color:#f5576c;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.reset-password-form{margin-bottom:24px}.password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s}.password-toggle:hover{color:var(--primary-color)}.password-strength{margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:6px;font-size:13px}.strength-item{display:flex;align-items:center;gap:8px;margin-bottom:6px}.strength-item:last-child{margin-bottom:0}.check-valid{color:#48bb78;font-weight:700}.check-invalid{color:#cbd5e0;font-weight:700}.field-error{display:block;color:#f56565;font-size:13px;margin-top:6px}.login-now-btn{display:inline-block;padding:14px 32px;background:var(--gradient-accent);color:#fff;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s;margin-top:16px}.login-now-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #f5576c4d}@media (max-width: 640px){.reset-password-card{padding:32px 24px}.reset-password-card h2{font-size:24px}}.teacher-agent-page{background:var(--bg-secondary);min-height:100vh;padding-bottom:2rem}.agent-header{background:var(--card-bg);padding:2rem;border-bottom:1px solid var(--border-color);margin-bottom:2rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:none;border-radius:6px;color:var(--text-secondary);font-size:14px;cursor:pointer;margin-bottom:1rem;transition:all .2s}.back-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.header-content{display:flex;align-items:center;gap:1rem}.header-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.header-content h1{margin:0;font-size:28px;color:var(--text-primary)}.header-content p{margin:.25rem 0 0;color:var(--text-tertiary)}.lesson-planner-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}@media (max-width: 1024px){.lesson-planner-container{grid-template-columns:1fr}}.planner-form-section{display:flex;flex-direction:column;gap:1.5rem}.form-card,.tips-card{background:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.form-card h2{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:20px;color:var(--text-primary)}.form-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);font-size:14px}.required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:14px;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.generate-button{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.generate-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2a4f9e4d}.generate-button:disabled{background:#94a3b8;cursor:not-allowed}.tips-card h3{margin:0 0 1rem;color:var(--text-primary);font-size:16px}.tips-card ul{margin:0;padding-left:1.25rem;color:var(--text-tertiary);font-size:14px;line-height:1.8}.planner-result-section{background:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d;min-height:600px}.lesson-plan-result{height:100%;display:flex;flex-direction:column}.result-header h2{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--text-primary)}.plan-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.plan-meta span{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-size:14px}.lesson-plan-content{flex:1;background:var(--bg-secondary);border-radius:8px;padding:1.5rem;overflow-y:auto;margin-bottom:1.5rem}.lesson-plan-content pre{margin:0;white-space:pre-wrap;font-family:inherit;color:var(--text-primary);line-height:1.8;font-size:14px}.plan-actions{display:flex;gap:1rem;justify-content:center}.btn-secondary{padding:.75rem 1.5rem;background:var(--bg-secondary);color:var(--text-secondary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-tertiary)}.empty-result{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);text-align:center;padding:3rem}.empty-result svg{margin-bottom:1rem;opacity:.5}.empty-result h3{color:var(--text-tertiary);margin:0 0 .5rem}.empty-result p{color:var(--text-tertiary);margin:0;max-width:400px}.error-banner{background:#fee2e2;border:1px solid #ef4444;border-radius:8px;padding:1rem 1.5rem;margin:0 2rem 1rem;display:flex;align-items:center;gap:1rem;color:#991b1b}.error-banner button{margin-left:auto;background:none;border:none;font-size:20px;cursor:pointer;color:#991b1b}.teacher-agent-container{max-width:1200px;margin:0 auto;padding:2rem}.lesson-plan-form{max-width:600px;margin:0 auto;padding:1rem 0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.checkbox-group{margin-top:1rem}.submit-button{width:100%;height:42px;font-size:1rem;margin-top:1rem}.lesson-plan-result{padding:1rem 0}.result-header{margin-bottom:2rem;text-align:center}.download-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media (max-width: 768px){.download-options{grid-template-columns:1fr}}.download-card{display:flex;align-items:center;padding:1.5rem}.download-icon{font-size:2.5rem;margin-right:1.5rem;color:var(--primary-hover)}.download-info{flex:1}.download-info h5{margin-top:0;margin-bottom:.5rem}.download-info .ant-typography{margin-bottom:1rem;color:var(--text-secondary)}.action-buttons{display:flex;justify-content:center;margin-top:2rem}.teacher-agent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.teacher-agent-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0}.teacher-agent-subtitle{color:var(--text-secondary);margin-top:.5rem;font-size:1rem}.back-button{background:var(--bg-secondary);border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 200px);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--bg-secondary)}.message{max-width:80%;padding:1rem;border-radius:.5rem;animation:fadeIn .2s ease-in-out}.message.user{align-self:flex-end;background:var(--primary-color);color:#fff;border-top-right-radius:0}.message.agent{align-self:flex-start;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-top-left-radius:0}.chat-input{display:flex;padding:1rem;background:var(--card-bg);border-top:1px solid var(--border-color)}.chat-input input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem}.chat-input button{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;font-weight:500;border:none;border-radius:.375rem;margin-left:.5rem;cursor:pointer;transition:background .2s}.chat-input button:hover{background:var(--primary-hover)}.chat-input button:disabled{background:#93c5fd;cursor:not-allowed}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.dashboard-card{background:var(--card-bg);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;position:relative}.dashboard-card h3{font-size:1.125rem;font-weight:600;margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.stat-number{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.chart-container{height:300px;margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem}textarea.form-control{min-height:120px;resize:vertical}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.form-row{display:flex;gap:1rem}.form-row>div{flex:1}.primary-button{background:var(--primary-color);color:#fff;border:none;border-radius:.375rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.primary-button:hover{background:var(--primary-hover)}.sa-page{max-width:1040px;margin:0 auto;padding:24px 16px 64px;color:var(--text-primary, #0B1B3F)}.sa-back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--text-secondary, #5b6785);font:inherit;cursor:pointer;padding:4px 0}.sa-back:hover{color:var(--text-primary, #0B1B3F)}.sa-head h1{font-size:1.8rem;margin:8px 0 4px}.sa-head p{margin:0 0 18px;color:var(--text-secondary, #5b6785);max-width:60ch}.sa-search{display:flex;align-items:center;gap:10px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #dfe4f0);border-radius:14px;padding:8px 8px 8px 14px;margin-bottom:18px}.sa-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:inherit;padding:8px 0}.sa-search:focus-within{border-color:#f5b53d;box-shadow:0 0 0 3px #f5b53d40}.sa-alert{display:flex;gap:10px;align-items:center;background:#dc262614;border:1px solid rgba(220,38,38,.3);color:#b91c1c;border-radius:12px;padding:12px 14px;margin-bottom:16px}.dark-theme .sa-alert{color:#fca5a5}.sa-empty{text-align:center;padding:40px 16px;color:var(--text-secondary, #5b6785);background:var(--card-bg, #fff);border:1px dashed var(--border-color, #dfe4f0);border-radius:16px}.sa-roster{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.sa-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #dfe4f0);border-radius:16px;padding:18px;margin-bottom:16px}.sa-card h3{margin:0 0 12px;font-size:1.05rem;display:flex;align-items:center;gap:8px}.sa-skeleton{color:var(--text-secondary, #5b6785)}.sa-muted{color:var(--text-secondary, #5b6785);font-size:.88rem}.sa-profile{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.sa-avatar{width:56px;height:56px;border-radius:50%;background:#0b1b3f;color:#f5b53d;display:grid;place-items:center;font-weight:700;font-size:1.1rem;flex:none}.sa-profile-main{flex:1;min-width:200px}.sa-profile-main h2{margin:0 0 4px;font-size:1.3rem}.sa-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;color:var(--text-secondary, #5b6785);font-size:.9rem}.sa-meta span{display:inline-flex;align-items:center;gap:4px}.sa-tag.warn{font-size:.72rem;background:#f5b53d33;color:#8a5a00;border-radius:999px;padding:2px 8px;vertical-align:middle}.sa-period{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-secondary, #5b6785)}.sa-period select{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--border-color, #dfe4f0);background:var(--card-bg, #fff);color:var(--text-primary, #0B1B3F)}.sa-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.sa-tile{display:flex;flex-direction:column;gap:2px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #dfe4f0);border-radius:14px;padding:14px}.sa-tile svg{color:#d9950f}.sa-tile strong{font-size:1.5rem;line-height:1.2}.sa-tile span{color:var(--text-secondary, #5b6785);font-size:.85rem}.sa-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.sa-grid .sa-card{margin-bottom:16px}.sa-bars{display:flex;align-items:flex-end;gap:6px;height:120px}.sa-bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.sa-bar-col>.sa-bar{width:100%;max-width:28px;border-radius:6px 6px 2px 2px;background:#f5b53d;min-height:4px}.sa-bar[data-zero=true]{background:var(--border-color, #dfe4f0)}.sa-bar-col span{font-size:.68rem;color:var(--text-secondary, #5b6785)}.sa-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sa-list li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.sa-course{margin-bottom:14px}.sa-course-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}.sa-progress{height:8px;background:var(--border-color, #e6eaf4);border-radius:999px;overflow:hidden}.sa-progress>div{height:100%;background:linear-gradient(90deg,#0b1b3f,#f5b53d);border-radius:999px}.sa-feed-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.sa-feed-head h3{margin:0}.sa-filters{display:flex;flex-wrap:wrap;gap:6px}.sa-chip{border:1px solid var(--border-color, #dfe4f0);background:var(--card-bg, #fff);color:inherit;border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}.sa-chip.on{background:#0b1b3f;color:#fff;border-color:#0b1b3f}.dark-theme .sa-chip.on{background:#f5b53d;color:#0b1b3f;border-color:#f5b53d}.sa-feed{list-style:none;margin:0;padding:0}.sa-event{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--border-color, #e6eaf4)}.sa-event:first-child{border-top:0}.sa-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;background:#0b1b3f14;color:#0b1b3f}.dark-theme .sa-ico{background:#ffffff14;color:#f5b53d}.sa-ico.t-course_quiz{background:#f5b53d38;color:#8a5a00}.sa-ico.t-tutor{background:#2a4f9e24;color:#2a4f9e}.sa-event-body{flex:1;min-width:0}.sa-event-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.sa-event-body p{margin:2px 0 6px;overflow-wrap:anywhere}.sa-score{display:inline-block;font-size:.8rem;font-weight:600;border-radius:999px;padding:2px 10px}.sa-score.pass{background:#16a34a24;color:#15803d}.sa-score.fail{background:#dc26261f;color:#b91c1c}.sa-link{background:none;border:0;padding:0;margin-left:8px;color:#2a4f9e;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline}.dark-theme .sa-link{color:#8fb0ff}.sa-answer{background:#0b1b3f0d;border-radius:10px;padding:10px 12px;font-size:.9rem}.dark-theme .sa-answer{background:#ffffff0f}@media (max-width: 760px){.sa-grid{grid-template-columns:1fr}.sa-search{flex-wrap:wrap}.sa-search .eg-btn{width:100%}}.teacher-tutor-agent{display:flex;flex-direction:column;height:calc(100vh - 80px);background:var(--bg-secondary)}.tutor-header{background:var(--card-bg);padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.tutor-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:none;border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.back-button:hover{background:var(--bg-tertiary)}.clear-button{padding:.5rem;background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.clear-button:hover{background:#fecaca}.tutor-header-content{display:flex;align-items:center;gap:1rem}.tutor-header-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.tutor-header-content h1{margin:0;font-size:24px;color:var(--text-primary)}.tutor-header-content p{margin:.25rem 0 0;color:var(--text-tertiary);font-size:14px}.context-inputs-compact{display:flex;gap:.75rem;margin-top:1rem}.context-input-small{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:13px;transition:all .2s}.context-input-small:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.context-input-small::placeholder{color:var(--text-tertiary)}.chat-main-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--card-bg);margin:1rem;border-radius:12px;box-shadow:0 2px 8px #0000000d}.messages-scroll-area{flex:1;overflow-y:auto;padding:2rem;scroll-behavior:smooth}.messages-scroll-area::-webkit-scrollbar{width:8px}.messages-scroll-area::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.messages-scroll-area::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.messages-scroll-area::-webkit-scrollbar-thumb:hover{background:#94a3b8}.message{display:flex;gap:1rem;margin-bottom:1.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.teacher{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.message.assistant .message-avatar,.message.teacher .message-avatar{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%)}.message-bubble{max-width:70%;position:relative}.message.assistant .message-bubble{background:var(--bg-secondary);border-radius:12px 12px 12px 4px;padding:1rem 1.25rem}.message.teacher .message-bubble{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;border-radius:12px 12px 4px;padding:1rem 1.25rem}.message-text{margin:0;line-height:1.6;font-size:15px}.message-text strong{font-weight:600}.message-text li{margin:.5rem 0;list-style-position:inside}.message-text p{margin:.5rem 0}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.message-time{font-size:11px;color:var(--text-tertiary);margin-top:.5rem}.message.teacher .message-time{color:#ffffffb3;text-align:right}.message.loading .message-bubble{display:flex;align-items:center;gap:.75rem}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.suggestions-section{padding:2rem;background:linear-gradient(to bottom,rgba(42,79,158,.05),transparent);border-top:1px solid var(--border-color)}.suggestions-title{margin:0 0 1rem;font-size:14px;font-weight:600;color:var(--text-tertiary);display:flex;align-items:center;gap:.5rem}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.suggestion-button{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;text-align:left}.suggestion-button:hover{border-color:var(--primary-color);background:#faf5ff;transform:translateY(-2px);box-shadow:0 4px 12px #2a4f9e26}.suggestion-button svg{color:var(--primary-color);flex-shrink:0}.input-area{padding:1.5rem 2rem;background:var(--card-bg);border-top:1px solid var(--border-color);flex-shrink:0}.input-wrapper{display:flex;gap:1rem;align-items:flex-end}.input-wrapper textarea{flex:1;padding:1rem;border:2px solid var(--border-color);border-radius:12px;font-size:15px;font-family:inherit;resize:none;transition:all .2s;min-height:56px;max-height:120px}.input-wrapper textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a4f9e1a}.input-wrapper textarea:disabled{background:var(--bg-secondary);cursor:not-allowed}.send-button{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #2a4f9e4d}.send-button:disabled{background:var(--bg-tertiary);cursor:not-allowed}.error-banner{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:1rem 1.5rem;margin:1rem 2rem;display:flex;align-items:center;gap:1rem;color:#991b1b}.error-banner button{margin-left:auto;background:none;border:none;font-size:20px;cursor:pointer;color:#991b1b;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);text-align:center;padding:3rem}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:var(--text-tertiary);font-size:18px}.empty-state p{margin:0;max-width:400px;color:var(--text-tertiary)}@media (max-width: 768px){.context-inputs-compact{flex-direction:column}.suggestions-grid{grid-template-columns:1fr}.message-bubble{max-width:85%}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{max-width:100%;height:auto}.container{width:100%;max-width:1200px;padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto}@media (max-width: 1200px){.container{max-width:960px}}@media (max-width: 992px){.container{max-width:720px}h1{font-size:calc(1.375rem + 1.5vw)}h2{font-size:calc(1.325rem + .9vw)}h3{font-size:calc(1.3rem + .6vw)}}@media (max-width: 768px){.container{max-width:540px}.hide-mobile{display:none!important}.show-mobile{display:block!important}button,[type=button],[type=submit],[type=reset],.btn{min-height:44px;min-width:44px}}@media (max-width: 480px){.container{padding-left:10px;padding-right:10px}h1{font-size:calc(1.325rem + .9vw)}h2{font-size:calc(1.275rem + .3vw)}h3{font-size:1.25rem}p,li,td,th,input,select,textarea{font-size:.95rem}input,select,textarea{font-size:16px!important}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}@media (max-width: 992px){.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}}@media (max-width: 768px){.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}}@media (max-width: 480px){.col-xs-12{flex:0 0 100%;max-width:100%}.row{margin-right:-10px;margin-left:-10px}.col{padding-right:10px;padding-left:10px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media (max-width: 768px){.text-sm-center{text-align:center}}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}@media (max-width: 768px){.d-sm-none{display:none!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}@media (max-width: 480px){.d-xs-none{display:none!important}.d-xs-block{display:block!important}}.m-0{margin:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.p-0{padding:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}@media (max-width: 768px){.mt-sm-0{margin-top:0!important}.mb-sm-3{margin-bottom:1rem!important}.p-sm-2{padding:.5rem!important}}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-column{flex-direction:column!important}.justify-content-start{justify-content:flex-start!important}.justify-content-center{justify-content:center!important}.justify-content-end{justify-content:flex-end!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}@media (max-width: 768px){.flex-sm-column{flex-direction:column!important}.justify-content-sm-center{justify-content:center!important}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}
