:root{--font-brand:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Century Schoolbook L", Georgia, serif;--font-display:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Fraunces", Georgia, serif;--font-ui:"Outfit", sans-serif;--bg-color:#f3e4c8;--text-color:#2c241c;--text-muted:#6b5e52;--primary:#2f6b56;--primary-ink:#2f6b56;--primary-soft:#98d8c1;--on-primary:#f7f0e6;--accent:#e8a598;--accent-2:#e0c48a;--accent-3:#c4a06a;--card-bg:#fff8ece6;--shadow-color:#8c60281f;--border-color:color-mix(in srgb, var(--text-color) 10%, transparent);--success:#2f6b56;--warning:#b8893a;--danger:#c45c4a;--blob-light:#e8d4a8;--blob-mid:#d4b47a;--blob-deep:#c4985a;--sky-top:#f6d7a4;--sky-bottom:#f3e4c8;--sun:#f0c060;--color-primary:var(--primary);--color-text:var(--text-color);--color-primary-light:color-mix(in srgb, var(--primary) 12%, transparent)}[data-theme=dusk]{--font-brand:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Century Schoolbook L", Georgia, serif;--font-display:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Fraunces", Georgia, serif;--font-ui:"Outfit", sans-serif;--bg-color:#f4f1f8;--text-color:#2d3748;--text-muted:#5a6578;--primary:#2557a0;--primary-ink:#2557a0;--primary-soft:#a0c4ff;--on-primary:#f4f1f8;--accent:#e2c2ff;--accent-2:#ffb7b2;--accent-3:#98d8c1;--card-bg:#ffffffb3;--shadow-color:#2d37480d;--border-color:color-mix(in srgb, var(--text-color) 10%, transparent);--success:#2557a0;--warning:#b8893a;--danger:#c45c4a;--blob-light:#e8e4f2;--blob-mid:#d0c6e4;--blob-deep:#b4a6ce;--sky-top:#ddd0f0;--sky-bottom:#f4f1f8;--sun:#e8d0a8;--color-primary:var(--primary);--color-text:var(--text-color);--color-primary-light:color-mix(in srgb, var(--primary) 12%, transparent)}[data-theme=midnight]{--font-brand:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Century Schoolbook L", Georgia, serif;--font-display:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Fraunces", Georgia, serif;--font-ui:"Outfit", sans-serif;--bg-color:#0a1628;--text-color:#e8f4fa;--text-muted:#9bb8c9;--primary:#3ecfbf;--primary-ink:#7eddd2;--primary-soft:#164a58;--on-primary:#042028;--accent:#1e6a88;--accent-2:#2a5080;--accent-3:#2e7a6a;--card-bg:#0a2030c7;--shadow-color:#00081473;--border-color:color-mix(in srgb, var(--text-color) 18%, transparent);--success:#4db6a0;--warning:#e0b060;--danger:#e08a7a;--blob-light:#0e3a4c;--blob-mid:#125568;--blob-deep:#0a2838;--sky-top:#061018;--sky-bottom:#0b1e30;--sun:#d4e4f0;--color-primary:var(--primary);--color-text:var(--text-color);--color-primary-light:color-mix(in srgb, var(--primary) 22%, transparent)}[data-theme=mountain]{--font-brand:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Century Schoolbook L", Georgia, serif;--font-display:"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Fraunces", Georgia, serif;--font-ui:"Outfit", sans-serif;--bg-color:#f0cdb0;--text-color:#2a2c28;--text-muted:#636860;--primary:#4a6a48;--primary-ink:#4a6a48;--primary-soft:#c4d4b0;--on-primary:#f3f1ea;--accent:#b8a898;--accent-2:#d4c8b0;--accent-3:#8a9478;--card-bg:#fcf6eee6;--shadow-color:#4648381a;--border-color:color-mix(in srgb, var(--text-color) 10%, transparent);--success:#4a6a48;--warning:#b8893a;--danger:#c45c4a;--blob-light:#d4c8b0;--blob-mid:#a8b08c;--blob-deep:#6a7a54;--sky-top:#f3d6bc;--sky-bottom:#f0cdb0;--sun:#e9925a;--color-primary:var(--primary);--color-text:var(--text-color);--color-primary-light:color-mix(in srgb, var(--primary) 12%, transparent)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .8s,color .8s;overflow-x:hidden}.card{background:var(--card-bg);box-shadow:0 10px 28px var(--shadow-color), 0 2px 6px #0000000a;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(16px);border-radius:20px;padding:24px;transition:transform .2s,opacity .3s}button{font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;transition:transform .15s,opacity .15s}button:active{transform:scale(.96)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}ul{list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=midnight] input:not([type=checkbox]):not([type=radio]):not([type=range]),html[data-theme=midnight] textarea,html[data-theme=midnight] select{background-color:color-mix(in srgb, var(--card-bg) 88%, #000);color:var(--text-color)}html[data-theme=midnight] ::placeholder{color:var(--text-muted);opacity:.85}:-webkit-any(html[data-theme=midnight] input:-webkit-autofill,html[data-theme=midnight] textarea:-webkit-autofill,html[data-theme=midnight] select:-webkit-autofill){-webkit-text-fill-color:var(--text-color);caret-color:var(--text-color);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0e2438}:is(html[data-theme=midnight] input:autofill,html[data-theme=midnight] textarea:autofill,html[data-theme=midnight] select:autofill){-webkit-text-fill-color:var(--text-color);caret-color:var(--text-color);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0e2438}html[data-theme=midnight] .form-group input,html[data-theme=midnight] .admin-label input,html[data-theme=midnight] .admin-label select,html[data-theme=midnight] .admin-search,html[data-theme=midnight] .custom-input-box input,html[data-theme=midnight] .picker-search,html[data-theme=midnight] .journal-textarea,html[data-theme=midnight] .add-event-form input[type=text],html[data-theme=midnight] .add-event-form input[type=date],html[data-theme=midnight] .add-event-form input[type=time]{background:color-mix(in srgb, var(--card-bg) 88%, #000);color:var(--text-color);border-color:var(--border-color)}html[data-theme=midnight] .form-group input:focus,html[data-theme=midnight] .admin-label input:focus,html[data-theme=midnight] .admin-label select:focus,html[data-theme=midnight] .admin-search:focus,html[data-theme=midnight] .custom-input-box input:focus,html[data-theme=midnight] .journal-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent)}html[data-theme=midnight] .picker-search input:not([type=checkbox]):not([type=radio]):not([type=range]){color:var(--text-color);background:0 0}html[data-theme=midnight] .login-submit-button{color:var(--on-primary)}html[data-theme=midnight] .login-submit-button:hover{background:color-mix(in srgb, var(--primary) 82%, #000)}html[data-theme=midnight] .error-banner{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent);border-color:color-mix(in srgb, var(--danger) 28%, transparent)}html[data-theme=midnight] .demo-login-button{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary)}html[data-theme=midnight] .demo-login-button:hover{background:color-mix(in srgb, var(--primary) 18%, transparent)}html[data-theme=midnight] .demo-divider:before,html[data-theme=midnight] .demo-divider:after{border-bottom-color:var(--border-color)}html[data-theme=midnight] .login-logo{background:var(--color-primary-light)}html[data-theme=midnight] .onboarding-icon{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}html[data-theme=midnight] .onboarding-error{color:var(--danger)}html[data-theme=midnight] .onboarding-continue{color:var(--on-primary)}html[data-theme=midnight] .topic-card,html[data-theme=midnight] .reason-option,html[data-theme=midnight] .streak-card,html[data-theme=midnight] .subject-tab,html[data-theme=midnight] .topic-pick-row,html[data-theme=midnight] .modal-option-card,html[data-theme=midnight] .other-syllabus-picker,html[data-theme=midnight] .subject-accordion-btn,html[data-theme=midnight] .accordion-topic-list,html[data-theme=midnight] .topic-chip,html[data-theme=midnight] .recommendation-card{background:color-mix(in srgb, var(--text-color) 7%, transparent);border-color:var(--border-color);color:var(--text-color)}html[data-theme=midnight] .topic-card:hover,html[data-theme=midnight] .topic-pick-row:hover,html[data-theme=midnight] .modal-option-card:hover,html[data-theme=midnight] .recommendation-card:hover{background:color-mix(in srgb, var(--text-color) 12%, transparent)}html[data-theme=midnight] .picker-search{background:color-mix(in srgb, var(--card-bg) 88%, #000);border-color:var(--border-color)}html[data-theme=midnight] .cancel-btn{border-color:var(--border-color);color:var(--text-color)}html[data-theme=midnight] .modal-footer{border-top-color:var(--border-color)}html[data-theme=midnight] .subject-accordion{border-color:var(--border-color)}html[data-theme=midnight] .practice-icon-badge,html[data-theme=midnight] .active-topic-badge,html[data-theme=midnight] .award-icon-box,html[data-theme=midnight] .badge-success{background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 28%, transparent);color:var(--primary)}html[data-theme=midnight] .subject-pill,html[data-theme=midnight] .practice-container .topic-card,html[data-theme=midnight] .option-button,html[data-theme=midnight] .score-stat-box,html[data-theme=midnight] .breakdown-item{background:color-mix(in srgb, var(--text-color) 7%, transparent);border-color:var(--border-color);color:var(--text-color)}html[data-theme=midnight] .subject-pill:hover,html[data-theme=midnight] .practice-container .topic-card:hover,html[data-theme=midnight] .option-button:hover:not(.disabled){background:color-mix(in srgb, var(--text-color) 12%, transparent);border-color:color-mix(in srgb, var(--primary) 40%, transparent)}html[data-theme=midnight] .subject-pill.active,html[data-theme=midnight] .start-quiz-btn,html[data-theme=midnight] .btn-primary{color:var(--on-primary);box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 28%, transparent)}html[data-theme=midnight] .practice-container .topic-card.selected{background:color-mix(in srgb, var(--primary) 12%, transparent);border-color:var(--primary)}html[data-theme=midnight] .radio-check{border-color:var(--border-color);color:var(--on-primary)}html[data-theme=midnight] .option-badge,html[data-theme=midnight] .step-num,html[data-theme=midnight] .breakdown-index,html[data-theme=midnight] .progress-bar-track{background:color-mix(in srgb, var(--text-color) 8%, transparent);color:var(--text-color)}html[data-theme=midnight] .option-button.correct-selected,html[data-theme=midnight] .option-button.correct-highlight,html[data-theme=midnight] .solution-container.success{background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 40%, transparent);color:var(--text-color)}html[data-theme=midnight] .option-button.correct-selected .option-badge{background:var(--primary);color:var(--on-primary)}html[data-theme=midnight] .option-button.wrong-selected,html[data-theme=midnight] .solution-container.warning{background:color-mix(in srgb, var(--danger) 14%, transparent);border-color:color-mix(in srgb, var(--danger) 40%, transparent);color:var(--text-color)}html[data-theme=midnight] .option-button.wrong-selected .option-badge{background:var(--danger);color:var(--on-primary)}html[data-theme=midnight] .option-icon.icon-wrong,html[data-theme=midnight] .text-danger,html[data-theme=midnight] .badge-danger{color:var(--danger)}html[data-theme=midnight] .badge-danger{background:color-mix(in srgb, var(--danger) 14%, transparent)}html[data-theme=midnight] .explanation-title{color:var(--warning)}html[data-theme=midnight] .explanation-body,html[data-theme=midnight] .quiz-navigation-footer{border-top-color:var(--border-color)}html[data-theme=midnight] .btn-secondary{background:color-mix(in srgb, var(--text-color) 6%, transparent);border-color:var(--border-color);color:var(--text-color)}html[data-theme=midnight] .btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--text-color) 10%, transparent)}html[data-theme=midnight] .text-success,html[data-theme=midnight] .option-icon.icon-correct{color:var(--primary)}html[data-theme=midnight] .admin-icon-badge{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}html[data-theme=midnight] .admin-tab{background:color-mix(in srgb, var(--text-color) 6%, transparent)}html[data-theme=midnight] .admin-tab.active{background:color-mix(in srgb, var(--primary) 16%, transparent);border-color:color-mix(in srgb, var(--primary) 35%, transparent);color:var(--primary)}html[data-theme=midnight] .admin-primary-btn{color:var(--on-primary)}html[data-theme=midnight] .admin-secondary-btn{border-color:color-mix(in srgb, var(--primary) 40%, transparent);color:var(--primary)}html[data-theme=midnight] .admin-banner.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}html[data-theme=midnight] .admin-banner.success{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary-ink)}html[data-theme=midnight] .admin-list-item,html[data-theme=midnight] .admin-job-row{background:color-mix(in srgb, var(--text-color) 5%, transparent)}html[data-theme=midnight] .admin-list-item.selected{background:color-mix(in srgb, var(--primary) 14%, transparent)}html[data-theme=midnight] .admin-icon-btn.danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}html[data-theme=midnight] .admin-check-row:hover{background:color-mix(in srgb, var(--text-color) 6%, transparent)}html[data-theme=midnight] .subject-card-header:hover{background:color-mix(in srgb, var(--text-color) 8%, transparent)}html[data-theme=midnight] .topics-expansion{background:color-mix(in srgb, var(--text-color) 5%, transparent);border-top-color:var(--border-color)}html[data-theme=midnight] .topic-rating-row{background:color-mix(in srgb, var(--text-color) 7%, transparent);border-color:var(--border-color)}html[data-theme=midnight] .subject-progress-bg{background:color-mix(in srgb, var(--text-color) 10%, transparent)}html[data-theme=midnight] .journal-focus-slider{background:linear-gradient(to right, color-mix(in srgb, var(--primary-soft) 85%, #0a1628) 0%, color-mix(in srgb, var(--primary-soft) 85%, #0a1628) var(--focus-pct,44%), color-mix(in srgb, var(--text-color) 14%, transparent) var(--focus-pct,44%), color-mix(in srgb, var(--text-color) 14%, transparent) 100%)}html[data-theme=midnight] .journal-focus-slider::-webkit-slider-thumb{background:color-mix(in srgb, var(--primary) 70%, var(--primary-soft));border:2px solid var(--text-color);box-shadow:0 1px 5px var(--shadow-color)}html[data-theme=midnight] .journal-focus-slider::-moz-range-thumb{background:color-mix(in srgb, var(--primary) 70%, var(--primary-soft));border:2px solid var(--text-color);box-shadow:0 1px 5px var(--shadow-color)}html[data-theme=midnight] .calendar-header-card{border-color:var(--border-color)}html[data-theme=midnight] .fc .fc-button{background:color-mix(in srgb, var(--text-color) 8%, transparent)!important;border-color:var(--border-color)!important;color:var(--text-color)!important}html[data-theme=midnight] .fc .fc-button:hover{background:color-mix(in srgb, var(--text-color) 14%, transparent)!important}html[data-theme=midnight] .fc .fc-col-header-cell,html[data-theme=midnight] .enrollment-syllabus{background:color-mix(in srgb, var(--text-color) 4%, transparent)}html[data-theme=midnight] .recharts-default-tooltip{background:var(--card-bg)!important;border-color:var(--border-color)!important;color:var(--text-color)!important}html[data-theme=midnight] .recharts-tooltip-item,html[data-theme=midnight] .recharts-tooltip-label,html[data-theme=midnight] .recharts-legend-item-text{color:var(--text-color)!important}.layout-wrapper{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:12px 16px;display:flex}.impersonation-banner{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--text-color);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:.9rem;display:flex}.impersonation-exit{background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.impersonation-exit:hover{opacity:.9}.app-header{box-shadow:none;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;margin-bottom:16px;padding:6px 4px;display:flex}.logo-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.brand-logo-img{object-fit:contain;width:auto;max-width:140px;height:38px;display:block}.logo-icon{color:var(--primary)}.logo-text{font-family:var(--font-brand,"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Century Schoolbook L", Georgia, serif);color:var(--text-color,#232326);letter-spacing:0;text-transform:lowercase;font-size:1.6rem;font-weight:400;line-height:1}.header-actions{align-items:center;gap:12px;display:flex}.desktop-menu-list{display:none}.desktop-nav-item{color:var(--text-muted);border-radius:16px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.desktop-nav-item:hover{color:var(--text-color);background:color-mix(in srgb, var(--text-color) 4%, transparent)}.desktop-nav-item.active{color:var(--primary-ink);background:color-mix(in srgb, var(--primary-soft) 42%, transparent);font-weight:600}.user-menu-container{position:relative}.user-icon-button{background:color-mix(in srgb, var(--card-bg) 80%, transparent);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-color);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s;display:flex}.user-icon-button:hover{background:var(--card-bg);border-color:color-mix(in srgb, var(--text-color) 18%, transparent)}.dropdown-user-info{text-align:left;padding:8px 12px}.dropdown-user-info .user-name{margin-bottom:2px;font-size:.95rem;font-weight:600}.dropdown-user-info .user-detail{color:var(--text-muted);font-size:.75rem}.dropdown-divider{background:var(--border-color);height:1px;margin:4px 0}.dropdown-menu{z-index:100;flex-direction:column;gap:4px;width:200px;display:flex;position:absolute;top:calc(100% + 8px);right:0;padding:12px!important}.dropdown-item{color:var(--text-color);border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.dropdown-item:hover{background:color-mix(in srgb, var(--text-color) 5%, transparent)}.logout-button{color:var(--danger);cursor:pointer;background:0 0;border:none}.main-content{flex-direction:column;flex:1;padding-bottom:28vh;display:flex}.mobile-bottom-nav{z-index:100;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:20px;left:20px;right:20px;border-radius:32px!important;padding:10px 8px!important}.nav-item{color:var(--text-muted);border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;padding:6px 8px;text-decoration:none;transition:color .2s,transform .2s;display:flex}.nav-item span{font-size:.72rem;font-weight:500}.nav-item.active{color:var(--primary-ink);transform:translateY(-2px)}@media (width>=768px){.layout-wrapper{padding:24px}.app-header{background:var(--card-bg);box-shadow:0 4px 16px var(--shadow-color);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;margin-bottom:32px;padding:12px 20px}.logo-text{font-size:1.55rem}.desktop-menu-list{background:color-mix(in srgb, var(--text-color) 4%, transparent);border-radius:20px;align-items:center;gap:6px;padding:4px 8px;display:flex}.mobile-bottom-nav{display:none}.main-content{padding-bottom:24vh}}.home-container{flex-direction:column;gap:24px;width:100%;max-width:600px;margin:0 auto;display:flex}.completion-toast{background:color-mix(in srgb, var(--primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);color:var(--text-color);border-radius:16px;align-items:center;gap:12px;font-weight:500;display:flex;padding:14px 18px!important}.toast-icon{color:var(--primary)}.toast-close{cursor:pointer;opacity:.6;background:0 0;border:none;margin-left:auto}.timer-section{flex-direction:column;align-items:center;padding:24px 0;scroll-margin-top:12px;display:flex}.amoeba-button{background:var(--primary);width:120px;height:120px;color:var(--on-primary);cursor:pointer;box-shadow:0 10px 25px color-mix(in srgb, var(--primary) 32%, transparent);border:none;border-radius:40% 60% 70% 30%/40% 50% 60%;justify-content:center;align-items:center;transition:background .5s,box-shadow .5s,border-radius .5s,transform .5s;display:flex}.amoeba-button:hover{border-radius:50%;transform:scale(1.05)}.amoeba-button.running{background:var(--danger);box-shadow:0 10px 25px color-mix(in srgb, var(--danger) 36%, transparent);animation:6s ease-in-out infinite alternate morph}.amoeba-button.paused{background:var(--warning);box-shadow:0 10px 25px color-mix(in srgb, var(--warning) 36%, transparent)}@keyframes morph{0%{border-radius:40% 60% 70% 30%/40% 50% 60%}34%{border-radius:70% 30% 50% 50%/30% 60% 40% 70%}67%{border-radius:100% 60% 60% 100%/100% 100% 60% 60%}to{border-radius:40% 60% 70% 30%/40% 50% 60%}}.button-icon.play{margin-left:6px}.timer-display{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-color);margin-top:16px;font-size:3.5rem;font-weight:300}.timer-subtitle{color:var(--text-muted);margin-top:4px;font-size:.95rem}.timer-controls{align-items:center;gap:12px;margin-top:16px;display:flex}.timer-control-btn{cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.pause-btn{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 32%, transparent)}.pause-btn:hover{background:color-mix(in srgb, var(--warning) 26%, transparent)}.resume-btn{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 28%, transparent)}.resume-btn:hover{background:color-mix(in srgb, var(--primary) 24%, transparent)}.stop-btn{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent)}.stop-btn:hover{background:color-mix(in srgb, var(--danger) 22%, transparent)}.today-studied{text-align:center;background:color-mix(in srgb, var(--primary-soft) 28%, var(--card-bg));border:1px solid color-mix(in srgb, var(--primary) 16%, transparent);border-radius:14px;width:min(100%,320px);margin-top:14px;padding:8px 12px 10px}.today-studied.is-live{border-color:color-mix(in srgb, var(--danger) 28%, transparent);background:color-mix(in srgb, var(--danger) 12%, var(--card-bg))}.today-studied-row{justify-content:center;align-items:baseline;gap:8px;display:flex}.today-studied-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.62rem;font-weight:700}.today-studied-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-color);font-size:1.05rem;font-weight:650;line-height:1.1}.today-studied-bar{background:#2c3e3514;border-radius:999px;gap:2px;width:100%;height:5px;margin-top:8px;display:flex;overflow:hidden}.today-studied-seg{min-width:3px;height:100%}.today-studied-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tasks-section{padding:20px 24px!important}.section-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.topics-section-header{justify-content:space-between;align-items:center;gap:12px}.section-header-main{align-items:center;gap:10px;min-width:0;display:flex}.topics-today-total{font-variant-numeric:tabular-nums;color:var(--primary);opacity:.85;flex-shrink:0;font-size:.78rem;font-weight:700}.topics-today-bar{margin:-6px 0 14px}.section-icon{color:var(--primary)}.section-header h2{font-size:1.15rem;font-weight:600}.section-hint{opacity:.7;text-align:left;margin:-8px 0 14px;font-size:.85rem}.topics-list{flex-direction:column;gap:12px;display:flex}.topic-card{background:#fff9;border:1px solid #0000000d;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex;position:relative;overflow:hidden}.topic-color-strip{width:6px;position:absolute;top:-1px;bottom:-1px;left:-1px}.topic-card:hover{background:#ffffffe6;transform:translateY(-1px)}.small-play-btn{background:var(--primary);width:36px;height:36px;color:var(--on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex}.small-play-btn svg{margin-left:2px}.small-play-btn:hover{background:color-mix(in srgb, var(--primary) 82%, #000);transform:scale(1.1)}.small-play-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.small-play-btn.active-play-btn{background:var(--danger);box-shadow:0 4px 12px color-mix(in srgb, var(--danger) 32%, transparent)}.small-play-btn.active-play-btn:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 82%, #000)}.small-play-btn.active-play-btn:disabled{opacity:1;cursor:default}.topic-card.studying{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent)}.small-play-btn.choose-play-btn{background:var(--primary)}.small-play-btn.choose-play-btn:hover{background:color-mix(in srgb, var(--primary) 82%, #000)}.choose-topic-card{cursor:pointer}.topic-info{text-align:left;flex-direction:column;flex:1;gap:4px;display:flex}.topic-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topic-name{font-size:.95rem;font-weight:600}.subject-tag{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600}.today-time-badge{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-color);opacity:.78;background:0 0;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:0;font-size:.85rem;font-weight:650;display:inline-flex}.today-time-badge.mini{margin-left:0;font-size:.75rem}.reason-tags{flex-wrap:wrap;gap:6px;display:flex}.reason-tag{opacity:.65;font-size:.7rem}.add-topic-btn{border:1px dashed color-mix(in srgb, var(--primary) 45%, transparent);background:color-mix(in srgb, var(--primary) 6%, transparent);width:100%;color:var(--primary);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:12px 16px;font-size:.92rem;font-weight:600;transition:all .2s;display:flex}.add-topic-btn:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);border-color:var(--primary)}.reason-picker{flex-direction:column;gap:10px;display:flex}.reason-options{flex-direction:column;gap:8px;display:flex}.reason-option{cursor:pointer;background:#ffffffb3;border:1px solid #0000001a;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;font-weight:500;display:flex}.reason-option.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.reason-option input[type=radio]{accent-color:var(--primary)}.streak-section{flex-direction:column;gap:16px;display:flex;padding:20px 24px!important}.streak-cards-container{flex-wrap:wrap;gap:16px;display:flex}.streak-card{background:#fff6;border:1px solid #0000000d;border-radius:12px;flex-direction:column;flex:1;gap:12px;min-width:200px;padding:14px;display:flex}.streak-card-title{text-align:left;opacity:.8;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.95rem;font-weight:700}.streak-header{justify-content:space-between;align-items:center;display:flex}.flame-badge{align-items:center;gap:8px;display:flex}.flame-icon.basic-flame{color:var(--warning)}.flame-icon.effort-flame{color:var(--danger)}.streak-count{color:var(--text-color);font-size:1.1rem;font-weight:700}.effort-tier .streak-count{color:var(--danger)}.basic-tier .streak-count{color:var(--warning)}.trophy-badge{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.trophy-icon{color:var(--warning)}.streak-progress-box{flex-direction:column;gap:8px;display:flex}.streak-stats-row{opacity:.8;justify-content:space-between;font-size:.82rem;font-weight:500;display:flex}.stat-item{align-items:center;gap:4px;display:flex}.progress-bar-bg{background:#00000014;border-radius:10px;width:100%;height:10px;overflow:hidden}.progress-bar-fill.basic-fill{background:var(--primary);border-radius:10px;height:100%;transition:width .4s}.progress-bar-fill.effort-fill{background:var(--danger);border-radius:10px;height:100%;transition:width .4s}.progress-hint{color:var(--text-muted);text-align:left;margin-top:2px;font-size:.78rem}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;overscroll-behavior:none;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.modal-content{overscroll-behavior:contain;border-radius:24px;flex-direction:column;width:100%;max-width:480px;min-height:0;max-height:min(85vh,100dvh - 32px);display:flex;overflow:hidden;padding:24px!important}.modal-content.choice-modal{max-width:560px;height:min(680px,100dvh - 24px);max-height:calc(100dvh - 24px)}.modal-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-header h3{font-size:1.2rem;font-weight:600}.close-btn{cursor:pointer;opacity:.6;background:0 0;border:none}.modal-body{overscroll-behavior:contain;text-align:left;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:14px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.modal-instruction{opacity:.75;flex-shrink:0;font-size:.85rem}.choice-modal-body{gap:10px;overflow:hidden}.picker-back-link{color:var(--primary);flex-shrink:0;align-items:center;gap:6px;padding:0;font-size:.82rem;font-weight:600;display:inline-flex}.topic-picker{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.picker-search{background:#ffffffe6;border:1px solid #0000001f;border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.picker-search svg{opacity:.5;flex-shrink:0}.picker-search input{width:100%;color:inherit;background:0 0;border:none;outline:none;font-size:.9rem}.subject-tabs{scrollbar-width:thin;flex-shrink:0;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.subject-tab{white-space:nowrap;cursor:pointer;background:#fffc;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.subject-tab.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.subject-tab-count{opacity:.75;font-size:.72rem;font-weight:700}.topic-picker-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex-direction:column;flex:auto;gap:6px;min-height:180px;padding-right:4px;display:flex;overflow:hidden scroll}.topic-pick-row{text-align:left;cursor:pointer;background:#ffffffd9;border:1px solid #00000014;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.topic-pick-row:hover{border-color:color-mix(in srgb, var(--primary) 25%, transparent);background:#fff}.topic-pick-row.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent)}.topic-pick-name{font-size:.9rem;font-weight:600}.picker-custom{flex-shrink:0;padding-top:4px}.reason-step{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow-y:auto}.choice-selected-summary{background:color-mix(in srgb, var(--primary) 8%, transparent);border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.choice-selected-label{text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.choice-selected-topic{margin:0 0 6px;font-size:1rem;font-weight:700}.change-topic-btn{color:var(--primary);flex-shrink:0;padding:4px 8px;font-size:.8rem;font-weight:600}.modal-topic-options{flex-direction:column;gap:10px;display:flex}.modal-option-card{cursor:pointer;background:#fff9;border:1px solid #0000001a;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.modal-option-card:hover{background:#fffffff2}.modal-option-card.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.modal-option-card input[type=radio]{accent-color:var(--primary)}.option-details{flex-direction:column;gap:2px;display:flex}.option-name{font-size:.92rem;font-weight:600}.option-subject{opacity:.6;font-size:.75rem}.other-syllabus-picker{background:#ffffff80;flex-direction:column;gap:10px;margin-top:6px;display:flex;padding:14px!important}.picker-title{opacity:.8;font-size:.82rem;font-weight:600}.syllabus-tree{overscroll-behavior:contain;flex-direction:column;gap:8px;max-height:180px;display:flex;overflow-y:auto}.subject-accordion{border:1px solid #0000000f;border-radius:10px;overflow:hidden}.subject-accordion-btn{cursor:pointer;background:#fffc;border:none;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:.85rem;font-weight:600;display:flex}.accordion-topic-list{background:#ffffff4d;flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.topic-chip{cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:14px;padding:6px 12px;font-size:.78rem;transition:all .2s}.topic-chip.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.custom-input-box{flex-direction:column;gap:4px;display:flex}.custom-input-box label{opacity:.75;font-size:.78rem}.custom-input-box input{border:1px solid #0000001f;border-radius:10px;outline:none;padding:10px 12px;font-size:.88rem}.modal-footer{border-top:1px solid #00000014;flex-shrink:0;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:14px;display:flex}.cancel-btn{cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;display:inline-flex}.start-focus-btn{background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:6px;padding:10px 20px;font-weight:600;display:flex}.start-focus-btn:disabled{opacity:.5;cursor:not-allowed}.recommendations-section{flex-direction:column;gap:16px;display:flex;padding:22px 24px!important}.recommendation-header-title{align-items:center;gap:10px;display:flex}.glow-amber{color:var(--warning)}.recommendation-badge{text-transform:uppercase;letter-spacing:.6px;background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning);border-radius:20px;padding:4px 10px;font-size:.72rem;font-weight:700}.recommendations-grid{flex-direction:column;gap:12px;display:flex}.recommendation-card{text-align:left;background:#ffffffbf;border:1px solid #0000000f;border-radius:16px;align-items:center;gap:14px;padding:14px 18px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.recommendation-card:before{content:"";border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.card-target:before{background:var(--warning)}.card-subject:before{background:var(--primary)}.recommendation-card:hover{background:#fffffff2;transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.rec-icon-wrapper{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.rec-icon-wrapper.amber{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning)}.rec-icon-wrapper.indigo{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}.rec-content{flex-direction:column;gap:3px;display:flex}.rec-tag{text-transform:uppercase;letter-spacing:.5px;opacity:.6;font-size:.7rem;font-weight:700}.rec-text{color:var(--text-color);margin:0;font-size:.96rem;font-weight:600}.monthly-trend-section{flex-direction:column;gap:16px;display:flex}.projected-scores-row{grid-template-columns:1fr;gap:12px;display:grid}.projected-scores-row.multi{grid-template-columns:1fr 1fr}.projected-score-card{background:color-mix(in srgb, var(--primary-soft) 28%, transparent);border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:16px;padding:16px 20px}.projected-scores-row.multi .projected-score-card{padding:14px 16px}.projected-scores-row.multi .score-number{font-size:1.7rem}.projected-scores-row.multi .score-label{font-size:.72rem}@media (width<=480px){.projected-scores-row.multi{grid-template-columns:1fr}}.score-main-info{text-align:left;flex-direction:column;gap:6px;display:flex}.score-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.score-value-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.score-number{font-family:var(--font-display);color:var(--text-color);font-size:2.2rem;font-weight:600;line-height:1}.score-badge{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.score-badge.positive{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.score-badge.negative{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.score-max{color:var(--text-muted);font-size:1rem;font-weight:600}.trend-topics-list{text-align:left;flex-direction:column;gap:10px;display:flex}.trend-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.82rem;font-weight:600}.trend-topics-list .empty-text{color:var(--text-muted);margin:0;padding:8px 2px;font-size:.88rem}.trend-rows{flex-direction:column;gap:8px;display:flex}.trend-topic-row{border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .2s;display:flex}.trend-topic-row.positive{background:color-mix(in srgb, var(--success) 8%, transparent);border:1px solid color-mix(in srgb, var(--success) 22%, transparent);border-left:4px solid var(--success)}.trend-topic-row.negative{background:color-mix(in srgb, var(--danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--danger) 22%, transparent);border-left:4px solid var(--danger)}.trend-topic-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trend-topic-name{font-size:.9rem;font-weight:600}.trend-change-pill{border-radius:12px;padding:3px 10px;font-size:.82rem;font-weight:700}.trend-topic-row.positive .trend-change-pill{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.trend-topic-row.negative .trend-change-pill{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.reason-tag,.loading-text,.empty-text,.section-hint,.modal-instruction,.option-subject{color:var(--text-muted);opacity:1}@media (prefers-reduced-motion:reduce){.amoeba-button.running{animation:none}}.calendar-page-container{flex-direction:column;gap:24px;width:100%;animation:.3s ease-in-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.calendar-header-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #fff6;flex-direction:column;gap:16px;display:flex}.calendar-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-title-wrapper{align-items:center;gap:12px;display:flex}.calendar-icon-badge{background:color-mix(in srgb, var(--primary) 12%, transparent);width:38px;height:38px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-title{color:var(--text-color);letter-spacing:-.01em;margin-bottom:2px;font-size:1.15rem;font-weight:600}.calendar-subtitle{color:var(--text-muted);font-size:.8rem}.calendar-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.refresh-calendar-btn{color:var(--text-color);background:0 0;border:1px solid #0000001f;border-radius:14px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;transition:background .2s,opacity .2s;display:flex}.refresh-calendar-btn:hover:not(:disabled){background:#0000000a}.refresh-calendar-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-calendar-btn .spin{animation:.9s linear infinite calendar-spin}@keyframes calendar-spin{to{transform:rotate(360deg)}}.add-event-btn{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 28%, transparent);border-radius:14px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.add-event-btn:hover{box-shadow:0 6px 18px color-mix(in srgb, var(--primary) 36%, transparent);transform:translateY(-2px)}.calendar-filter-bar{border-top:1px solid #0000000f;justify-content:flex-start;align-items:center;padding-top:12px;display:flex}.filter-pills{background:#0000000a;border-radius:16px;align-items:center;gap:6px;padding:4px;display:flex}.filter-pill{color:var(--text-color);opacity:.7;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.filter-pill.active{opacity:1;background:var(--card-bg);box-shadow:0 2px 8px var(--shadow-color)}.filter-pill.class-pill.active{color:var(--primary)}.filter-pill.test-pill.active{color:var(--danger)}.fullcalendar-wrapper{font-family:var(--font-ui);overflow:hidden;background:var(--card-bg)!important;box-shadow:0 4px 24px var(--shadow-color)!important;border-radius:24px!important;padding:20px!important}.fc .fc-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex;margin-bottom:20px!important}.fc .fc-toolbar-title{font-family:var(--font-display)!important;color:var(--text-color)!important;font-size:1.3rem!important;font-weight:600!important}.fc .fc-button{color:var(--text-color)!important;box-shadow:none!important;text-transform:capitalize!important;background:#0000000d!important;border:1px solid #00000014!important;border-radius:12px!important;padding:8px 14px!important;font-size:.85rem!important;font-weight:600!important;transition:all .2s!important}.fc .fc-button:hover{transform:translateY(-1px);background:#0000001a!important}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:var(--primary)!important;color:var(--on-primary)!important;border-color:#0000!important}.fc .fc-button-group{gap:4px}.fc .fc-button-group>.fc-button{border-radius:12px!important}.fc .fc-col-header-cell{background:#00000005;padding:10px 0!important}.fc .fc-col-header-cell-cushion{opacity:.7;text-transform:uppercase!important;color:var(--text-color)!important;font-size:.8rem!important;font-weight:700!important;text-decoration:none!important}.fc .fc-daygrid-day{cursor:pointer;transition:background .15s}.fc .fc-daygrid-day:hover{background:color-mix(in srgb, var(--primary) 5%, transparent)!important}.fc .fc-daygrid-day-number{color:var(--text-color)!important;padding:6px 8px!important;font-size:.85rem!important;font-weight:700!important;text-decoration:none!important}.fc .fc-day-today{background:color-mix(in srgb, var(--primary-soft) 28%, transparent)!important}.fc .fc-day-today .fc-daygrid-day-number{background:var(--primary);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:4px;display:flex;color:var(--on-primary)!important}.fc .fc-daygrid-event-harness{max-width:100%!important;overflow:hidden!important}.fc .fc-daygrid-event{white-space:nowrap!important;max-width:100%!important;overflow:hidden!important}.fc .fc-event-main{text-overflow:ellipsis!important;white-space:nowrap!important;width:100%!important;min-width:0!important;padding:2px 4px!important;overflow:hidden!important}.fc-event{cursor:pointer;transition:transform .15s;box-shadow:0 1px 3px #0000000d;border:none!important;border-radius:8px!important;max-width:100%!important;margin-top:3px!important;padding:2px 4px!important;overflow:hidden!important}.fc-event:hover{transform:scale(1.01)}.fc-event-class{background:color-mix(in srgb, var(--primary-soft) 45%, var(--card-bg))!important;border-left:4px solid var(--primary)!important;color:var(--primary-ink)!important}.fc-event-test{background:color-mix(in srgb, var(--danger) 14%, var(--card-bg))!important;border-left:4px solid var(--danger)!important;color:var(--danger)!important}.fc-custom-event-inner{align-items:center;gap:5px;width:100%;min-width:0;font-size:.72rem;line-height:1.2;display:flex;overflow:hidden}.fc-event-icon{flex-shrink:0;align-items:center;display:flex}.fc-event-text{flex-direction:column;width:100%;min-width:0;display:flex;overflow:hidden}.fc-event-title-text{white-space:nowrap;text-overflow:ellipsis;width:100%;font-weight:700;display:block;overflow:hidden}.fc-event-time-text{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;display:block;overflow:hidden}.fc .fc-popover{background:var(--card-bg)!important;z-index:100!important;border:1px solid #0000001a!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 12px 32px #00000026!important}.fc .fc-popover-header{background:#0000000a!important;padding:8px 12px!important;font-weight:700!important}.fc .fc-list-event{cursor:pointer!important;border-radius:12px!important}.fc .fc-list-day-cushion{background:#0000000a!important;font-weight:700!important}.fc .fc-list-event-title a{color:var(--text-color)!important;font-weight:700!important;text-decoration:none!important}.fc .fc-list-event-graphic{display:none!important}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.event-detail-modal,.add-event-modal{flex-direction:column;gap:16px;width:100%;max-width:520px;padding:24px;display:flex;background:var(--card-bg)!important;border-radius:24px!important;box-shadow:0 20px 40px #0003!important}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{color:var(--text-color);font-size:1.15rem;font-weight:700}.modal-type-header{align-items:center;gap:8px;display:flex}.event-type-tag{letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.event-type-tag.tag-class{background:color-mix(in srgb, var(--primary-soft) 40%, transparent);color:var(--primary-ink)}.event-type-tag.tag-test{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.modal-subtype{opacity:.65;font-size:.85rem;font-weight:600}.modal-close-btn{color:var(--text-color);opacity:.6;border-radius:50%;padding:6px}.modal-close-btn:hover{opacity:1;background:#0000000d}.modal-event-title{color:var(--text-color);font-size:1.35rem;font-weight:700}.modal-meta-grid{background:#00000008;border-radius:14px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.meta-item{color:var(--text-color);align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:flex}.modal-syllabus-section{flex-direction:column;gap:8px;display:flex}.modal-syllabus-section h4{color:var(--text-color);opacity:.8;align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.syllabus-pill-group{flex-wrap:wrap;gap:6px;display:flex}.syllabus-pill{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);border-radius:8px;padding:4px 10px;font-size:.78rem;font-weight:600}.modal-footer{border-top:1px solid #00000014;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.delete-event-btn{color:var(--danger);border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.delete-event-btn:hover{background:#ef444414}.close-modal-btn{color:var(--text-color);background:#0000000f;border-radius:12px;padding:8px 20px;font-size:.9rem;font-weight:600}.close-modal-btn:hover{background:#0000001a}.add-event-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-color);text-transform:uppercase;letter-spacing:.03em;opacity:.75;font-size:.8rem;font-weight:700}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time]{width:100%;color:var(--text-color);background:color-mix(in srgb, var(--card-bg) 80%, var(--bg-color));border:1px solid #00000026;border-radius:12px;outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem}:is(.form-group input[type=text],.form-group input[type=date],.form-group input[type=time]):focus{border-color:var(--primary);background:var(--card-bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent)}.type-toggle-group{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toggle-btn{background:color-mix(in srgb, var(--text-color) 5%, transparent);color:var(--text-muted);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.85rem;font-weight:600;display:flex}.toggle-btn.class-toggle.selected{background:color-mix(in srgb, var(--primary-soft) 40%, transparent);color:var(--primary-ink);border:1px solid var(--primary)}.toggle-btn.test-toggle.selected{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border:1px solid var(--danger)}.form-row{grid-template-columns:1.5fr 1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.cancel-btn{color:var(--text-color);background:#0000000d;border-radius:12px;padding:10px 18px;font-weight:600}.submit-btn{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 28%, transparent);border-radius:12px;padding:10px 22px;font-weight:600}@media (width<=768px){.fc .fc-toolbar{flex-direction:column;align-items:stretch;gap:8px}.fc .fc-toolbar-chunk{justify-content:center;display:flex}.form-row{grid-template-columns:1fr}}.reports-container{flex-direction:column;gap:20px;width:100%;max-width:680px;margin:0 auto;display:flex}.reports-header-card{padding:16px 20px}.reports-title-wrapper{align-items:center;gap:12px;display:flex}.reports-icon-badge{background:color-mix(in srgb, var(--primary) 12%, transparent);width:38px;height:38px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.reports-title{color:var(--text-color);letter-spacing:-.01em;margin-bottom:2px;font-size:1.15rem;font-weight:600}.reports-subtitle{color:var(--text-muted);font-size:.8rem}.progress-chart-card{padding:16px 20px 12px}.progress-chart-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.period-toggle{background:color-mix(in srgb, var(--text-color) 6%, transparent);border-radius:10px;flex-shrink:0;padding:3px;display:flex}.period-toggle-btn{color:var(--text-color);opacity:.65;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:550}.period-toggle-btn.active{opacity:1;background:var(--card-bg,#fff);color:var(--primary-ink);box-shadow:0 1px 3px var(--shadow-color)}.progress-chart-wrap{width:100%;min-height:240px;color:var(--text-color);opacity:.9}.progress-chart-empty{text-align:center;opacity:.65;padding:36px 12px;font-size:.85rem}.progress-chart-error{color:var(--danger);opacity:.9}@media (width<=560px){.progress-chart-header{flex-direction:column;align-items:stretch}.period-toggle{align-self:flex-start}}.reports-loading,.reports-empty,.reports-error{text-align:center;opacity:.8;flex-direction:column;align-items:center;gap:12px;display:flex;padding:32px!important}.reports-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.subjects-list{flex-direction:column;gap:16px;display:flex}.subject-card{border-radius:20px;overflow:hidden;padding:0!important}.subject-card-header{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;transition:background .2s;display:flex}.subject-card-header:hover{background:#fff6}.subject-title-box{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.subject-name{font-size:1.15rem;font-weight:600}.topic-count{opacity:.6;font-size:.78rem}.subject-rating-box{flex-shrink:0;align-items:center;gap:12px;display:flex}.rating-pill{border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;font-weight:700;display:flex}.expand-icon-btn{cursor:pointer;opacity:.6;background:0 0;border:none;align-items:center;padding:0;display:flex}.subject-progress-bg{background:#0000000f;width:100%;height:4px}.subject-progress-fill{height:100%;transition:width .4s}.topics-expansion{text-align:left;background:#ffffff4d;border-top:1px solid #0000000d;flex-direction:column;gap:12px;padding:16px 24px 20px;display:flex}.expansion-title{opacity:.6;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:600}.topic-rows-list{flex-direction:column;gap:10px;display:flex}.topic-rating-row{background:#ffffffb3;border:1px solid #0000000a;border-radius:12px;flex-direction:column;padding:12px 14px;display:flex}.topic-main-info{flex-direction:column;gap:8px;width:100%;display:flex}.topic-header-line{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.topic-title-wrapper{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.topic-text{white-space:normal;word-break:break-word;font-size:.9rem;font-weight:600;line-height:1.3}.topic-meta-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topic-badges-line{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.metric-short{display:none}.weightage-badge{opacity:.6;text-overflow:ellipsis;white-space:nowrap;background:#0000000d;border-radius:6px;max-width:100%;padding:2px 6px;font-size:.72rem;overflow:hidden}.metric-badge{background:color-mix(in srgb, var(--primary) 22%, transparent);color:var(--primary-ink);border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:600}.today-time-badge{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning);border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.topic-score-col{flex-shrink:0;align-items:center;gap:8px;display:flex}.score-badge{font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;min-width:2ch;font-size:.95rem;font-weight:600}.status-tag{border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:500}.status-tag.rated{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.status-tag.unrated{background:color-mix(in srgb, var(--text-muted) 16%, transparent);color:var(--text-muted)}.topic-preference-btns{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.topic-pref-btn{border:1px solid var(--border-color);background:color-mix(in srgb, var(--card-bg) 80%, transparent);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.topic-pref-btn:hover{background:var(--card-bg);border-color:color-mix(in srgb, var(--text-color) 20%, transparent);color:var(--text-color);transform:scale(1.1)}.topic-pref-btn.liked{background:color-mix(in srgb, var(--success) 15%, transparent);border-color:var(--success);color:var(--success)}.topic-pref-btn.liked:hover{background:color-mix(in srgb, var(--success) 25%, transparent);color:var(--success)}.topic-pref-btn.disliked{background:color-mix(in srgb, var(--danger) 15%, transparent);border-color:var(--danger);color:var(--danger)}.topic-pref-btn.disliked:hover{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--danger)}@media (width<=520px){.reports-container{gap:12px}.reports-header-card{padding:12px 14px}.reports-icon-badge{border-radius:10px;width:32px;height:32px}.reports-icon-badge svg{width:16px;height:16px}.reports-title{margin-bottom:0;font-size:1rem}.reports-subtitle{display:none}.subjects-list{gap:10px}.subject-card{border-radius:16px}.subject-card-header{gap:8px;padding:12px 14px}.subject-name{font-size:1rem}.topic-count{font-size:.72rem}.subject-rating-box{gap:6px}.rating-pill{gap:4px;padding:4px 10px;font-size:.85rem}.rating-pill svg{width:14px;height:14px}.expand-icon-btn svg{width:18px;height:18px}.subject-progress-bg{height:3px}.topics-expansion{gap:8px;padding:10px 10px 12px}.expansion-title{display:none}.topic-rows-list{gap:6px}.topic-rating-row{background:#ffffff8c;border-radius:10px;padding:10px}.topic-main-info{gap:6px}.topic-header-line{align-items:center;gap:10px}.topic-text{font-size:.84rem}.topic-meta-line{gap:8px}.topic-badges-line{gap:5px}.metric-full{display:none}.metric-short{display:inline}.metric-badge,.weightage-badge,.today-time-badge,.status-tag{padding:1px 6px;font-size:.68rem}.topic-pref-btn{width:24px;height:24px}.topic-pref-btn svg{width:12px;height:12px}.score-badge{font-size:.95rem}}.practice-container{flex-direction:column;gap:20px;width:100%;max-width:680px;margin:0 auto;padding-bottom:32px;display:flex}.practice-header-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.practice-title-wrapper{align-items:center;gap:14px;display:flex}.practice-icon-badge{width:44px;height:44px;color:var(--primary,#4a6b4f);background:#4a6b4f1f;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.practice-title{color:var(--text-color,#334155);letter-spacing:-.02em;margin:0 0 2px;font-size:1.25rem;font-weight:700}.practice-subtitle{color:var(--text-color,#334155);opacity:.7;margin:0;font-size:.85rem}.active-topic-badge{color:var(--primary,#4a6b4f);background:#4a6b4f1a;border:1px solid #4a6b4f33;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;display:flex}.active-topic-badge .topic-name{color:var(--text-color,#334155);font-weight:700}.practice-selection-card{flex-direction:column;gap:22px;padding:24px;display:flex}.section-heading{color:var(--text-color,#334155);align-items:center;gap:10px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.heading-icon{color:var(--primary,#4a6b4f)}.selection-box{flex-direction:column;gap:10px;display:flex}.selection-label{color:var(--text-color,#334155);opacity:.85;font-size:.9rem;font-weight:600}.subject-pills{flex-wrap:wrap;gap:10px;display:flex}.subject-pill{color:var(--text-color,#334155);cursor:pointer;background:#fff9;border:1px solid #00000014;border-radius:20px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.subject-pill:hover{background:#fffffff2;border-color:#4a6b4f4d}.subject-pill.active{background:var(--primary,#4a6b4f);border-color:var(--primary,#4a6b4f);color:#fff;font-weight:600;box-shadow:0 4px 14px #4a6b4f40}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.topic-card{cursor:pointer;background:#ffffff80;border:1px solid #00000012;border-radius:16px;padding:14px 16px;transition:all .2s}.topic-card:hover{border-color:var(--primary,#4a6b4f);background:#ffffffe6;transform:translateY(-2px)}.topic-card.selected{border-color:var(--primary,#4a6b4f);box-shadow:0 0 0 1px var(--primary,#4a6b4f);background:#4a6b4f14}.topic-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.topic-title{color:var(--text-color,#334155);font-size:.92rem;font-weight:600}.radio-check{color:#fff;background:0 0;border:2px solid #00000026;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.topic-card.selected .radio-check{background:var(--primary,#4a6b4f);border-color:var(--primary,#4a6b4f)}.topic-meta{color:var(--text-color,#334155);opacity:.6;margin:0;font-size:.78rem}.start-action-box{justify-content:flex-end;margin-top:8px;display:flex}.start-quiz-btn{background:var(--primary,#4a6b4f);color:#fff;cursor:pointer;border:none;border-radius:16px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 16px #4a6b4f40}.start-quiz-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4a6b4f59}.start-quiz-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.quiz-wrapper{flex-direction:column;gap:16px;display:flex}.quiz-progress-card{flex-direction:column;gap:10px;padding:16px 20px;display:flex}.progress-info{color:var(--text-color,#334155);opacity:.8;justify-content:space-between;font-size:.85rem;display:flex}.question-count strong{color:var(--primary,#4a6b4f)}.progress-bar-track{background:#0000000f;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:var(--primary,#4a6b4f);border-radius:3px;height:100%;transition:width .3s}.question-card{flex-direction:column;gap:20px;padding:24px;display:flex}.question-header{align-items:flex-start;gap:12px;display:flex}.question-badge{color:var(--primary,#4a6b4f);white-space:nowrap;background:#4a6b4f1f;border:1px solid #4a6b4f33;border-radius:8px;padding:4px 10px;font-size:.85rem;font-weight:700}.question-text{color:var(--text-color,#334155);margin:0;font-size:1.08rem;font-weight:600;line-height:1.55}.options-list{flex-direction:column;gap:10px;display:flex}.option-button{color:var(--text-color,#334155);text-align:left;cursor:pointer;background:#fff9;border:1px solid #00000014;border-radius:16px;align-items:center;gap:14px;width:100%;padding:14px 18px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.option-button:hover:not(.disabled){border-color:var(--primary,#4a6b4f);background:#fffffff2}.option-badge{width:30px;height:30px;color:var(--text-color,#334155);opacity:.8;background:#0000000d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.option-text{flex-grow:1}.option-button.correct-selected{border-color:var(--primary,#4a6b4f);color:var(--text-color,#334155);background:#4a6b4f24}.option-button.correct-selected .option-badge{background:var(--primary,#4a6b4f);color:#fff;opacity:1}.option-button.wrong-selected{color:var(--text-color,#334155);background:#dc26261a;border-color:#dc2626}.option-button.wrong-selected .option-badge{color:#fff;opacity:1;background:#dc2626}.option-button.correct-highlight{border:1.5px dashed var(--primary,#4a6b4f);background:#4a6b4f14}.option-button.disabled{opacity:.75;cursor:default}.option-icon.icon-correct{color:var(--primary,#4a6b4f)}.option-icon.icon-wrong{color:#dc2626}.solution-container{border-radius:16px;flex-direction:column;gap:12px;padding:18px 20px;animation:.3s fadeIn;display:flex}.solution-container.success{background:#4a6b4f14;border:1px solid #4a6b4f40}.solution-container.warning{background:#dc26260f;border:1px solid #dc262640}.feedback-status{align-items:center;gap:8px;display:flex}.status-text{font-size:.98rem;font-weight:600}.text-success{color:var(--primary,#4a6b4f)}.text-danger{color:#dc2626}.explanation-body{border-top:1px solid #0000000f;flex-direction:column;gap:8px;margin-top:4px;padding-top:10px;display:flex}.explanation-title{color:#d97706;align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.explanation-text{color:var(--text-color,#334155);opacity:.9;margin:0;font-size:.9rem;line-height:1.55}.solution-steps-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.solution-step-item{color:var(--text-color,#334155);align-items:flex-start;gap:8px;font-size:.88rem;display:flex}.step-num{width:20px;height:20px;color:var(--text-color,#334155);background:#0000000f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:.72rem;font-weight:700;display:flex}.quiz-navigation-footer{border-top:1px solid #0000000f;justify-content:space-between;align-items:center;margin-top:8px;padding-top:16px;display:flex}.btn-secondary{color:var(--text-color,#334155);cursor:pointer;background:#0000000a;border:1px solid #00000014;border-radius:14px;align-items:center;gap:6px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover:not(:disabled){background:#00000014}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--primary,#4a6b4f);color:#fff;cursor:pointer;border:none;border-radius:14px;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #4a6b4f40}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #4a6b4f59}.summary-card{text-align:center;flex-direction:column;align-items:center;gap:24px;padding:32px 24px;display:flex}.summary-banner{flex-direction:column;align-items:center;gap:10px;display:flex}.award-icon-box{width:72px;height:72px;color:var(--primary,#4a6b4f);background:#4a6b4f1f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.summary-title{color:var(--text-color,#334155);margin:0;font-size:1.5rem;font-weight:700}.summary-subtitle{color:var(--text-color,#334155);opacity:.7;margin:0;font-size:.95rem}.score-stat-box{background:#fff9;border:1px solid #00000014;border-radius:20px;flex-direction:column;align-items:center;min-width:240px;padding:20px 36px;display:flex}.score-number-display{align-items:baseline;gap:4px;display:flex}.score-obtained{color:var(--primary,#4a6b4f);font-size:2.75rem;font-weight:800}.score-total{color:var(--text-color,#334155);opacity:.6;font-size:1.4rem;font-weight:600}.score-percentage{color:var(--primary,#4a6b4f);margin-top:4px;font-size:1rem;font-weight:600}.question-breakdown-list{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.breakdown-title{color:var(--text-color,#334155);margin-bottom:4px;font-size:1rem;font-weight:600}.breakdown-item{background:#ffffff80;border:1px solid #00000012;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.breakdown-left{align-items:center;gap:10px;display:flex;overflow:hidden}.breakdown-index{color:var(--text-color,#334155);background:#0000000f;border-radius:6px;padding:3px 7px;font-size:.78rem;font-weight:700}.breakdown-qtext{color:var(--text-color,#334155);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.result-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;display:flex}.badge-success{color:var(--primary,#4a6b4f);background:#4a6b4f1f}.badge-danger{color:#dc2626;background:#dc26261a}.summary-actions-footer{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.enrollment-editor{flex-direction:column;gap:12px;display:flex}.enrollment-muted{color:var(--text-muted);font-size:.9rem}.enrollment-error{color:var(--danger);font-size:.9rem}.enrollment-syllabus{border:1px solid var(--border-color);background:color-mix(in srgb, var(--text-color) 3%, transparent);border-radius:14px;padding:12px 14px;transition:border-color .2s,background .2s}.enrollment-syllabus.selected{border-color:color-mix(in srgb, var(--primary) 45%, transparent);background:color-mix(in srgb, var(--primary) 8%, transparent)}.enrollment-syllabus-header{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.enrollment-syllabus-header input{accent-color:var(--primary);margin-top:4px}.enrollment-syllabus-name{color:var(--text-color);font-size:.98rem;font-weight:600}.enrollment-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.enrollment-tag{opacity:.85;background:#0000000f;border-radius:999px;padding:2px 8px;font-size:.72rem}.enrollment-subjects{flex-direction:column;gap:12px;margin-top:12px;padding-left:28px;display:flex}.enrollment-group-label{text-transform:uppercase;letter-spacing:.04em;opacity:.55;margin-bottom:6px;font-size:.75rem;display:block}.enrollment-chip-row{flex-wrap:wrap;gap:6px;display:flex}.enrollment-chip{background:#0000000d;border-radius:999px;padding:4px 10px;font-size:.82rem}.enrollment-chip.locked{opacity:.85}.enrollment-optional-list{flex-direction:column;gap:6px;display:flex}.enrollment-optional-item{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.enrollment-optional-item input{accent-color:var(--primary)}.settings-page-container{flex-direction:column;gap:16px;width:100%;max-width:540px;margin:0 auto;display:flex}.settings-header-card{padding:16px 20px}.settings-title-wrapper{align-items:center;gap:12px;display:flex}.settings-icon-badge{background:color-mix(in srgb, var(--primary) 12%, transparent);width:38px;height:38px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-title{color:var(--text-color);letter-spacing:-.01em;margin-bottom:2px;font-size:1.15rem;font-weight:600}.settings-subtitle{color:var(--text-muted);font-size:.8rem}.settings-section-title{color:var(--text-color);align-items:center;gap:8px;margin-bottom:14px;font-size:1rem;font-weight:600;display:flex}.theme-options-list{flex-direction:column;gap:10px;display:flex}.theme-option-item{cursor:pointer;background:color-mix(in srgb, var(--text-color) 4%, transparent);color:var(--text-color);border:1px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;font-size:.92rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:flex}.theme-option-item:hover{background:color-mix(in srgb, var(--text-color) 7%, transparent)}.theme-option-item.active{background:var(--primary);color:var(--on-primary)}.theme-swatch{border:1px solid color-mix(in srgb, var(--text-color) 14%, transparent);border-radius:50%;flex-shrink:0;width:22px;height:22px}.theme-option-item.active .theme-swatch{border-color:color-mix(in srgb, var(--on-primary) 40%, transparent)}.theme-swatch-dawn{background:linear-gradient(135deg,#f6d7a4 48%,#c4985a 52%)}.theme-swatch-dusk{background:linear-gradient(135deg,#f4f1f8 48%,#2557a0 52%)}.theme-swatch-midnight{background:linear-gradient(135deg,#0a1628 48%,#3ecfbf 52%)}.theme-swatch-mountain{background:linear-gradient(135deg,#f3d6bc 48%,#6a7a54 52%)}.settings-section-hint{color:var(--text-muted);margin:-6px 0 14px;font-size:.82rem;line-height:1.4}.settings-error{color:var(--danger);margin-top:12px;font-size:.85rem}.settings-success{color:var(--success);margin-top:12px;font-size:.85rem}.settings-save-btn{background:var(--primary);width:100%;color:var(--on-primary);cursor:pointer;border:none;border-radius:12px;margin-top:14px;padding:11px 14px;font-size:.92rem;font-weight:600}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.records-container{flex-direction:column;gap:20px;width:100%;max-width:680px;margin:0 auto;display:flex}.records-header-card,.records-section{padding:16px 20px}.records-section{scroll-margin-top:12px}.records-title-wrapper{align-items:center;gap:12px;display:flex}.records-icon-badge{background:color-mix(in srgb, var(--primary) 12%, transparent);width:38px;height:38px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.records-title{color:var(--text-color);letter-spacing:-.01em;margin-bottom:2px;font-size:1.15rem;font-weight:600}.records-subtitle{color:var(--text-muted);font-size:.8rem}.records-chart-wrap{width:100%;min-height:260px;color:var(--text-color);opacity:.9;margin-top:12px}.records-empty{text-align:center;opacity:.65;justify-content:center;align-items:center;gap:8px;padding:36px 12px;font-size:.85rem;display:flex}.records-error{color:var(--danger);opacity:.9}.records-totals{flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:4px;display:flex}.records-total-pill{background:color-mix(in srgb, var(--text-color) 6%, transparent);color:var(--text-color);opacity:.85;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:550;display:inline-flex}.records-total-grand{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary-ink);opacity:1}.records-total-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.journal-today{flex-direction:column;gap:12px;margin-top:16px;display:flex}.journal-today-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.journal-day-label{color:var(--text-color);opacity:.85;font-size:.9rem;font-weight:600}.journal-saved-hint{opacity:.55;font-size:.75rem}.journal-saved-banner{background:color-mix(in srgb, var(--success) 14%, transparent);border:1px solid color-mix(in srgb, var(--success) 28%, transparent);color:var(--success);border-radius:12px;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:.9rem;font-weight:650;display:flex}.journal-form{flex-direction:column;gap:12px;display:flex}.journal-block{background:color-mix(in srgb, var(--text-color) 4%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 8%, transparent);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.journal-block-header{color:var(--text-color);align-items:center;gap:8px;font-size:.88rem;font-weight:650;display:flex}.journal-block-header svg{color:var(--primary-ink);opacity:.85;flex-shrink:0}.journal-prompt{color:var(--text-color);opacity:.88;margin:0;font-size:.86rem;font-weight:600}.journal-focus-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.journal-focus-value{color:var(--primary-ink);white-space:nowrap;font-size:.82rem;font-weight:650}.journal-focus-slider{appearance:none;background:linear-gradient(to right, color-mix(in srgb, var(--primary-soft) 85%, #fff) 0%, color-mix(in srgb, var(--primary-soft) 85%, #fff) var(--focus-pct,44%), color-mix(in srgb, var(--text-color) 14%, transparent) var(--focus-pct,44%), color-mix(in srgb, var(--text-color) 14%, transparent) 100%);cursor:pointer;border-radius:999px;outline:none;width:100%;height:8px}.journal-focus-slider::-webkit-slider-thumb{appearance:none;background:color-mix(in srgb, var(--primary-soft) 70%, #fff);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 5px #1f6b5447}.journal-focus-slider::-moz-range-thumb{background:color-mix(in srgb, var(--primary-soft) 70%, #fff);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 5px #1f6b5447}.journal-focus-slider::-moz-range-track{background:0 0;border-radius:999px;height:8px}.journal-focus-scale{opacity:.55;justify-content:space-between;gap:12px;font-size:.72rem;display:flex}.journal-mood-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.journal-mood-btn{border:1.5px solid color-mix(in srgb, var(--text-color) 12%, transparent);background:color-mix(in srgb, var(--card-bg,#fff) 70%, transparent);min-height:72px;color:var(--text-color);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.journal-mood-btn:hover{border-color:color-mix(in srgb, var(--primary-soft) 55%, transparent)}.journal-mood-btn.selected{border-color:var(--primary-ink);background:color-mix(in srgb, var(--primary-soft) 22%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-soft) 28%, transparent)}.journal-mood-emoji{font-size:1.35rem;line-height:1}.journal-mood-label{opacity:.8;font-size:.7rem;font-weight:600}.journal-field{flex-direction:column;gap:6px;display:flex}.journal-textarea{resize:vertical;border:1px solid color-mix(in srgb, var(--text-color) 12%, transparent);background:color-mix(in srgb, var(--card-bg,#fff) 70%, transparent);width:100%;min-height:76px;color:var(--text-color);border-radius:14px;padding:12px 14px;font-family:inherit;font-size:.9rem;line-height:1.45}.journal-textarea:focus{border-color:color-mix(in srgb, var(--primary) 45%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);outline:none}.journal-actions{flex-wrap:wrap;gap:8px;display:flex}.journal-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.82rem;font-weight:550;display:inline-flex}.journal-btn:disabled{opacity:.45;cursor:not-allowed}.journal-btn-primary{background:var(--primary);color:var(--on-primary)}.journal-btn-danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.journal-history{border-top:1px solid color-mix(in srgb, var(--text-color) 8%, transparent);margin-top:22px;padding-top:16px}.journal-history-title{color:var(--text-color);opacity:.8;margin-bottom:10px;font-size:.88rem;font-weight:600}.journal-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.journal-item{background:color-mix(in srgb, var(--text-color) 4%, transparent);border-radius:14px;padding:12px 14px}.journal-item-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.journal-item-date{opacity:.75;font-size:.8rem;font-weight:600}.journal-item-actions{align-items:center;gap:4px;display:flex}.journal-icon-btn{min-width:28px;height:28px;color:var(--text-color);opacity:.55;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-family:inherit;font-size:.75rem;display:inline-flex}.journal-icon-btn:hover{opacity:.95;background:color-mix(in srgb, var(--text-color) 8%, transparent)}.journal-icon-danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.journal-item-content{color:var(--text-color);opacity:.85;white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.45}.journal-item-body{flex-direction:column;gap:10px;display:flex}.journal-item-chips{flex-wrap:wrap;gap:6px;display:flex}.journal-chip{background:color-mix(in srgb, var(--primary-soft) 22%, transparent);color:var(--primary-ink);border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:650;display:inline-flex}.journal-item-field{flex-direction:column;gap:2px;display:flex}.journal-item-field-label{opacity:.55;font-size:.72rem;font-weight:650}.journal-item-field p{color:var(--text-color);opacity:.85;white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.45}@media (width<=560px){.records-header-card,.records-section{padding:14px 16px}.journal-today-header{flex-direction:column;align-items:flex-start;gap:4px}.journal-mood-row{gap:6px}.journal-mood-btn{min-height:64px;padding:6px 2px}.journal-mood-emoji{font-size:1.15rem}.journal-mood-label{font-size:.62rem}}.login-page{justify-content:center;align-items:center;min-height:80vh;padding:20px;display:flex}.login-card{border:1px solid var(--color-card-border,#fff6);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:28px;width:100%;max-width:440px;padding:36px 32px;animation:.3s ease-out fadeInCard;box-shadow:0 12px 40px #00000014}@keyframes fadeInCard{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:22px}.login-welcome-title{font-family:var(--font-ui,sans-serif);color:var(--color-text,#2c3e35);letter-spacing:-.01em;margin-bottom:10px;font-size:1.35rem;font-weight:500}.login-brand-row{justify-content:center;align-items:center;gap:12px;margin-bottom:14px;display:flex}.login-brand-logo{object-fit:contain;width:auto;max-width:140px;height:46px;display:block}.login-brand-name{font-family:var(--font-brand,"Century Schoolbook", "New Century Schoolbook", "TeX Gyre Schola", "Century Schoolbook L", Georgia, serif);color:var(--color-text,#232326);letter-spacing:0;text-transform:lowercase;margin:0;font-size:2.1rem;font-weight:400;line-height:1}.login-subtitle{opacity:.72;font-size:.9rem;line-height:1.4}.student-channel-switcher{background:var(--color-bg-secondary,#00000008);border:1px solid var(--color-border,#0000000f);border-radius:12px;gap:4px;margin-bottom:18px;padding:3px;display:flex}.channel-pill{color:var(--color-text,#444);opacity:.75;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.84rem;font-weight:600;transition:all .2s;display:flex}.channel-pill:hover{opacity:1}.channel-pill.active{background:var(--color-surface,#fff);color:var(--color-primary,#4a6b4f);opacity:1;box-shadow:0 2px 6px #0000000d}.error-banner{color:#dc2626;background-color:#dc262614;border:1px solid #dc262633;border-radius:14px;margin-bottom:18px;padding:12px 14px;font-size:.86rem;line-height:1.4;animation:.2s fadeInCard}.info-banner{color:#2563eb;background-color:#3b82f614;border:1px solid #3b82f633;border-radius:14px;margin-bottom:18px;padding:10px 14px;font-size:.84rem;animation:.2s fadeInCard}.login-form{flex-direction:column;gap:18px;display:flex}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-group label{opacity:.85;font-size:.86rem;font-weight:600}.form-hint{opacity:.6;margin-top:2px;font-size:.78rem}.form-group input{border:1px solid var(--color-border,#0000001f);background:var(--color-input-bg,#ffffffe6);color:inherit;border-radius:14px;outline:none;padding:12px 16px;font-size:.95rem;transition:all .2s}.form-group input:focus{border-color:var(--color-primary,#4a6b4f);box-shadow:0 0 0 3px #4a6b4f29}.phone-input-row{gap:8px;display:flex}.country-code-select{border:1px solid var(--color-border,#0000001f);background:var(--color-input-bg,#ffffffe6);color:inherit;cursor:pointer;border-radius:14px;outline:none;padding:12px;font-size:.92rem;font-weight:500;transition:all .2s}.country-code-select:focus{border-color:var(--color-primary,#4a6b4f)}.phone-input-row input{flex:1}.otp-sent-banner{background:var(--color-primary-light,#4a6b4f14);border:1px solid #4a6b4f2e;border-radius:14px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.otp-sent-info{flex-direction:column;gap:2px;display:flex}.otp-sent-label{opacity:.7;font-size:.75rem}.otp-sent-number{color:var(--color-primary,#4a6b4f);font-size:.92rem;font-weight:600}.change-number-btn{color:var(--color-primary,#4a6b4f);cursor:pointer;background:0 0;border:1px solid #4a6b4f40;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.change-number-btn:hover{background:#4a6b4f1f}.otp-boxes-row{justify-content:center;gap:6px;margin-top:6px;display:flex}.otp-box-input{text-align:center;border:1.5px solid var(--color-border,#00000026);background:var(--color-input-bg,#fffffff2);border-radius:10px;outline:none;flex:1 1 0;min-width:32px;max-width:46px;height:52px;padding:0;font-size:1.25rem;font-weight:700;transition:all .2s}.otp-box-input:focus{border-color:var(--color-primary,#4a6b4f);transform:scale(1.04);box-shadow:0 0 0 3px #4a6b4f33}.login-submit-button{background:var(--color-primary,#4a6b4f);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:14px;font-size:.98rem;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #4a6b4f47}.login-submit-button:hover:not(:disabled){background:#3b573f;transform:translateY(-1px);box-shadow:0 6px 18px #4a6b4f59}.login-submit-button:active:not(:disabled){transform:translateY(0)}.login-submit-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.otp-resend-row{justify-content:center;align-items:center;margin-top:4px;display:flex}.resend-countdown{opacity:.65;font-size:.84rem}.resend-button{color:var(--color-primary,#4a6b4f);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.86rem;font-weight:600;transition:background .2s;display:inline-flex}.resend-button:hover{background:var(--color-primary-light,#4a6b4f1a)}.admin-login-link-row{justify-content:center;align-items:center;margin-top:8px;padding-top:10px;display:flex}.admin-link-btn{color:var(--color-text,#444);opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.admin-link-btn:hover{opacity:1;color:var(--color-primary,#4a6b4f);background:var(--color-primary-light,#4a6b4f14)}.cognito-auth-box{flex-direction:column;gap:16px;padding:8px 0 16px;display:flex}.cognito-desc{color:var(--color-text,#374151);opacity:.82;text-align:center;margin:0;font-size:.88rem;line-height:1.5}.cognito-signin-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);padding:12px 20px;font-size:.95rem;box-shadow:0 4px 14px #2563eb59}.cognito-signin-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 6px 18px #2563eb73}.login-divider{text-align:center;color:var(--color-text,#6b7280);opacity:.55;text-transform:uppercase;letter-spacing:.05em;align-items:center;margin:12px 0 16px;font-size:.78rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid var(--color-border,#0000001f);flex:1}.login-divider span{padding:0 10px}.magic-link-sent-view{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:10px 0;animation:.25s ease-out fadeInCard;display:flex}.magic-link-icon-wrap{background:var(--color-primary-light,#4a6b4f1f);color:var(--color-primary,#4a6b4f);border-radius:50%;margin-bottom:4px;padding:18px;display:inline-flex}.magic-link-sent-view h2{color:var(--color-text,#2c3e35);margin:0;font-size:1.25rem;font-weight:700}.magic-link-desc{opacity:.78;margin:0;font-size:.9rem;line-height:1.5}.magic-link-desc strong{color:var(--color-primary,#4a6b4f)}.magic-link-note{opacity:.6;background:var(--color-bg-secondary,#00000008);border:1px dashed var(--color-border,#0000001a);border-radius:12px;padding:10px 14px;font-size:.8rem;line-height:1.4}.onboarding-page{justify-content:center;align-items:center;min-height:70vh;padding:24px 16px;display:flex}.onboarding-card{flex-direction:column;gap:20px;width:100%;max-width:560px;padding:28px 24px;display:flex}.onboarding-header{text-align:center}.onboarding-icon{width:52px;height:52px;color:var(--primary,#4a6b4f);background:#4a6b4f1f;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.onboarding-header h1{color:var(--text-color);margin-bottom:8px;font-size:1.45rem;font-weight:650}.onboarding-header p{opacity:.7;max-width:420px;margin:0 auto;font-size:.92rem;line-height:1.45}.onboarding-error{color:#b42318;text-align:center;font-size:.88rem}.onboarding-continue{background:var(--primary,#4a6b4f);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:600;transition:opacity .2s;display:flex}.onboarding-continue:disabled{opacity:.5;cursor:not-allowed}.admin-page{flex-direction:column;gap:16px;width:100%;max-width:980px;margin:0 auto;display:flex}.admin-header{padding:18px 24px}.admin-title-row{align-items:center;gap:14px;display:flex}.admin-icon-badge{background:var(--color-primary-light,#4a6b4f1f);width:42px;height:42px;color:var(--primary,#4a6b4f);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-title{color:var(--text-color);margin-bottom:2px;font-size:1.25rem;font-weight:700}.admin-subtitle{opacity:.7;font-size:.84rem}.admin-tabs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-tab{color:var(--text-color);cursor:pointer;background:#0000000a;border:1px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:9px 16px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.admin-tab.active{color:var(--primary,#4a6b4f);background:#4a6b4f24;border-color:#4a6b4f40;font-weight:600}.admin-section{border-radius:20px;padding:22px 24px}.admin-section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.admin-section-title{align-items:center;gap:8px;margin-bottom:6px;font-size:1.05rem;font-weight:600;display:flex}.admin-subheading{margin:18px 0 10px;font-size:.92rem;font-weight:600}.admin-muted{opacity:.65;margin-bottom:12px;font-size:.85rem}.admin-form{flex-direction:column;gap:14px;display:flex}.admin-label{flex-direction:column;gap:6px;font-size:.86rem;font-weight:500;display:flex}.admin-label input,.admin-label select,.admin-search,.admin-textarea{background:var(--color-input-bg,#ffffffb3);color:var(--text-color);border:1px solid #0000001f;border-radius:12px;outline:none;padding:11px 14px;font-size:.92rem;transition:all .2s}.admin-label input:focus,.admin-label select:focus,.admin-search:focus,.admin-textarea:focus{border-color:var(--primary,#4a6b4f);box-shadow:0 0 0 3px #4a6b4f26}.admin-search{width:100%;margin-bottom:14px}.admin-textarea{resize:vertical;font-family:inherit}.admin-btn-row{flex-wrap:wrap;gap:10px;display:flex}.admin-primary-btn{background:var(--primary,#4a6b4f);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .2s,transform .1s;display:inline-flex}.admin-primary-btn:hover:not(:disabled){background:#3b573f}.admin-secondary-btn{color:var(--primary,#4a6b4f);cursor:pointer;background:0 0;border:1px solid #4a6b4f59;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.admin-secondary-btn:hover:not(:disabled){background:#4a6b4f14}.admin-secondary-btn:disabled,.admin-primary-btn:disabled{opacity:.55;cursor:not-allowed}.admin-primary-btn.compact,.admin-secondary-btn.compact{border-radius:8px;padding:7px 12px;font-size:.82rem}.admin-banner{border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;display:flex}.admin-banner.error{color:#8b2e2e;background:#b43c3c1a;border:1px solid #b43c3c33}.admin-banner.success{color:var(--primary,#4a6b4f);background:#4a6b4f1f;border:1px solid #4a6b4f40}.admin-groups-layout{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=800px){.admin-groups-layout{grid-template-columns:1fr 1fr}}.admin-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-list-item{background:#00000008;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.admin-list-item.selected{background:#4a6b4f1f;border:1px solid #4a6b4f40}.admin-list-main{cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:0;display:flex}.admin-list-main.static{cursor:default}.admin-list-title{font-size:.92rem;font-weight:600}.admin-icon-btn{cursor:pointer;color:var(--text-color);opacity:.7;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .2s}.admin-icon-btn:hover{opacity:1;background:#0000000f}.admin-icon-btn.danger:hover{color:#8b2e2e;background:#b43c3c1f}.admin-checklist{flex-direction:column;gap:4px;max-height:320px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow:auto}.admin-check-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 6px;font-size:.9rem;display:flex}.admin-check-row:hover{background:#0000000a}.admin-job-list{flex-direction:column;gap:14px;margin-top:4px;display:flex}.admin-job-row{background:#00000008;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.admin-job-title{margin-bottom:4px;font-size:.95rem;font-weight:600}.admin-students-table-container{border:1px solid #00000014;border-radius:14px;overflow-x:auto}.admin-students-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.admin-students-table th{opacity:.85;background:#0000000a;border-bottom:1px solid #00000014;padding:12px 14px;font-weight:600}.admin-students-table td{vertical-align:middle;border-bottom:1px solid #0000000d;padding:12px 14px}.admin-students-table tbody tr:hover{background:#00000005}.student-roll-tag{background:#0000000f;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:.84rem;font-weight:700;display:inline-block}.student-phone-tag{color:var(--primary,#4a6b4f);background:#4a6b4f14;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.84rem;font-weight:600;display:inline-flex}.student-email-tag{opacity:.85;align-items:center;gap:4px;font-size:.84rem;display:inline-flex}.student-empty-tag{opacity:.45;font-size:.8rem;font-style:italic}.admin-table-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.admin-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.admin-modal{background:var(--color-surface,#fff);border-radius:20px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 50px #0003}.admin-modal.wide{max-width:680px}.admin-modal-header{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.admin-modal-header h3{margin:0;font-size:1.1rem;font-weight:700}.admin-modal-footer{border-top:1px solid #00000014;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.bulk-actions-toolbar{flex-wrap:wrap;gap:10px;display:flex}.file-upload-btn{cursor:pointer}.bulk-preview-section{margin-top:16px}.bulk-preview-section h4{margin-bottom:8px;font-size:.9rem;font-weight:600}.bulk-preview-table-wrapper{border:1px solid #0000001a;border-radius:10px;max-height:180px;overflow:auto}.admin-students-table.compact th,.admin-students-table.compact td{padding:8px 10px;font-size:.82rem}.background-container{z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 52%, var(--blob-light) 100%);transition:background .8s;position:fixed;inset:0;overflow:hidden}html[data-theme=mountain] .background-container{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 40%, #d8c6a8 58%, var(--blob-light) 100%)}html[data-theme=midnight] .background-container{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 48%, var(--blob-light) 100%)}.scene{width:100%;height:100%;display:block;position:absolute;inset:0}.sun-group{transform-origin:940px 128px;animation:200s ease-in-out infinite alternate sun-drift}.sun-halo{opacity:.28;animation:20s ease-in-out infinite alternate sun-halo-pulse}.sun{animation:20s ease-in-out infinite alternate sun-glow}.shape{transform-origin:50%;transform-box:fill-box}.dune-far{animation:160s ease-in-out infinite alternate dune-far-move}.dune-mid{animation:140s ease-in-out infinite alternate-reverse dune-mid-move}.dune-near{animation:180s ease-in-out infinite alternate dune-near-move}.cactus{transform-origin:0 0;animation:18s ease-in-out infinite alternate cactus-sway;transform:translate(136px,668px)}.palm{transform-origin:0 0;animation:22s ease-in-out infinite alternate palm-sway;transform:translate(1032px,636px)}.scene-mountain,html[data-theme=mountain] .scene-desert{display:none}html[data-theme=mountain] .scene-mountain,html[data-theme=mountain] .scene-mountain-sky{display:inline}html[data-theme=mountain] .sun-group{animation-name:mountain-sun-drift}html[data-theme=mountain] .sun{animation-name:mountain-sun-glow}html[data-theme=mountain] .sun-halo{display:none}html[data-theme=mountain] .sun-halo-blob{display:inline}html[data-theme=midnight] .cactus,html[data-theme=midnight] .palm{display:none}html[data-theme=midnight] .scene-mountain-sky{display:inline}html[data-theme=midnight] .sun-group{animation-name:midnight-moon-drift}html[data-theme=midnight] .sun{display:none}html[data-theme=midnight] .moon{animation:20s ease-in-out infinite alternate midnight-moon-glow;display:inline}html[data-theme=midnight] .sun-halo{display:none}html[data-theme=midnight] .dune-far{animation-duration:16s}html[data-theme=midnight] .dune-mid{animation-duration:11s}html[data-theme=midnight] .dune-near{animation-duration:7s}html[data-theme=midnight] .cloud{fill:#1a3a50}html[data-theme=midnight] .cloud-a{fill:#1c4258}html[data-theme=midnight] .cloud-b{fill:#163848}html[data-theme=midnight] .cloud-c{fill:#1a3850}.moon,.scene-mountain-sky,.sun-halo-blob{display:none}.sun-halo-blob-a{opacity:.28;animation:22s ease-in-out infinite alternate halo-blob-a-morph}.sun-halo-blob-b{opacity:.18;animation:28s ease-in-out infinite alternate-reverse halo-blob-b-morph}.cloud{fill:#f4e0cc}.cloud-a{fill:#eac8ac;animation:120s ease-in-out infinite alternate cloud-a-drift;transform:translate(210px,168px)}.cloud-b{fill:#e8c4a4;animation:90s ease-in-out infinite alternate-reverse cloud-b-drift;transform:translate(620px,108px)}.cloud-c{fill:#ebb898;animation:150s ease-in-out infinite alternate cloud-c-drift;transform:translate(1048px,198px)}.ridge-far{animation:160s ease-in-out infinite alternate ridge-far-move}.ridge-mid{animation:140s ease-in-out infinite alternate-reverse ridge-mid-move}.ridge-near{animation:180s ease-in-out infinite alternate ridge-near-move}.pine{transform-origin:0 0;animation:18s ease-in-out infinite alternate pine-sway;transform:translate(136px,642px)}.pines{transform-origin:0 0;animation:22s ease-in-out infinite alternate pines-sway;transform:translate(1032px,572px)}@keyframes sun-drift{0%{transform:translate(-280px,56px)}to{transform:translate(90px,-28px)}}@keyframes sun-glow{0%{opacity:.88}to{opacity:1}}@keyframes sun-halo-pulse{0%{opacity:.18}to{opacity:.32}}@keyframes mountain-sun-drift{0%{transform:translate(-160px,148px)scale(.78)}to{transform:translate(36px,118px)scale(.78)}}@keyframes mountain-sun-glow{0%{opacity:.92}to{opacity:1}}@keyframes midnight-moon-drift{0%{transform:translate(-200px,40px)scale(.92)}to{transform:translate(60px,-20px)scale(.92)}}@keyframes midnight-moon-glow{0%{opacity:.82}to{opacity:1}}@keyframes halo-blob-a-morph{0%{d:path("M932 22C990 4 1060 42 1088 108C1118 168 1072 238 1000 252C940 268 862 248 820 198C778 148 792 72 858 42C890 26 910 32 932 22Z")}to{d:path("M948 16C1028 8 1098 62 1082 132C1110 198 1038 262 952 258C868 272 778 228 790 152C762 82 838 22 918 18C928 16 938 18 948 16Z")}}@keyframes halo-blob-b-morph{0%{d:path("M948 28C1025 12 1095 70 1078 138C1092 210 1020 268 940 255C860 270 772 220 788 145C770 80 830 18 910 22C922 24 934 30 948 28Z")}to{d:path("M936 34C1008 8 1088 78 1095 148C1088 218 1012 278 928 262C848 248 768 198 782 128C796 58 848 12 910 18C922 20 930 28 936 34Z")}}@keyframes cloud-a-drift{0%{transform:translate(210px,168px)}to{transform:translate(268px,154px)}}@keyframes cloud-b-drift{0%{transform:translate(620px,108px)}to{transform:translate(560px,122px)}}@keyframes cloud-c-drift{0%{transform:translate(1048px,198px)}to{transform:translate(1100px,186px)}}@keyframes dune-far-move{0%{d:path("M-80 520c180-70 340 40 520-20 190-64 360 36 780-16V800H-80Z");transform:translate(-36px)}to{d:path("M-80 538c150-48 400 18 560-40 170-52 390 48 760-6V800H-80Z");transform:translate(48px)}}@keyframes dune-mid-move{0%{d:path("M-80 590c200-56 390 34 580-12 200-50 380 40 740-10V800H-80Z");transform:translate(28px)}to{d:path("M-80 604c160-38 430 16 560-32 220-44 350 52 760 4V800H-80Z");transform:translate(-40px)}}@keyframes dune-near-move{0%{d:path("M-80 670c220-48 430 28 680-8 180-26 330 22 640 2V800H-80Z");transform:translate(-20px)}to{d:path("M-80 682c180-32 470 14 650-26 200-18 340 28 670 10V800H-80Z");transform:translate(32px)}}@keyframes cactus-sway{0%{transform:translate(136px,668px)rotate(-.8deg)}to{transform:translate(136px,668px)rotate(.9deg)}}@keyframes palm-sway{0%{transform:translate(1032px,636px)rotate(-1.4deg)}to{transform:translate(1032px,636px)rotate(1.6deg)}}@keyframes ridge-far-move{0%{d:path("M-80 510c160-40 240-190 380-200 120-8 200 120 320 90 140-40 200-160 320-130 120 26 240 120 340 140V800H-80Z");transform:translate(-36px)}to{d:path("M-80 525c180-45 260-185 400-200 130-10 210 110 340 80 150-45 210-150 330-120 110 30 230 115 330 135V800H-80Z");transform:translate(48px)}}@keyframes ridge-mid-move{0%{d:path("M-80 560c160-40 260-100 420-110 160-10 260 70 420 40 160-30 320 40 520 30V800H-80Z");transform:translate(28px)}to{d:path("M-80 572c170-38 270-92 430-110 155-8 250 66 410 38 165-28 330 36 530 28V800H-80Z");transform:translate(-40px)}}@keyframes ridge-near-move{0%{d:path("M-80 618c220-32 440 12 680-10 200-62 390-88 680-55V800H-80Z");transform:translate(-20px)}to{d:path("M-80 628c200-24 460 8 660-14 210-54 400-78 700-46V800H-80Z");transform:translate(32px)}}@keyframes pine-sway{0%{transform:translate(136px,642px)rotate(-.8deg)}to{transform:translate(136px,642px)rotate(.9deg)}}@keyframes pines-sway{0%{transform:translate(1032px,572px)rotate(-1.4deg)}to{transform:translate(1032px,572px)rotate(1.6deg)}}@media (prefers-reduced-motion:reduce){.sun-group,.sun,.sun-halo,.sun-halo-blob,.moon,.shape,.cloud,.cactus,.palm,.pine,.pines{animation:none}}
