@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.sidebar{position:fixed;top:var(--header-height);left:0;display:flex;flex-direction:column;width:var(--sidebar-collapsed);height:calc(100vh - var(--header-height));background:var(--bg-raised);border-right:1px solid var(--border-subtle);padding:var(--space-3) 0;z-index:var(--z-sidebar);transition:width var(--duration-slow) var(--ease-default);overflow:hidden}.sidebar.expanded{width:var(--sidebar-expanded)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast)}.sidebar-toggle:hover{color:var(--text-primary)}.sidebar-toggle svg{font-size:1.25rem;transition:transform var(--duration-slow) var(--ease-default)}.sidebar.expanded .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-2);flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;transition:all var(--duration-fast) var(--ease-default);position:relative;overflow:hidden}.sidebar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-btn.active{background:var(--primary-soft);color:var(--primary)}.sidebar-btn.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--primary);border-radius:0 var(--radius-full) var(--radius-full) 0}.sidebar-btn-icon{display:flex;align-items:center;justify-content:center;min-width:24px;font-size:1.2rem;flex-shrink:0}.sidebar-btn-label{opacity:0;width:0;overflow:hidden;transition:opacity var(--duration-slow) var(--ease-default),width var(--duration-slow) var(--ease-default)}.sidebar.expanded .sidebar-btn-label{opacity:1;width:auto}@media (max-width: 768px){.sidebar{top:0;height:100vh;width:var(--sidebar-expanded);transform:translate(-100%);transition:transform var(--duration-slow) var(--ease-default);box-shadow:var(--shadow-xl)}.sidebar.mobile-open{transform:translate(0)}.sidebar .sidebar-btn-label{opacity:1;width:auto}.sidebar-toggle{display:none}}.unsubmitted-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(2,6,23,.4),transparent),linear-gradient(45deg,#02061799,#020617e6);backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);display:flex;justify-content:center;align-items:center;z-index:1101;pointer-events:all}.unsubmitted-popup-content{font-family:Roboto,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg-raised),none;padding:2.5rem;border-radius:20px;max-width:750px;width:90%;max-height:85vh;overflow-y:auto;position:relative;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl),0 0 0 1px var(--border-subtle),inset 0 1px 0 transparent;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text-primary)}.unsubmitted-popup-content::-webkit-scrollbar{width:12px}.unsubmitted-popup-content::-webkit-scrollbar-track{background:transparent;border-radius:8px}.unsubmitted-popup-content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:8px;transition:background .3s ease}.unsubmitted-popup-content::-webkit-scrollbar-thumb:hover{background:var(--border-focus)}.unsubmitted-exam-header{text-align:center;margin-bottom:1.8rem;color:#fff;font-size:2rem;font-weight:800;letter-spacing:.2px;text-shadow:0 2px 10px rgba(0,0,0,.25);position:relative}.unsubmitted-exam-header:after{content:"";display:block;width:64px;height:3px;background:linear-gradient(90deg,var(--primary),var(--info));margin:.9rem auto 0;border-radius:2px}.unsubmitted-popup-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#cbd5e1;transition:color .2s ease,transform .2s ease;z-index:1001}.unsubmitted-popup-close-button:hover{color:#fff;transform:scale(1.05)}.unsubmitted-exam-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:14px;padding:1.25rem 1.25rem 1.1rem;margin-bottom:1rem;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease,transform .2s ease}.unsubmitted-exam-card:hover{border-color:var(--border-default);background:var(--bg-hover);box-shadow:0 10px 28px transparent}.unsubmitted-exam-header-container{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.1rem;gap:1rem}.unsubmitted-exam-title{color:#fff;margin:0;font-size:1.25rem;font-weight:700;line-height:1.3;flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.unsubmitted-exam-meta{color:var(--text-secondary);font-size:.95rem;display:flex;align-items:center;gap:.5rem;flex-shrink:0}.unsubmitted-exam-details{color:#c7d2fe;font-size:.94rem;margin-bottom:1.25rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.75rem}.unsubmitted-exam-details .highlight{color:var(--info);font-weight:600}.detail-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.detail-row strong{min-width:70px;color:#e5e7eb}.unsubmitted-exam-action-buttons{display:flex;gap:1rem;margin-top:.6rem}.unsubmitted-exam-continue-button{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;padding:.9rem 1.6rem;border-radius:10px;font-size:.98rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 6px 18px transparent}.unsubmitted-exam-continue-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px transparent;filter:saturate(1.05)}.unsubmitted-exam-continue-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-glow)}.unsubmitted-exam-continue-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.unsubmitted-exam-delete-button{background:var(--error);color:#fff;border:none;padding:.9rem 1.6rem;border-radius:10px;font-size:.98rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 6px 18px transparent}.unsubmitted-exam-delete-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px var(--error);filter:saturate(1.02)}.unsubmitted-exam-delete-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--error)}.unsubmitted-exam-delete-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.unsubmitted-exam-delete-confirmation{background:var(--error-soft);border:1px solid var(--error);border-radius:12px;padding:1.25rem;margin-top:1.1rem;position:relative;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.unsubmitted-exam-delete-confirmation:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(239,68,68,.07),transparent);border-radius:12px;z-index:-1}.unsubmitted-exam-delete-confirmation p{color:#ff7b7b;margin:0 0 1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.unsubmitted-exam-confirm-cancel-buttons{display:flex;gap:1rem;margin-top:.5rem}.unsubmitted-exam-cancel-delete-button{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.85rem 1.4rem;border-radius:10px;cursor:pointer;font-weight:700;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;flex:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.unsubmitted-exam-cancel-delete-button:hover{background:#fff3;transform:translateY(-1px)}.unsubmitted-exam-cancel-delete-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-glow)}.unsubmitted-exam-confirm-delete-button{background:var(--error);color:#fff;border:none;padding:.85rem 1.4rem;border-radius:10px;cursor:pointer;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;flex:1;box-shadow:0 6px 18px transparent}.unsubmitted-exam-confirm-delete-button:hover{background:var(--error);transform:translateY(-1px);box-shadow:0 10px 22px var(--error)}.unsubmitted-exam-confirm-delete-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--error)}.unsubmitted-exam-confirm-delete-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.unsubmitted-exam-no-exams-message{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic;font-size:1.08rem}@media (max-width: 768px){.unsubmitted-popup-content{padding:1.5rem;width:95%;max-height:90vh}.unsubmitted-exam-header{font-size:1.6rem;margin-bottom:1.5rem}.unsubmitted-popup-close-button{font-size:1.2rem}.unsubmitted-exam-card{padding:1rem}.unsubmitted-exam-header-container{flex-direction:column;align-items:flex-start;gap:.8rem;width:100%}.unsubmitted-exam-title{font-size:1.15rem}.unsubmitted-exam-meta{font-size:.88rem}.unsubmitted-exam-details{font-size:.9rem;margin-bottom:1.1rem;padding-bottom:1rem;gap:.6rem}.detail-row{gap:.4rem}.detail-row strong{min-width:60px;font-size:.85rem}.unsubmitted-exam-action-buttons{flex-direction:column;gap:.8rem}.unsubmitted-exam-continue-button,.unsubmitted-exam-delete-button{padding:.85rem 1.3rem;font-size:.95rem}.unsubmitted-exam-delete-confirmation{padding:1.1rem}.unsubmitted-exam-confirm-cancel-buttons{flex-direction:column}.unsubmitted-exam-cancel-delete-button,.unsubmitted-exam-confirm-delete-button{padding:.85rem 1rem;font-size:.95rem}.unsubmitted-exam-no-exams-message{font-size:1rem;padding:1.5rem}}.unsubmitted-popup-enter{opacity:0;transform:scale(.95) translateY(20px)}.unsubmitted-popup-enter-active{opacity:1;transform:scale(1) translateY(0);transition:opacity .5s ease-out,transform .5s ease-out}.unsubmitted-popup-exit{opacity:1;transform:scale(1) translateY(0)}.unsubmitted-popup-exit-active{opacity:0;transform:scale(.95) translateY(20px);transition:opacity .2s ease-in,transform .2s ease-in}.delete-confirmation-enter{height:0;opacity:0;overflow:hidden}.delete-confirmation-enter-active{height:auto;opacity:1;transition:height .3s ease-out,opacity .3s ease-out}.delete-confirmation-exit{height:auto;opacity:1}.delete-confirmation-exit-active{height:0;opacity:0;transition:height .3s ease-in,opacity .3s ease-in}.content{padding:var(--space-6);padding-top:var(--space-8);min-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-8)}.greeting-area h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.greeting-area p{font-family:var(--font-body);font-size:var(--text-lg);color:var(--text-secondary)}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-4)}.stats-container,.subjects-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);width:100%}.stat-card{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;background:var(--bg-raised);border:1px solid var(--border-subtle);transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.subject-card{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg);text-align:center;text-decoration:none;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm);color:#fff}.subject-card.math{background:var(--gradient-math)}.subject-card.science{background:var(--gradient-science)}.subject-card.ss{background:var(--gradient-ss)}.subject-card.english{background:var(--gradient-english)}.subject-card h3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin:0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.subject-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:#fff0;transition:background var(--duration-normal) var(--ease-default);z-index:0}.subject-card:hover:before{background:#ffffff1a}.subject-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);z-index:var(--z-base)}.info-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--text-primary);line-height:var(--leading-tight)}.stat-card.skeleton{background:var(--bg-surface);border:1px solid var(--border-subtle)}.skeleton-title{width:140px;height:18px;border-radius:var(--radius-sm);background:var(--bg-hover);background-image:linear-gradient(110deg,var(--bg-hover) 25%,var(--bg-surface) 37%,var(--bg-hover) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;margin-bottom:var(--space-4)}.skeleton-value{width:100px;height:40px;border-radius:var(--radius-sm);background:var(--bg-hover);background-image:linear-gradient(110deg,var(--bg-hover) 25%,var(--bg-surface) 37%,var(--bg-hover) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}@media (max-width: 768px){.content{padding:var(--space-4);padding-top:var(--space-6)}.greeting-area h1{font-size:var(--text-2xl)}.stats-container,.subjects-container{grid-template-columns:1fr 1fr;gap:var(--space-4)}}@media (max-width: 480px){.stats-container,.subjects-container{grid-template-columns:1fr}}.bottom-nav{display:none}@media (max-width: 768px){.bottom-nav{position:fixed;bottom:var(--space-4);left:0;right:0;z-index:var(--z-header);display:flex!important;justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:none;transition:all var(--duration-slow) var(--ease-default)}.bottom-nav.scrolled .bottom-nav-content{max-width:280px;border-radius:var(--radius-full);box-shadow:var(--shadow-lg)}.bottom-nav.scrolled .nav-item span{opacity:0;max-height:0;padding:0;margin:0;overflow:hidden;transition:opacity var(--duration-slow) var(--ease-out),max-height var(--duration-slow) var(--ease-out),padding var(--duration-slow) var(--ease-out),margin var(--duration-slow) var(--ease-out)}.bottom-nav.scrolled .nav-item{padding-top:var(--space-2);padding-bottom:var(--space-2)}.mobile-back-button{width:48px;height:48px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--bg-raised) 75%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary);cursor:pointer;z-index:calc(var(--z-header) + 1);pointer-events:auto;-webkit-tap-highlight-color:transparent;outline:none;transition:all var(--duration-normal) var(--ease-default)}.mobile-back-button.hide{width:0;opacity:0;transform:scale(.8);pointer-events:none;margin-right:calc(-1 * var(--space-2));padding:0;border:0}.mobile-back-button.show{width:48px;opacity:1;transform:scale(1)}@media (max-width: 460px){.mobile-back-button,.mobile-back-button.show{width:40px;height:40px}}@media (max-width: 340px){.mobile-back-button,.mobile-back-button.show{width:36px;height:36px}}.mobile-back-button svg{width:20px;height:20px;transition:transform var(--duration-fast) var(--ease-default)}@media (max-width: 460px){.mobile-back-button svg{width:18px;height:18px}}@media (max-width: 340px){.mobile-back-button svg{width:16px;height:16px}}.mobile-back-button:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.05)}.mobile-back-button:active{transform:scale(.95);background:var(--bg-surface)}.mobile-back-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.bottom-nav-content{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--bg-raised) 75%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border-subtle);position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:var(--space-2);box-shadow:var(--shadow-md);pointer-events:auto;transition:all var(--duration-normal) var(--ease-default);min-height:var(--bottom-nav-height);gap:0;flex-grow:1;max-width:640px}.liquid-edge{--edge-width: 20px;--edge-color: rgba(255, 255, 255, .08);--edge-blur: 10px;position:absolute;top:0;bottom:0;width:var(--edge-width);z-index:-1;pointer-events:none;filter:blur(var(--edge-blur));transform:scaleY(1.1)}.liquid-edge.left{left:0;background:radial-gradient(circle at 0% 50%,var(--edge-color) 0%,transparent 80%);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.liquid-edge.right{right:0;background:radial-gradient(circle at 100% 50%,var(--edge-color) 0%,transparent 80%);border-radius:0 var(--radius-xl) var(--radius-xl) 0}@media (max-width: 460px){.bottom-nav{bottom:var(--space-3);padding:0 var(--space-2)}.bottom-nav-content{padding:var(--space-1) var(--space-2);min-height:48px;gap:2px}}@media (max-width: 401px){.bottom-nav-content{max-width:400px}}@media (max-width: 340px){.bottom-nav{bottom:var(--space-2);padding:0 var(--space-1)}.bottom-nav-content{padding:var(--space-1) var(--space-1);gap:1px;max-width:300px}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);-webkit-tap-highlight-color:transparent;outline:none;min-width:40px;min-height:44px;flex:1;overflow:hidden;position:relative;z-index:var(--z-base)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.02)}.nav-item:active{transform:scale(.97);background:var(--primary-soft)}.nav-item.active{color:var(--text-inverse)!important;background:transparent!important;font-weight:var(--weight-semibold)}.nav-item svg{transition:transform var(--duration-fast) var(--ease-default);width:20px;height:20px}.nav-item.active svg{transform:scale(1.1);color:var(--text-inverse)!important}.nav-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.nav-item span{transition:opacity var(--duration-slow) var(--ease-out),height var(--duration-slow) var(--ease-out)}@media (max-width: 460px){.nav-item{padding:var(--space-1) var(--space-1);font-size:.65rem;min-width:36px;min-height:40px;max-width:70px}.nav-item svg{width:16px;height:16px}.nav-item span{font-size:.65rem}}@media (max-width: 380px){.nav-item{max-width:56px}.nav-item span{display:none}}@media (max-width: 340px){.nav-item{padding:3px var(--space-1);font-size:.6rem;min-width:32px;max-width:54px}.nav-item svg{width:14px;height:14px}.nav-item span{display:none}}.nav-highlight{position:absolute;top:var(--space-2);height:calc(100% - var(--space-4));background-color:var(--primary);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-default);z-index:0;will-change:left,width}@media (max-width: 460px){.nav-highlight{top:var(--space-1);height:calc(100% - var(--space-3))}}@media (max-width: 340px){.nav-highlight{top:var(--space-1);height:calc(100% - var(--space-2))}}.bottom-nav-content.contract .nav-highlight{opacity:0;visibility:hidden;pointer-events:none;transition:none}.bottom-nav-content.expand .nav-highlight{opacity:1;visibility:visible;transition:left var(--duration-normal) var(--ease-default),width var(--duration-normal) var(--ease-default)}}.exam-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--space-5);position:relative;overflow:hidden}.exam-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--primary-glow) 0%,transparent 50%);animation:rotate 30s linear infinite;z-index:-1}.exam-card{background:var(--bg-raised);padding:var(--space-10);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-inner);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;max-width:500px;margin:var(--space-5) auto;position:relative;overflow:hidden}.exam-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--primary-glow) 50%,transparent 100%)}.exam-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);text-align:center;margin-bottom:var(--space-10);color:var(--primary);position:relative}.exam-title:after{content:"";display:block;width:60px;height:4px;background:var(--primary);margin:var(--space-2) auto 0;border-radius:var(--radius-full);box-shadow:var(--shadow-glow)}.form-group{display:flex;flex-direction:column;margin-bottom:var(--space-8);position:relative}.form-group label{display:flex;align-items:center;margin-bottom:var(--space-3);color:var(--text-primary);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:.5px;text-transform:uppercase;opacity:.9;white-space:nowrap;line-height:1}.required-field{color:var(--error);margin-left:var(--space-1);font-weight:var(--weight-bold)}.subject-select-container{position:relative;display:flex;align-items:center}.subject-select{width:100%;padding:var(--space-3) var(--space-16) var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--bg-surface);font-size:var(--text-base);font-family:var(--font-body);transition:all var(--duration-normal) var(--ease-default);color:var(--text-primary);appearance:none;cursor:pointer;font-weight:var(--weight-medium)}.subject-select:hover{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow);background-color:var(--bg-hover)}.subject-select:focus,.subject-select:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.subject-select option{background-color:var(--bg-raised);color:var(--text-primary);padding:var(--space-4);font-weight:var(--weight-medium)}.subject-select-icon{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:var(--text-xl);transition:all var(--duration-normal) var(--ease-default);display:flex;align-items:center;justify-content:center}.subject-select:focus+.subject-select-icon,.subject-select:hover+.subject-select-icon{color:var(--primary);transform:translateY(-50%) scale(1.1)}.form-group select{width:100%;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--bg-surface);font-size:var(--text-base);transition:all var(--duration-normal) var(--ease-default);color:var(--text-primary);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238888A0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:1em;cursor:pointer}.form-group select:hover{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow)}.form-group select:focus,.form-group select:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-group select option{background-color:var(--bg-raised);color:var(--text-primary);padding:var(--space-4)}.lessons-select{margin-top:var(--space-2)}.select__control{background-color:var(--bg-surface)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;min-height:50px!important;box-shadow:none!important;transition:all var(--duration-normal) var(--ease-default)!important;cursor:pointer!important}.select__control:hover{border-color:var(--border-focus)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.select__control--is-focused{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.select__menu{background-color:var(--bg-raised)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important;overflow:hidden!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:var(--space-2)!important;z-index:var(--z-dropdown)!important;box-shadow:var(--shadow-lg)!important;position:fixed!important;max-height:60vh!important;width:calc(100% - 40px)!important;left:20px!important;right:20px!important}.select__menu-list{background-color:var(--bg-raised)!important;padding:var(--space-2)!important;max-height:calc(60vh - 20px)!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg-surface)}@media (max-width: 768px){.select__menu{position:fixed!important;bottom:80px!important;top:auto!important;max-height:50vh!important}.select__menu-list{max-height:calc(50vh - 20px)!important}}.select__option{background-color:transparent!important;color:var(--text-primary)!important;padding:var(--space-3)!important;cursor:pointer!important;transition:all var(--duration-fast) var(--ease-default)!important}.select__option--is-focused{background-color:var(--primary-soft)!important}.select__option--is-selected{background:var(--primary)!important;color:var(--text-inverse)!important;font-weight:var(--weight-semibold)!important}.select__multi-value{background:var(--primary-soft)!important;border-radius:var(--radius-sm)!important;margin:3px!important;padding:2px!important;max-width:calc(100% - 6px)!important;display:inline-flex!important;flex-shrink:0!important;border:1px solid var(--primary-glow)!important;transition:all var(--duration-fast) var(--ease-default)!important}.select__multi-value:hover{background:var(--primary-glow)!important;border-color:var(--primary)!important;transform:translateY(-1px)!important}.select__multi-value__label{color:var(--text-primary)!important;font-size:var(--text-sm)!important;padding:3px var(--space-2)!important;font-weight:var(--weight-medium)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.select__multi-value__remove{padding:0 var(--space-1)!important;color:var(--text-secondary)!important}.select__multi-value__remove:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}.select__value-container{flex-wrap:wrap!important;max-height:none!important;overflow-y:auto!important;padding:var(--space-1) var(--space-2)!important;gap:var(--space-1)!important}.submit-button{width:100%;padding:var(--space-4);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);margin-top:var(--space-8);position:relative;overflow:hidden;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:0 2px 8px #10b98133}.submit-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translate(-100%)}.submit-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.submit-button:focus,.submit-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-glow),var(--shadow-glow)}.submit-button:hover:before{transform:translate(100%);transition:transform .8s ease}.submit-button:active{transform:translateY(0)}.submit-button:disabled{background:var(--bg-surface);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.submit-button-loading{display:flex;align-items:center;gap:var(--space-2)}.submit-button-spinner{animation:spin 1s linear infinite}.notification{position:fixed;top:var(--space-5);right:var(--space-5);padding:var(--space-4) var(--space-6);background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary);z-index:var(--z-toast);max-width:300px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideIn .3s ease forwards;font-family:var(--font-body)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.lessons-popup-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)!important;padding:var(--space-5)}.lessons-popup{background:var(--bg-raised);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--border-subtle)}.lessons-popup-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.lessons-popup-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0;display:flex;align-items:center;gap:var(--space-3)}.lessons-popup-title-icon{color:var(--primary);display:flex;align-items:center;justify-content:center}.lessons-popup-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-default)}.lessons-popup-close:hover{background:var(--bg-hover);color:var(--text-primary)}.lessons-popup-close:focus,.lessons-popup-close:focus-visible{outline:none;background:var(--bg-hover);box-shadow:0 0 0 2px var(--primary-glow)}.lessons-popup-content{padding:var(--space-6);flex:1;overflow-y:auto;min-height:0}.lessons-popup-search{position:relative;margin-bottom:var(--space-5)}.lessons-popup-search input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 44px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:all var(--duration-fast) var(--ease-default)}.lessons-popup-search input::placeholder{color:var(--text-muted)}.lessons-popup-search input:focus,.lessons-popup-search input:focus-visible{outline:none;border-color:var(--primary);background:var(--bg-hover);box-shadow:0 0 0 3px var(--primary-glow)}.lessons-popup-search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.lessons-popup-actions{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.lessons-popup-action-btn{background:var(--primary-soft);border:1px solid rgba(16,185,129,.2);color:var(--primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);font-weight:var(--weight-medium)}.lessons-popup-action-btn:hover:not(:disabled){background:var(--primary-glow);border-color:var(--primary)}.lessons-popup-action-btn:focus,.lessons-popup-action-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary-glow)}.lessons-popup-action-btn:disabled{opacity:.5;cursor:not-allowed}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.lessons-empty-state{grid-column:1 / -1;text-align:center;padding:var(--space-10) var(--space-5);color:var(--text-secondary)}.lessons-empty-state p{margin:0;font-size:var(--text-base)}.lesson-item{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);transition:all var(--duration-fast) var(--ease-default)}.lesson-item:hover{background:var(--bg-hover);border-color:var(--border-focus)}.lesson-item:focus,.lesson-item:focus-visible{outline:none;background:var(--bg-hover);border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.lesson-item.selected{background:var(--primary-soft);border-color:var(--primary)}.lesson-item.skeleton{cursor:default;pointer-events:none;overflow:hidden;position:relative}.lesson-skeleton-content{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.lesson-skeleton-text{height:16px;flex:1;background:var(--bg-surface);background-image:linear-gradient(110deg,var(--bg-surface) 25%,var(--bg-hover) 37%,var(--bg-surface) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-sm)}.lesson-skeleton-checkbox{width:20px;height:20px;border-radius:var(--radius-sm);background:var(--bg-surface);background-image:linear-gradient(110deg,var(--bg-surface) 25%,var(--bg-hover) 37%,var(--bg-surface) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;flex-shrink:0}.lesson-item.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);transform:translate(-100%);animation:shimmer 2s infinite}.lesson-item-text{color:var(--text-primary);font-size:var(--text-sm);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-item-checkbox{width:20px;height:20px;border:2px solid var(--text-muted);border-radius:var(--radius-sm);position:relative;flex-shrink:0;transition:all var(--duration-fast) var(--ease-default)}.lesson-item.selected .lesson-item-checkbox{background:var(--primary);border-color:var(--primary)}.lesson-item.selected .lesson-item-checkbox:after{content:"";position:absolute;left:6px;top:3px;width:4px;height:8px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg)}.lessons-popup-footer{padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.selected-count{color:var(--text-secondary);font-size:var(--text-sm);margin-right:auto}.lessons-popup-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.lessons-popup-btn:focus,.lessons-popup-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary-glow)}.lessons-popup-btn-secondary{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary)}.lessons-popup-btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-focus)}.lessons-popup-btn-primary{background:var(--primary);border:none;color:var(--text-inverse)}.lessons-popup-btn-primary:hover{background:var(--primary-hover)}.lessons-display{width:100%;padding:var(--space-3)!important;background-color:var(--bg-surface)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;min-height:50px!important;transition:all var(--duration-normal) var(--ease-default)!important;cursor:pointer!important;display:flex!important;flex-wrap:wrap!important;gap:var(--space-2)!important}.lessons-display:hover{border-color:var(--border-focus)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.lessons-display:focus,.lessons-display:focus-visible{outline:none!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.lessons-display.focused{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.lesson-tag{background:var(--primary-soft)!important;border-radius:var(--radius-sm)!important;margin:2px!important;padding:var(--space-1) var(--space-2)!important;display:inline-flex!important;align-items:center!important;gap:var(--space-2)!important;border:1px solid rgba(16,185,129,.2)!important;transition:all var(--duration-fast) var(--ease-default)!important;color:var(--primary)!important;font-size:var(--text-sm)!important;font-weight:var(--weight-medium)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:calc(100% - 4px)!important}.lesson-tag:hover{background:var(--primary-glow)!important;border-color:var(--primary)!important;transform:translateY(-1px)!important}.lesson-tag-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:3px;transition:all var(--duration-fast) var(--ease-default);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs)}.lesson-tag-remove:hover{background:var(--bg-hover);color:var(--text-primary)}.lesson-tag-remove:focus,.lesson-tag-remove:focus-visible{outline:none;background:var(--bg-hover);box-shadow:0 0 0 2px var(--primary-glow)}.lessons-placeholder{color:var(--text-muted)!important;font-size:var(--text-sm)!important;padding:var(--space-1)!important}.report-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-5)}.report-modal{background:var(--bg-raised);border-radius:var(--radius-xl);width:100%;max-width:500px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl)}.report-modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.report-modal-header h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);margin:0}.report-modal-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);display:flex;align-items:center;transition:all var(--duration-fast) var(--ease-default)}.report-modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.report-modal-body{padding:var(--space-6)}.report-modal-body .form-group{margin-bottom:var(--space-5)}.report-modal-body label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2);display:block;text-transform:none}.report-modal-body select,.report-modal-body textarea{width:100%;padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-default)}.report-modal-body textarea{min-height:100px;resize:vertical}.report-modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}.report-modal-submit-btn{background:var(--primary);color:var(--text-inverse);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);box-shadow:0 2px 8px #10b98133}.report-modal-submit-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.submit-btn{width:100%;padding:var(--space-4) var(--space-6);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);display:flex;align-items:center;justify-content:center;gap:var(--space-3);box-shadow:0 2px 8px #10b98133;margin-top:var(--space-8)}.submit-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.submit-btn:disabled{background:var(--bg-surface);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}body.select-menu-open{overflow:hidden!important}.select__input-container{pointer-events:none!important}.select__control--menu-is-open .select__input-container{pointer-events:auto!important}@media (max-width: 768px){.exam-card{margin-bottom:80px;padding:var(--space-6)}.exam-title{font-size:var(--text-2xl)}.select__menu{position:fixed!important;inset:auto 10px 80px!important;width:calc(100% - 20px)!important;margin:0!important}.select__menu-list{max-height:40vh!important}.select__multi-value{max-width:calc(100% - 6px)!important}.select__control{min-height:50px!important}.lesson-item{max-width:100%;overflow:hidden}.lessons-popup{max-height:90vh}.lessons-grid{grid-template-columns:1fr}.lessons-popup-footer{flex-wrap:wrap}.selected-count{width:100%;margin-bottom:var(--space-3)}.lessons-popup-btn{flex:1}.lessons-popup-actions{justify-content:center}}@media (max-width: 480px){.lesson-item{width:100%}}@media (max-width: 768px){.exam-page .table-container{margin:var(--space-2) calc(-1 * var(--space-4));width:calc(100% + var(--space-8));border-radius:0}.exam-page table{font-size:var(--text-sm)}.exam-page th,.exam-page td{padding:var(--space-2)}}@media (max-width: 480px){.exam-page table{font-size:var(--text-xs)}.exam-page th,.exam-page td{padding:var(--space-1)}}.exam-page .table-container{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary) transparent}.exam-skeleton-container{max-width:800px;margin:0 auto;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}.exam-skeleton-card{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-6)}.exam-skeleton-question{height:24px;width:80%;margin-bottom:var(--space-6);border-radius:var(--radius-sm);background:var(--bg-surface);background-image:linear-gradient(110deg,var(--bg-surface) 25%,var(--bg-hover) 37%,var(--bg-surface) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.exam-skeleton-options{display:flex;flex-direction:column;gap:var(--space-3)}.exam-skeleton-option{height:48px;border-radius:var(--radius-md);background:var(--bg-surface);background-image:linear-gradient(110deg,var(--bg-surface) 25%,var(--bg-hover) 37%,var(--bg-surface) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:150%;height:150%;background:radial-gradient(circle,var(--primary-glow),transparent 50%);top:-25%;left:-25%;animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-card{background:var(--bg-raised);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);padding:var(--space-12);width:100%;max-width:420px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);transition:all var(--duration-normal) var(--ease-default);position:relative;z-index:var(--z-base)}.login-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--border-default)}.login-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-10);text-align:center;letter-spacing:-.025em;position:relative}.login-title:after{content:"";position:absolute;bottom:calc(-1 * var(--space-3));left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--primary);border-radius:var(--radius-full)}.form-group{position:relative;margin-bottom:var(--space-6)}.password-input-wrapper{position:relative}.form-input{width:100%;padding:var(--space-4) var(--space-5);padding-right:var(--space-12);font-size:var(--text-base);font-family:var(--font-body);background:var(--bg-surface);border:2px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--duration-fast) var(--ease-default);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:var(--text-primary)!important;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px var(--bg-surface)}.form-input:hover:not(:focus){border-color:#fff3}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow),0 0 0 1px var(--primary);background:var(--primary-soft)}.form-label{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:all var(--duration-fast) var(--ease-default);padding:0 var(--space-2);font-weight:var(--weight-medium);font-size:var(--text-sm)}.form-input:focus~.form-label,.form-input:not(:placeholder-shown)~.form-label{top:0;left:var(--space-3);font-size:var(--text-xs);padding:0 var(--space-2);background:var(--bg-raised);border-radius:var(--radius-sm);color:var(--primary);font-weight:var(--weight-semibold);transform:translateY(-50%)}.password-input-wrapper .form-input:focus~.form-label,.password-input-wrapper .form-input:not(:placeholder-shown)~.form-label{background:var(--bg-raised)}.password-toggle{position:absolute;right:var(--space-3);top:0;bottom:0;margin:auto;height:36px;width:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-default);border-radius:var(--radius-full);padding:0}.password-toggle:hover{color:var(--text-primary)}.login-button{width:100%;padding:var(--space-4);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);display:flex;align-items:center;justify-content:center;gap:var(--space-3);position:relative;overflow:hidden;box-shadow:0 2px 8px #10b98133}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.login-button:hover:not(:disabled):before{left:100%}.login-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 16px #10b9814d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-hover);box-shadow:none}.login-button .spinner{width:20px;height:20px;border:2.5px solid rgba(0,0,0,.3);border-radius:50%;border-top-color:var(--text-inverse);animation:spin .8s linear infinite}.error-message{background:var(--error-soft);border:1px solid rgba(248,113,113,.25);color:var(--error);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-3);font-weight:var(--weight-medium);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.extra-link{text-align:center;margin-top:var(--space-6);color:var(--text-secondary);font-size:var(--text-sm)}.extra-link a,.extra-link span{color:var(--primary);font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-default)}.extra-link a:hover,.extra-link span:hover{color:var(--primary-hover);text-decoration:underline}.register-popup-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.register-popup{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-xl)}.register-popup h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.register-popup p{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:var(--leading-relaxed)}.popup-buttons{display:flex;gap:var(--space-3);justify-content:center}.popup-register-button{padding:var(--space-3) var(--space-6);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.popup-close-button{padding:var(--space-3) var(--space-6);background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-weight:var(--weight-medium);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.popup-close-button:hover{background:var(--bg-hover);color:var(--text-primary)}@media (max-width: 480px){.login-card{padding:var(--space-8);margin:var(--space-4);border-radius:var(--radius-xl)}.login-title{font-size:var(--text-2xl)}.form-input{padding:var(--space-3) var(--space-4)}}.analysis-container{padding:var(--space-8);min-height:100vh;display:flex;flex-direction:column;align-items:center}.analysis-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);text-align:center;margin-bottom:var(--space-8)}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);width:100%;max-width:var(--content-max-width)}.analysis-card{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-6);position:relative;overflow:hidden;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.analysis-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color, var(--primary));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.analysis-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.card-content{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.card-button{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.card-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.analysis-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;height:80vh;text-align:center;padding:var(--space-5)}.analysis-placeholder h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.analysis-placeholder p{font-family:var(--font-body);font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}.analysis-card.skeleton{background:var(--bg-surface)}.analysis-card.skeleton:before{display:none}.analysis-card .skeleton-text{height:16px;border-radius:var(--radius-sm);background:var(--bg-hover);background-image:linear-gradient(110deg,var(--bg-hover) 25%,var(--bg-surface) 37%,var(--bg-hover) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;margin-bottom:var(--space-3)}.analysis-card .skeleton-text:first-child{width:70%}.analysis-card .skeleton-text:last-child{width:40%}@media (max-width: 768px){.analysis-container{padding:var(--space-4)}.analysis-title{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.card-grid{grid-template-columns:1fr;gap:var(--space-4)}}.subject-details-container{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-8)}.subject-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-8);text-align:center}.subject-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.subject-detail-card{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-6);position:relative;overflow:hidden;text-align:center;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.subject-detail-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color, var(--primary));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.subject-detail-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-icon{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.card-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-3)}.card-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);line-height:var(--leading-tight)}.subject-detail-card.skeleton{background:var(--bg-surface)}.subject-detail-card.skeleton:before{display:none}.subject-detail-card .skeleton-text{height:16px;border-radius:var(--radius-sm);background:var(--bg-hover);background-image:linear-gradient(110deg,var(--bg-hover) 25%,var(--bg-surface) 37%,var(--bg-hover) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;margin:var(--space-3) auto}.subject-detail-card .skeleton-text:first-child{width:70%;height:14px}.subject-detail-card .skeleton-text:last-child{width:45%;height:28px}.subject-popup-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.subject-popup{background:var(--bg-raised);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:var(--space-8);max-width:560px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);position:relative}.popup-content{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed)}.popup-content h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.close-button{position:absolute;top:var(--space-4);right:var(--space-4);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.close-button:hover{background:var(--bg-hover);color:var(--text-primary)}.lessons-attempted{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.lesson-item{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-default)}.lesson-item:hover{background:var(--bg-hover)}@media (max-width: 768px){.subject-details-container{padding:var(--space-4)}.subject-title{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.subject-details-grid{grid-template-columns:1fr;gap:var(--space-4)}}@media (min-width: 769px) and (max-width: 1024px){.subject-details-grid{grid-template-columns:repeat(2,1fr)}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.21"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.history-container{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-8);min-height:calc(100vh - 4rem)}.history-header{margin-bottom:var(--space-10);position:relative;text-align:center}.history-header:after{content:"";position:absolute;bottom:calc(-1 * var(--space-6));left:50%;transform:translate(-50%);width:100px;height:3px;background:linear-gradient(90deg,var(--primary),transparent);border-radius:var(--radius-full);opacity:.8}.history-header h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.5px;margin-bottom:var(--space-6);text-transform:uppercase;background:linear-gradient(45deg,var(--text-primary),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.filter-tabs{display:flex;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;justify-content:center}.filter-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium)}.filter-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-tab.active{background:var(--primary-soft);color:var(--primary);font-weight:var(--weight-semibold);border-color:#10b98140;box-shadow:0 2px 10px var(--primary-glow)}.filter-tab .subject-icon{width:28px;height:28px;background:var(--bg-hover);margin-right:var(--space-1);border:1px solid var(--border-subtle)}.filter-tab .subject-icon i{font-size:var(--text-sm);color:var(--text-secondary)}.filter-tab:hover .subject-icon{background:var(--bg-surface);border-color:var(--border-default)}.filter-tab.active .subject-icon{background:var(--primary-glow);border-color:#10b98133}.filter-tab.active .subject-icon i{color:var(--primary)}.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.exam-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-top:0;margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-default);cursor:pointer;position:relative;overflow:hidden}.exam-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.02),transparent);transform:translate(-100%);transition:transform var(--duration-slow)}.exam-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md)}.exam-card:hover:before{transform:translate(100%)}.exam-card.subject-math{border-color:var(--color-math)}.exam-card.subject-science{border-color:var(--color-science)}.exam-card.subject-ss{border-color:var(--color-ss)}.exam-card.subject-english{border-color:var(--color-english)}.history-container .test-card{border-color:var(--accent)}.history-container .test-name{font-size:var(--text-sm);font-style:italic;color:var(--accent);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-1)}.exam-card-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5)}.subject-icon{width:40px;height:40px;background:var(--bg-surface);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--border-subtle);transition:all var(--duration-normal) var(--ease-default);flex-shrink:0}.subject-icon i{font-size:var(--text-lg);color:var(--text-secondary)}.subject-icon:hover{background:var(--bg-hover);border-color:var(--border-default);transform:scale(1.05)}.exam-info{flex:1;min-width:0}.exam-info h3{margin:0;font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);font-weight:var(--weight-semibold);letter-spacing:.3px}.exam-date{font-size:var(--text-sm);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.exam-date:before{content:"•";color:var(--primary)}.progress-ring{width:50px;height:50px;position:relative;margin-left:var(--space-3);flex-shrink:0}.progress-ring svg{width:100%;height:100%;filter:drop-shadow(0 0 6px var(--primary-glow))}.progress-ring circle{transition:stroke-dashoffset .5s var(--ease-default)}.exam-card-details{padding:0 var(--space-5) var(--space-5)}.history-container .detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.history-container .detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:var(--weight-medium)}.detail-value{font-size:var(--text-lg);color:var(--text-primary);font-weight:var(--weight-semibold);letter-spacing:.3px}.empty-state{text-align:center;padding:var(--space-12);background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md)}.empty-state-icon{font-size:var(--text-4xl);color:var(--primary);margin-bottom:var(--space-4);opacity:.8}.empty-state h2{font-family:var(--font-display);color:var(--text-primary);font-size:var(--text-2xl);margin-bottom:var(--space-4);font-weight:var(--weight-bold)}.empty-state p{color:var(--text-secondary);font-size:var(--text-lg);max-width:400px;margin:0 auto;line-height:var(--leading-relaxed)}.exam-card.skeleton{position:relative;overflow:hidden;pointer-events:none}.skeleton-circle{width:44px;height:44px;background:var(--bg-surface);border-radius:var(--radius-lg)}.skeleton-text{height:1rem;background:var(--bg-surface);border-radius:var(--radius-sm);margin:var(--space-1) 0}.exam-card.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,var(--bg-hover) 37%,transparent 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}@media (max-width: 768px){.history-container{padding:var(--space-4)}.history-header h1{font-size:var(--text-2xl)}.exam-grid{grid-template-columns:1fr;gap:var(--space-3)}.exam-card{margin-bottom:var(--space-2)}.exam-card-header{padding:var(--space-4)}.exam-card-details{padding:0 var(--space-4) var(--space-4)}.filter-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:var(--space-2);margin-bottom:var(--space-4);width:100%;-webkit-overflow-scrolling:touch}.filter-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);flex:0 0 auto;min-width:min-content;white-space:nowrap}.filter-tab .subject-icon{width:20px;height:20px;margin-right:var(--space-1)}.filter-tab .subject-icon i{font-size:var(--text-xs)}}@media (max-width: 480px){.history-container{padding:var(--space-3)}.history-header h1{font-size:var(--text-xl)}.exam-card-header{padding:var(--space-3)}.exam-card-details{padding:0 var(--space-3) var(--space-3)}}.test-series-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--space-6)}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.premium-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);height:var(--header-height);background:color-mix(in srgb,var(--bg-base) 60%,transparent);backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);transition:transform var(--duration-normal) var(--ease-spring)}.premium-header--hidden{transform:translateY(-100%)}.premium-header-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:100%;padding:0 var(--space-5) 0 var(--space-3);width:100%}.header-gradient-border{position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 30%,transparent),transparent)}.header-left{display:flex;align-items:center;justify-content:flex-start}.header-center{display:flex;align-items:center;justify-content:center}.header-brand{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-1) 0}.logo-wrapper{position:relative;width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.logo-glow{position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(from 0deg,transparent,var(--primary-glow),transparent);opacity:.5;filter:blur(4px);z-index:-1}.header-logo{width:100%;height:100%;border-radius:var(--radius-full);box-shadow:0 0 15px #00000080}.brand-text-wrapper{display:flex;align-items:flex-start;gap:2px}.header-text{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;margin:0;letter-spacing:-.04em;background:linear-gradient(135deg,#fff,var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(255,255,255,.1)}.brand-sparkle{color:var(--primary);font-size:var(--text-sm);filter:drop-shadow(0 0 4px var(--primary))}.header-menu-btn{display:inline-flex;width:40px;height:40px;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--border-subtle) 50%,transparent);background:color-mix(in srgb,var(--bg-surface) 50%,transparent);color:var(--text-primary);align-items:center;justify-content:center;cursor:pointer;font-size:var(--text-xl);box-shadow:var(--shadow-sm)}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.header-actions{display:flex;gap:var(--space-3)}.header-action-btn{width:40px;height:40px;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--border-subtle) 50%,transparent);background:color-mix(in srgb,var(--bg-surface) 50%,transparent);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.15rem;box-shadow:var(--shadow-sm);transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.header-action-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);box-shadow:0 0 15px var(--primary-glow)}.premium-coins-wrapper{position:relative;height:40px;min-width:80px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.premium-coins-wrapper .skeleton-coin,.premium-coins-wrapper .premium-coins{position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity var(--duration-slow) var(--ease-default)}.premium-coins-wrapper.is-loading .premium-coins,.premium-coins-wrapper.is-loaded .skeleton-coin{opacity:0}.premium-coins-wrapper.is-loaded .premium-coins{opacity:1}.premium-coins{display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:linear-gradient(135deg,#f5a6231a,#f5a62305);padding:0 var(--space-4);border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:inset 0 1px 1px #ffffff1a,0 2px 10px #f5a6231a;-webkit-user-select:none;user-select:none}.coin-icon-wrapper{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 4px rgba(245,166,35,.4))}.coins-icon{color:var(--accent);font-size:var(--text-lg)}.coins-amount{color:var(--text-primary);font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);background:linear-gradient(to bottom,#fff,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.5px}.skeleton-coin{width:100%;height:100%;border-radius:var(--radius-full)}@media (max-width: 768px){.premium-header-content{padding:0}.header-menu-btn{display:inline-flex;width:36px;height:36px}.logo-wrapper{width:30px;height:30px}.header-text{font-size:var(--text-xl)}.brand-sparkle{font-size:var(--text-xs)}.header-right,.header-actions{gap:var(--space-2)}.header-action-btn{width:36px;height:36px;font-size:1rem}.premium-coins-wrapper{height:36px;min-width:70px}.premium-coins{padding:0 var(--space-3);gap:var(--space-1)}.coins-icon{font-size:var(--text-base)}.coins-amount{font-size:var(--text-xs)}}.coins-popup-overlay{position:fixed;inset:0;background-color:#0009;backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);z-index:1001;display:flex;justify-content:center;align-items:center;animation:backdropFadeIn .5s cubic-bezier(.25,.46,.45,.94)}.coins-popup-overlay.closing{animation:backdropFadeOut .5s cubic-bezier(.55,.085,.68,.53) forwards}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-50px) scale(.95)}}@keyframes pulseFadeQuick{0%{transform:translateY(0) scale(1);opacity:1}60%{transform:translateY(0) scale(1.06);opacity:.6}to{transform:translateY(0) scale(1.12);opacity:0}}.coins-popup.go-anim{animation:pulseFadeQuick .2s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}@media (prefers-reduced-motion: reduce){.coins-popup.go-anim{animation:none}}.coins-popup{background:var(--bg-raised);border-radius:20px;padding:1.5rem 2rem;width:90%;max-width:600px;box-shadow:0 10px 40px #0006;border:1px solid var(--border-subtle);max-height:80vh;display:flex;flex-direction:column;animation:slideInUp .5s cubic-bezier(.25,.46,.45,.94)}.coins-popup.closing{animation:slideOutUp .5s cubic-bezier(.55,.085,.68,.53) forwards}.popup-header{position:relative;margin-bottom:1.5rem;flex-shrink:0;height:38px}.popup-header h2{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-size:1.8rem;font-weight:700;background:var(--primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}.coins-display{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;height:38px;box-sizing:border-box;gap:.5rem;font-size:1.2rem;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:0 1rem;border-radius:12px;z-index:1}.toggle-completed-button{position:absolute;right:40px;top:50%;transform:translateY(-50%);background:#0003;border:none;color:var(--text-primary);font-size:1rem;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:all .2s ease;z-index:1;-webkit-tap-highlight-color:transparent}.close-button{position:absolute;right:0;top:50%;transform:translateY(-50%);background:#0003;border:none;color:var(--text-primary);font-size:1rem;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:all .2s ease;z-index:1;-webkit-tap-highlight-color:transparent}.close-button:hover,.close-button:focus-visible{background:#0006;outline:none}.tasks-container{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;flex-grow:1;padding-right:.5rem;margin-right:-.5rem;-webkit-overflow-scrolling:touch}.tasks-container::-webkit-scrollbar{width:8px}.tasks-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.tasks-container::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.tasks-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.task-card{background:var(--bg-surface);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;border:1px solid transparent;flex-shrink:0}.task-card:hover:not(.completed){transform:translateY(-4px);box-shadow:0 6px 25px #0003;border-color:var(--border-focus)}.task-title-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.completed-chip{background:var(--success-soft);color:var(--success);padding:.25rem .5rem;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.task-card.completed{opacity:.9;background:#ffffff05;border:1px dashed var(--success-soft)}.task-card.completed .task-progress-fill{background:#ffffff4d}.task-card.completed .task-title{color:var(--text-muted)}.task-card.completed .task-description{color:var(--text-secondary)}.task-info{flex-grow:1}.task-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.task-description{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.task-description strong{font-weight:700;color:var(--text-primary)}.task-description .task-param{font-weight:600;color:var(--info);background:var(--info-soft);padding:.1em .4em;border-radius:4px}.task-progress-container{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.task-progress-track{flex-grow:1;height:8px;background:var(--border-subtle);border-radius:4px;overflow:hidden}.task-progress-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.task-progress-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);min-width:3rem;text-align:right}.task-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem}.task-reward{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;color:var(--accent);font-weight:600;background:var(--accent-soft);padding:.25rem .75rem;border-radius:8px}.task-reward .coins-icon{font-size:1.2rem}.cta-button{background:var(--primary);color:var(--text-primary);border:none;border-radius:10px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;-webkit-tap-highlight-color:transparent}.cta-button:hover:not(:disabled),.cta-button:focus-visible{transform:translateY(-2px);box-shadow:0 4px 15px var(--primary-glow);outline:none}.task-card.completed .cta-button{background:#555;color:#999}.cta-button:disabled{background:#444;cursor:not-allowed;color:#888}.no-tasks-message{text-align:center;color:#ffffffb3;padding:2rem}@media (max-width: 768px){.coins-popup{width:95%;padding:1.5rem;height:95%;max-height:unset;max-width:unset}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.create-test-page{font-family:Inter,sans-serif;min-height:100vh;margin-bottom:50px;color:var(--text-primary);background-color:var(--bg-base);position:relative;overflow-x:hidden}.create-test-container{margin:0 auto;position:relative;z-index:1}.create-test-header{text-align:center;margin-bottom:2.5rem}.create-test-header h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(79,172,254,.3)}.test-type-selector{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.test-type-selector label{padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s ease;background:var(--bg-surface);border:1px solid var(--border-subtle);font-weight:600}.test-type-selector input[type=radio]{display:none}.test-type-selector label:has(input:checked){background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:var(--bg-base);border-color:transparent;box-shadow:0 4px 15px #4facfe4d}.test-info-card,.custom-test-card,.assignment-section,.dialog-content{background:var(--bg-raised);border-radius:24px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.test-info-card h2,.custom-test-card h2,.assignment-section h2{text-align:center;font-size:1.8rem;font-weight:700;margin:0 0 2rem;color:var(--primary)}.create-test-page .details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;justify-content:center}@media (max-width: 768px){.create-test-page .details-grid{grid-template-columns:1fr}}.create-test-page .detail-item{background:var(--bg-surface);padding:1rem;border-radius:12px;text-align:center;border:1px solid var(--border-subtle)}.create-test-page .detail-item p{margin:0;color:var(--text-primary-secondary);font-size:1rem}.create-test-page .detail-item span{display:block;color:var(--text-primary);font-weight:600;margin-top:.5rem;font-size:1.1rem}.form-control{width:100%;padding:1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4facfe33}textarea.form-control{min-height:120px;resize:vertical}.custom-standards-selector{text-align:center;margin-top:1.5rem}.custom-standards-selector h3{margin-bottom:1rem;color:var(--text-primary-secondary);font-weight:600}.custom-standards-selector div{display:flex;justify-content:center;gap:1rem}.custom-standards-selector label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.question-list{margin-top:2rem}.question-card{background:#1a1a1a;border-radius:12px;padding:1.5rem 1.5rem 1.5rem 2.5rem;margin-bottom:1.5rem;position:relative;box-shadow:0 4px 20px #0003;border:1px solid rgba(255,255,255,.1)}.question-number{position:absolute;top:-12px;left:-12px;background:#2196f3;color:#fff;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 4px #0003;z-index:1}.question-text{color:#fff;font-size:1.2rem;font-weight:500;margin:0;line-height:1.5;padding-top:4px;margin-bottom:1.5rem}.option{background:#ffffff0d;padding:1rem 1.2rem;border-radius:8px;cursor:pointer;transition:background .2s ease,border-color .2s ease;transform:scale(1);border:1px solid rgba(255,255,255,.1);color:#fff;-webkit-user-select:none;user-select:none}.option:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.option.selected{background:#667eea1a;border-color:#667eea4d;color:#667eea}.option span{font-weight:700;margin-right:.5rem}.question-actions{position:absolute;top:1.5rem;right:1.5rem;display:flex;gap:.5rem;z-index:2}.action-btn{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;height:32px;font-size:1.2rem;transition:all .3s ease}.action-btn:hover{transform:scale(1.1)}.edit-btn{color:#a7b3ff}.edit-btn:hover{color:#8a9aff}.delete-btn{color:#ff8a8a}.delete-btn:hover{color:#ff6a6a}.question-card.new-question{border-color:gold}.question-card.unanswered{border-color:var(--error)}.buttons-container{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.btn-primary,.btn-secondary{padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#000}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4facfe4d}.btn-primary:disabled{background:#2a2a2a;color:#ffffff4d;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--border-subtle-hover)}.btn-secondary.btn-danger{color:var(--error);border-color:var(--error)}.btn-secondary.btn-danger:hover{background:#f443361a;border-color:var(--error);color:var(--error)}.assignment-options{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.assignment-options label{padding:.5rem 1rem;border-radius:12px;cursor:pointer;transition:all .3s ease;background:var(--bg-surface);border:1px solid var(--border-subtle)}.assignment-options input[type=radio]{display:none}.assignment-options label:has(input:checked){background:var(--primary);color:#fff;border-color:var(--primary)}.assignment-options label{display:flex;gap:1rem;align-items:center;text-align:left;padding:1rem}.option-text{display:flex;flex-direction:column;gap:.25rem}.option-text span{font-weight:600}.option-text small{font-size:.85rem;color:var(--text-primary-secondary);font-weight:400}.division-select,.student-selector input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em}.student-selector{max-width:500px;margin:0 auto}.student-list{max-height:200px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:12px;margin-top:.5rem;background:#0003}.student-item{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s}.student-item:hover{background-color:#4facfe1a}.selected-students{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.selected-student-tag{background:var(--primary);padding:.25rem .75rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.selected-student-tag button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;line-height:1}.dialog-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-content{padding:2rem;max-width:500px;width:90%}.dialog-content h3{text-align:center;font-size:1.5rem;color:var(--primary);margin:0 0 1rem}.dialog-content p{text-align:center;margin-bottom:2rem;color:var(--text-primary-secondary)}.dialog-buttons{display:flex;justify-content:center;gap:1rem}.stepper-container{display:flex;align-items:center;justify-content:center;gap:20px;margin:2rem 0}.stepper-progress-circle{width:80px;height:80px}.stepper-progress-circle svg{transform:rotate(-90deg)}.progress-bg{fill:none;stroke:var(--bg-surface)}.progress-bar{fill:none;stroke:var(--success);stroke-linecap:round;transition:stroke-dashoffset .5s ease-out}.progress-text{transform:rotate(90deg);transform-origin:50% 50%;fill:var(--text-primary);font-size:1rem;font-weight:600;text-anchor:middle;dominant-baseline:middle}.stepper-info{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-left:15px;gap:5px}.stepper-info:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background-color:var(--error);border-radius:2px}.current-step-title{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.next-step-info{font-size:1rem;color:var(--text-primary-secondary)}.step-card{background:var(--bg-raised);border-radius:24px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);text-align:center}.step-card h2{font-size:1.8rem;font-weight:700;margin:0 0 2rem;color:var(--primary)}.step-card p{color:var(--text-primary-secondary)}.navigation-buttons{display:flex;justify-content:space-between;margin-top:2rem}.navigation-buttons>.btn-primary:first-child:last-child{margin-left:auto;margin-right:auto}.info-box{display:flex;align-items:center;gap:1rem;padding:1rem;background:#4facfe1a;border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:2rem;text-align:left}.info-box svg{font-size:1.5rem;color:var(--primary)}.detail-item.full-width{grid-column:1 / -1}.question-list-container{text-align:left}.summary-card{background:#0003;padding:2rem;border-radius:16px;margin-bottom:2rem;text-align:left}.summary-card h3{margin-top:0;color:var(--primary)}.summary-card p{margin:.5rem 0;font-size:1.1rem}.summary-card strong{color:var(--text-primary-secondary)}.finalize-btn{width:100%;justify-content:center}.question-source-selector{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.question-source-selector .btn-secondary.active{background:var(--primary);color:#fff;border-color:var(--primary)}.image-upload-section{margin-top:2rem;border:1px dashed var(--border-subtle);padding:1.5rem;border-radius:16px}.upload-container{display:flex;justify-content:center;align-items:center}.image-upload-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;transition:all .3s ease}.image-upload-button:hover{background:#ffffff1a;border-color:var(--border-subtle-hover)}.image-upload-button input{display:none}.upload-progress-bar{width:100%;height:24px;background-color:var(--bg-surface);border-radius:12px;position:relative;margin:1rem 0;overflow:hidden}.upload-progress-bar .progress{height:100%;background:var(--success);border-radius:12px;transition:width .3s ease}.upload-progress-bar span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:600;font-size:.9rem}.image-preview-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin:1.5rem 0}.image-preview{position:relative;aspect-ratio:16/9}.image-preview img{width:100%;height:100%;object-fit:cover;border-radius:12px}.delete-image-btn{position:absolute;top:.5rem;right:.5rem;background:#f44336cc;border:none;border-radius:50%;width:30px;height:30px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.delete-image-btn:hover{background:var(--error)}.generate-btn{width:100%;justify-content:center}.generation-status{margin-top:1.5rem;text-align:center}.privacy-dialog ul{text-align:left;margin:1rem 0;padding-left:1.5rem}.privacy-dialog li{margin-bottom:.5rem}.date-picker-container{position:relative;display:flex;align-items:center;gap:.5rem;max-width:400px;margin:1.5rem auto}.date-picker-input-container{position:relative;flex-grow:1;display:flex;align-items:center}.date-picker-icon{position:absolute;left:1rem;color:var(--text-primary-secondary);font-size:1.2rem;z-index:1}.react-datepicker-wrapper{width:100%}.react-datepicker-wrapper .form-control{padding-left:3rem;width:100%}.clear-date-btn{background:#ffffff1a;border:1px solid var(--border-subtle);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-primary-secondary);font-size:1.5rem;cursor:pointer;transition:all .2s;flex-shrink:0}.clear-date-btn:hover{color:var(--text-primary);background:#fff3}.date-info{margin-top:1.5rem;padding:1rem;background:#0003;border-radius:12px}.skeleton-line.title{height:24px}.image-popup-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2000}.image-popup-content{position:relative;max-width:90vw;max-height:90vh}.image-popup-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.close-popup-btn{position:absolute;top:-1rem;right:-1rem;background:#fff;color:#000;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer}.privacy-dialog-paper,.no-questions-dialog-paper{background-color:var(--bg-raised)!important;color:var(--text-primary)!important;border-radius:24px!important;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #ffffff1a!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.1)!important}.privacy-dialog h3{font-weight:700;color:var(--error)}.privacy-text{background:#f443361a;padding:1.5rem;border-radius:12px;margin:1.5rem 0;border:1px solid var(--error)}.agree-btn{background:var(--error)!important;color:#fff!important}.no-questions-dialog .dialog-icon{font-size:4rem;color:var(--primary);margin-bottom:1rem}.possible-reasons{background:var(--bg-surface);padding:1.5rem;border-radius:12px;margin:1.5rem 0;text-align:left}.possible-reasons h4{margin:0 0 1rem;color:var(--primary)}.possible-reasons ul{padding-left:1.5rem}.upload-status{width:100%;margin-top:1rem;text-align:center}.upload-status p{margin-top:.5rem;font-size:.9rem;color:var(--text-primary-secondary)}.generation-status-container{background:var(--bg-surface);border-radius:16px;padding:2rem;margin-top:2rem}.progress-container{margin-bottom:2rem}.progress-header{text-align:center;font-size:1.2rem;font-weight:600;margin-bottom:1rem;color:var(--primary)}.loading-message{text-align:center;font-size:1rem;color:var(--text-primary-secondary);padding:1rem;background:#0003;border-radius:12px}.progress-stats{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-primary-secondary);margin-top:.5rem}.skeleton-questions-container{display:flex;flex-direction:column;gap:1.5rem}.skeleton-question{background:#ffffff0d;border-radius:12px;padding:1.5rem}.skeleton-line{height:18px;background:#ffffff1a;border-radius:6px;margin-bottom:.75rem}.question-content{padding-top:1rem}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.options-grid.view .option{grid-column:span 2}@media (max-width: 768px){.options-grid{grid-template-columns:1fr}}.answer-select{margin-top:1rem;max-width:200px}.landing-container{min-height:100vh;background:var(--bg-base);color:var(--text-primary);overflow-x:hidden;position:relative}.progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--primary),var(--primary-hover));transform-origin:0%;z-index:var(--z-max)}.landing-nav{padding:var(--space-5) var(--space-8);display:flex;justify-content:center;align-items:center;position:fixed;width:100%;top:0;z-index:var(--z-header);background:#0c0c12d9;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid var(--border-subtle)}.logo{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);background:linear-gradient(135deg,var(--primary),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-main{padding:0;max-width:100%;margin:0}.hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:0 var(--space-4)}.hero-content{text-align:center;max-width:1200px;margin:0 auto}.hero-section h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);background:linear-gradient(135deg,var(--primary),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-6);line-height:var(--leading-tight)}.hero-section p{font-size:var(--text-lg);color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-8);line-height:var(--leading-relaxed)}.get-started-btn{padding:var(--space-4) var(--space-10);font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-semibold);background:var(--primary);border:none;border-radius:var(--radius-full);color:var(--text-inverse);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);position:relative;overflow:hidden;transition:all var(--duration-normal) var(--ease-default);box-shadow:0 2px 12px #10b98140}.get-started-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow)}.arrow-icon{display:inline-block;margin-left:var(--space-2);transition:transform var(--duration-normal) var(--ease-default)}.get-started-btn:hover .arrow-icon{transform:translate(5px)}.scroll-indicator{font-size:var(--text-3xl);color:var(--text-muted);position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%)}.features-section{min-height:100vh;padding:var(--space-16) var(--space-8);background:var(--bg-base);position:relative}.features-section h2{text-align:center;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-12);color:var(--text-primary)}.features-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8);padding:var(--space-8) var(--space-8)}.feature-card{background:var(--bg-raised);border-radius:var(--radius-lg);padding:var(--space-8);border:1px solid var(--border-subtle);transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);position:relative;overflow:hidden}.feature-card:hover{border-color:var(--border-focus)}.feature-icon{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.feature-card h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:var(--leading-relaxed);font-size:var(--text-sm)}.creator-section{text-align:center;padding:var(--space-16) var(--space-8);background:var(--bg-raised);border-top:1px solid var(--border-subtle)}.creator-section h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-6);background:linear-gradient(135deg,var(--primary),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.creator-section p{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:var(--text-base);line-height:var(--leading-relaxed)}.landing-footer{text-align:center;padding:var(--space-8);background:var(--bg-base);border-top:1px solid var(--border-subtle)}.landing-footer p{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--primary-glow)}50%{box-shadow:0 0 30px #10b9814d}}@media (max-width: 768px){.hero-section h1{font-size:var(--text-3xl)}.features-grid{grid-template-columns:1fr;padding:var(--space-6) var(--space-4)}.get-started-btn{padding:var(--space-3) var(--space-8);font-size:var(--text-base)}.feature-card{padding:var(--space-6)}.features-section{padding:var(--space-12) var(--space-4)}}@media (max-width: 480px){.hero-section h1{font-size:var(--text-2xl)}.hero-section p{font-size:var(--text-base)}.logo{font-size:var(--text-2xl)}.feature-icon{font-size:var(--text-3xl)}.feature-card h3{font-size:var(--text-lg)}}.replay-page{min-height:calc(100vh - var(--header-height));padding:var(--space-6) var(--space-4);max-width:var(--content-max-width);margin:0 auto;animation:fadeIn var(--duration-slow) var(--ease-default)}.replay-loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4);color:var(--text-secondary);font-family:var(--font-body)}.replay-progress-bar-container{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm)}.replay-progress-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.progress-details{color:var(--primary);font-family:var(--font-mono);font-size:var(--text-xs)}.replay-progress-track{height:8px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;position:relative}.replay-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-spring);box-shadow:0 0 10px #10b98166}.replay-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-5);align-items:start}.replay-main-col{display:flex;flex-direction:column;gap:var(--space-4)}.replay-sidebar-col{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:calc(var(--header-height) + var(--space-4))}.replay-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-spring)}.replay-card:hover{box-shadow:var(--shadow-lg),0 0 0 1px var(--border-default)}.replay-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:#ffffff05;border-bottom:1px solid var(--border-subtle)}.subject-badge{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:#fff;font-family:var(--font-display)}.subject-badge.math{background:var(--gradient-math)}.subject-badge.science{background:var(--gradient-science)}.subject-badge.ss{background:var(--gradient-ss)}.subject-badge.english{background:var(--gradient-english)}.subject-badge.general{background:var(--bg-hover)}.spaced-level-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.replay-question-content{padding:var(--space-6)}.replay-question-content h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-relaxed);color:var(--text-primary);margin-bottom:var(--space-6)}.replay-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.replay-opt-btn{text-align:left;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);transition:all var(--duration-fast) var(--ease-default)}.replay-opt-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-default);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.replay-opt-btn.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 12px var(--primary-glow)}.replay-opt-btn.correct{background:var(--success-soft);border-color:var(--success);color:var(--success)}.replay-opt-btn.wrong{background:var(--error-soft);border-color:var(--error);color:var(--error)}.replay-opt-btn.disabled{opacity:.4;cursor:not-allowed}.opt-inner{display:flex;align-items:center;gap:var(--space-3)}.opt-bubble{width:28px;height:28px;border-radius:var(--radius-full);background:var(--bg-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-default)}.replay-opt-btn.selected .opt-bubble{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.replay-opt-btn.correct .opt-bubble{background:var(--success);color:var(--text-inverse);border-color:var(--success)}.replay-opt-btn.wrong .opt-bubble{background:var(--error);color:var(--text-inverse);border-color:var(--error)}.opt-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium)}.opt-status-icon{font-size:var(--text-lg);flex-shrink:0;animation:scaleIn var(--duration-fast) var(--ease-spring)}.opt-status-icon.success{color:var(--success)}.opt-status-icon.error{color:var(--error)}.replay-card-footer{padding:var(--space-4) var(--space-6) var(--space-5);background:#ffffff03;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.replay-submit-btn,.replay-continue-btn{display:inline-flex;align-items:center;gap:var(--space-2)}.keyboard-helper{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-family:var(--font-body)}.keyboard-helper svg{font-size:var(--text-sm)}.replay-feedback-panel{border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid transparent;animation:fadeIn var(--duration-normal) var(--ease-default)}.replay-feedback-panel.correct{background:var(--success-soft);border-color:#4ade8033}.replay-feedback-panel.wrong{background:var(--error-soft);border-color:#f8717133}.feedback-hdr{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.feedback-status-indicator{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);color:#fff;flex-shrink:0;animation:scaleIn var(--duration-normal) var(--ease-spring)}.feedback-status-indicator.correct{background:var(--success);box-shadow:0 0 10px #4ade8066}.feedback-status-indicator.wrong{background:var(--error);box-shadow:0 0 10px #f8717166}.feedback-hdr h4{font-size:var(--text-base);font-weight:var(--weight-bold);margin-bottom:2px}.feedback-hdr p{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.feedback-details-box{display:flex;gap:var(--space-6);background:#0003;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.feedback-detail-item{display:flex;flex-direction:column}.feedback-detail-item span{font-size:var(--text-xs);color:var(--text-muted)}.feedback-detail-item strong{font-size:var(--text-sm);color:var(--text-primary);margin-top:2px}.replay-empty-card{padding:var(--space-12) var(--space-6);text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.replay-celebrate-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:250px;height:250px;background:radial-gradient(circle,var(--primary-glow) 0%,transparent 70%);pointer-events:none;animation:pulse 4s infinite ease-in-out}.replay-empty-card h3{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.replay-empty-card .replay-empty-text{max-width:500px;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.session-summary-box{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);width:100%;max-width:380px;margin-bottom:var(--space-6)}.session-summary-box h4{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);text-align:center}.session-summary-grid{display:flex;justify-content:space-around;gap:var(--space-4)}.session-summary-grid div{display:flex;flex-direction:column;align-items:center}.session-summary-grid span{font-size:var(--text-xs);color:var(--text-secondary)}.session-summary-grid strong{font-size:var(--text-xl);color:var(--primary-hover);font-family:var(--font-display);margin-top:4px}.replay-empty-refresh-btn{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5)}.replay-next-due-row{margin-top:var(--space-5);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);background:transparent;padding:0;border:none;box-shadow:none;animation:fadeIn var(--duration-normal) var(--ease-default)}.replay-next-due-row svg{color:var(--info);font-size:18px;flex-shrink:0}.replay-next-due-time{color:var(--primary-hover);font-weight:var(--weight-bold)}.sidebar-widget{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border-subtle)}.streak-widget .widget-header{display:flex;align-items:center;gap:var(--space-4)}.streak-icon{font-size:var(--text-3xl);color:var(--text-muted);transition:color var(--duration-slow) var(--ease-spring)}.streak-icon.active{color:var(--accent);filter:drop-shadow(0 0 6px rgba(245,166,35,.5));animation:scaleIn var(--duration-normal) var(--ease-spring) infinite alternate}.streak-widget span{font-size:var(--text-xs);color:var(--text-secondary)}.streak-widget h4{font-size:var(--text-base);color:var(--text-primary);margin-top:1px}.streak-cheer{font-size:var(--text-xs);color:var(--accent);margin:var(--space-2) 0 0;font-weight:var(--weight-medium)}.spaced-widget h4{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.spaced-level-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.spaced-dot{flex:1;height:6px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-default);transition:all var(--duration-normal) var(--ease-default)}.spaced-dot.active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 6px var(--primary-glow)}.spaced-dot.next{border-color:var(--primary);animation:pulse 1.5s infinite ease-in-out}.spaced-intervals-info{display:flex;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.spaced-intervals-info svg{font-size:var(--text-sm);color:var(--info);flex-shrink:0;margin-top:1px}.queue-widget h4{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.queue-topics-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.topic-item{display:flex;align-items:center;font-size:var(--text-xs)}.topic-bullet{width:6px;height:6px;border-radius:var(--radius-full);margin-right:var(--space-3);flex-shrink:0}.topic-bullet.math{background:var(--color-math)}.topic-bullet.science{background:var(--color-science)}.topic-bullet.ss{background:var(--color-ss)}.topic-bullet.english{background:var(--color-english)}.topic-name{color:var(--text-primary);font-weight:var(--weight-medium);flex-grow:1}.topic-count{color:var(--text-secondary);font-family:var(--font-mono)}.shortcut-guide-widget h4{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.shortcuts-grid{display:flex;flex-direction:column;gap:var(--space-3)}.shortcut-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary)}.shortcut-item kbd{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:0 1px 1px #0003;color:var(--text-primary);display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1;padding:4px 6px;white-space:nowrap}.shortcut-item span{margin-left:auto}@media (max-width: 868px){.replay-layout{grid-template-columns:1fr}.replay-sidebar-col{position:static}}@media (max-width: 580px){.replay-options-grid{grid-template-columns:1fr}.replay-card-footer{flex-direction:column;align-items:stretch;text-align:center;gap:var(--space-3)}.keyboard-helper{justify-content:center}}.profile-container{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-8)}.profile-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.profile-title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,2.5vw,var(--text-3xl));font-weight:var(--weight-bold);letter-spacing:.01em;color:var(--text-primary)}.profile-subtitle{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.profile-status-chip{border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);border:1px solid transparent;font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em}.profile-status-chip.status-online{background:var(--success-soft);border-color:#4ade804d;color:var(--success)}.profile-status-chip.status-studying{background:var(--info-soft);border-color:#60a5fa4d;color:var(--info)}.profile-status-chip.status-challenge{background:var(--accent-soft);border-color:#f5a6234d;color:var(--accent)}.profile-status-chip.status-offline{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-muted)}.profile-banner{min-height:220px;background:linear-gradient(130deg,var(--bg-surface) 0%,var(--bg-raised) 47%,rgba(16,185,129,.15) 100%);background-size:cover;background-position:center;border-radius:var(--radius-xl);margin-bottom:var(--space-6);overflow:hidden;border:1px solid var(--border-subtle)}.profile-overlay{height:100%;padding:var(--space-5);display:flex;align-items:flex-end;gap:var(--space-4);background:linear-gradient(180deg,#0c0c1233,#0c0c12d9)}.profile-avatar{width:98px;height:98px;border-radius:var(--radius-full);object-fit:cover;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border:3px solid var(--primary);box-shadow:0 0 0 4px var(--primary-glow),var(--shadow-glow)}.profile-identity h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary)}.profile-identity p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.profile-role-pill{display:inline-block;margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--primary-soft);border:1px solid rgba(16,185,129,.25);color:var(--primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.profile-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-inner)}.card-head{margin-bottom:var(--space-4)}.card-head h3{margin:0;font-family:var(--font-display);color:var(--text-primary);font-weight:var(--weight-semibold)}.card-head p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.profile-form-grid label,.profile-textarea-label{display:grid;gap:var(--space-1)}.profile-form-grid label span,.profile-textarea-label span{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-medium)}.profile-form-grid input,.profile-form-grid select,.profile-card textarea{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.profile-form-grid input:focus,.profile-form-grid select:focus,.profile-card textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.profile-form-grid input::placeholder,.profile-card textarea::placeholder{color:var(--text-muted)}.profile-textarea-label{margin-top:var(--space-3)}.profile-card textarea{width:100%;resize:vertical}.profile-form-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.profile-save-btn{padding:var(--space-3) var(--space-5);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);transition:all var(--duration-normal) var(--ease-default);box-shadow:0 2px 8px #10b98133}.profile-save-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.profile-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.profile-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.kpi-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.kpi-card span{display:block;color:var(--text-muted);font-size:var(--text-xs);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.kpi-card strong{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-primary)}.xp-track{width:100%;height:10px;border-radius:var(--radius-full);background:var(--bg-surface);overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-default)}.profile-hint{color:var(--text-muted);margin:var(--space-2) 0;font-size:var(--text-sm)}.status-heading{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-display);color:var(--text-primary);font-size:var(--text-base)}.status-list{display:flex;gap:var(--space-2);flex-wrap:wrap}.status-pill{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:all var(--duration-normal) var(--ease-default)}.status-pill:hover{background:var(--bg-hover);border-color:var(--border-focus)}.status-pill.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.badge-card{border-radius:var(--radius-md);padding:var(--space-3);background:var(--bg-surface);border:1px solid transparent;transition:all var(--duration-normal) var(--ease-default)}.badge-card strong{color:var(--text-primary);font-size:var(--text-sm)}.badge-card p{margin:var(--space-1) 0;color:var(--text-secondary);font-size:var(--text-sm)}.badge-card small{color:var(--text-muted);font-size:var(--text-xs)}.badge-card.unlocked{border-color:#10b9814d}.badge-card.locked{opacity:.6;border-color:var(--border-subtle)}.showcase-grid{display:grid;gap:var(--space-2)}.showcase-item{display:flex;gap:var(--space-2);align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:all var(--duration-normal) var(--ease-default);cursor:pointer}.showcase-item span{font-size:var(--text-sm);color:var(--text-primary)}.showcase-item:hover{border-color:var(--border-default);background:var(--bg-hover)}.showcase-item.selected{border-color:var(--primary);background:var(--primary-soft)}.activity-card{margin-bottom:var(--space-16)}.activity-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.activity-list li{display:flex;justify-content:space-between;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);transition:background var(--duration-fast) var(--ease-default)}.activity-list li:hover{background:var(--bg-hover)}.activity-list li strong{font-size:var(--text-sm);color:var(--text-primary)}.activity-list li p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.activity-list li small{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}@media (max-width: 960px){.profile-heading{flex-direction:column;align-items:flex-start}.profile-grid{grid-template-columns:1fr}.profile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.profile-container{padding:var(--space-4);margin-bottom:var(--space-16)}.profile-form-grid,.badge-grid{grid-template-columns:1fr}.profile-form-footer{flex-direction:column;align-items:stretch}.profile-save-btn{width:100%}.profile-kpis{grid-template-columns:1fr}.activity-list li{flex-direction:column}}.friends-container{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-8)}.friends-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.friends-title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,2.5vw,var(--text-3xl));font-weight:var(--weight-bold);letter-spacing:.01em;color:var(--text-primary)}.friends-subtitle{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.friends-stats{display:flex;gap:var(--space-2);flex-wrap:wrap}.friends-stat-pill{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);min-width:90px;transition:all var(--duration-normal) var(--ease-default)}.friends-stat-pill:hover{border-color:var(--border-default)}.friends-stat-pill span{display:block;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.friends-stat-pill strong{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--weight-bold)}.friends-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-inner)}.friends-card .card-head{margin-bottom:var(--space-3)}.friends-card .card-head h3{margin:0;font-family:var(--font-display);color:var(--text-primary);font-weight:var(--weight-semibold)}.friends-muted{color:var(--text-muted);margin:var(--space-1) 0 0;font-size:var(--text-sm)}.friends-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.friends-input-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-2);margin-bottom:var(--space-3)}.friends-input-row input,.friends-form-grid input,.friends-form-grid select{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.friends-input-row input:focus,.friends-form-grid input:focus,.friends-form-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.friends-input-row input::placeholder,.friends-form-grid input::placeholder{color:var(--text-muted)}.friends-card button{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:all var(--duration-normal) var(--ease-default)}.friends-card button:hover{background:var(--bg-hover);border-color:var(--border-focus)}.friends-card button:disabled{opacity:.5;cursor:not-allowed}.friends-card button.danger{border-color:#f8717159;color:var(--error);background:var(--error-soft)}.friends-card button.danger:hover{background:#f8717133}.friend-code-row{display:flex;gap:var(--space-3);align-items:center}.friend-code-row code{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--primary)}.search-results,.list-stack{display:grid;gap:var(--space-2)}.result-row,.request-row,.friend-row,.nudge-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);transition:background var(--duration-fast) var(--ease-default)}.result-row:hover,.request-row:hover,.friend-row:hover,.nudge-row:hover{background:var(--bg-hover)}.result-row strong,.friend-row strong,.nudge-row strong{color:var(--text-primary);font-size:var(--text-sm)}.result-row p,.friend-row p,.nudge-row p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.row-actions{display:flex;gap:var(--space-2)}.subsection-title{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-primary)}.metric-switch{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.metric-switch button{border-radius:var(--radius-full);font-size:var(--text-sm)}.metric-switch button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.leaderboard-table th{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--weight-medium)}.leaderboard-table td{color:var(--text-primary)}.table-empty{color:var(--text-muted)}.friends-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.member-selector{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.member-selector label{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-normal) var(--ease-default)}.member-selector label:hover{border-color:var(--border-default);background:var(--bg-hover)}.mini-card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-1)}.mini-card strong{color:var(--text-primary);font-size:var(--text-sm)}.mini-card p{margin:var(--space-1) 0;color:var(--text-secondary);font-size:var(--text-sm)}.mini-card small{color:var(--text-muted);font-size:var(--text-xs)}.nudge-row.read{opacity:.6}.nudge-row.unread{border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.nudges-card{margin-bottom:var(--space-16)}@media (max-width: 980px){.friends-heading{flex-direction:column;align-items:flex-start}.friends-grid{grid-template-columns:1fr}}@media (max-width: 768px){.friends-container{padding:var(--space-4);margin-bottom:var(--space-16)}.friends-input-row{grid-template-columns:1fr}.friend-code-row{flex-direction:column;align-items:stretch}.friend-code-row button{width:100%}.friends-form-grid{grid-template-columns:1fr}.result-row,.request-row,.friend-row,.nudge-row{flex-direction:column;align-items:flex-start}.row-actions{width:100%}.row-actions button{flex:1}.friends-stats{width:100%}.friends-stat-pill{flex:1}}:root{--bg-base: #0C0C12;--bg-raised: #14141F;--bg-surface: #1C1C2A;--bg-hover: #24243A;--bg-overlay: rgba(0, 0, 0, .7);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-focus: rgba(16, 185, 129, .5);--primary: #10B981;--primary-hover: #2DD4A0;--primary-muted: #065F46;--primary-glow: rgba(16, 185, 129, .15);--primary-soft: rgba(16, 185, 129, .08);--accent: #F5A623;--accent-hover: #FBBD3C;--accent-soft: rgba(245, 166, 35, .12);--success: #4ADE80;--success-soft: rgba(74, 222, 128, .12);--error: #F87171;--error-soft: rgba(248, 113, 113, .12);--warning: #FBBF24;--warning-soft: rgba(251, 191, 36, .12);--info: #60A5FA;--info-soft: rgba(96, 165, 250, .12);--gradient-math: linear-gradient(135deg, #8B5CF6, #7C3AED);--gradient-science: linear-gradient(135deg, #F43F5E, #E11D48);--gradient-ss: linear-gradient(135deg, #06B6D4, #0891B2);--gradient-english: linear-gradient(135deg, #F59E0B, #D97706);--color-math: #8B5CF6;--color-science: #F43F5E;--color-ss: #06B6D4;--color-english: #F59E0B;--text-primary: #EAEAF0;--text-secondary: #8888A0;--text-muted: #555568;--text-inverse: #0C0C12;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--primary-glow);--shadow-inner: inset 0 1px 0 rgba(255, 255, 255, .05);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-sidebar: 300;--z-header: 400;--z-overlay: 500;--z-modal: 600;--z-popover: 700;--z-toast: 800;--z-max: 999;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--sidebar-collapsed: 64px;--sidebar-expanded: 240px;--header-height: 56px;--bottom-nav-height: 64px;--content-max-width: 960px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-base)}button,textarea,input,select,a{-webkit-tap-highlight-color:transparent;font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text-primary)}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.skeleton{background:var(--bg-surface);background-image:linear-gradient(110deg,var(--bg-surface) 25%,var(--bg-hover) 37%,var(--bg-surface) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-md)}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.glass{background:#14141fbf;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border-subtle)}.card{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.card:hover{box-shadow:var(--shadow-md)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);box-shadow:0 2px 8px #10b98133}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #10b98133}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-default)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-focus)}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input::placeholder{color:var(--text-muted)}.app-layout{display:flex;min-height:100vh;padding-top:var(--header-height)}.app-content{flex:1;min-width:0;transition:margin-left var(--duration-slow) var(--ease-default)}.app-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.app-content.sidebar-open{margin-left:var(--sidebar-expanded)}.app-content.no-sidebar{margin-left:0}@media (max-width: 768px){.app-layout{padding-top:var(--header-height)}.app-content.sidebar-collapsed,.app-content.sidebar-open{margin-left:0}.app-content{padding-bottom:calc(var(--bottom-nav-height) + 20px)}}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-sidebar) - 1);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-default)}.sidebar-overlay.visible{opacity:1;pointer-events:auto}}.notification{position:fixed;top:calc(var(--header-height) + var(--space-4));left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);z-index:var(--z-toast);font-size:var(--text-sm);min-width:300px;max-width:90%;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2);animation:slideDown var(--duration-normal) var(--ease-out) forwards;border:1px solid var(--border-subtle)}.notification.info{background:var(--info-soft);border-color:var(--info);color:var(--info)}.notification.success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.notification.warning{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.notification.error{background:var(--error-soft);border-color:var(--error);color:var(--error)}.notification-icon{display:flex;align-items:center;font-size:var(--text-lg);flex-shrink:0}.notification-message{text-align:left;flex-grow:1;white-space:normal;line-height:var(--leading-normal)}.notification.exit{animation:slideUp var(--duration-normal) var(--ease-in) forwards}.pwa-blockade-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at center,var(--bg-raised) 0%,var(--bg-base) 100%);color:var(--text-primary);padding:var(--space-6);text-align:center;font-family:var(--font-body)}.pwa-card{max-width:480px;width:100%;padding:var(--space-10) var(--space-8);border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl),0 0 60px var(--primary-glow);display:flex;flex-direction:column;align-items:center}.pwa-logo{width:80px;height:80px;border-radius:var(--radius-xl);margin-bottom:var(--space-6);box-shadow:var(--shadow-lg);object-fit:cover;animation:pwa-float 4s ease-in-out infinite}@keyframes pwa-float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.pwa-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);margin:0 0 var(--space-3) 0;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pwa-description{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0 0 var(--space-8) 0}.pwa-btn-install{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--primary);color:var(--text-inverse);border:none;padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;box-shadow:0 4px 16px #10b98140;transition:all var(--duration-normal) var(--ease-default);width:100%;max-width:320px}.pwa-btn-install:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 24px #10b98159}.pwa-btn-install:active{transform:translateY(0)}.pwa-manual-instructions{margin-top:var(--space-6);width:100%;padding-top:var(--space-6);border-top:1px solid var(--border-subtle);text-align:left}.pwa-manual-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);margin:0 0 var(--space-3) 0;text-align:center;text-transform:uppercase;letter-spacing:.08em}.pwa-steps{list-style:none;padding:0;margin:0;font-size:var(--text-sm);color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-3)}.pwa-steps li{display:flex;align-items:flex-start;gap:var(--space-3);line-height:var(--leading-normal)}.pwa-step-num{background:var(--primary-glow);color:var(--primary);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-bold);flex-shrink:0}.pwa-downloader-container{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:var(--space-3)}.pwa-progress-bar-bg{width:100%;height:8px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-4)}.pwa-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-hover) 100%);transition:width .1s linear;box-shadow:0 0 12px var(--primary-glow);border-radius:var(--radius-full)}.pwa-progress-percentage{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--primary);margin-bottom:var(--space-3)}.pwa-status-text{font-size:var(--text-sm);color:var(--text-secondary);height:20px;font-weight:var(--weight-medium)}.pwa-success-icon{font-size:4rem;color:var(--success);margin-bottom:var(--space-6);animation:scaleIn .5s var(--ease-spring) forwards}.pwa-success-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.pwa-launch-tip{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.update-popup-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.update-popup{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);color:var(--text-primary);position:relative;z-index:calc(var(--z-modal) + 1)}.update-popup h2{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.update-popup .version-info{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.update-popup .changes-list{list-style:none;padding:0}.update-popup .changes-list li{margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary)}.update-popup-button{width:100%;padding:var(--space-3);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;margin-top:var(--space-6);transition:all var(--duration-normal) var(--ease-default);box-shadow:0 4px 12px #10b98133}.update-popup-button:hover{background:var(--primary-hover);box-shadow:0 6px 16px #10b9814d}.change-item{display:flex;flex-direction:column;margin-bottom:var(--space-2)}.change-title{display:flex;align-items:flex-start}.bullet{margin-right:var(--space-2)}.change-description{margin-left:var(--space-5);margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.register-popup-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.register-popup{background:var(--bg-raised);border:1px solid var(--border-subtle);padding:var(--space-8);border-radius:var(--radius-xl);text-align:center;max-width:400px;width:90%;box-shadow:var(--shadow-xl)}.register-popup h2{margin-top:0;color:var(--primary)}.register-popup p{color:var(--text-secondary);margin-bottom:var(--space-8)}.popup-buttons{display:flex;justify-content:center;gap:var(--space-4)}.popup-register-button,.popup-close-button{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);transition:all var(--duration-normal) var(--ease-default)}.popup-register-button{background:var(--primary);color:var(--text-inverse)}.popup-register-button:hover{background:var(--primary-hover)}.popup-close-button{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default)}.popup-close-button:hover{background:var(--bg-hover)}.report-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.report-modal{background:var(--bg-raised);border:1px solid var(--border-subtle);padding:var(--space-8);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-xl)}.report-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.report-modal-header h2{margin:0;color:var(--primary);font-size:var(--text-xl)}.report-modal-close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:var(--text-xl);cursor:pointer;transition:color var(--duration-fast)}.report-modal-close-btn:hover{color:var(--text-primary)}.report-modal-body .form-group{margin-bottom:var(--space-6)}.report-modal-body label{display:block;margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.report-modal-body select,.report-modal-body textarea{width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);transition:border-color var(--duration-fast)}.report-modal-body select:focus,.report-modal-body textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.report-modal-body textarea{min-height:120px;resize:vertical}.report-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-6)}.report-modal-submit-btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:none;background:var(--primary);color:var(--text-inverse);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-normal)}.report-modal-submit-btn:hover{background:var(--primary-hover)}
