.GpaPage_container__J8jb1{--gpa-card:var(--color-card);--gpa-accent:var(--color-warning);--gpa-accent-strong:color-mix(in oklab,var(--color-warning) 80%,var(--color-accent));--gpa-text:var(--color-text);--gpa-text-muted:var(--color-muted);--gpa-border:color-mix(in oklab,var(--color-text) 12%,transparent);--gpa-danger:var(--color-danger);--page-bg:var(--color-bg);--page-header-bg:var(--color-panel);background:var(--page-bg);min-height:100vh;padding-bottom:80px}.GpaPage_header__w6csG{background:var(--page-header-bg);padding:12px 20px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.5);border-bottom:1px solid var(--gpa-border)}.GpaPage_header__w6csG h1{margin:0;font-size:1.4rem;font-weight:700}.GpaPage_gpaMain__QKNnG{margin:10px auto;display:flex;flex-direction:column;gap:16px;max-width:720px;width:100%;padding:0 10px}.GpaPage_tabsContainer__yAFHC{display:flex;gap:10px}.GpaPage_tabBtn__ry02o{flex:1;padding:14px;border:2px solid var(--gpa-border);background:var(--gpa-card);border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;color:var(--gpa-text)}.GpaPage_activeTab__7AuHx{background:var(--gpa-accent);color:black;border-color:var(--gpa-accent)}.GpaPage_gpaDisplayCard__BDVqZ{background:var(--gpa-card);border:1px solid var(--gpa-border);border-radius:20px;padding:10px;text-align:center}.GpaPage_gpaDisplayLabel__ONLtN{font-size:13px;color:var(--gpa-text-muted);margin-bottom:4px}.GpaPage_gpaDisplayValue__B_v7j{font-size:48px;font-weight:700;color:var(--gpa-accent)}.GpaPage_gpaCoursesWrapper__kJf0T{background:var(--gpa-card);border:1px solid var(--gpa-border);border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.GpaPage_gpaCourseRow__wUOJO{padding:4px 8px;grid-template-columns:28px 1fr 40px 50px;min-width:240px}.GpaPage_gpaCourseRowDB__ryvn_,.GpaPage_gpaCourseRow__wUOJO{border-bottom:1px solid var(--gpa-border);display:grid;align-items:center;gap:4px}.GpaPage_gpaCourseRowDB__ryvn_{padding:4px 6px;grid-template-columns:28px 1fr 35px 95px 35px 50px;min-width:330px}.GpaPage_gpaHeaderRow__4gpXk{font-weight:600;background-color:color-mix(in oklab,var(--color-text) 8%,transparent)}.GpaPage_gpaCourseNumber__N3PTf{background:var(--gpa-accent);color:black;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.GpaPage_gpaCourseInput__x2k5T,.GpaPage_gpaCourseSelect__k6CbT{width:100%;padding:8px;text-align:center;background:var(--color-surface);border:1px solid var(--gpa-border);border-radius:10px;color:var(--gpa-text);font-size:13px}.GpaPage_gpaCourseSelect__k6CbT{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:14px}.GpaPage_gpaActionsRow__HAExc{display:flex;gap:10px}.GpaPage_myDataWarning__PgQQN{display:flex;align-items:flex-start;gap:8px;background:color-mix(in oklab,var(--color-warning) 10%,transparent);border:1px solid color-mix(in oklab,var(--color-warning) 30%,transparent);border-radius:10px;padding:10px 12px;font-size:.8rem;color:var(--color-text);line-height:1.4;margin:4px 0}.GpaPage_myDataWarning__PgQQN strong{color:var(--color-warning)}.GpaPage_myDataBtn__brWey{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px;border-radius:16px;border:1px solid var(--gpa-border);background:color-mix(in oklab,var(--color-text) 8%,transparent);color:var(--color-text);font-weight:600;cursor:pointer}.GpaPage_myDataBtnActive__hsiq3{background:color-mix(in oklab,var(--color-accent) 18%,transparent);border-color:var(--color-accent);color:var(--color-accent)}.GpaPage_gpaAddCourseBtn__lv_EU{flex:1;padding:16px;background:var(--gpa-accent);border:none;border-radius:16px;color:black;font-weight:700;cursor:pointer}.GpaPage_gpaResetBtn__1Q0lU{width:100%;padding:16px;background:transparent;border:none;border-radius:16px;color:var(--gpa-danger);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.GpaPage_gpaResetBtn__1Q0lU:hover{transform:translateY(-2px);background-color:color-mix(in oklab,var(--gpa-danger) 24%,transparent)}@media (min-width:500px){.GpaPage_gpaMain__QKNnG{margin:20px auto;gap:24px;padding:0 20px}.GpaPage_gpaCourseRow__wUOJO{grid-template-columns:32px 1fr 80px 100px;padding:8px 16px;gap:12px}.GpaPage_gpaCourseRowDB__ryvn_{grid-template-columns:32px 1fr 60px 160px 60px 80px;padding:8px 16px;gap:8px}.GpaPage_gpaCourseInput__x2k5T,.GpaPage_gpaCourseSelect__k6CbT{padding:10px;font-size:14px}.GpaPage_gpaCourseNumber__N3PTf{width:32px;height:32px}}@media (max-width:650px){.GpaPage_gpaDisplayValue__B_v7j{font-size:38px}}@media (max-width:380px){.GpaPage_gpaDisplayValue__B_v7j{font-size:32px}.GpaPage_gpaActionsRow__HAExc{flex-direction:column}}.MobileNav_menuToggle__5IlJF,.MobileNav_mobileNav__PSEZP,.MobileNav_sidebarMenu__QqNLc{--accent:var(--color-warning);--accent-nav:var(--color-accent);--text-light:var(--color-text);--sidebar-bg:var(--color-sidebar)}.MobileNav_menuToggle__5IlJF{position:absolute;top:6px;left:0;border:none;background:rgba(0,0,0,0);color:var(--accent);font-size:1.6rem;cursor:pointer;padding:8px 10px;border-radius:0 6px 6px 0;z-index:10002;transition:all .3s ease}.MobileNav_menuToggle__5IlJF:hover{background:rgba(250,204,21,.1);transform:translateX(2px)}.MobileNav_mobileNav__PSEZP{position:fixed;bottom:12px;left:12px;right:12px;height:64px;background:linear-gradient(180deg,var(--color-nav),var(--color-nav-strong));display:flex;justify-content:space-around;align-items:center;border-radius:12px;z-index:9999;box-shadow:0 8px 30px rgba(2,6,23,.6);border:1px solid color-mix(in oklab,var(--color-text) 8%,transparent);backdrop-filter:blur(6px);opacity:0;transform:translateY(100%);animation:MobileNav_slideUp__CMVSE .2s ease .1s forwards}@keyframes MobileNav_slideUp__CMVSE{to{opacity:1;transform:translateY(0)}}.MobileNav_mobileNav__PSEZP a,.MobileNav_mobileNav__PSEZP button{background:transparent;border:none;color:var(--color-text);font-weight:700;cursor:pointer;display:flex;flex-direction:column;gap:8px;align-items:center;font-size:.78rem;text-decoration:none;font-family:inherit;padding:0}.MobileNav_mobileNav__PSEZP .MobileNav_ico__ufgpf{font-size:18px;margin-bottom:2px}.MobileNav_mobileNav__PSEZP a.MobileNav_active__2nXVc,.MobileNav_mobileNav__PSEZP button.MobileNav_active__2nXVc{color:var(--color-warning);text-shadow:0 0 8px var(--accent);animation:MobileNav_glowPulse__rmgf0 1s ease-in-out infinite alternate}@keyframes MobileNav_glowPulse__rmgf0{0%{text-shadow:0 0 8px gold}to{text-shadow:0 0 12px var(--accent),0 0 16px var(--accent)}}.MobileNav_sidebarOverlay__pupHw{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000}.MobileNav_sidebarMenu__QqNLc{position:fixed;top:0;left:-100%;width:260px;height:100%;background:var(--sidebar-bg);box-shadow:4px 0 20px rgba(0,0,0,.6);transition:left .3s ease;z-index:10001;display:flex;flex-direction:column}.MobileNav_sidebarMenu__QqNLc.MobileNav_open__sCncm{left:0}.MobileNav_sidebarHeader__fhJnk{background:linear-gradient(90deg,var(--color-bg),var(--color-surface));color:var(--color-text);padding:16px 20px;text-align:center;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 8px rgba(0,0,0,.3);border-bottom:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;position:relative}.MobileNav_sidebarHeader__fhJnk h1{margin:0;font-size:clamp(1.5rem,4vw,2rem)}.MobileNav_headerActions__dzUCm{display:inline-flex;align-items:center;gap:8px}.MobileNav_themeAction__P8H1m{background:color-mix(in oklab,var(--color-text) 8%,transparent);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);color:var(--color-text);width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;backdrop-filter:blur(4px)}.MobileNav_themeAction__P8H1m:hover{background:color-mix(in oklab,var(--color-text) 16%,transparent);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.25)}.MobileNav_themePopover__2NJyp{position:absolute;left:12px;top:56px;min-width:220px;max-width:min(90vw,720px);max-height:calc(100vh - 96px);overflow-y:auto;background:color-mix(in oklab,var(--color-bg) 92%,transparent);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-radius:12px;padding:12px;box-shadow:0 16px 36px rgba(0,0,0,.35);backdrop-filter:blur(10px);animation:MobileNav_themePopIn___ATtg .16s ease-out;z-index:10002}.MobileNav_themePopover__2NJyp:before{content:"";position:absolute;top:-8px;left:20px;width:14px;height:14px;background:inherit;border-left:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-top:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);transform:rotate(45deg)}@keyframes MobileNav_themePopIn___ATtg{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.MobileNav_closeSidebar__o0ZwL{background:none;border:none;color:#facc15;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.MobileNav_sidebarMenu__QqNLc ul{list-style:none;margin:0;padding:20px;flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column}.MobileNav_sidebarMenu__QqNLc ul li{margin:14px 0}.MobileNav_sidebarMenu__QqNLc ul li a{color:var(--color-text);font-size:1rem;font-weight:500;display:flex;align-items:center;gap:12px;transition:color .2s;padding:8px 0;text-decoration:none}.MobileNav_sidebarMenu__QqNLc ul li a:hover{color:var(--color-accent)}.MobileNav_sidebarMenu__QqNLc ul li a.MobileNav_active__2nXVc{color:var(--color-accent);text-shadow:0 0 8px color-mix(in oklab,var(--color-accent) 70%,transparent)}.MobileNav_sidebarFooter__ThIV8{padding:10px 20px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;justify-content:center;border-top:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}.MobileNav_sidebarFooter__ThIV8 button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--danger);color:var(--color-text);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.MobileNav_sidebarFooter__ThIV8 button:hover{background:color-mix(in oklab,var(--danger) 88%,black);transform:scale(1.03)}.MobileNav_logoutBtnLoading__EeVE2{opacity:.7;cursor:not-allowed!important;transform:none!important;animation:MobileNav_logoutPulse__KkqZ_ 1s ease-in-out infinite}@keyframes MobileNav_logoutPulse__KkqZ_{0%,to{opacity:.7}50%{opacity:.4}}.MobileNav_themeControls__ufiwi{background:linear-gradient(180deg,color-mix(in oklab,var(--color-text) 6%,transparent),color-mix(in oklab,var(--color-text) 4%,transparent));border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-radius:12px;padding:12px;backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,.25)}.MobileNav_themeRow__gFQ6j{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.MobileNav_themeRow__gFQ6j:last-child{margin-bottom:0}.MobileNav_themeLabel__cD2uC{color:var(--color-text);font-size:.95rem;opacity:.92;letter-spacing:.2px}.MobileNav_segment__1IALY{display:inline-flex;border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-radius:10px;overflow:hidden;background:color-mix(in oklab,var(--color-text) 4%,transparent);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:hidden}.MobileNav_segmentBtn__UYjy_{background:transparent;color:var(--color-text);border:none;padding:8px 12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;gap:8px}.MobileNav_segmentBtn__UYjy_:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.MobileNav_segmentBtn__UYjy_:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.MobileNav_segmentBtn__UYjy_+.MobileNav_segmentBtn__UYjy_{border-left:1px solid color-mix(in oklab,var(--color-text) 12%,transparent)}.MobileNav_segmentBtn__UYjy_:hover{background:color-mix(in oklab,var(--color-text) 8%,transparent)}.MobileNav_segmentBtnActive__1DFEj{background:color-mix(in oklab,var(--color-accent) 18%,transparent);color:color-mix(in oklab,var(--color-accent) 82%,white);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--color-accent) 60%,transparent),0 2px 6px color-mix(in oklab,var(--color-accent) 20%,transparent)}.MobileNav_segmentBtn__UYjy_:focus-visible{outline:none;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--color-text) 32%,transparent),0 0 0 2px color-mix(in oklab,var(--color-accent) 50%,transparent)}.MobileNav_pwaInstallBar__1ZFHA{position:fixed;bottom:88px;left:12px;right:12px;height:48px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong,var(--color-accent)));border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 12px;z-index:9998;box-shadow:0 4px 16px rgba(0,0,0,.4);color:#fff;font-size:.85rem;font-weight:600;animation:MobileNav_slideUp__CMVSE .2s ease forwards}.MobileNav_pwaInstallBar__1ZFHA .MobileNav_material-icons__MRnkz{font-size:20px;flex-shrink:0}.MobileNav_pwaInstallBar__1ZFHA span:nth-child(2){flex:1}.MobileNav_pwaInstallBtn__k_eFw{background:#fff;color:var(--color-accent);border:none;border-radius:8px;padding:6px 14px;font-weight:700;font-size:.82rem;cursor:pointer;flex-shrink:0;transition:opacity .2s}.MobileNav_pwaInstallBtn__k_eFw:hover{opacity:.88}.MobileNav_pwaDismissBtn__VVUpr{background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;padding:0;flex-shrink:0;opacity:.8}.MobileNav_pwaDismissBtn__VVUpr:hover{opacity:1}.MobileNav_pwaDismissBtn__VVUpr .MobileNav_material-icons__MRnkz{font-size:18px}@media (max-width:1000px){.MobileNav_pwaInstallBar__1ZFHA{bottom:80px;left:8px;right:8px}}.MobileNav_logoutOverlay__38rUO{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10010;display:flex;align-items:center;justify-content:center;animation:MobileNav_fadeInOverlay__A87ts .15s ease}@keyframes MobileNav_fadeInOverlay__A87ts{0%{opacity:0}to{opacity:1}}.MobileNav_logoutModal__oe82g{background:var(--color-panel);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-radius:20px;padding:32px 28px 24px;width:min(320px,90vw);text-align:center;box-shadow:0 24px 48px rgba(0,0,0,.5);animation:MobileNav_popIn__ew0l7 .2s cubic-bezier(.34,1.56,.64,1)}@keyframes MobileNav_popIn__ew0l7{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.MobileNav_logoutIcon__3TT2Y{font-size:48px!important;color:var(--color-warning);display:block;margin-bottom:12px}.MobileNav_logoutTitle__rsVib{margin:0 0 8px;font-size:1.4rem;font-weight:700;color:var(--color-text)}.MobileNav_logoutSub__vhKZj{margin:0 0 24px;font-size:.9rem;color:var(--color-muted)}.MobileNav_logoutActions__eUkWy{display:flex;gap:12px}.MobileNav_logoutCancelBtn___ZUv7{flex:1;padding:11px;border-radius:10px;border:1px solid color-mix(in oklab,var(--color-text) 18%,transparent);background:color-mix(in oklab,var(--color-text) 8%,transparent);color:var(--color-text);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}.MobileNav_logoutCancelBtn___ZUv7:hover{background:color-mix(in oklab,var(--color-text) 14%,transparent)}.MobileNav_logoutConfirmBtn__9sfpc{flex:1;padding:11px;border-radius:10px;border:none;background:var(--color-danger,#ef4444);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:filter .2s}.MobileNav_logoutConfirmBtn__9sfpc:hover{filter:brightness(1.1)}.MobileNav_logoutConfirmBtn__9sfpc .MobileNav_material-icons__MRnkz{font-size:18px}@media (max-width:1000px){.MobileNav_mobileNav__PSEZP{left:8px;right:8px;bottom:8px;height:60px}.MobileNav_menuToggle__5IlJF{top:4px}}@media (max-width:420px){.MobileNav_themePopover__2NJyp{left:8px;min-width:auto;width:auto;max-width:calc(100vw - 16px);max-height:calc(100vh - 72px)}.MobileNav_mobileNav__PSEZP{padding:4px}.MobileNav_sidebarMenu__QqNLc{width:220px}.MobileNav_menuToggle__5IlJF{top:3px}}.CoursesPage_container__VBcZL{--bg:var(--color-bg);--panel:var(--color-panel);--card:var(--color-card);--card-hover:color-mix(in oklab,var(--color-panel) 92%,var(--color-bg));--accent:var(--color-accent);--accent-strong:var(--color-accent-strong);--text:var(--color-text);--text-muted:var(--color-muted);--border:color-mix(in oklab,var(--color-text) 8%,transparent);--page-bg:var(--color-bg);--page-header-bg:var(--color-panel)}.CoursesPage_coursesContainer__LUqC0{background:var(--page-bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.CoursesPage_header__HCqZ4{background:var(--page-header-bg);color:var(--text);padding:clamp(10px,2vw,16px) clamp(14px,4vw,20px);text-align:center;font-size:clamp(1rem,3vw,1.2rem);font-weight:700;letter-spacing:.5px;box-shadow:0 4px 12px rgba(0,0,0,.5);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.CoursesPage_header__HCqZ4 h1{margin:0;font-size:clamp(1.2rem,4vw,1.5rem)}.CoursesPage_main__GsA_7{flex:1;display:grid;grid-template-columns:300px 1fr;gap:20px;overflow:hidden;padding:20px 20px 100px;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.CoursesPage_courseList__co2i8{background:var(--panel);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;border:1px solid var(--border);backdrop-filter:blur(6px);height:fit-content;max-height:calc(100vh - 180px)}.CoursesPage_courseCard__S5HLG{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease;color:var(--text);font-weight:500;font-size:.95rem;line-height:1.4;min-height:50px;display:flex;align-items:center}.CoursesPage_courseCard__S5HLG:hover{background:var(--card-hover);transform:translateX(4px);border-color:var(--accent)}.CoursesPage_courseCard__S5HLG.CoursesPage_active__UHPDq{background:var(--accent-strong);color:#fff;border-color:var(--accent);box-shadow:0 6px 18px rgba(37,99,235,.18)}.CoursesPage_expandedCard__u73H2{background:var(--card);border-radius:12px;padding:32px;border:1px solid var(--border);backdrop-filter:blur(6px);overflow-y:auto;max-height:calc(100vh - 180px);opacity:0;transform:scale(.95);transition:all .3s ease}.CoursesPage_expandedCard__u73H2.CoursesPage_show__W6b2B{opacity:1;transform:scale(1)}.CoursesPage_expandedCard__u73H2 h2{color:var(--accent);font-size:1.8rem;font-weight:700;margin:0 0 24px;border-bottom:2px solid var(--border);padding-bottom:16px}.CoursesPage_expandedCard__u73H2 p{color:var(--text);margin:12px 0;font-size:1.05rem;line-height:1.8}.CoursesPage_expandedCard__u73H2 strong{color:var(--accent);font-weight:600;margin-right:8px;min-width:100px;display:inline-block}.CoursesPage_row3cols__3vUkk{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;padding:20px;background:var(--panel);border-radius:10px;border:1px solid var(--border)}.CoursesPage_row3cols__3vUkk div{color:var(--text);font-size:1rem;padding:12px;text-align:center;background:var(--card);border-radius:8px;border:1px solid var(--border)}.CoursesPage_row3cols__3vUkk strong{display:block;color:var(--accent);font-weight:600;margin-bottom:8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.CoursesPage_loadingContainer__Lsy6J{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--text);background-color:var(--bg)}.CoursesPage_loader__Y59YO{width:50px;height:50px;border-top:4px solid color-mix(in oklab,var(--color-text) 12%,transparent);border:4px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-top-color:var(--color-accent);border-radius:50%;animation:CoursesPage_spin__3b33J 1s linear infinite;margin-bottom:1rem}@keyframes CoursesPage_spin__3b33J{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.CoursesPage_courseList__co2i8::-webkit-scrollbar,.CoursesPage_expandedCard__u73H2::-webkit-scrollbar{display:none}.CoursesPage_courseList__co2i8::-webkit-scrollbar-track,.CoursesPage_expandedCard__u73H2::-webkit-scrollbar-track{background:color-mix(in oklab,var(--bg) 80%,transparent);border-radius:10px}.CoursesPage_courseList__co2i8::-webkit-scrollbar-thumb,.CoursesPage_expandedCard__u73H2::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px}.CoursesPage_courseList__co2i8::-webkit-scrollbar-thumb:hover,.CoursesPage_expandedCard__u73H2::-webkit-scrollbar-thumb:hover{background:var(--accent-strong)}@media (max-width:1000px){.CoursesPage_main__GsA_7{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:14px 12px 110px;gap:16px}.CoursesPage_courseList__co2i8{max-height:none;height:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:12px;width:100%}.CoursesPage_courseCard__S5HLG{min-width:250px;flex-shrink:0}.CoursesPage_expandedCard__u73H2{width:100%;max-height:none}}@media (max-width:768px){.CoursesPage_main__GsA_7{padding:12px 12px 110px;gap:12px}.CoursesPage_courseList__co2i8{padding:10px;gap:10px}.CoursesPage_courseCard__S5HLG{min-width:220px;padding:12px;font-size:.9rem}.CoursesPage_expandedCard__u73H2{padding:20px}.CoursesPage_expandedCard__u73H2 h2{font-size:1.4rem;margin-bottom:16px}.CoursesPage_expandedCard__u73H2 p{font-size:.95rem}.CoursesPage_row3cols__3vUkk{grid-template-columns:1fr;gap:12px;padding:16px}.CoursesPage_row3cols__3vUkk div{padding:12px}}@media (max-width:420px){.CoursesPage_main__GsA_7{padding:10px 10px 110px;gap:10px}.CoursesPage_courseList__co2i8{padding:8px;gap:8px}.CoursesPage_courseCard__S5HLG{min-width:200px;padding:10px;font-size:.85rem}.CoursesPage_expandedCard__u73H2{padding:16px}.CoursesPage_expandedCard__u73H2 h2{font-size:1.2rem;margin-bottom:12px}.CoursesPage_expandedCard__u73H2 p{font-size:.9rem;margin:10px 0}.CoursesPage_expandedCard__u73H2 strong{min-width:80px;font-size:.85rem}.CoursesPage_row3cols__3vUkk{padding:12px;gap:10px}.CoursesPage_row3cols__3vUkk div{font-size:.85rem;padding:10px}.CoursesPage_row3cols__3vUkk strong{font-size:.8rem}}.TimetableStructurePopup_timetableContainer___5z11{min-height:100vh;background-color:var(--color-bg);display:flex;flex-direction:column}.TimetableStructurePopup_header__3hIhH{background-color:var(--color-panel);color:var(--color-text);padding:1.5rem;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.1)}.TimetableStructurePopup_header__3hIhH h1{margin:0;font-size:1.5rem}.TimetableStructurePopup_container__TTaFF{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%}.TimetableStructurePopup_pageContainer__RCXHD{background:var(--color-surface);border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1.5rem;margin-bottom:5rem}.TimetableStructurePopup_dayNav__xYI4A{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid color-mix(in oklab,var(--color-text) 15%,transparent)}.TimetableStructurePopup_dayNav__xYI4A button{padding:.5rem 1rem;border-radius:.5rem;border:1px solid color-mix(in oklab,var(--color-text) 15%,transparent);background:var(--color-surface);white-space:nowrap;cursor:pointer;transition:all .2s;color:var(--color-text)}.TimetableStructurePopup_dayNav__xYI4A button:hover{background:color-mix(in oklab,var(--color-text) 6%,transparent)}.TimetableStructurePopup_dayPage__47J1Z{flex-direction:column;gap:1.5rem}.TimetableStructurePopup_dayPage__47J1Z h2{margin:0;color:var(--color-text);font-size:1.25rem}.TimetableStructurePopup_halvesContainer___lmQb{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:768px){.TimetableStructurePopup_halvesContainer___lmQb{grid-template-columns:1fr 1fr}}.TimetableStructurePopup_half__UF9Xn{display:flex;flex-direction:column;gap:1rem}.TimetableStructurePopup_courseDetails__ITsYs{border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-radius:.5rem;padding:1rem;background:var(--color-surface);display:flex;flex-direction:column;gap:.5rem}.TimetableStructurePopup_courseDetails__ITsYs strong{color:var(--color-muted);font-size:.875rem}.TimetableStructurePopup_row2cols__UnLuh{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.TimetableStructurePopup_loadingContainer__i_KdR{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.TimetableStructurePopup_popupOverlay__zQ3Ol{position:fixed;inset:0;background:color-mix(in oklab,var(--color-bg) 92%,transparent);z-index:9999;overflow:hidden}.TimetableStructurePopup_viewerContainer__f62ab{width:100%;height:100%;position:relative;background:transparent}.TimetableStructurePopup_controls__q0_OY{position:fixed;top:20px;right:20px;display:flex;gap:12px;z-index:10001}.TimetableStructurePopup_iconButton__NXgH9{width:45px;height:45px;border-radius:12px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:color-mix(in oklab,var(--color-text) 15%,transparent);backdrop-filter:blur(10px);color:var(--color-text);box-shadow:0 4px 15px rgba(0,0,0,.2);transition:all .2s ease;font-size:18px}.TimetableStructurePopup_iconButton__NXgH9:hover{background:color-mix(in oklab,var(--color-text) 25%,transparent);transform:translateY(-2px)}.TimetableStructurePopup_iconButton__NXgH9:disabled{opacity:.5;cursor:not-allowed}.TimetableStructurePopup_closeButton__5dSU6:hover{background:var(--color-danger)}.TimetableStructurePopup_tableWrapper__vmpAd{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.TimetableStructurePopup_tableWrapperVisible__QcbkN{opacity:1;pointer-events:auto}.TimetableStructurePopup_tableScrollContainer__GS6RQ{width:100%;height:100%;overflow:visible}.TimetableStructurePopup_transformLayer__9KmCi{width:auto;height:100vh;display:flex;align-items:center;justify-content:center;cursor:grab}.TimetableStructurePopup_table__FcTPR{border-collapse:collapse;border:3px solid color-mix(in oklab,var(--color-text) 16%,transparent);background-color:var(--color-surface);width:max-content;table-layout:auto;transform-origin:center center;will-change:transform;box-shadow:0 20px 50px rgba(0,0,0,.3)}.TimetableStructurePopup_td__yLmPf,.TimetableStructurePopup_th__QfL6A{border:1px solid color-mix(in oklab,var(--color-text) 18%,transparent);text-align:center;overflow:hidden;position:relative;box-sizing:border-box;padding:12px}.TimetableStructurePopup_td__yLmPf{height:140px;width:140px;transition:background-color .2s ease}.TimetableStructurePopup_headerRow__8pNRS{background-color:var(--color-surface);color:var(--color-text);font-weight:700;height:140px;width:140px}.TimetableStructurePopup_cornerHeader__zS9pH{background-color:var(--color-bg);color:var(--color-warning);height:140px;width:140px;font-size:13px;font-weight:800;text-transform:uppercase}.TimetableStructurePopup_dayHeader__QmU_h{background-color:var(--color-surface);color:var(--color-text);font-weight:800;height:140px;width:140px;text-transform:uppercase;font-size:13px}.TimetableStructurePopup_timeRow__N1f3M{height:140px}.TimetableStructurePopup_courseCell__3bbGM,.TimetableStructurePopup_timeHeaderContent__otnMp{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:4px}.TimetableStructurePopup_slotLabel__3jKOY{font-size:10px;text-transform:uppercase;color:var(--color-muted);letter-spacing:1px}.TimetableStructurePopup_timeLabel__Rk_aU{font-size:13px;font-weight:800;color:var(--color-text)}.TimetableStructurePopup_courseTitle__jBB7z{font-size:13px;font-weight:700;color:var(--color-text);width:100%;line-height:1.2}.TimetableStructurePopup_roomNo__7UXyF{font-size:12px;color:var(--color-warning);font-weight:600}.TimetableStructurePopup_noClass__IL0GG{color:var(--color-muted)}.TimetableStructurePopup_theorySlot__IWFiq{background-color:color-mix(in oklab,var(--color-warning) 20%,var(--color-bg));border:1px solid color-mix(in oklab,var(--color-warning) 50%,transparent)}.TimetableStructurePopup_labSlot__ZIfpM{background-color:color-mix(in oklab,var(--color-success) 18%,var(--color-bg));border:1px solid color-mix(in oklab,var(--color-success) 50%,transparent)}.TimetableStructurePopup_otherSlot__fWcw9{background-color:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-text) 15%,transparent)}.TimetableStructurePopup_noClassSlot__ghqKb{background-color:color-mix(in oklab,var(--color-danger) 16%,var(--color-bg));border:1px solid color-mix(in oklab,var(--color-danger) 50%,transparent)}.TimetableStructurePopup_emptySlot__Spy0t{background-color:var(--color-surface)}.TimetableStructurePopup_errorContainer__oa3U5,.TimetableStructurePopup_loadingOverlay__NWrdc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:color-mix(in oklab,var(--color-bg) 92%,transparent);color:var(--color-text);gap:1rem}.TimetableStructurePopup_loader__e7qrc{width:40px;height:40px;border:3px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-top-color:var(--color-accent);border-radius:50%;animation:TimetableStructurePopup_spin__F7Hma 1s linear infinite}@keyframes TimetableStructurePopup_spin__F7Hma{to{transform:rotate(1turn)}}.TimetableStructurePopup_downloadWrapper__19bLj{padding:40px;background:var(--color-surface)}.TimetableStructurePopup_downloadHeader__coJZ_{margin-bottom:30px;border-bottom:2px solid color-mix(in oklab,var(--color-text) 12%,transparent);padding-bottom:20px}.TimetableStructurePopup_headerTop__eiXtB{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.TimetableStructurePopup_logoText__ahaYx{font-size:24px;font-weight:800;color:var(--color-text)}.TimetableStructurePopup_logoGold__765UX{color:var(--color-warning)}.TimetableStructurePopup_downloadTitle__pBQ7R{font-size:20px;font-weight:700;color:var(--color-muted);letter-spacing:.1em}.TimetableStructurePopup_userInfoWrapper__GRxwm{margin-top:16px}.TimetableStructurePopup_userInfoTable__ki5Wi{width:100%;border-collapse:separate;border-spacing:16px 0}.TimetableStructurePopup_userInfoCell__tPKal{background:var(--color-surface);border-radius:12px;border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);padding:12px 16px;vertical-align:top}.TimetableStructurePopup_infoLabel__iEiUq{font-size:10px;color:var(--color-muted);font-weight:700}.TimetableStructurePopup_infoValue__bFJ66{font-size:14px;color:var(--color-text);font-weight:600}.TimetableStructurePopup_downloadFooter__IYGYv{margin-top:30px;display:flex;justify-content:space-between;font-size:12px;color:var(--color-muted);border-top:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);padding-top:15px}.TimetablePage_timetableContainer__Q8huI{--bg:var(--color-bg);--panel:var(--color-panel);--card:var(--color-card);--card-hover:color-mix(in oklab,var(--color-panel) 95%,var(--color-bg));--accent:var(--color-accent);--accent-strong:var(--color-accent-strong);--text:var(--color-text);--text-muted:var(--color-muted);--border:color-mix(in oklab,var(--color-text) 5%,transparent);--success:var(--color-success);--warning:var(--color-warning);--page-bg:var(--color-bg);--page-header-bg:var(--color-panel);background:var(--page-bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.TimetablePage_header__6bEv4{background:var(--page-header-bg);color:var(--text);padding:clamp(10px,2vw,16px) clamp(14px,4vw,20px);text-align:center;font-size:clamp(1rem,3vw,1.2rem);font-weight:700;letter-spacing:.5px;box-shadow:0 4px 12px rgba(0,0,0,.5);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.TimetablePage_header__6bEv4 h1{margin:0;font-size:clamp(1.2rem,4vw,1.5rem)}.TimetablePage_headerContent__GqTvy{display:flex;justify-content:center;align-items:center;gap:15px;position:relative;max-width:1400px;margin:0 auto}.TimetablePage_structureBtn__VaMir{position:absolute;right:0;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.3);color:var(--accent);width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.TimetablePage_structureBtn__VaMir:hover{background:var(--accent);color:#1e293b;transform:translateY(-2px);box-shadow:0 4px 12px rgba(56,189,248,.3)}.TimetablePage_structureBtn__VaMir span{font-size:20px}.TimetablePage_pageContainer__O6sK4{display:flex;flex-direction:column;gap:24px;background:transparent;border-radius:0;padding:0;border:none;backdrop-filter:none}.TimetablePage_dayNav__1PGN0{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:12px 0;background:transparent;border-radius:0;border:none;justify-content:center}.TimetablePage_dayNav__1PGN0::-webkit-scrollbar{display:none}.TimetablePage_dayNav__1PGN0::-webkit-scrollbar-track{background:color-mix(in oklab,var(--bg) 80%,transparent);border-radius:10px}.TimetablePage_dayNav__1PGN0::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px}.TimetablePage_dayNav__1PGN0 button{padding:12px 24px;border-radius:8px;border:2px solid var(--accent);background-color:transparent;color:var(--accent);font-weight:600;font-size:.95rem;transition:all .2s ease;white-space:nowrap;cursor:pointer;min-width:80px}.TimetablePage_dayNav__1PGN0 button:hover{background-color:var(--accent);color:var(--bg);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in oklab,var(--accent) 30%,transparent)}.TimetablePage_dayNav__1PGN0 button.TimetablePage_active__c9W_A{background-color:var(--accent);color:var(--bg);box-shadow:0 4px 12px color-mix(in oklab,var(--accent) 40%,transparent)}.TimetablePage_dayPage__ZVq3a{display:flex;flex-direction:column;gap:20px;animation:TimetablePage_fadeIn__Gsr6Q .3s ease}@keyframes TimetablePage_fadeIn__Gsr6Q{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.TimetablePage_dayPage__ZVq3a h2{text-align:center;color:var(--accent);margin:0;font-size:1.8rem;font-weight:700;padding-bottom:16px;border-bottom:2px solid var(--border)}.TimetablePage_noClasses__6uLZS{text-align:center;padding:40px 20px;background:var(--card);border-radius:10px;border:1px solid var(--border);color:var(--text-muted);font-size:1.1rem}.TimetablePage_noClasses__6uLZS p{margin:0}.TimetablePage_halvesContainer__hu2jB{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.TimetablePage_half__ThCQl{display:contents}.TimetablePage_courseDetails__SB0LI{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;transition:all .2s ease;box-shadow:0 4px 6px rgba(0,0,0,.3);display:grid;gap:0 20px}.TimetablePage_courseDetails__SB0LI:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.4);border-color:var(--accent)}.TimetablePage_courseDetails__SB0LI>div{display:flex;align-items:center;padding:8px 0;font-size:.95rem;line-height:1.6;border-bottom:1px solid color-mix(in oklab,var(--text) 3%,transparent)}.TimetablePage_courseDetails__SB0LI>div:last-child{border-bottom:none}.TimetablePage_courseDetails__SB0LI strong{color:var(--accent);font-weight:600;min-width:90px;margin-right:12px}.TimetablePage_courseDetails__SB0LI>div:nth-child(3){color:var(--warning);font-weight:600}.TimetablePage_row2cols____Zg7{display:grid;grid-template-columns:2fr;gap:16px;padding:12px 0!important;border:none!important;grid-column:1/-1}.TimetablePage_row2cols____Zg7>div{display:flex;align-items:center;padding:10px 12px;background:var(--panel);border-radius:6px;border:1px solid var(--border)}.TimetablePage_row2cols____Zg7 strong{min-width:60px}.TimetablePage_loadingContainer__4xWh9{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--text);background-color:var(--bg)}.TimetablePage_loader__Z_kHk{width:50px;height:50px;border-top:4px solid color-mix(in oklab,var(--color-text) 12%,transparent);border:4px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-top-color:var(--color-accent);border-radius:50%;animation:TimetablePage_spin__QdD9V 1s linear infinite;margin-bottom:1rem}@keyframes TimetablePage_spin__QdD9V{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (min-width:1200px){.TimetablePage_container__OiVvt{padding:30px;margin-bottom:80px}.TimetablePage_pageContainer__O6sK4{padding:32px}.TimetablePage_dayPage__ZVq3a h2{font-size:2rem}}@media (max-width:1199px) and (min-width:768px){.TimetablePage_halvesContainer__hu2jB{grid-template-columns:1fr;gap:16px}.TimetablePage_half__ThCQl{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}}@media (max-width:991px){.TimetablePage_container__OiVvt{padding:16px}.TimetablePage_pageContainer__O6sK4{padding:20px;margin-bottom:80px}.TimetablePage_dayNav__1PGN0{justify-content:flex-start}}@media (max-width:767px){.TimetablePage_container__OiVvt{padding:12px;margin-bottom:80px}.TimetablePage_pageContainer__O6sK4{padding:16px;gap:20px}.TimetablePage_dayNav__1PGN0{padding:10px;gap:8px}.TimetablePage_dayNav__1PGN0 button{padding:10px 18px;font-size:.9rem;min-width:70px}.TimetablePage_dayPage__ZVq3a h2{font-size:1.4rem;padding-bottom:12px}.TimetablePage_halvesContainer__hu2jB{grid-template-columns:1fr;gap:12px}.TimetablePage_half__ThCQl{gap:12px}.TimetablePage_courseDetails__SB0LI{padding:14px;gap:0 12px}.TimetablePage_courseDetails__SB0LI>div{padding:5px 0;font-size:.85rem;align-items:center;flex-direction:row;flex-wrap:wrap}.TimetablePage_courseDetails__SB0LI strong{min-width:50px;margin-right:6px;margin-bottom:0;font-size:.8rem}.TimetablePage_row2cols____Zg7{gap:8px;grid-column:1/-1}.TimetablePage_row2cols____Zg7>div{font-size:.85rem}}@media (max-width:480px){.TimetablePage_container__OiVvt{padding:8px;margin-bottom:0}.TimetablePage_pageContainer__O6sK4{padding:12px;gap:16px}.TimetablePage_dayNav__1PGN0{padding:8px;gap:6px}.TimetablePage_dayNav__1PGN0 button{padding:8px 14px;font-size:.85rem;min-width:60px}.TimetablePage_dayPage__ZVq3a h2{font-size:1.2rem}.TimetablePage_courseDetails__SB0LI{padding:12px}.TimetablePage_courseDetails__SB0LI>div{font-size:.85rem}.TimetablePage_row2cols____Zg7>div{padding:8px 10px}}.Loading_container__ktsHz{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);color:var(--color-text);gap:8px}.Loading_inline__IJ46w{min-height:auto;padding:16px;border-radius:10px;background:var(--color-card);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent)}.Loading_spinner__OtY0r{width:48px;height:48px;border-top:4px solid color-mix(in oklab,var(--color-text) 12%,transparent);border:4px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-top-color:var(--color-accent);border-radius:50%;animation:Loading_spin__KwNda 1s linear infinite}.Loading_message__DeOiI{font-size:.95rem;color:var(--color-text)}@keyframes Loading_spin__KwNda{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.MainLayout_container__0xHwJ{min-height:100vh;overflow:hidden;position:relative}.MainLayout_tabPage__dU9_I{min-height:100vh;will-change:transform,opacity}.MainLayout_slideInLeft__HRwBI{animation:MainLayout_slideInFromRight__VJHk5 .22s cubic-bezier(.25,.46,.45,.94) both}.MainLayout_slideInRight__aZY_C{animation:MainLayout_slideInFromLeft__sY_v2 .22s cubic-bezier(.25,.46,.45,.94) both}.MainLayout_exitLeft__frmMi{animation:MainLayout_exitToLeft__x7Z1H .18s cubic-bezier(.25,.46,.45,.94) both}.MainLayout_exitRight__i2IJp{animation:MainLayout_exitToRight__hrK59 .18s cubic-bezier(.25,.46,.45,.94) both}@keyframes MainLayout_slideInFromRight__VJHk5{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}@keyframes MainLayout_slideInFromLeft__sY_v2{0%{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}@keyframes MainLayout_exitToLeft__x7Z1H{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-32px)}}@keyframes MainLayout_exitToRight__hrK59{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(32px)}}