@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}input[type=text].editSubjectNameInput,.editSubjectNameInput{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important;margin:0!important;padding:0!important}[contenteditable=true].editSubjectNameEditable{box-shadow:none!important;-webkit-line-clamp:unset!important;text-overflow:clip!important;background:0 0!important;border:0!important;outline:none!important;display:block!important;overflow:visible!important}[contenteditable=true].editSubjectNameEditable:focus{box-shadow:none!important;border:0!important;outline:none!important}input[type=text].editSubjectNameInput:focus,.editSubjectNameInput:focus{box-shadow:none!important;border:0!important;outline:0!important}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body{color:#0f3f2c;scrollbar-gutter:stable;background:#fff;margin:0}.contentFade{opacity:1;transition:opacity .25s}.contentFade.fade-out{opacity:0}.dashboardLayout.dashboard-enter{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) forwards dashboardEnter}@keyframes dashboardEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page{flex-direction:column;min-height:100vh;display:flex}.policyCard{text-align:left;width:calc(100% - 160px);max-width:none;margin-left:auto;margin-right:auto}.legalDoc{box-shadow:none;background:0 0;border:0;padding:0 8px}.legalTitle{margin-bottom:10px;font-size:max(2rem,min(2.4vw,2.5rem));font-weight:600}.policyMeta{color:#556a60;margin:0 0 24px;font-size:.9rem;font-weight:500}.legalBody .legalDoc{box-shadow:none;background:0 0;border:0;padding:0}.legalBody .legalDoc:before{display:none}.legalBody .legalDoc>*{position:static}.legalBody .legalTitle{margin-bottom:8px;font-size:28px;font-weight:600}.legalBody{align-items:flex-start;gap:12px;margin:8px 0 4px;font-size:.95rem;line-height:1.4}.loginConsentRow input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:4px}.landingFooterLinks{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;display:flex}.landingFooterLink{color:inherit;text-underline-offset:3px;text-decoration:underline}.landingFooterLink:hover{opacity:.8}[data-theme=dark] .policyMeta{color:#8fa9a0}[data-theme=dark] .legalBody h2{color:#9adfbe}[data-theme=dark] .legalBody p,[data-theme=dark] .legalBody li{color:#c6d4cd}@media (max-width:860px){.policyCard{width:min(1000px,100vw - 24px)}.legalDoc{padding:0}.legalLayout{padding-top:34px;padding-bottom:34px}.legalTitle{font-size:max(1.75rem,min(6vw,2.1rem))}}.topbar{z-index:10;border-bottom:1px solid #e6e6e6;justify-content:space-between;align-items:center;height:56px;padding:0 18px;display:flex;position:relative;overflow:visible}.legalBody{max-width:none;display:block}.legalBody h2{color:inherit;margin:18px 0 6px;font-size:1.05rem;font-weight:700}.legalBody p,.legalBody li{color:inherit;font-size:1rem;line-height:1.7}.legalBody ul{margin:0 0 0 22px;padding:0}.legalBody li{margin-bottom:8px}.topbarBrandingLogo{object-fit:contain;flex-shrink:0;width:auto;max-height:36px;display:none}.topbarBrandingText{letter-spacing:.2px;white-space:nowrap;font-weight:600}.topbarBrandingTextLink{color:inherit;transition:opacity .2s;text-decoration:none!important}.topbarBrandingTextLink:hover{opacity:.7;text-decoration:none!important}.topbarBranding{color:inherit;text-decoration:none!important}.topbarBranding:hover{text-decoration:none!important}@media (max-width:768px){.topbarBrandingLogo{display:block}.topbarBrandingText{display:none}.topbar-center:has(.topbarBranding){justify-content:center;align-items:center;position:absolute;left:50%;transform:translate(-50%);display:flex!important}}.topbarBranding--center{justify-content:center}[data-theme=dark] .topbarBrandingText{color:#e2e4e9}.topbar-center{font-size:16px;font-weight:600;display:none;position:absolute;left:50%;transform:translate(-50%)}.topbar-center:has(.siteLogo){justify-content:center;align-items:center;display:flex!important}.siteLogo{width:auto;height:28px;display:block}.topbar-center.semester-btn{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:15px;font-weight:500;transition:opacity .2s;display:inline-flex}.topbar-center.semester-btn:hover{opacity:.85}.sem-arrow{opacity:.75;vertical-align:middle;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:4px;transition:transform .2s,opacity .2s;display:inline-block}.semester-btn:hover .sem-arrow,.mobile-sem-btn:hover .sem-arrow-mobile{opacity:1}.semester-btn[aria-expanded=true] .sem-arrow,.mobile-sem-btn[aria-expanded=true] .sem-arrow-mobile{transform:rotate(180deg)}.semester-dropdown-wrapper{display:inline-block;position:relative}.pageNavBtn{cursor:pointer;color:#0d5238;white-space:nowrap;letter-spacing:-.01em;background:#7bccac1f;border:1.5px solid #7bccac66;border-radius:999px;align-items:center;gap:6px;padding:6px 14px 6px 10px;font-size:.84rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.pageNavBtn:hover{background:#7bccac38;border-color:#7bccaca6;transform:translateY(-1px);box-shadow:0 2px 10px #7bccac4d}.pageNavBtn:active{box-shadow:none;transform:translateY(0)}.pageNavBtnIcon{opacity:.8;display:inline-flex}.pageNavBtn:hover .pageNavBtnIcon{opacity:1}.navBadge{letter-spacing:.05em;text-transform:uppercase;color:#f5f0ff;vertical-align:middle;background:#7c3aed;border-radius:999px;flex-shrink:0;margin-left:4px;padding:2px 6px;font-size:.63rem;font-weight:800;line-height:1.5}[data-theme=dark] .pageNavBtn{color:#93dfbe;background:#7bccac17;border-color:#7bccac38}[data-theme=dark] .pageNavBtn:hover{background:#7bccac2b;border-color:#7bccac6b;box-shadow:0 2px 12px #00000059}[data-theme=dark] .navBadge{color:#ede9fe;background:#6d28d9}@media (prefers-reduced-motion:reduce){.pageNavBtn{transition:none}}.topbarCenterGroup{align-items:center;gap:12px;display:none;position:absolute;left:50%;transform:translate(-50%)}@media (min-width:768px){.topbarCenterGroup{display:flex}}.bottomNav{z-index:900;-webkit-backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom,0px);background-color:#ffffffe0;border-top:1px solid #00000014;display:flex;position:fixed;bottom:0;left:0;right:0}@media (min-width:768px){.bottomNav{display:none}}.bottomNavTab{cursor:pointer;color:#9ca3af;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 8px;transition:color .15s;display:flex}.bottomNavTab:active{opacity:.7}.bottomNavTabActive{color:#2f9e72}.bottomNavIcon{justify-content:center;align-items:center;display:flex;position:relative}.bottomNavBadge{letter-spacing:.05em;text-transform:uppercase;color:#f5f0ff;pointer-events:none;white-space:nowrap;background:#7c3aed;border-radius:999px;padding:2px 5px;font-size:.55rem;font-weight:800;line-height:1.4;position:absolute;top:-5px;right:-6px}[data-theme=dark] .bottomNavBadge{color:#ede9fe;background:#6d28d9}.bottomNavIcon svg{stroke-width:1.8px;width:22px;height:22px}.bottomNavTabActive .bottomNavIcon svg{stroke-width:2.4px}.bottomNavLabel{letter-spacing:.01em;font-family:Inter Variable,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.68rem;font-weight:600}.scheduleLayout{font-family:Inter Variable,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.scheduleLayout h1,.scheduleLayout h2,.scheduleLayout h3{font-family:Space Grotesk Variable,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@media (max-width:767px){body{padding-bottom:calc(65px + env(safe-area-inset-bottom,0px))}}[data-theme=dark] .bottomNav{background-color:#121216e6;border-top-color:#ffffff12}[data-theme=dark] .bottomNavTab{color:#6b7280}[data-theme=dark] .bottomNavTabActive{color:#6fcf9c}.semester-dropdown-wrapper-desktop{display:none;position:relative}.semester-dropdown-wrapper-desktop .topbar-center{position:static;transform:none}@media (min-width:768px){.semester-dropdown-wrapper{display:none}.semester-dropdown-wrapper-desktop,.topbar-center{display:block}}.semester-dropdown-portal{z-index:9999;transform-origin:top;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-height:320px;padding:6px 0;animation:.28s cubic-bezier(.22,1,.36,1) forwards dropdownOpen;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 10px 40px #0000001f}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.semester-dropdown-portal .semester-option{animation:.25s cubic-bezier(.22,1,.36,1) backwards dropdownOptionIn}.semester-dropdown-portal .semester-option:first-child{animation-delay:20ms}.semester-dropdown-portal .semester-option:nth-child(2){animation-delay:40ms}.semester-dropdown-portal .semester-option:nth-child(3){animation-delay:60ms}.semester-dropdown-portal .semester-option:nth-child(4){animation-delay:80ms}.semester-dropdown-portal .semester-option:nth-child(5){animation-delay:.1s}.semester-dropdown-portal .semester-option:nth-child(6){animation-delay:.12s}.semester-dropdown-portal .semester-option:nth-child(7){animation-delay:.14s}.semester-dropdown-portal .semester-option:nth-child(8){animation-delay:.16s}.semester-dropdown-portal .semester-option:nth-child(9){animation-delay:.18s}.semester-dropdown-portal .semester-option:nth-child(10){animation-delay:.2s}.semester-dropdown-portal .semester-divider,.semester-dropdown-portal .semester-option.semester-action-add,.semester-dropdown-portal .semester-option.semester-action-remove{animation:.25s cubic-bezier(.22,1,.36,1) .12s backwards dropdownOptionIn}@keyframes dropdownOptionIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.semester-option{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s;display:block}.semester-option:hover{background:#f3f4f6}.semester-option.active{color:#fff;background:#0f3f2c;font-weight:600}.semester-dropdown-portal .semester-divider{pointer-events:none;background:#e5e7eb;border:none;height:1px;margin:6px 12px;padding:0}.semester-option.semester-action-add{color:#059669;font-weight:600}.semester-option.semester-action-add:hover{background:#ecfdf5}.semester-option.semester-action-remove{color:#dc2626;font-weight:600}.semester-option.semester-action-remove:hover{background:#fef2f2}@media (min-width:768px){.topbar-center{display:block}}.topbar-right{font-weight:500}.facultyLayout{flex:1;grid-template-columns:.85fr 1.15fr;place-items:center;gap:48px;padding:0 24px 32px;display:grid}.facultyLeft{align-self:center;width:100%;max-width:380px}.facultyLeftInner{text-align:left;padding:36px 0}.facultyGreetingSub{color:#7bccac;letter-spacing:.03em;margin:0 0 6px;font-size:14px;font-weight:500;animation:.5s ease-out 20ms backwards facultyTextIn}.facultyWelcome{letter-spacing:-.04em;color:#0f2e24;margin:0 0 18px;font-size:max(32px,min(4vw,44px));font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards facultyTextIn}.facultyIntro{color:#5a6b63;margin:0 0 24px;font-size:max(14px,min(1.6vw,16px));font-weight:400;line-height:1.6;animation:.5s ease-out .16s backwards facultyTextIn}.facultyDots{gap:8px;animation:.5s ease-out .24s backwards facultyTextIn;display:flex}.facultyDot{opacity:.7;border-radius:50%;width:10px;height:10px}@keyframes facultyTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.facultyRight{flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:580px;display:flex}.facultyGrid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.facultyCard{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #eaecef;border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 18px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.35s ease-out backwards facultyCardIn;display:flex;position:relative;overflow:hidden}.facultyCard:before{content:"";background:radial-gradient(ellipse at top left, color-mix(in srgb, var(--fc-color) 6%, transparent), transparent 70%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0;right:0}@media (hover:hover){.facultyCard:hover{box-shadow:0 12px 32px color-mix(in srgb, var(--fc-color) 12%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--fc-color) 35%, #e5e7eb);transform:translateY(-4px)}.facultyCard:hover:before{opacity:1}.facultyCard:hover .facultyCardBadge{background:color-mix(in srgb, var(--fc-color) 18%, #fff);transform:scale(1.06)}.facultyCard:hover .facultyCardName{color:color-mix(in srgb, var(--fc-color) 70%, #000)}}.facultyCard:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}@media (hover:none){.facultyCard:active{box-shadow:0 12px 32px color-mix(in srgb, var(--fc-color) 12%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--fc-color) 35%, #e5e7eb);transform:translateY(-4px)}.facultyCard:active:before{opacity:1}.facultyCard:active .facultyCardBadge{background:color-mix(in srgb, var(--fc-color) 18%, #fff);transform:scale(1.06)}.facultyCard:active .facultyCardName{color:color-mix(in srgb, var(--fc-color) 70%, #000)}}.facultyCardBadge{background:color-mix(in srgb, var(--fc-color) 12%, #fff);min-height:32px;color:var(--fc-color);letter-spacing:.04em;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:6px 10px;font-size:13px;font-weight:800;transition:background .2s,transform .2s;display:inline-flex}.facultyCardName{color:#1a1a1a;font-size:14px;font-weight:600;line-height:1.35;transition:color .2s;display:block}.facultyCardCode{color:var(--fc-color);letter-spacing:.06em;opacity:.75;font-size:11px;font-weight:600}@keyframes facultyCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.facultyExtras{grid-template-columns:1fr 1fr;gap:12px;display:grid}.importHero{color:#1a1a1a;cursor:pointer;text-align:left;background:#f8f9fa;border:1.5px solid #eaecef;border-radius:14px;align-items:center;gap:14px;width:100%;margin-bottom:16px;padding:16px 18px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;animation:.35s ease-out backwards facultyCardIn;display:flex;position:relative;overflow:hidden}@media (hover:hover){.importHero[data-state=idle]:hover{background:#fff;border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.importHero[data-state=idle]:hover .importHeroArrow{color:#6b7280;transform:translate(3px)}}.importHero[data-state=idle]:active{transform:translateY(-1px)}.importHero[data-state=imported]{cursor:default;background:#f0fdf4;border-color:#a7f3d0}.importHeroIcon{color:#4b5563;background:#eef0f2;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:flex}.importHero[data-state=imported] .importHeroIcon{color:#047857;background:#d1fae5;font-size:22px}.importHeroBody{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.importHeroEyebrow{letter-spacing:.1em;text-transform:uppercase;color:#6b7280;font-size:11px;font-weight:700}.importHero[data-state=imported] .importHeroEyebrow{color:#047857}.importHeroTitle{color:#1a1a1a;font-size:15px;font-weight:700;line-height:1.25}.importHeroBeta{letter-spacing:.1em;color:#fff;transform-origin:100% 0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:4px;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;position:absolute;top:10px;right:-4px;transform:rotate(12deg);box-shadow:0 2px 6px #6366f173}.importHeroDesc{color:#6b7280;margin-top:1px;font-size:12.5px;line-height:1.4}.importHeroArrow{color:#9ca3af;flex-shrink:0;font-size:22px;line-height:1;transition:transform .2s,color .2s}.importHeroActions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.importHeroLink{color:#047857;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.importHeroLink:hover{background:#04785714}.importHeroLink.importHeroLinkDanger{color:#9ca3af}.importHeroLink.importHeroLinkDanger:hover{color:#b91c1c;background:#b91c1c0f}@media (max-width:720px){.importHero{gap:12px;padding:14px}.importHeroIcon{width:40px;height:40px;font-size:18px}.importHeroActions{flex-direction:row}}[data-theme=dark] .importHero{color:#f3f4f6;background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .importHero[data-state=imported]{background:#2a2e30;border-color:#495c57}[data-theme=dark] .importHeroIcon{color:#d1d5db;background:#24242a}[data-theme=dark] .importHero[data-state=imported] .importHeroIcon{color:#34d399;background:#3d4443}[data-theme=dark] .importHeroTitle{color:#f3f4f6}[data-theme=dark] .importHeroDesc,[data-theme=dark] .importHeroEyebrow{color:#9ca3af}[data-theme=dark] .importHero[data-state=imported] .importHeroEyebrow{color:#34d399}@media (hover:hover){[data-theme=dark] .importHero[data-state=idle]:hover{background:#24242a;border-color:#3a3a40;box-shadow:0 8px 20px #00000059}}.modalBackdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out modalFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modalDialog{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 32px);animation:.2s ease-out modalSlideIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000040}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modalHeader{border-bottom:1px solid #eaecef;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modalTitle{color:#1a1a1a;margin:0;font-size:16px;font-weight:700}.modalCloseBtn{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:18px}.modalCloseBtn:hover{color:#1a1a1a;background:#f3f4f6}.modalBody{flex-direction:column;gap:12px;padding:18px 20px;display:flex;overflow-y:auto}.modalFooter{background:#fafbfc;border-top:1px solid #eaecef;justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;display:flex}.importModal .importModalIntro{color:#374151;margin:0;font-size:14px;line-height:1.5}.importModal .importModalHint{color:#6b7280;margin:0;font-size:12px;line-height:1.5}.importModal .importPickBtn{align-self:flex-start;margin-top:0}.importModalError{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.importModalSpinner{border:3px solid #e5e7eb;border-top-color:#0d9488;border-radius:50%;align-self:center;width:32px;height:32px;animation:.8s linear infinite importSpin}@keyframes importSpin{to{transform:rotate(360deg)}}.importModalSuccess{background:#f0fdf4;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.importModalCheck{color:#047857;background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.importModalSuccessTitle{color:#1a1a1a;font-size:14px;font-weight:600}.importModalSuccessMeta{color:#6b7280;font-size:12px}.importModalSemesterList{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.importModalSemesterList li{color:#374151;background:#f8f9fa;border-radius:6px;justify-content:space-between;gap:8px;padding:6px 10px;display:flex}.importModalWarnings{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;font-size:12px}.importModalWarnings ul{margin:4px 0 0;padding-left:18px}.importHeroGroup{flex-direction:column;align-items:flex-start;gap:0;display:flex}.importHeroGroup .importHero{width:100%;margin-bottom:0}.transcriptHelpLink{color:#6b7280;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;align-self:flex-start;margin:0;padding:3px 2px 0;font-size:12px;text-decoration:underline;animation:.35s ease-out 80ms backwards facultyCardIn}.transcriptHelpLink:hover{color:#374151}[data-theme=dark] .transcriptHelpLink{color:#9ca3af}[data-theme=dark] .transcriptHelpLink:hover{color:#d1d5db}.transcriptHelpModal{width:92vw;max-width:860px}.transcriptHelpBody{max-height:70vh;overflow-y:auto}.transcriptHelpView{flex-direction:column;gap:16px;display:flex}.transcriptHelpSteps{flex-direction:column;gap:20px;display:flex}.transcriptHelpStep{align-items:flex-start;gap:12px;display:flex}.transcriptHelpStepNum{background:var(--faculty-color,#0d9488);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;font-size:13px;font-weight:700;display:flex}.transcriptHelpStepLabel{color:#374151;margin:0 0 8px;font-size:13px;line-height:1.4}.transcriptHelpImg{border:1px solid #e5e7eb;border-radius:8px;width:100%;display:block}[data-theme=dark] .transcriptHelpStepLabel{color:#d1d5db}[data-theme=dark] .transcriptHelpImg{border-color:#2a2a2e}[data-theme=dark] .modalDialog{color:#f3f4f6;background:#1c1c20}[data-theme=dark] .modalHeader,[data-theme=dark] .modalFooter{border-color:#2a2a2e}[data-theme=dark] .modalFooter{background:#16161a}[data-theme=dark] .modalTitle{color:#f3f4f6}[data-theme=dark] .modalCloseBtn{color:#9ca3af}[data-theme=dark] .modalCloseBtn:hover{color:#f3f4f6;background:#24242a}[data-theme=dark] .importModal .importModalIntro{color:#d1d5db}[data-theme=dark] .importModal .importModalHint{color:#9ca3af}[data-theme=dark] .importModalSuccess{background:#2a2e30;border-color:#495c57}[data-theme=dark] .importModalSuccessTitle{color:#f3f4f6}[data-theme=dark] .importModalSuccessMeta{color:#9ca3af}[data-theme=dark] .importModalSemesterList li{color:#d1d5db;background:#24242a}[data-theme=dark] .importModalError{color:#f87171;background:#2e2d31;border-color:#5f5255}[data-theme=dark] .importModalWarnings{color:#fbbf24;background:#333131;border-color:#5f5945}.facultyExtraCard{cursor:pointer;background:#f8f9fa;border:1.5px solid #eaecef;border-radius:14px;align-items:center;gap:10px;padding:14px 16px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;animation:.35s ease-out backwards facultyCardIn;display:flex}@media (hover:hover){.facultyExtraCard:hover{background:#fff;border-color:#d1d5db;transform:translateY(-3px);box-shadow:0 8px 20px #0000000f}.facultyExtraCard:hover .facultyExtraIcon{background:#e5e7eb}.facultyExtraCard:hover .facultyExtraArrow{color:#6b7280;transform:translate(3px)}}.facultyExtraCard:active{transform:translateY(-1px)}@media (hover:none){.facultyExtraCard:active{background:#fff;border-color:#d1d5db;transform:translateY(-3px);box-shadow:0 8px 20px #0000000f}.facultyExtraCard:active .facultyExtraIcon{background:#e5e7eb}.facultyExtraCard:active .facultyExtraArrow{color:#6b7280;transform:translate(3px)}}.facultyExtraIcon{background:#eef0f2;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.facultyExtraLabel{color:#374151;text-align:left;flex:1;font-size:14px;font-weight:600}.facultyExtraArrow{color:#9ca3af;font-size:20px;transition:transform .2s,color .2s}.facultyCurrentLabel{color:#374151;margin:0 0 12px;font-size:14px}.facultyCurrentLabel strong{color:#0f3f2c}.welcome{margin:0 0 34px;font-size:38px;font-weight:500}.leftText{margin:0 0 42px;font-size:30px;font-weight:500;line-height:1.35}@media (max-width:768px){.facultyLayout{grid-template-columns:1fr;gap:24px;padding:0 28px 28px}.facultyRight{width:100%;max-width:420px;margin-left:auto;margin-right:auto}.facultyLeft{max-width:100%}.facultyLeftInner{text-align:center;padding:24px 0 8px}.facultyDots{justify-content:center}.facultyWelcome{font-size:max(28px,min(6vw,36px))}.facultyWelcome,.facultyIntro,.facultyGreetingSub,.facultyDots{animation-name:facultyTextInMobile}}@media (max-width:480px){.facultyLayout{padding:0 24px 28px}.facultyRight{max-width:100%}.facultyGrid,.facultyExtras{grid-template-columns:1fr}}@keyframes facultyTextInMobile{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dualDiplomaPage{flex-direction:column;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:32px 32px 64px;display:flex}.dualDiplomaPageIntro{margin-bottom:28px}.dualDiplomaPageTitle{color:#0f3f2c;margin:0 0 8px;font-size:26px;font-weight:600}.dualDiplomaPageSub{color:#374151;margin:0;font-size:15px;line-height:1.5}.dualDiplomaSectionsGrid{grid-template-columns:repeat(2,1fr);gap:32px 40px;margin-bottom:32px;display:grid}.dualDiplomaPageGridWrap{margin-bottom:0}.dualDiplomaPagePartnerName{color:var(--faculty-color,#0d9488);letter-spacing:.02em;margin:0 0 14px;font-size:15px;font-weight:600}.dualDiplomaPageGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.dualDiplomaProgramCard{cursor:pointer;text-align:center;background:#fff;border:2px solid #e0e6eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:80px;padding:20px 18px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;animation:.4s ease-out backwards branchCardIn;display:flex;box-shadow:0 2px 8px #0000000f}.dualDiplomaProgramCard:hover{border-color:var(--faculty-color,#0d9488);background:color-mix(in srgb, var(--faculty-color,#0d9488) 12%, #fff);transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.dualDiplomaProgramCard:active{transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.dualDiplomaProgramCardName{color:#1a1a1a;margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.35;display:block}.dualDiplomaProgramCardCode{color:var(--faculty-color,#0d9488);letter-spacing:.02em;font-size:13px;font-weight:500}.dualDiplomaPageOtherPartners{color:#6b7280;border-top:1px solid #e5e7eb;margin:0;padding-top:16px;font-size:13px}@media (max-width:640px){.dualDiplomaSectionsGrid,.dualDiplomaPageGrid{grid-template-columns:1fr}}.ddpPage{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;width:100%;padding:28px 24px 48px;display:flex;overflow-y:auto}.ddpHero{text-align:center;width:100%;max-width:560px;margin-bottom:32px}.ddpPill{letter-spacing:.05em;color:var(--ddp-color,#0d9488);background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #fff);border-radius:999px;margin-bottom:14px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-block}.ddpTitle{letter-spacing:-.03em;color:#0f2e24;margin:0 0 10px;font-size:max(26px,min(4vw,34px));font-weight:800;line-height:1.15}.ddpSubtitle{color:#5a6b63;margin:0;font-size:15px;line-height:1.5}@media (min-width:900px){.ddpPage{grid-template-columns:.5fr 1.5fr;justify-content:center;align-items:center;gap:64px;max-width:1400px;margin:0 auto;padding:48px 56px 64px;display:grid}.ddpHero{text-align:left;max-width:100%;margin-bottom:0}.ddpPartnerGrid{gap:24px;min-width:0;max-width:100%;margin:0}.ddpPartnerCard{border-radius:16px;gap:24px;min-height:110px;padding:32px 36px}.ddpPartnerBadge{border-radius:14px;min-width:60px;height:60px;font-size:15px}.ddpPartnerName{white-space:normal;text-overflow:unset;word-break:break-word;font-size:18px;line-height:1.4;overflow:visible}.ddpPartnerArrow{font-size:26px}}.ddpSections{grid-template-rows:repeat(2,auto);grid-template-columns:repeat(2,1fr);gap:24px;width:100%;max-width:900px;margin:0 auto;display:grid}.ddpSection{flex-direction:column;gap:14px;min-height:0;display:flex}.ddpSectionTitle{color:#1a1a1a;letter-spacing:-.02em;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:700;display:flex}.ddpSectionBadge{letter-spacing:.04em;color:var(--ddp-color,#0d9488);background:color-mix(in srgb, var(--ddp-color,#0d9488) 10%, #fff);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.ddpProgramGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;width:100%;min-height:0;display:grid}.ddpProgramCard{cursor:pointer;text-align:left;box-sizing:border-box;background:#fff;border:1.5px solid #eaecef;border-radius:12px;align-items:center;gap:14px;min-height:72px;padding:16px 18px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;animation:.35s ease-out backwards ddpProgramIn;display:flex}.ddpProgramCard:hover{box-shadow:0 8px 20px color-mix(in srgb, var(--ddp-color,#0d9488) 12%, transparent);border-color:color-mix(in srgb, var(--ddp-color,#0d9488) 35%, #e5e7eb);background:color-mix(in srgb, var(--ddp-color,#0d9488) 6%, #fff);transform:translateY(-2px)}.ddpProgramBadge{background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #fff);width:42px;height:42px;color:var(--ddp-color,#0d9488);letter-spacing:.02em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.ddpProgramName{color:#1a1a1a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.35;overflow:hidden}.ddpProgramArrow{color:var(--ddp-color,#0d9488);opacity:.8;flex-shrink:0;font-size:20px;font-weight:300}.ddpPartnerGrid{grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:560px;margin:0 auto;display:grid}.ddpPartnerCard{cursor:pointer;text-align:left;box-sizing:border-box;background:#fff;border:1.5px solid #eaecef;border-radius:14px;align-items:center;gap:16px;min-height:90px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;animation:.35s ease-out backwards ddpProgramIn;display:flex;overflow:hidden}.ddpPartnerCard:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--ddp-color,#0d9488) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--ddp-color,#0d9488) 35%, #e5e7eb);background:color-mix(in srgb, var(--ddp-color,#0d9488) 6%, #fff);transform:translateY(-3px)}.ddpPartnerBadge{background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #fff);min-width:48px;height:48px;color:var(--ddp-color,#0d9488);letter-spacing:.02em;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:800;display:flex}.ddpPartnerName{color:#1a1a1a;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.35}@media (max-width:899px){.ddpPartnerName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.ddpPartnerArrow{color:var(--ddp-color,#0d9488);opacity:.8;flex-shrink:0;font-size:22px;font-weight:300;transition:transform .2s}.ddpPartnerCard:hover .ddpPartnerArrow{transform:translate(3px)}@keyframes ddpProgramIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.ddpSections{grid-template-rows:repeat(4,auto);grid-template-columns:1fr;gap:28px}.ddpHero{margin-bottom:40px}.ddpPartnerGrid{align-self:center;width:100%;max-width:420px;margin-left:auto;margin-right:auto}}@media (max-width:640px){.ddpPage{padding:20px 28px 40px;overflow-x:hidden}.ddpPartnerGrid{grid-template-columns:1fr;align-self:center;gap:12px;width:340px;max-width:100%;margin-left:auto;margin-right:auto}.ddpSections{width:100%;max-width:420px;margin-left:auto;margin-right:auto}.ddpHero{margin-bottom:48px}.ddpTitle{font-size:max(22px,min(6vw,28px))}.ddpSubtitle{font-size:14px}.ddpSections{gap:24px}.ddpSectionTitle{flex-wrap:wrap;gap:8px;font-size:16px}.ddpSectionBadge{padding:5px 10px;font-size:12px}.ddpProgramGrid{grid-template-columns:repeat(2,1fr);gap:12px}.ddpProgramCard{border-radius:14px;gap:16px;min-height:90px;padding:22px;overflow:hidden}.ddpProgramCard:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--ddp-color,#0d9488) 10%, transparent), 0 4px 12px #0000000a;transform:translateY(-3px)}.ddpProgramBadge{border-radius:12px;width:auto;min-width:48px;height:48px;padding:0 8px;font-size:13px}.ddpProgramName{font-size:15px}.ddpProgramArrow{font-size:22px}}@media (max-width:480px){.ddpPage{padding:16px 24px 32px}.ddpSections{max-width:100%}.ddpHero{margin-bottom:40px}.ddpPill{margin-bottom:10px;padding:5px 12px;font-size:11px}.ddpTitle{font-size:20px}.ddpSubtitle{font-size:13px;line-height:1.45}.ddpSections{gap:20px}.ddpSection{gap:10px}.ddpSectionTitle{font-size:15px}.ddpProgramGrid{grid-template-columns:1fr;gap:8px}.ddpProgramBadge{min-width:36px;height:36px;font-size:11px}.ddpProgramName{white-space:normal;word-break:break-word;line-height:1.4}}@media (max-width:360px){.ddpPage{padding:12px 20px 24px}.ddpTitle{font-size:18px}}.branchLayout{flex:1;grid-template-columns:.85fr 1.15fr;place-items:center;gap:48px;padding:0 24px 32px;display:grid}.branchLeft{align-self:center;width:100%;max-width:380px}.branchLeftInner{text-align:left;padding:36px 0}.branchTag{letter-spacing:.06em;color:var(--faculty-color,#5a9fd4);background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 10%, #fff);border-radius:6px;margin-bottom:14px;padding:4px 12px;font-size:12px;font-weight:700;animation:.5s ease-out 20ms backwards branchTextIn;display:inline-block}.branchWelcome{letter-spacing:-.04em;color:#0f2e24;margin:0 0 14px;font-size:max(28px,min(3.8vw,40px));font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards branchTextIn}.branchIntro{color:#5a6b63;margin:0;font-size:max(14px,min(1.6vw,16px));font-weight:400;line-height:1.6;animation:.5s ease-out .16s backwards branchTextIn}@keyframes branchTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.branchRight{flex-direction:column;align-items:stretch;width:100%;max-width:580px;display:flex}.branchPartnerHeading{text-transform:uppercase;letter-spacing:.08em;color:var(--faculty-color,#5a9fd4);text-align:left;width:100%;margin:28px 0 12px 2px;font-size:13px;font-weight:600}.branchPartnerHeading:first-child{margin-top:0}.branchRightMulti{align-self:start;width:100%;max-width:580px}.branchGrid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.branchCard{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #eaecef;border-radius:14px;align-items:center;gap:16px;min-height:90px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.35s ease-out backwards branchCardIn;display:flex;overflow:hidden}@media (hover:hover){.branchCard:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--faculty-color,#5a9fd4) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 35%, #e5e7eb);transform:translateY(-3px)}.branchCard:hover .branchCardBadge{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 16%, #fff);transform:scale(1.04)}.branchCard:hover .branchCardName{color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 65%, #000)}.branchCard:hover .branchCardArrow{color:var(--faculty-color,#5a9fd4);transform:translate(3px)}}.branchCard:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}@media (hover:none){.branchCard:active{box-shadow:0 10px 28px color-mix(in srgb, var(--faculty-color,#5a9fd4) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 35%, #e5e7eb);transform:translateY(-3px)}.branchCard:active .branchCardBadge{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 16%, #fff);transform:scale(1.04)}.branchCard:active .branchCardName{color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 65%, #000)}.branchCard:active .branchCardArrow{color:var(--faculty-color,#5a9fd4);transform:translate(3px)}}.branchCardBadge{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 10%, #fff);min-width:48px;height:48px;color:var(--faculty-color,#5a9fd4);letter-spacing:.02em;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:800;transition:background .2s,transform .2s;display:flex}.branchCardText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.branchCardName{color:#1a1a1a;font-size:15px;font-weight:600;line-height:1.35;transition:color .2s;display:block}.branchCardCode{color:var(--faculty-color,#5a9fd4);letter-spacing:.04em;opacity:.7;font-size:12px;font-weight:600}.branchCardArrow{color:#c5c9ce;flex-shrink:0;font-size:22px;font-weight:300;transition:transform .2s,color .2s}@keyframes branchCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.branchLayout{grid-template-columns:1fr;align-items:start;gap:24px;padding:0 28px 28px}.branchRight{width:100%;max-width:420px;margin-left:auto;margin-right:auto}.branchLeft{max-width:100%}.branchLeftInner{text-align:center;padding:24px 0 8px}.branchTag{margin-left:auto;margin-right:auto}.branchWelcome,.branchIntro,.branchTag{animation-name:branchTextInMobile}.branchGrid:has(>:only-child){justify-items:center}.branchGrid:has(>:only-child)>*{width:100%;max-width:400px}}@media (max-width:480px){.branchGrid{gap:8px}.branchCardBadge{min-width:36px;height:36px;font-size:11px}}@keyframes branchTextInMobile{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.branchLayout{padding:0 24px 28px}.branchRight{max-width:100%}.branchGrid{grid-template-columns:1fr}}.degreeLayout{flex:1;grid-template-columns:.85fr 1.15fr;place-items:center;gap:48px;padding:0 24px;display:grid}.degreeLeft{align-self:center;width:100%;max-width:380px}.degreeLeftInner{text-align:left;padding:36px 0}.degreeTag{letter-spacing:.06em;color:var(--faculty-color,#4f46e5);background:color-mix(in srgb, var(--faculty-color,#4f46e5) 10%, #fff);border-radius:6px;margin-bottom:14px;padding:4px 12px;font-size:12px;font-weight:700;animation:.5s ease-out 20ms backwards degreeTextIn;display:inline-block}.degreeWelcome{letter-spacing:-.04em;color:#0f2e24;margin:0 0 14px;font-size:max(28px,min(3.8vw,40px));font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards degreeTextIn}.degreeIntro{color:#5a6b63;margin:0;font-size:max(14px,min(1.6vw,16px));font-weight:400;line-height:1.6;animation:.5s ease-out .16s backwards degreeTextIn}@keyframes degreeTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.degreeRight{flex-direction:column;align-items:stretch;width:100%;max-width:580px;display:flex}.degreeSections{flex-direction:column;gap:28px;width:100%;display:flex}.degreeSection{flex-direction:column;gap:10px;display:flex}.degreeSectionTitle{text-transform:uppercase;letter-spacing:.08em;color:var(--faculty-color,#4f46e5);margin:0 0 0 2px;font-size:13px;font-weight:600}.degreeSectionDL .degreeSectionTitle{color:#1e3a5f}.degreeGrid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.degreeCard{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #eaecef;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:80px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.35s ease-out backwards degreeCardIn;display:flex;overflow:hidden}@media (hover:hover){.degreeCard:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--faculty-color,#4f46e5) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--faculty-color,#4f46e5) 35%, #e5e7eb);transform:translateY(-3px)}.degreeCard:hover .degreeCardName{color:color-mix(in srgb, var(--faculty-color,#4f46e5) 65%, #000)}.degreeCard:hover .degreeCardArrow{color:var(--faculty-color,#4f46e5);transform:translate(3px)}}.degreeCard:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}@media (hover:none){.degreeCard:active{box-shadow:0 10px 28px color-mix(in srgb, var(--faculty-color,#4f46e5) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--faculty-color,#4f46e5) 35%, #e5e7eb);transform:translateY(-3px)}.degreeCard:active .degreeCardName{color:color-mix(in srgb, var(--faculty-color,#4f46e5) 65%, #000)}.degreeCard:active .degreeCardArrow{color:var(--faculty-color,#4f46e5);transform:translate(3px)}}.degreeCardName{color:#1a1a1a;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.35;transition:color .2s;display:block}.degreeCardArrow{color:#c5c9ce;flex-shrink:0;font-size:22px;font-weight:300;transition:transform .2s,color .2s}@keyframes degreeCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.degreeLayout{grid-template-columns:1fr;align-items:start;gap:24px;padding:0 28px 28px}.degreeRight{width:100%;max-width:420px;margin-left:auto;margin-right:auto}.degreeLeft{max-width:100%}.degreeLeftInner{text-align:center;padding:24px 0 8px}.degreeTag{margin-left:auto;margin-right:auto}.degreeWelcome,.degreeIntro,.degreeTag{animation-name:degreeTextInMobile}.degreeGrid:has(>:only-child){justify-items:center}.degreeGrid:has(>:only-child)>*{width:100%;max-width:400px}}@media (max-width:480px){.degreeLayout{padding:0 24px 28px}.degreeRight{max-width:100%}.degreeGrid{grid-template-columns:1fr}.degreeCardBadge{min-width:36px;height:36px;font-size:11px}}@keyframes degreeTextInMobile{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.semesterLayout{flex:1;grid-template-columns:.85fr 1.15fr;place-items:center;gap:48px;padding:0 24px 32px;display:grid}.semesterLeft{align-self:center;width:100%;max-width:380px}.semesterLeftInner{text-align:left;padding:36px 0}.semesterTag{letter-spacing:.06em;color:var(--faculty-color,#0d9488);background:color-mix(in srgb, var(--faculty-color,#0d9488) 10%, #fff);border-radius:6px;margin-bottom:14px;padding:4px 12px;font-size:12px;font-weight:700;animation:.5s ease-out 20ms backwards semesterTextIn;display:inline-block}.semesterWelcome{letter-spacing:-.04em;color:#0f2e24;margin:0 0 14px;font-size:max(28px,min(3.8vw,40px));font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards semesterTextIn}.semesterIntro{color:#5a6b63;margin:0;font-size:max(14px,min(1.6vw,16px));font-weight:400;line-height:1.6;animation:.5s ease-out .16s backwards semesterTextIn}@keyframes semesterTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.semesterRight{flex-direction:column;align-items:stretch;width:100%;max-width:580px;display:flex}.semesterSections{flex-direction:column;gap:24px;width:100%;display:flex}.semesterSection{flex-direction:column;gap:10px;display:flex}.semesterSectionTitle{text-transform:uppercase;letter-spacing:.08em;color:var(--faculty-color,#0d9488);margin:0 0 0 2px;font-size:13px;font-weight:600}.semesterGrid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.semesterCard{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #eaecef;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:80px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.35s ease-out backwards semesterCardIn;display:flex;overflow:hidden}@media (hover:hover){.semesterCard:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--faculty-color,#0d9488) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--faculty-color,#0d9488) 35%, #e5e7eb);transform:translateY(-3px)}.semesterCard:hover .semesterCardName{color:color-mix(in srgb, var(--faculty-color,#0d9488) 65%, #000)}.semesterCard:hover .semesterCardArrow{color:var(--faculty-color,#0d9488);transform:translate(3px)}}.semesterCard:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}@media (hover:none){.semesterCard:active{box-shadow:0 10px 28px color-mix(in srgb, var(--faculty-color,#0d9488) 10%, transparent), 0 4px 12px #0000000a;border-color:color-mix(in srgb, var(--faculty-color,#0d9488) 35%, #e5e7eb);transform:translateY(-3px)}.semesterCard:active .semesterCardName{color:color-mix(in srgb, var(--faculty-color,#0d9488) 65%, #000)}.semesterCard:active .semesterCardArrow{color:var(--faculty-color,#0d9488);transform:translate(3px)}}.semesterCardName{color:#1a1a1a;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.35;transition:color .2s}.semesterCardArrow{color:#c5c9ce;flex-shrink:0;font-size:22px;font-weight:300;transition:transform .2s,color .2s}@keyframes semesterCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.semesterLayout{grid-template-columns:1fr;gap:24px;padding:0 28px 28px}.semesterRight{width:100%;max-width:420px;margin-left:auto;margin-right:auto}.semesterLeft{max-width:100%}.semesterLeftInner{text-align:center;padding:24px 0 8px}.semesterTag{margin-left:auto;margin-right:auto}.semesterWelcome,.semesterIntro,.semesterTag{animation-name:semesterTextInMobile}}@media (max-width:480px){.semesterLayout{padding:0 24px 28px}.semesterRight{max-width:100%}.semesterGrid{grid-template-columns:1fr}.semesterCardBadge{min-width:36px;height:36px;font-size:13px}}@keyframes semesterTextInMobile{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.trackLayout{flex:1;grid-template-columns:1fr 1.2fr;place-items:center;gap:32px;display:grid}.trackLeft{text-align:left;border-left:4px solid var(--faculty-color,#5a9fd4);background:linear-gradient(90deg, color-mix(in srgb, var(--faculty-color,#5a9fd4) 12%, transparent) 0%, transparent 100%);border-radius:0 8px 8px 0;align-self:center;max-width:380px;padding:28px 0 28px 24px}.trackWelcome{letter-spacing:-.03em;color:#0f2e24;margin:0 0 16px;font-size:max(24px,min(3.2vw,32px));font-weight:700;line-height:1.2;animation:.5s ease-out 50ms backwards trackTextIn}.trackIntro{color:#1a1a1a;margin:0;font-size:max(15px,min(1.8vw,17px));font-weight:500;line-height:1.5;animation:.5s ease-out .15s backwards trackTextIn}@keyframes trackTextIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.trackRight{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:640px;display:flex}.trackGrid{grid-template-columns:repeat(2,1fr);gap:16px;width:100%;display:grid}.trackCard{cursor:pointer;text-align:center;background:#fff;border:2px solid #e0e6eb;border-radius:12px;justify-content:center;align-items:center;min-height:88px;padding:20px 16px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;animation:.4s ease-out backwards trackCardIn;display:flex;box-shadow:0 2px 8px #0000000f}.trackCard:hover{border-color:var(--faculty-color,#5a9fd4);background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 12%, #fff);transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.trackCard:active{transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.trackCardName{color:#1a1a1a;font-size:max(14px,min(1.5vw,16px));font-weight:600;line-height:1.35}@keyframes trackCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.trackLayout{grid-template-columns:1fr;gap:24px}.trackLeft{text-align:center;border-left:none;border-top:4px solid var(--faculty-color,#5a9fd4);background:linear-gradient(180deg, color-mix(in srgb, var(--faculty-color,#5a9fd4) 12%, transparent) 0%, transparent 100%);border-radius:8px;max-width:100%;padding:24px 20px}.trackWelcome,.trackIntro{animation-name:trackTextInMobile}}@keyframes trackTextInMobile{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.trackGrid{grid-template-columns:1fr}}.facultyStack{gap:16px;width:min(520px,100%);display:grid}.facultyStack.semesterGrid{gap:20px;width:min(640px,100%)}.semesterYearGroup{width:100%}.semesterYearLabel{color:#0f3f2c;margin-bottom:10px;font-size:18px;font-weight:600}.semesterRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.semesterBtn{width:100%}@media (max-width:720px){.facultyStack.semesterGrid{width:min(520px,100%)}.semesterRow{grid-template-columns:1fr}}.facultyBtn{cursor:pointer;color:inherit;background:#7bccac;border:none;border-radius:2px;padding:20px 22px;font-size:24px;line-height:1.2}.facultyBtn:hover{filter:brightness(.97)}.facultyBtn:active{transform:translateY(1px)}.authForm{max-width:360px}.authForm form{flex-direction:column;gap:16px;display:flex}.authLabel{flex-direction:column;gap:6px;font-size:14px;display:flex}.authInput{border:1px solid #ccc;border-radius:2px;padding:10px 12px;font-size:16px}.authError{color:#c00;margin:0;font-size:14px}.authSwitch{margin-top:16px;font-size:14px}.authSwitch a{color:#0f3f2c;text-decoration:underline}.loginLayout{box-sizing:border-box;flex:1;justify-content:center;align-items:center;padding:40px 20px 80px;font-family:Trebuchet MS,Segoe UI,Verdana,sans-serif;display:flex}.loginCard{text-align:center;box-sizing:border-box;width:min(520px,100%);padding:0 8px}.loginCard.policyCard{text-align:left}.loginTitle{color:#0f3f2c;margin:0 0 22px;font-size:30px;font-weight:500}.loginForm{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:320px;margin:0 auto;display:flex}.registerForm{gap:16px}.loginRow{flex-direction:column;gap:6px;width:100%;display:flex}.loginLabel{text-align:left;color:#1f2937;font-size:13px;font-weight:500}.loginInput{box-sizing:border-box;background:#fff;border:1px solid #cfcfcf;border-radius:8px;outline:none;width:100%;min-height:42px;padding:10px 12px;font-size:15px}.loginInput:focus{border-color:#8fb9a8;box-shadow:0 0 0 2px #0f3f2c14}textarea.loginInput{resize:vertical;height:auto;min-height:100px}.loginButton{color:#0f3f2c;cursor:pointer;background:#7bccac;border:1px solid #0f3f2c33;border-radius:8px;width:100%;margin-top:4px;padding:12px 24px;font-size:16px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s}.loginConsentRow{text-align:left;color:#1f2937;cursor:pointer;align-items:flex-start;gap:8px;width:100%;font-size:13px;line-height:1.4;display:flex}.loginButton:hover:not(:disabled){background:#8fd4b5;border-color:#0f3f2c59;transform:translateY(-1px);box-shadow:0 2px 8px #0f3f2c33}.loginButton:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #0f3f2c26}.loginButton:disabled{opacity:.7;cursor:not-allowed}.loginError{color:#c00;margin:0 0 4px;font-size:14px}.notFoundText{color:#1f2937;margin:0 0 20px;font-size:16px}.notFoundSeparator{color:#6b7280;-webkit-user-select:none;-moz-user-select:none;user-select:none}.loginDivider{background:#d9d9d9;width:100%;max-width:360px;height:1px;margin:14px auto 10px}.loginLinks{color:#1f2937;flex-direction:column;gap:8px;font-size:13px;display:flex}.loginLinkRow{justify-content:center;gap:8px;display:flex}.loginLink{color:#0f3f2c;text-decoration:underline}.loginLinkDisabled{color:#0f3f2c;cursor:default;text-decoration:underline}.backBtn{color:#0f3f2c;cursor:pointer;background:linear-gradient(#fff 0%,#f2faf7 100%);border:1px solid #cde7df;border-radius:999px;align-self:center;align-items:center;gap:8px;padding:9px 18px 9px 14px;font-size:14px;font-weight:600;transition:border-color .18s,box-shadow .18s,transform .12s,background .18s;display:inline-flex;box-shadow:0 1px 2px #0d948814}.backBtn:hover{background:linear-gradient(#fff 0%,#e6f6f1 100%);border-color:#0d9488;transform:translateY(-1px);box-shadow:0 4px 12px #0d94882e}.backBtn:active{transform:translateY(0);box-shadow:0 1px 2px #0d94881f}.backBtn:focus-visible{outline-offset:2px;outline:2px solid #0d9488}.backBtnArrow{transition:transform .18s;display:inline-flex}.backBtn:hover .backBtnArrow{transform:translate(-3px)}@media (max-width:640px){.loginLayout{padding:24px 16px 48px}.loginCard{width:100%;max-width:400px;margin:0 auto}.loginTitle{margin-bottom:18px;font-size:32px}.loginForm{gap:12px}.registerForm{gap:16px}}@media (max-width:520px){.loginLayout{padding:28px 14px 40px}.loginCard{padding:0 4px}.loginTitle{margin-bottom:16px;font-size:28px}.loginInput{min-height:46px;font-size:16px}.loginButton{min-height:50px;padding:14px 20px;font-size:16px}.loginDivider{max-width:none;margin:16px 0 12px}.loginLinks{font-size:13px}.loginLinkRow{flex-wrap:wrap;justify-content:center}.loginError{text-align:center;font-size:13px}}@media (max-width:380px){.loginLayout{padding:24px 12px 32px}.loginTitle{margin-bottom:14px;font-size:24px}.loginForm{gap:10px}.registerForm{gap:12px}.loginRow{gap:4px}.loginInput{min-height:44px;padding:10px;font-size:16px}.loginButton{min-height:48px;padding:12px 16px}.loginLinks{font-size:12px}}.topbarAuthDropdown{display:inline-block;position:relative}.topbarAuthTrigger{cursor:pointer;letter-spacing:.01em;color:#0f3f2c;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:15px;font-weight:500;transition:opacity .2s;display:inline-flex}.topbarAuthTrigger:hover{opacity:.85}.topbarAuthName{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.topbarAuthArrow{opacity:.75;vertical-align:middle;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:4px;transition:transform .2s,opacity .2s;display:inline-block}.topbarAuthTrigger:hover .topbarAuthArrow{opacity:1}.topbarAuthTrigger[aria-expanded=true] .topbarAuthArrow{transform:rotate(180deg)}.topbarAuthPortal{z-index:9999;transform-origin:100% 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:140px;padding:6px 0;animation:.28s cubic-bezier(.22,1,.36,1) forwards dropdownOpen;position:absolute;top:calc(100% + 8px);left:auto;right:0;overflow:hidden;box-shadow:0 10px 40px #0000001f}.topbarAuthOption{box-sizing:border-box;text-align:left;cursor:pointer;color:#0f3f2c;background:0 0;border:none;width:100%;padding:10px 18px;font-size:14px;font-weight:500;transition:background .15s;display:block}.topbarAuthOption:hover{background:#0f3f2c14}.topbarAuthOption:active{background:#0f3f2c1f}.topbarSignIn{color:#0f3f2c;border:1px solid #0f3f2c59;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s}.topbarSignIn:hover{background:#0f3f2c14;border-color:#0f3f2c}.landingPage{box-sizing:border-box;background:#1a1a1a;width:100%;min-width:0;max-width:100%;min-height:100vh;position:relative;overflow-x:hidden}.landingTopbar{z-index:100;background:0 0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:absolute;top:0;left:0;right:0}.landingTopbarLeft{align-items:center;display:flex}.landingLogo{width:auto;height:48px;display:block}.landingTopbarRight{align-items:center;display:flex}.landingTopbar .topbarSignIn{color:#fff;background:0 0;border:2px solid #fffffff2;border-radius:6px;padding:10px 20px;font-size:15px;font-weight:600;transition:background .2s,border-color .2s}.landingTopbar .topbarSignIn:hover{background:#fff3;border-color:#fff}.landingTopbar .topbarAuthTrigger,.landingTopbar .topbarAuthName{color:#fff}.landingTopbar .topbarAuthTrigger:hover{opacity:.9}.landingMain{flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;display:flex}.landingHero{box-sizing:border-box;background:#2c241a url(/landing-hero.png) 50%/cover no-repeat;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:85vh;min-height:0;max-height:85vh;padding:24px 20px 90px;display:flex;position:relative;overflow:hidden}@supports (height:100svh){.landingHero{height:85svh;max-height:85svh}}@media (max-width:640px){.landingHero{height:82vh;max-height:82vh;padding:24px 20px 70px}@supports (height:100svh){.landingHero{height:82svh;max-height:82svh}}}.landingHeroBg{pointer-events:none;background:linear-gradient(#00000059 0%,#00000080 100%);position:absolute;top:0;bottom:0;left:0;right:0}.landingHeroContent{z-index:1;text-align:center;max-width:720px;position:relative}.landingHeroTitle{color:#fff;letter-spacing:.02em;text-shadow:0 2px 24px #00000073,0 0 1px #0000004d;margin:0 0 36px;font-size:max(2.25rem,min(5.5vw,3.5rem));font-weight:600;line-height:1.25}.landingHeroTitleLine{opacity:0;animation:.8s cubic-bezier(.22,1,.36,1) forwards landingFadeUp;display:block}.landingHeroTitleLine:first-child{animation-delay:.15s}.landingHeroTitleLine:last-child{animation-delay:.35s}.landingHeroBrand{color:#fffffff2;letter-spacing:.02em;opacity:0;margin:0 0 14px;font-size:max(1.35rem,min(4vw,1.85rem));font-weight:500;animation:.8s cubic-bezier(.22,1,.36,1) 50ms forwards landingFadeUp}.landingHeroCta{opacity:0;flex-wrap:wrap;justify-content:center;gap:14px;animation:.8s cubic-bezier(.22,1,.36,1) .5s forwards landingFadeUp;display:flex}@keyframes landingFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landingBtn{border-radius:6px;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;display:inline-block}.landingBtn:hover{transform:translateY(-2px)}.landingBtnPrimary{color:#fff;background:#0f3f2c;border:2px solid #0f3f2c;box-shadow:0 4px 14px #0f3f2c40}.landingBtnPrimary:hover{background:#0d3528;box-shadow:0 6px 20px #0f3f2c4d}.landingHeroCta .landingBtnPrimary{color:#fff;box-shadow:none;background:0 0;border:2px solid #ffffffe6;border-radius:6px;padding:18px 40px;font-size:1.4rem}.landingHeroCta .landingBtnPrimary:hover{background:#ffffff1f;border-color:#fff}.landingBtnSecondary{color:#0f3f2c;background:0 0;border:2px solid #0f3f2c59}.landingBtnSecondary:hover{background:#0f3f2c0f;border-color:#0f3f2c}.landingBtnLarge{padding:16px 32px;font-size:1.05rem}.landingAbout{color:#1a1a1a;background:#f5f5f2;padding:44px 24px 72px}.landingAboutInner{max-width:1200px;margin:0 auto}.landingAboutTitle{color:#0f3f2c;letter-spacing:.02em;text-align:center;margin:0 0 40px;font-size:max(1.85rem,min(4vw,2.35rem));font-weight:700;line-height:1.25}.landingAboutPhotoBlock{opacity:0;grid-template-columns:1.15fr 1fr;align-items:start;gap:80px;margin:0 auto;display:grid;transform:translateY(20px)}.landingAboutInView .landingAboutPhotoBlock{animation:.8s cubic-bezier(.22,1,.36,1) .15s forwards landingAboutBlockIn}@keyframes landingAboutBlockIn{to{opacity:1;transform:translateY(0)}}@media (max-width:780px){.landingAboutPhotoBlock{grid-template-columns:1fr;gap:32px}}@media (max-width:640px){.landingAbout{padding-top:32px}}.landingAboutPhotoWrap{width:100%;min-width:0;position:relative;overflow:visible}.landingAboutPhoto{object-fit:cover;border-radius:0;width:100%;height:auto;display:block;box-shadow:0 20px 50px #00000026,0 0 0 1px #0000000f}.landingAboutObj{pointer-events:auto;opacity:0;cursor:default;transition:transform .3s,box-shadow .3s;position:absolute}.landingAboutObjClass{color:#1a1a1a;letter-spacing:.03em;transform-origin:0;z-index:2;background:linear-gradient(145deg,#e8d48a 0%,#c9a227 40%,#b8860b 100%);border-radius:10px;justify-content:center;align-items:center;min-width:52px;padding:8px 12px;font-size:1.1rem;font-weight:800;display:inline-flex;top:8%;right:-8%;box-shadow:0 6px 20px #c9a22780,inset 0 0 0 2px #ffffff4d}.landingAboutObjClass:hover{filter:brightness(1.08);box-shadow:0 10px 28px #c9a2278c,inset 0 0 0 2px #fff6}.landingAboutObjOf:hover{filter:brightness(1.08);box-shadow:0 12px 32px #b8860b80,inset 0 0 0 2px #ffffff80}.landingAboutObj2025:hover{filter:brightness(1.15);box-shadow:0 6px 24px #00000080,0 0 0 2px #d4af3799,0 0 24px #fff3}@keyframes landingObjPopOutClass{0%{opacity:0;transform:scale(.3)translate(20px,10px)rotate(-12deg)}60%{opacity:1;transform:scale(1.08)translate(-6px,-4px)rotate(2deg)}to{opacity:1;transform:scale(1)translate(0)rotate(0)}}.landingAboutObjOf{transform-origin:50%;color:#1a1a1a;letter-spacing:.02em;z-index:2;background:linear-gradient(#f5f5f2,#f5f5f2) padding-box padding-box,linear-gradient(145deg,#d4af37,#f4e4bc 30%,#b8860b 70%,#8b6914) border-box;border:4px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:.9rem;font-weight:700;display:inline-flex;top:42%;left:-6%;box-shadow:0 8px 24px #b8860b66,inset 0 0 0 1px #fff6}@keyframes landingObjPopOutOf{0%{opacity:0;transform:scale(.2)translate(-15px,15px)}60%{opacity:1;transform:scale(1.15)translate(4px,-4px)}to{opacity:1;transform:scale(1)translate(0)}}.landingAboutObj2025{transform-origin:0 100%;color:#fffffff2;letter-spacing:.08em;z-index:2;background:linear-gradient(145deg,#2a2a2a 0%,#1a1a1a 50%,#0d0d0d 100%);border-radius:8px;justify-content:center;align-items:center;min-width:52px;height:32px;padding:0 10px;font-size:1rem;font-weight:800;display:inline-flex;bottom:12%;right:-6%;box-shadow:0 4px 16px #0006,0 0 0 2px #d4af3780,0 0 20px #ffffff26,inset 0 1px #fff3}@keyframes landingObjPopOut2025{0%{opacity:0;transform:scale(.25)translate(10px,-10px)rotate(5deg)}60%{opacity:1;transform:scale(1.1)translate(-3px,3px)rotate(-1deg)}to{opacity:1;transform:scale(1)translate(0)rotate(0)}}@keyframes landingFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translateY(-6px)scale(1.02)}}.landingAboutInView .landingAboutObjClass{animation:1s cubic-bezier(.34,1.56,.64,1) .3s forwards landingObjPopOutClass,4s ease-in-out 1.6s infinite landingFloat}.landingAboutInView .landingAboutObjOf{animation:1s cubic-bezier(.34,1.56,.64,1) .6s forwards landingObjPopOutOf,3.5s ease-in-out 2s infinite landingFloat}.landingAboutInView .landingAboutObj2025{animation:1s cubic-bezier(.34,1.56,.64,1) .9s forwards landingObjPopOut2025,4.2s ease-in-out 2.4s infinite landingFloat}.landingAboutCards{flex-direction:column;gap:20px;min-width:0;display:flex}.landingAboutCard{opacity:0;background:#fff;border:1px solid #0f3f2c1a;border-radius:12px;padding:22px 24px;transition:transform .3s,box-shadow .3s;transform:translate(-50px);box-shadow:0 4px 20px #0000000f}.landingAboutCard:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0f3f2c24}.landingAboutInView .landingAboutCard{animation:.7s cubic-bezier(.22,1,.36,1) forwards landingCardOut}.landingAboutInView .landingAboutCard1{animation-delay:.2s}.landingAboutInView .landingAboutCard2{animation-delay:.45s}.landingAboutInView .landingAboutCard3{animation-delay:.7s}.landingAboutInView .landingAboutCard4{animation-delay:.95s}@keyframes landingCardOut{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.landingAboutCardTitle{color:#0f3f2c;margin:0 0 10px;font-size:1.1rem;font-weight:600}.landingAboutCardText{color:#444;margin:0;font-size:.95rem;line-height:1.55}.landingAboutCardCta{color:#555;margin:0;font-size:.98rem;line-height:1.6}.landingFeatures{max-width:1100px;margin:0 auto;padding:80px 24px 72px}.landingSectionTitle{color:#0f3f2c;text-align:center;letter-spacing:-.02em;margin:0 0 48px;font-size:1.75rem;font-weight:700}.landingFeatureGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.landingFeatureCard{opacity:0;background:#fff;border:1px solid #0f3f2c14;border-radius:16px;padding:28px 24px;transition:transform .3s,box-shadow .3s,border-color .2s;animation:.6s cubic-bezier(.22,1,.36,1) forwards landingFadeUp;box-shadow:0 2px 12px #0000000a}.landingFeatureCard:hover{border-color:#0f3f2c26;transform:translateY(-6px);box-shadow:0 12px 32px #0f3f2c1f}.landingFeatureCard h3{color:#0f3f2c;margin:0 0 10px;font-size:1.15rem;font-weight:600}.landingFeatureCard p{color:#4b5563;margin:0;font-size:.95rem;line-height:1.5}.landingFeatureIcon{margin-bottom:12px;font-size:2rem;line-height:1;display:inline-block}.landingCtaStrip{background:linear-gradient(#0f3f2c0f 0%,#0f3f2c05 100%);border-top:1px solid #0f3f2c14;padding:64px 24px}.landingCtaStripContent{text-align:center;max-width:560px;margin:0 auto}.landingCtaStripTitle{color:#0f3f2c;margin:0 0 24px;font-size:1.5rem;font-weight:700}.landingCtaStripBtns{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.landingFooter{text-align:center;background:#fff;border-top:1px solid #0f3f2c14;padding:32px 24px}.landingFooterCopy{color:#6b7280;margin:0 0 8px;font-size:.9rem}.landingFooterLinks{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;margin:0;font-size:.9rem;display:flex}.landingFooterLinks a{color:#0f3f2c;font-weight:500;text-decoration:none}.landingFooterLinks a:hover{text-decoration:underline}.landingFooterContact{align-items:baseline;gap:6px;display:inline-flex}.landingFooterContactAddr{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;font-weight:400}.landingFooterContact:hover .landingFooterContactAddr{color:#0f3f2c}.landingFooterDot{color:#9ca3af;margin:0 8px}.dashboardLayout{flex-direction:column;flex:1;gap:40px;padding:40px;display:flex}.dashboardHeader{text-align:left}.dashboardHeaderContent{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:32px;display:flex}.dashboardFaculty{text-align:left;flex-direction:column;flex:none;align-items:flex-start;gap:12px;width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:0;max-width:100%;margin:0;font-size:24px;font-weight:600;display:flex}.branchInfo{color:#0f3f2c;cursor:pointer;text-align:left;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:6px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;max-width:100%;padding:0;font-size:24px;font-weight:600;transition:opacity .2s;display:inline-flex}.branchInfo:hover{opacity:.85}.branch-trigger-suffix{white-space:nowrap}.branch-dropdown-wrapper{flex-shrink:0;align-self:flex-start;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;max-width:100%;display:inline-block;position:relative}.branch-arrow{opacity:.75;vertical-align:middle;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;flex-shrink:0;width:0;height:0;margin-left:4px;transition:transform .2s,opacity .2s;display:inline-block}.branchInfo:hover .branch-arrow,.hwg-location-btn:hover .branch-arrow{opacity:1}.branchInfo[aria-expanded=true] .branch-arrow,.hwg-location-btn[aria-expanded=true] .branch-arrow{transform:rotate(180deg)}.branch-dropdown-portal{box-sizing:border-box;z-index:9999;transform-origin:0 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:240px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;max-width:min(90vw,280px);padding:8px 0;animation:.28s cubic-bezier(.22,1,.36,1) forwards dropdownOpen;position:absolute;top:calc(100% + 8px);left:0;right:auto;overflow:hidden;box-shadow:0 10px 40px #0000001f}.branch-dropdown-portal .branch-option{animation:.25s cubic-bezier(.22,1,.36,1) backwards dropdownOptionIn}.branch-dropdown-portal .branch-option:first-child{animation-delay:30ms}.branch-dropdown-portal .branch-option:nth-child(2){animation-delay:60ms}.branch-dropdown-portal .branch-option:nth-child(3){animation-delay:90ms}.branch-dropdown-portal .branch-option:nth-child(4){animation-delay:.12s}@media (max-width:976px){.branch-dropdown-portal{width:240px;max-width:min(90vw,280px);left:0;right:auto}.dashboardFaculty{flex:none;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%}.branch-dropdown-wrapper{flex-shrink:0;max-width:100%;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.branchInfo{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;max-width:100%;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}}.branch-option{box-sizing:border-box;text-align:left;cursor:pointer;color:#0f3f2c;white-space:nowrap;background:0 0;border:none;width:100%;padding:12px 20px;font-size:17px;font-weight:500;transition:background .15s;display:block}.branch-option:hover{background:#0f3f2c14}.branch-option:active{background:#0f3f2c1f}.semesterInfoMobile{color:#6b7280;font-size:16px;font-weight:500;display:block}.mobile-sem-btn{color:#374151;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:auto;padding:6px 0;font-weight:500;line-height:1.2;transition:opacity .2s;font-size:15px!important;display:inline-flex!important}.mobile-sem-btn:hover{opacity:.85}.sem-arrow-mobile{opacity:.75;vertical-align:middle;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:4px;transition:transform .2s,opacity .2s;display:inline-block}.hwg-location-dropdown-wrapper{margin-left:8px;display:inline-block;position:relative}.hwg-location-btn{color:#374151;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:auto;padding:6px 0;font-weight:500;line-height:1.2;transition:opacity .2s;font-size:15px!important;display:inline-flex!important}.hwg-location-btn:hover{opacity:.85}.hwg-location-portal.branch-dropdown-portal{min-width:140px;left:0}.branch-option.active{background:color-mix(in srgb, var(--faculty-color,#4f46e5) 12%, #fff);font-weight:600}@media (min-width:768px){.semesterInfoMobile{display:none}.dashboardHeaderContent{align-items:flex-start}}.dashboardGPA{white-space:nowrap;margin:0;font-size:24px;font-weight:500}.dashboardGPAFloat{display:none}.dashboardGPAFloatValue{color:#7bccac;font-weight:700}.overviewToggleBtn{display:none}.dashboardLegendWrap{flex-flow:wrap;align-items:center;gap:12px;display:flex}.dashboardLegend{color:#0f3f2c;flex-wrap:wrap;align-items:center;gap:12px;font-size:20px;display:flex}.resetSemesterBtn{letter-spacing:.01em;cursor:pointer;color:#8f2e24;white-space:nowrap;background:linear-gradient(135deg,#fff4f2 0%,#ffe9e5 100%);border:1px solid #f2b7ad;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 6px 16px #ef444424,inset 0 1px #ffffffbf}.importTranscriptBtn{letter-spacing:.01em;cursor:pointer;color:#1d4a8a;white-space:nowrap;background:linear-gradient(135deg,#eef5ff 0%,#dceaff 100%);border:1px solid #9dc1f0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 6px 16px #3b82f629,inset 0 1px #ffffffbf}.importTranscriptBtn:hover{color:#143765;filter:saturate(1.06);border-color:#6ea3e4;transform:translateY(-1px);box-shadow:0 10px 22px #3b82f63d,inset 0 1px #ffffffd9}.importTranscriptBtn:hover svg{transform:translateY(-1px)}.importTranscriptBtn:active{transform:translateY(0);box-shadow:0 4px 10px #3b82f633,inset 0 1px #ffffffbf}.importTranscriptBtn svg{transition:transform .2s}[data-theme=dark] .importTranscriptBtn{color:#cfe0ff;background:linear-gradient(135deg,#14233a 0%,#1b3052 100%);border-color:#355d92;box-shadow:0 8px 18px #00000059,inset 0 1px #ffffff0f}[data-theme=dark] .importTranscriptBtn:hover{color:#ecf3ff;border-color:#6892d8;box-shadow:0 12px 26px #0000006b,0 0 0 1px #6892d847}.resetSemesterBtn svg{transition:transform .2s}.gradeModeToggleBtn{letter-spacing:.01em;cursor:pointer;color:#19553f;white-space:nowrap;background:linear-gradient(135deg,#effcf5 0%,#dcf6ea 100%);border:1px solid #9edebf;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 6px 16px #3d9c702e,inset 0 1px #ffffffbf}.gradeModeToggleBtn:hover{filter:saturate(1.05);transform:translateY(-1px);box-shadow:0 10px 22px #3d9c7040,inset 0 1px #ffffffd9}.gradeModeToggleBtn:active{transform:translateY(0);box-shadow:0 4px 10px #3d9c7033,inset 0 1px #ffffffbf}.gradeModeToggleIcon{opacity:.9;font-size:12px;line-height:1;transition:transform .22s;display:inline-flex}.gradeModeToggleBtn:hover .gradeModeToggleIcon{transform:rotate(180deg)}.resetSemesterBtn:hover{color:#7b231a;filter:saturate(1.06);border-color:#ee8678;transform:translateY(-1px);box-shadow:0 10px 22px #ef444438,inset 0 1px #ffffffd9}.resetSemesterBtn:hover svg{transform:rotate(-28deg)}.resetSemesterBtn:active{transform:translateY(0);box-shadow:0 4px 10px #ef44442e,inset 0 1px #ffffffbf}.legendTitle{font-weight:600}.legendItems{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.legendItem{font-size:inherit;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.legendGrade{font-weight:700}.dashboardLegend,.legendItems{justify-content:flex-start}.dashboardHeaderContent{align-items:flex-start}@media (max-width:768px){.cardHeader h3{-webkit-line-clamp:unset!important;text-overflow:clip!important;display:block!important;overflow:visible!important}.dashboardGPA{display:none}.dashboardLegendWrap{flex-direction:column;align-items:flex-start;gap:20px}.resetSemesterBtn{min-height:40px;margin-top:0;padding:9px 14px;font-size:14px}.gradeModeToggleBtn{min-height:40px;padding:9px 14px;font-size:14px}.gradeModeToggleIcon{font-size:14px}.resetSemesterBtn svg{width:14px;height:14px}.dashboardGPAFloat{bottom:calc(65px + env(safe-area-inset-bottom,0px) + 12px);z-index:100;color:#1a1a1a;pointer-events:none;background:#fff;border:1.5px solid #eaecef;border-radius:14px;align-items:center;gap:8px;padding:16px 22px;font-size:18px;font-weight:500;display:flex;position:fixed;right:20px;box-shadow:0 4px 20px #0000001f}.dashboardGPAFloatValue{font-size:22px}.overviewToggleBtn{bottom:calc(65px + env(safe-area-inset-bottom,0px) + 12px);z-index:100;color:#555;cursor:pointer;background:#fff;border:1.5px solid #eaecef;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex;position:fixed;left:20px;box-shadow:0 4px 20px #0000001f}.overviewToggleBtn.active{color:#fff;background:#7bccac;border-color:#7bccac}.subjectsContainer.overviewActive{-webkit-overflow-scrolling:touch;flex-direction:column;gap:6px;display:flex;overflow-y:auto}.overviewCard{cursor:pointer;border-width:1px;flex-direction:column;flex-shrink:0;gap:4px;padding:10px 14px;display:flex}.overviewCard:hover{border-color:#7bccac}.overviewCardTop{align-items:baseline;gap:8px;display:flex}.overviewName{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.overviewGrade{flex-shrink:0;font-size:16px;font-weight:800}.overviewTotal{color:#888;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:600}.overviewItems{flex-wrap:wrap;gap:4px 10px;display:flex}.overviewChip{white-space:nowrap;align-items:center;gap:3px;font-size:12px;line-height:1;display:inline-flex}.overviewChipLabel{color:#999}.overviewChipValue{color:#333;font-variant-numeric:tabular-nums;font-weight:600}.dashboardOverview .dashboardHeader{display:none}.dashboardOverview{gap:6px;padding:10px 10px 80px}.dashboardOverview .dashboardGPAFloat,.dashboardOverview .overviewToggleBtn{opacity:.3;transition:opacity .15s}.dashboardOverview .dashboardGPAFloat:active,.dashboardOverview .overviewToggleBtn:active{opacity:1}}@media (max-width:480px){.dashboardGPA{text-align:left;align-self:flex-start;margin-top:12px}.dashboardHeaderContent{flex-direction:column;align-items:flex-start;gap:12px}.dashboardLegend{gap:8px}}.subjectsContainer{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;gap:24px;display:grid}.subjectCard{cursor:pointer;overflow-anchor:none;border:2px solid #d9d9d9;border-radius:4px;padding:24px;transition:all .2s}.subjectCard:hover{border-color:#7bccac;box-shadow:0 4px 12px #7bccac1a}.subjectCard h3{margin:0 0 12px;font-size:20px}.cardPreview{color:#999;margin:0;font-size:14px}.expandedCard{cursor:default;flex-direction:column;padding:20px;transition:transform .2s,opacity .2s;display:flex;position:relative;overflow:visible}.expandedCard:hover{box-shadow:none;border-color:#d9d9d9}.expandedCard.dragging{opacity:0}.expandedCard[draggable=true]{cursor:grab}.expandedCard[draggable=true]:active{cursor:grabbing}.cardHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;font-size:18px;font-weight:600;line-height:1.2;display:flex}.cardHeaderActions{flex-shrink:0;align-items:center;gap:8px;display:flex}.cardHeader h3{font-size:inherit;font-weight:inherit;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;min-width:0;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.subjectTitleWrapper{flex:1;min-width:0;max-width:100%;min-height:2.6em;padding-right:36px;position:relative}.electiveAutocomplete{z-index:9999;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;width:min(320px,80vw);max-height:220px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 8px 18px #0000001f}.electiveAutocompleteItem{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;align-items:baseline;gap:6px;padding:8px 12px;font-size:14px;display:flex}.electiveAutocompleteCode{color:var(--muted,#6b7280);flex-shrink:0;min-width:64px;font-size:.85em;font-weight:600}[data-theme=dark] .electiveAutocompleteCode{color:#9ca3af}.electiveAutocompleteMore{color:#9ca3af;border-top:1px solid #eee;padding:6px 12px;font-size:11px;font-style:italic}[data-theme=dark] .electiveAutocompleteMore{color:#6b7280;border-top-color:#2a2a2e}.electiveAutocompleteItem:hover{background-color:#f3f4f6}.deleteSubjectBtn,.deleteItemBtn{color:#fff;cursor:pointer;background:#22a76d;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;font-weight:700;transition:all .2s;display:flex}.resetSubjectBtn{color:#fff;cursor:pointer;background:#6b7280;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.resetSubjectBtn:hover,.deleteSubjectBtn:hover,.deleteItemBtn:hover{filter:brightness(.9);transform:scale(1.1)}.resetSubjectOverlay{z-index:10;border-radius:4px;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.resetSubjectOverlayBackdrop{-webkit-backdrop-filter:blur(10px);background:#ffffffbf;position:absolute;top:0;bottom:0;left:0;right:0}.resetSubjectOverlayContent{background:#fff;border-radius:12px;width:100%;max-width:360px;padding:24px;position:relative;box-shadow:0 8px 32px #0000001f}.resetSubjectOverlayTitle{color:#1a1a1a;margin:0 0 8px;font-size:18px;font-weight:600}.resetSubjectOverlaySubtitle{color:#444;margin:0 0 20px;font-size:14px;line-height:1.4}.resetSubjectOverlayActions{justify-content:flex-end;gap:12px;display:flex}.resetSubjectOverlayCancel,.resetSubjectOverlayConfirm{cursor:pointer;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.resetSubjectOverlayCancel{color:#1a1a1a;background:#e5e7eb;border:none}.resetSubjectOverlayCancel:hover{background:#d1d5db}.resetSubjectOverlayConfirm{color:#fff;background:#22a76d;border:none}.resetSubjectOverlayConfirm:hover{filter:brightness(.9)}.resetSemesterOverlay{z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.resetSemesterOverlayBackdrop{-webkit-backdrop-filter:blur(10px);background:#ffffffbf;position:absolute;top:0;bottom:0;left:0;right:0}.resetSemesterOverlayContent{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:24px;position:relative;box-shadow:0 8px 32px #0000001f}.resetSemesterOverlayTitle{color:#1a1a1a;margin:0 0 8px;font-size:18px;font-weight:600}.resetSemesterOverlaySubtitle{color:#444;margin:0 0 20px;font-size:14px;line-height:1.5}.resetSemesterOverlayActions{justify-content:flex-end;gap:12px;display:flex}.resetSemesterOverlayConfirmBtn{cursor:pointer;color:#fff;background:#ef4444;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.resetSemesterOverlayConfirmBtn:hover{background:#dc2626}.gradeItems{flex-direction:column;flex:auto;gap:16px;margin-bottom:16px;display:flex}.gradeItem{cursor:default;border-radius:6px;flex-direction:column;gap:6px;width:100%;margin:-8px;padding:8px;transition:background .2s;display:flex}.gradeItem.dragging{opacity:0}.gradeInputRow{pointer-events:auto}.gradeInputRow input{cursor:text;pointer-events:auto}.gradeInputRow{align-items:center;gap:8px;width:100%;max-width:100%;display:flex}.scoreInput,.weightInput{flex-direction:column;gap:4px;min-width:0;display:flex}.scoreInput{flex:1.5}.weightInput{flex:1}.inputLabel{text-transform:uppercase;color:#999;font-size:11px;font-weight:600}.inputLabelWithIcon{align-items:center;display:inline-flex}.inputLabelPenIcon{opacity:.6;flex-shrink:0;margin-left:4px}.weightInputWrapper{align-items:center;width:100%;display:flex;position:relative}.weightInputWrapper input{box-sizing:border-box;width:100%;padding-right:28px}.percentSymbol{color:#999;pointer-events:none;font-weight:600;position:absolute;right:8px}.gradeInputRow input{box-sizing:border-box;border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.gradeInputRow input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gradeInputRow input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gradeInputRow input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.gradeInputRow input:focus{border-color:#7bccac;outline:none;box-shadow:0 0 0 2px #7bccac1a}@media (max-width:768px){.gradeInputRow input,.weightInputWrapper input,.gradeInput input,.activityInput input,.subjectNameInput,.objectNameInput{font-size:16px}}.deleteItemBtn{flex-shrink:0;align-self:flex-end;width:24px;height:24px;margin-bottom:2px;font-size:16px}.addObjectBtn{cursor:pointer;color:#666;background:0 0;border:1px dashed #d9d9d9;border-radius:4px;width:100%;margin-bottom:16px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s}.addObjectBtn:hover{color:#7bccac;background:#7bccac0d;border-color:#7bccac}.subjectGradeResult{border-top:1px solid #e6e6e6;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:auto;padding-top:12px;display:flex}.gradeResultRow{flex-direction:column;flex:1;align-items:flex-start;display:flex}.gradeResultRow span:first-child{text-transform:uppercase;color:#999;margin-bottom:4px;font-size:11px;font-weight:600}.gradeValue{color:#0f3f2c;font-size:20px;font-weight:700}.letterGradeValue{color:#7bccac;font-size:22px;font-weight:700}.barredNotice{color:#c0392b;background-color:#fbe4e4;border-radius:6px;width:100%;padding:.3rem .6rem;font-size:.78rem;font-weight:700}[data-theme=dark] .barredNotice{color:#f08a7a;background-color:#3a1c1c}.incompleteWarning{color:#ff6b6b;text-align:center;width:100%;margin-top:6px;font-size:22px;font-style:italic}.gradePrediction{border-top:1px dashed #e6e6e6;margin-top:12px;padding-top:10px}.gradePredictionTitle{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}[data-theme=dark] .gradePredictionTitle{color:#9ca3af}.gradePredictionList{flex-direction:column;gap:8px;display:flex}.gradePredictionTier{background:#fff;border:1px solid #d9d9d9;border-radius:4px;flex-direction:column;gap:2px;padding:6px;display:flex}.gradePredictionRow{border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:5px 10px;font-size:12px;transition:background .15s;display:flex;position:relative}.gradePredictionRow:hover{background:#00000006}.gradePredictionGrade{letter-spacing:.01em;flex-shrink:0;min-width:26px;font-size:13px;font-weight:800;line-height:1}.gradePredictionStatus{text-align:right;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.gradePredictionStatus--achieved{color:#10b981}.gradePredictionStatus--needs{color:#d97706}.gradePredictionStatus--impossible{color:#9ca3af;font-weight:500;text-decoration:line-through;text-decoration-thickness:1px}.gradePredictionStatus--unknown{color:#d1d5db;font-weight:500}.gradePredictionTitleNote{letter-spacing:0;text-transform:none;color:#9ca3af;font-size:11px;font-weight:500}[data-theme=dark] .gradePredictionTier{background:#16161a;border-color:#333338}[data-theme=dark] .gradePredictionRow:hover{background:#ffffff0a}[data-theme=dark] .gradePredictionStatus--achieved{color:#34d399}[data-theme=dark] .gradePredictionStatus--needs{color:#fbbf24}[data-theme=dark] .gradePredictionStatus--impossible{color:#6b7280}[data-theme=dark] .gradePredictionStatus--unknown{color:#4b5563}[data-theme=dark] .gradePredictionTitleNote{color:#6b7280}.gradePredictionFooter{border-top:1px dashed #e6e6e6;margin-top:8px;padding-top:8px}.gradePredictionHint{color:#8a0303;text-transform:uppercase;text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding-bottom:8px;font-size:11px;font-weight:700;display:flex}.gradePredictionHintClose{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;padding:0;font-size:12px;font-weight:700;line-height:1}.gradePredictionHintClose:hover{opacity:1}.addSubjectBtn{cursor:pointer;color:#666;background:0 0;border:2px dashed #d9d9d9;border-radius:4px;padding:24px;font-size:16px;transition:all .2s}.addSubjectBtn:hover{color:#7bccac;border-color:#7bccac}.newSubjectCard{flex-direction:column;gap:12px;display:flex}.newSubjectCard .subjectNameInput{border:2px solid #7bccac;flex:1}.subjectNameInput,.objectNameInput{border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.subjectNameInput:focus,.objectNameInput:focus{border-color:#7bccac;outline:none;box-shadow:0 0 0 2px #7bccac1a}@media (max-width:768px){.subjectNameInput,.objectNameInput{font-size:16px}}.addSubjectActions,.objectInputContainer{gap:8px;display:flex}.addConfirmBtn,.addCancelBtn{cursor:pointer;border:none;border-radius:4px;flex:none;min-width:40px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.addConfirmBtn{color:#fff;background:#7bccac}.addConfirmBtn:hover{filter:brightness(.95)}.addCancelBtn{color:#999;background:#f0f0f0}.addCancelBtn:hover{background:#e6e6e6}.objectInputContainer{gap:6px;margin-bottom:16px}.objectInputContainer input{flex:1}.newSubjectCard .gradeItems,.newSubjectCard .addObjectBtn,.newSubjectCard .subjectGradeResult{opacity:.5;pointer-events:none}.backBtn{cursor:pointer;color:#fff;background:#7bccac;border:none;border-radius:4px;padding:10px 16px;font-size:16px;font-weight:500}.backBtn:hover{filter:brightness(.95)}.inputsSection{flex-direction:column;gap:24px;display:flex}.gradeInput{flex-direction:column;gap:8px;display:flex}.gradeInput label{text-transform:uppercase;color:#666;font-size:14px;font-weight:600}.inputGroup{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gradeInput input,.activityInput input{border:1px solid #d9d9d9;border-radius:4px;padding:10px 12px;font-family:inherit;font-size:14px}.gradeInput input:focus,.activityInput input:focus{border-color:#7bccac;outline:none;box-shadow:0 0 0 2px #7bccac1a}.activitiesSection{border-top:1px solid #e6e6e6;padding-top:24px}.activitiesSection h4{text-transform:uppercase;color:#666;margin:0 0 16px;font-size:14px}.activityInput{grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:12px;margin-bottom:12px;display:grid}.activityName{cursor:not-allowed;background:#f5f5f5!important}.removeBtn{cursor:pointer;color:#fff;background:#ff6b6b;border:none;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:500}.removeBtn:hover{filter:brightness(.9)}.addActivityBtn{cursor:pointer;color:#666;background:0 0;border:2px dashed #d9d9d9;border-radius:4px;margin-top:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.addActivityBtn:hover{color:#7bccac;border-color:#7bccac}.resultsSection{flex-direction:column;gap:20px;display:flex}.resultCard{text-align:center;border:1px solid #e6e6e6;border-radius:4px;padding:20px}.resultLabel{text-transform:uppercase;color:#999;margin:0;font-size:12px;font-weight:600}.resultValue{color:#0f3f2c;margin:8px 0 0;font-size:32px;font-weight:700}.resultGrade{color:#7bccac;margin:8px 0 0;font-size:40px;font-weight:700}.resultCard.threshold{background:#f9f9f9;border-color:#7bccac}.targetsSection{border-top:1px solid #e6e6e6;padding-top:20px}.targetsSection h4{text-transform:uppercase;color:#999;margin:0 0 12px;font-size:12px;font-weight:600}.targetRow{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.targetRow:last-child{border-bottom:none}.undoPopup{color:#202124;z-index:1000;background-color:#fff;border-radius:4px;align-items:center;gap:16px;padding:14px 20px;font-family:Roboto,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:20px;animation:.25s ease-out slideUpFade;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 1px 3px #3c40434d,0 4px 8px #3c404326}.errorToast{color:#1a1a1a;z-index:1001;background-color:#fff;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:16px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:calc(100% - 40px);padding:14px 20px;font-size:14px;line-height:1.4;animation:.25s ease-out slideUpFade;display:inline-flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.errorToastMessage{color:#b91c1c;flex:1}.errorToastDismiss{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:600}.errorToastDismiss:hover{background:#fee2e2}@keyframes slideUpFade{0%{opacity:0;bottom:0}to{opacity:1;bottom:20px}}.successToast{color:#166534;z-index:1001;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:12px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:calc(100% - 40px);padding:14px 20px;font-size:14px;line-height:1.4;animation:.25s ease-out slideUpFade;display:inline-flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.successToastIcon{color:#16a34a;flex-shrink:0;font-size:16px;font-weight:700}.successToastMessage{color:#166534;flex:1}.successToastDismiss{color:#16a34a;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:4px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:600}.successToastDismiss:hover{background:#dcfce7}.undoMessage{color:#202124;white-space:nowrap;letter-spacing:.25px;font-size:14px;font-weight:400}.undoBtn{color:#fff;cursor:pointer;white-space:nowrap;text-transform:none;letter-spacing:.25px;background-color:#22a76d;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .1s}.undoBtn:hover{background-color:#1e9660}.undoBtn:active{background-color:#1a8553}@media (max-width:600px){.undoPopup{gap:12px;max-width:calc(100% - 40px);padding:12px 16px;bottom:16px;right:16px}.undoMessage{text-overflow:ellipsis;max-width:220px;font-size:13px;overflow:hidden}.undoBtn{padding:7px 14px;font-size:13px}@keyframes slideUpFade{0%{opacity:0;bottom:0}to{opacity:1;bottom:16px}}}.topbarAuthRow{align-items:center;gap:12px;display:flex}.themeToggleWrap{align-items:center;gap:8px;display:inline-flex}.themeToggleHint{opacity:.9;font-size:18px;line-height:1}[data-theme=dark] .themeToggleHint{opacity:.95}.themeToggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.themeToggleTrack{background:#e5e7eb;border-radius:12px;align-items:center;width:44px;height:24px;transition:background .3s;display:flex;position:relative;overflow:hidden}.themeToggleTrackDark{background:#374151}.themeToggleThumb{z-index:2;background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.themeToggleThumbDark{transform:translate(20px)}.themeToggleIcon{z-index:1;font-size:13px;line-height:1;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.themeToggleIconSun{color:#f59e0b;opacity:1;left:5px}.themeToggleTrackDark .themeToggleIconSun{opacity:.3}.themeToggleIconMoon{color:#9ca3af;opacity:.3;right:5px}.themeToggleTrackDark .themeToggleIconMoon{opacity:1;color:#fbbf24}[data-theme=dark] body{color:#e2e4e9;background:#111113}[data-theme=dark] .topbar{background:#18181b;border-bottom-color:#2a2a2e}[data-theme=dark] .topbar-center{color:#e2e4e9}[data-theme=dark] .topbarAuthTrigger{color:#d1d5db}[data-theme=dark] .topbarAuthPortal{background:#1f1f23;border-color:#333338;box-shadow:0 10px 40px #00000080}[data-theme=dark] .topbarAuthOption{color:#d1d5db}[data-theme=dark] .topbarAuthOption:hover{background:#ffffff14}[data-theme=dark] .topbarAuthOption:active{background:#ffffff1f}[data-theme=dark] .topbarSignIn{color:#d1d5db;border-color:#fff3}[data-theme=dark] .topbarSignIn:hover{background:#ffffff14;border-color:#ffffff59}[data-theme=dark] .backBtn{background:#22a76d}[data-theme=dark] .topbar-center.semester-btn{color:#d1d5db}[data-theme=dark] .semester-dropdown-portal{background:#1f1f23;border-color:#333338;box-shadow:0 10px 40px #00000080}[data-theme=dark] .semester-option{color:#d1d5db}[data-theme=dark] .semester-option:hover{background:#ffffff14}[data-theme=dark] .semester-option.active{color:#7bccac;background:#7bccac26}[data-theme=dark] .semester-dropdown-portal .semester-divider{background:#333338}[data-theme=dark] .facultyGreetingSub{color:#7bccac}[data-theme=dark] .facultyWelcome{color:#f0f0f0}[data-theme=dark] .facultyIntro{color:#9ca3af}[data-theme=dark] .facultyCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:hover){[data-theme=dark] .facultyCard:hover{border-color:var(--fc-color);box-shadow:0 8px 24px #0006}[data-theme=dark] .facultyCard:hover .facultyCardBadge{background:color-mix(in srgb, var(--fc-color) 25%, #1c1c20)}[data-theme=dark] .facultyCard:hover .facultyCardName{color:#fff}}@media (hover:none){[data-theme=dark] .facultyCard:active{border-color:var(--fc-color);box-shadow:0 8px 24px #0006}[data-theme=dark] .facultyCard:active .facultyCardBadge{background:color-mix(in srgb, var(--fc-color) 25%, #1c1c20)}[data-theme=dark] .facultyCard:active .facultyCardName{color:#fff}}[data-theme=dark] .facultyCardBadge{background:color-mix(in srgb, var(--fc-color) 18%, #1c1c20)}[data-theme=dark] .facultyCardName{color:#e2e4e9}[data-theme=dark] .facultyCardCode{color:color-mix(in srgb, var(--fc-color) 80%, #fff)}[data-theme=dark] .facultyExtraCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:hover){[data-theme=dark] .facultyExtraCard:hover{border-color:#444;box-shadow:0 6px 20px #00000059}[data-theme=dark] .facultyExtraCard:hover .facultyExtraArrow{color:#999}}[data-theme=dark] .facultyExtraLabel{color:#d1d5db}[data-theme=dark] .facultyExtraArrow{color:#555}@media (hover:none){[data-theme=dark] .facultyExtraCard:active{border-color:#444;box-shadow:0 6px 20px #00000059}[data-theme=dark] .facultyExtraCard:active .facultyExtraArrow{color:#999}}.importPage{max-width:920px;margin:0 auto;padding:24px 20px 80px}.importHeader{margin-bottom:24px}.importTag{letter-spacing:.08em;color:var(--faculty-color,#0d9488);margin-bottom:4px;font-size:12px;font-weight:700;display:inline-block}.importTitle{color:#1a1a1a;margin:8px 0 4px;font-size:26px;font-weight:700}.importIntro{color:#6b7280;margin:0;font-size:14px;line-height:1.5}.importDropZone{text-align:center;background:#fff;border:1.5px dashed #d1d5db;border-radius:14px;padding:28px}.importDropTitle{color:#1a1a1a;margin:0 0 4px;font-weight:600}.importDropHint{color:#6b7280;margin:4px 0 0}.importPickBtn{background:var(--faculty-color,#0d9488);color:#fff;cursor:pointer;border-radius:10px;margin-top:12px;padding:10px 18px;font-weight:600;transition:filter .15s;display:inline-block}.importPickBtn:hover{filter:brightness(1.05)}.importPickBtn[data-disabled=true]{opacity:.7;cursor:wait}.importProminentBtn{color:#0f3f2c;cursor:pointer;background:#7bccac;border:1px solid #0f3f2c33;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s;display:inline-flex}.importProminentBtn:hover{background:#8fd4b5;border-color:#0f3f2c59;transform:translateY(-1px);box-shadow:0 2px 8px #0f3f2c33}.importProminentBtn:active{transform:translateY(0);box-shadow:0 1px 3px #0f3f2c26}[data-theme=dark] .importProminentBtn{color:#fff;background:#22a76d;border-color:#22a76d66}[data-theme=dark] .importProminentBtn:hover{background:#28b878;border-color:#22a76d99}.importLinkBtn{color:var(--faculty-color,#0d9488);cursor:pointer;background:0 0;border:0;margin-top:16px;padding:0;font-size:14px;text-decoration:underline}.importParseError{color:#dc2626;margin-top:16px;margin-bottom:0}.importWarnings{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;margin-bottom:16px;padding:12px;font-size:13px}.importWarnings ul{margin:6px 0 0;padding-left:20px}.importCard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:16px;padding:18px}.importCardHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.importCardSubtitle{color:#6b7280;letter-spacing:.5px;font-size:12px;font-weight:600}.importCardTitle{color:#1a1a1a;font-size:18px;font-weight:700}.importCardMeta{color:#6b7280;font-size:13px}.importMappingLabel{color:#374151;align-items:center;gap:8px;font-size:13px;display:flex}.importSelect{color:#1a1a1a;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;min-width:160px;padding:8px 10px;font-size:14px}.importSelect[data-mapped=true]{border-color:var(--faculty-color,#0d9488)}.importCardEmpty{color:#6b7280;margin:0;font-size:13px}.importCourseRow{background:#fafbfc;border:1px solid #eef0f3;border-radius:10px;margin-bottom:8px;padding:12px}.importCourseGrid{grid-template-columns:110px 1fr auto auto;align-items:center;gap:10px;display:grid}@media (max-width:560px){.importCourseGrid{grid-template-rows:auto auto;grid-template-columns:100px 1fr auto}.importCourseGrid>:nth-child(2){grid-area:2/1/auto/-1}}.importActivities{border-top:1px dashed #e5e7eb;margin-top:10px;padding-top:10px}.importActivityRow{grid-template-columns:1fr 90px 90px auto;align-items:center;gap:8px;margin-bottom:6px;display:grid}.importInput{color:#1a1a1a;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:7px 10px;font-size:14px}.importInput:focus{border-color:var(--faculty-color,#0d9488);outline:none}.importMiniBtn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:6px 10px;font-size:13px}.importMiniBtn:hover{background:#f9fafb}.importMiniBtnDanger{color:#b91c1c}[data-theme=dark] .importMiniBtnDanger{color:#f87171}.importFooter{-webkit-backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #e5e7eb;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px 20px;display:flex;position:-webkit-sticky;position:sticky;bottom:12px;box-shadow:0 8px 24px -12px #0f172a2e,0 2px 6px -2px #0f172a14}.importSummary{color:#374151;flex:240px;min-width:0;font-size:14px;line-height:1.4}.importSummaryHeadline{color:#111827;font-size:15px;font-weight:600}.importSummaryHint{color:#6b7280;margin-top:4px;font-size:12px;line-height:1.45}.importFooterActions{flex:none;gap:10px;display:flex}.importSecondaryBtn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s}.importSecondaryBtn:hover:not([disabled]){background:#f9fafb;border-color:#9ca3af}.importPrimaryBtn{background:var(--faculty-color,#0d9488);color:#fff;cursor:pointer;box-shadow:0 4px 12px -4px color-mix(in srgb, var(--faculty-color,#0d9488) 60%, transparent);border:0;border-radius:10px;padding:11px 22px;font-size:14px;font-weight:600;transition:filter .15s,transform 50ms,box-shadow .15s}.importPrimaryBtn:hover:not([disabled]){filter:brightness(1.07);box-shadow:0 6px 16px -4px color-mix(in srgb, var(--faculty-color,#0d9488) 70%, transparent)}.importPrimaryBtn:active:not([disabled]){transform:translateY(1px)}.importPrimaryBtn[disabled],.importSecondaryBtn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}@media (max-width:560px){.importFooter{border-radius:12px;gap:12px;padding:14px}.importFooterActions{flex-direction:row;width:100%}.importSecondaryBtn,.importPrimaryBtn{text-align:center;flex:1 1 0;padding:12px 14px}}[data-theme=dark] .importTitle{color:#f3f4f6}[data-theme=dark] .importIntro{color:#9ca3af}[data-theme=dark] .importDropZone{background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .importDropTitle{color:#f3f4f6}[data-theme=dark] .importDropHint{color:#9ca3af}[data-theme=dark] .importParseError{color:#f87171}[data-theme=dark] .importWarnings{color:#fbbf24;background:#333131;border-color:#5f5945}[data-theme=dark] .importCard{background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .importCardSubtitle{color:#9ca3af}[data-theme=dark] .importCardTitle{color:#f3f4f6}[data-theme=dark] .importCardMeta{color:#9ca3af}[data-theme=dark] .importMappingLabel{color:#d1d5db}[data-theme=dark] .importSelect{color:#f3f4f6;background:#24242a;border-color:#2a2a2e}[data-theme=dark] .importCardEmpty{color:#9ca3af}[data-theme=dark] .importCourseRow{background:#24242a;border-color:#2a2a2e}[data-theme=dark] .importActivities{border-top-color:#2a2a2e}[data-theme=dark] .importInput{color:#f3f4f6;background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .importInput::placeholder{color:#6b7280}[data-theme=dark] .importMiniBtn{color:#d1d5db;background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .importMiniBtn:hover{background:#24242a;border-color:#3a3a40}[data-theme=dark] .importFooter{background:#141418d9;border-color:#2a2a2e;box-shadow:0 8px 24px -12px #0009,0 2px 6px -2px #00000059}[data-theme=dark] .importSummary{color:#d1d5db}[data-theme=dark] .importSummaryHeadline{color:#f3f4f6}[data-theme=dark] .importSummaryHint{color:#9ca3af}[data-theme=dark] .importSecondaryBtn{color:#d1d5db;background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .importSecondaryBtn:hover:not([disabled]){background:#24242a;border-color:#3a3a40}[data-theme=dark] .branchTag{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 15%, #1c1c20)}[data-theme=dark] .branchWelcome{color:#f0f0f0}[data-theme=dark] .branchIntro{color:#9ca3af}[data-theme=dark] .branchCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:hover){[data-theme=dark] .branchCard:hover{border-color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 50%, #444);box-shadow:0 8px 24px #0006, 0 0 0 1px color-mix(in srgb, var(--faculty-color,#5a9fd4) 15%, transparent)}[data-theme=dark] .branchCard:hover .branchCardBadge{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 22%, #1c1c20)}[data-theme=dark] .branchCard:hover .branchCardName{color:#fff}[data-theme=dark] .branchCard:hover .branchCardArrow{color:var(--faculty-color,#5a9fd4)}}[data-theme=dark] .branchCardBadge{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 15%, #1c1c20)}[data-theme=dark] .branchCardName{color:#e2e4e9}[data-theme=dark] .branchCardArrow{color:#555}@media (hover:none){[data-theme=dark] .branchCard:active{border-color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 50%, #444);box-shadow:0 8px 24px #0006, 0 0 0 1px color-mix(in srgb, var(--faculty-color,#5a9fd4) 15%, transparent)}[data-theme=dark] .branchCard:active .branchCardBadge{background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 22%, #1c1c20)}[data-theme=dark] .branchCard:active .branchCardName{color:#fff}[data-theme=dark] .branchCard:active .branchCardArrow{color:var(--faculty-color,#5a9fd4)}}[data-theme=dark] .branchPartnerHeading{color:var(--faculty-color,#5a9fd4)}[data-theme=dark] .ddpTitle{color:#f0f0f0}[data-theme=dark] .ddpSubtitle{color:#9ca3af}[data-theme=dark] .ddpSectionTitle{color:#e2e4e9}[data-theme=dark] .ddpSectionBadge{background:color-mix(in srgb, var(--ddp-color,#0d9488) 18%, #1c1c20)}[data-theme=dark] .ddpProgramCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:hover){[data-theme=dark] .ddpProgramCard:hover{border-color:var(--ddp-color,#0d9488);background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #1c1c20);box-shadow:0 8px 20px #0000004d}[data-theme=dark] .ddpPartnerCard:hover{border-color:var(--ddp-color,#0d9488);background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #1c1c20);box-shadow:0 8px 24px #0006}}[data-theme=dark] .ddpProgramBadge{background:color-mix(in srgb, var(--ddp-color,#0d9488) 18%, #1c1c20)}[data-theme=dark] .ddpProgramName{color:#e2e4e9}[data-theme=dark] .ddpPartnerCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:none){[data-theme=dark] .ddpProgramCard:active{border-color:var(--ddp-color,#0d9488);background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #1c1c20);box-shadow:0 8px 20px #0000004d}[data-theme=dark] .ddpPartnerCard:active{border-color:var(--ddp-color,#0d9488);background:color-mix(in srgb, var(--ddp-color,#0d9488) 12%, #1c1c20);box-shadow:0 8px 24px #0006}}[data-theme=dark] .ddpPartnerBadge{background:color-mix(in srgb, var(--ddp-color,#0d9488) 18%, #1c1c20)}[data-theme=dark] .ddpPartnerName{color:#e2e4e9}[data-theme=dark] .degreeTag{background:color-mix(in srgb, var(--faculty-color,#4f46e5) 15%, #1c1c20)}[data-theme=dark] .degreeWelcome{color:#f0f0f0}[data-theme=dark] .degreeIntro{color:#9ca3af}[data-theme=dark] .degreeCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:hover){[data-theme=dark] .degreeCard:hover{border-color:color-mix(in srgb, var(--faculty-color,#4f46e5) 50%, #444);box-shadow:0 8px 24px #0006}[data-theme=dark] .degreeCard:hover .degreeCardName{color:#fff}[data-theme=dark] .degreeCard:hover .degreeCardArrow{color:var(--faculty-color,#4f46e5)}}[data-theme=dark] .degreeCardName{color:#e2e4e9}[data-theme=dark] .degreeCardArrow{color:#555}@media (hover:none){[data-theme=dark] .degreeCard:active{border-color:color-mix(in srgb, var(--faculty-color,#4f46e5) 50%, #444);box-shadow:0 8px 24px #0006}[data-theme=dark] .degreeCard:active .degreeCardName{color:#fff}[data-theme=dark] .degreeCard:active .degreeCardArrow{color:var(--faculty-color,#4f46e5)}}[data-theme=dark] .semesterTag{background:color-mix(in srgb, var(--faculty-color,#0d9488) 15%, #1c1c20)}[data-theme=dark] .semesterWelcome{color:#f0f0f0}[data-theme=dark] .semesterIntro{color:#9ca3af}[data-theme=dark] .semesterCard{background:#1c1c20;border-color:#2a2a2e}@media (hover:hover){[data-theme=dark] .semesterCard:hover{border-color:color-mix(in srgb, var(--faculty-color,#0d9488) 50%, #444);box-shadow:0 8px 24px #0006}[data-theme=dark] .semesterCard:hover .semesterCardName{color:#fff}}[data-theme=dark] .semesterCardName{color:#e2e4e9}@media (hover:none){[data-theme=dark] .semesterCard:active{border-color:color-mix(in srgb, var(--faculty-color,#0d9488) 50%, #444);box-shadow:0 8px 24px #0006}[data-theme=dark] .semesterCard:active .semesterCardName{color:#fff}[data-theme=dark] .semesterCard:active .semesterCardArrow{color:var(--faculty-color,#0d9488)}}[data-theme=dark] .semesterCardArrow{color:#555}[data-theme=dark] .semesterCard:hover .semesterCardArrow{color:var(--faculty-color,#0d9488)}[data-theme=dark] .trackLeft{border-left-color:var(--faculty-color,#5a9fd4);background:linear-gradient(90deg, color-mix(in srgb, var(--faculty-color,#5a9fd4) 8%, transparent) 0%, transparent 100%)}[data-theme=dark] .trackWelcome{color:#f0f0f0}[data-theme=dark] .trackIntro{color:#9ca3af}[data-theme=dark] .trackCard{background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .trackCard:hover{border-color:color-mix(in srgb, var(--faculty-color,#5a9fd4) 50%, #444);background:color-mix(in srgb, var(--faculty-color,#5a9fd4) 10%, #1c1c20);box-shadow:0 8px 24px #0006}[data-theme=dark] .trackCardName{color:#e2e4e9}[data-theme=dark] .loginLayout{background:#111113}[data-theme=dark] .loginTitle{color:#f0f0f0}[data-theme=dark] .loginLabel,[data-theme=dark] .loginConsentRow{color:#9ca3af}[data-theme=dark] .loginInput{color:#e2e4e9;background:#1c1c20;border-color:#333338}[data-theme=dark] .loginInput:focus{border-color:#7bccac;box-shadow:0 0 0 2px #7bccac26}[data-theme=dark] .loginButton{color:#fff;background:#22a76d;border-color:#22a76d66}[data-theme=dark] .loginButton:hover:not(:disabled){background:#28b878;border-color:#22a76d99}[data-theme=dark] .loginDivider{background:#333338}[data-theme=dark] .loginLinks{color:#9ca3af}[data-theme=dark] .loginLink,[data-theme=dark] .loginLinkDisabled{color:#7bccac}[data-theme=dark] .backBtn{color:#9fe3c6;background:linear-gradient(#1f2a26 0%,#18211d 100%);border-color:#2b4a40;box-shadow:0 1px 2px #0000004d}[data-theme=dark] .backBtn:hover{background:linear-gradient(#243430 0%,#1c2723 100%);border-color:#7bccac;box-shadow:0 4px 14px #00000073}[data-theme=dark] .loginError{color:#f87171}[data-theme=dark] .notFoundText{color:#9ca3af}[data-theme=dark] .notFoundSeparator{color:#6b7280}[data-theme=dark] .authInput{color:#e2e4e9;background:#1c1c20;border-color:#333338}[data-theme=dark] .authError{color:#f87171}[data-theme=dark] .authSwitch a{color:#7bccac}[data-theme=dark] .dashboardLayout{background:#111113}[data-theme=dark] .branchInfo{color:#e2e4e9}[data-theme=dark] .dashboardLegend{color:#d1d5db}[data-theme=dark] .dashboardGPAFloat{color:#e2e4e9;background:#1c1c20;border-color:#2a2a2e;box-shadow:0 4px 20px #0006}[data-theme=dark] .overviewToggleBtn{color:#9ca3af;background:#1c1c20;border-color:#2a2a2e;box-shadow:0 4px 20px #0006}[data-theme=dark] .overviewToggleBtn.active{color:#111113;background:#7bccac;border-color:#7bccac}[data-theme=dark] .overviewCard{border-color:#2a2a2e}[data-theme=dark] .overviewCard:hover{border-color:#7bccac}[data-theme=dark] .overviewName{color:#e2e4e9}[data-theme=dark] .overviewTotal{color:#9ca3af}[data-theme=dark] .overviewChipLabel{color:#666}[data-theme=dark] .overviewChipValue{color:#d1d5db}[data-theme=dark] .legendItem{background:#1c1c20;border-color:#333338}[data-theme=dark] .semesterInfoMobile{color:#9ca3af}[data-theme=dark] .mobile-sem-btn,[data-theme=dark] .hwg-location-btn{color:#d1d5db}[data-theme=dark] .branch-dropdown-portal{background:#1f1f23;border-color:#333338;box-shadow:0 10px 40px #00000080}[data-theme=dark] .branch-option{color:#d1d5db}[data-theme=dark] .branch-option:hover{background:#ffffff14}[data-theme=dark] .branch-option:active{background:#ffffff1f}[data-theme=dark] .branch-option.active{background:color-mix(in srgb, var(--faculty-color,#4f46e5) 15%, #1f1f23);color:#7bccac}[data-theme=dark] .subjectCard{background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .subjectCard:hover{border-color:#7bccac;box-shadow:0 4px 12px #7bccac14}[data-theme=dark] .subjectCard h3{color:#e2e4e9}[data-theme=dark] .cardPreview{color:#6b7280}[data-theme=dark] .expandedCard{background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .expandedCard:hover{border-color:#2a2a2e}[data-theme=dark] .cardHeader{color:#e2e4e9}[data-theme=dark] .inputLabel,[data-theme=dark] .percentSymbol{color:#6b7280}[data-theme=dark] .gradeInputRow input{color:#e2e4e9;background:#16161a;border-color:#333338}[data-theme=dark] .gradeInputRow input:focus{border-color:#7bccac;box-shadow:0 0 0 2px #7bccac26}[data-theme=dark] .subjectGradeResult{border-top-color:#2a2a2e}[data-theme=dark] .gradeResultRow span:first-child{color:#6b7280}[data-theme=dark] .gradeValue{color:#e2e4e9}[data-theme=dark] .addObjectBtn{color:#6b7280;border-color:#333338}[data-theme=dark] .addObjectBtn:hover{color:#7bccac;background:#7bccac0d;border-color:#7bccac}[data-theme=dark] .addSubjectBtn{color:#6b7280;border-color:#333338}[data-theme=dark] .addSubjectBtn:hover{color:#7bccac;border-color:#7bccac}[data-theme=dark] .resetSemesterBtn{color:#ffd7d2;background:linear-gradient(135deg,#3a1717 0%,#4a1f1f 100%);border-color:#8b3e3e;box-shadow:0 8px 18px #00000059,inset 0 1px #ffffff0f}[data-theme=dark] .gradeModeToggleBtn{color:#d5f7e8;background:linear-gradient(135deg,#123629 0%,#194837 100%);border-color:#2d7258;box-shadow:0 8px 18px #00000059,inset 0 1px #ffffff0f}[data-theme=dark] .gradeModeToggleBtn:hover{color:#ecfff7;border-color:#46b286;box-shadow:0 12px 26px #0000006b,0 0 0 1px #46b28642}[data-theme=dark] .resetSemesterBtn:hover{color:#fff2ef;border-color:#ff8a78;box-shadow:0 12px 26px #0000006b,0 0 0 1px #ff8a783d}[data-theme=dark] .resetSemesterOverlayBackdrop{background:#0009}[data-theme=dark] .resetSemesterOverlayContent{background:#1c1c20;box-shadow:0 8px 32px #0006}[data-theme=dark] .resetSemesterOverlayTitle{color:#e2e4e9}[data-theme=dark] .resetSemesterOverlaySubtitle{color:#9ca3af}[data-theme=dark] .subjectNameInput,[data-theme=dark] .objectNameInput{color:#e2e4e9;background:#16161a;border-color:#333338}[data-theme=dark] .subjectNameInput:focus,[data-theme=dark] .objectNameInput:focus{border-color:#7bccac;box-shadow:0 0 0 2px #7bccac26}[data-theme=dark] .addCancelBtn{color:#9ca3af;background:#2a2a2e}[data-theme=dark] .addCancelBtn:hover{background:#333338}[data-theme=dark] .electiveAutocomplete{background:#1f1f23;border-color:#333338;box-shadow:0 8px 18px #0006}[data-theme=dark] .electiveAutocompleteItem{color:#d1d5db}[data-theme=dark] .electiveAutocompleteItem:hover{background-color:#ffffff14}[data-theme=dark] .gradePrediction{border-top-color:#2a2a2e}[data-theme=dark] .gradePredictionColumnTitle,[data-theme=dark] .gradePredictionGrade{color:#d1d5db}[data-theme=dark] .gradePredictionValue{color:#6b7280}[data-theme=dark] .gradePredictionFooter{border-top-color:#2a2a2e}[data-theme=dark] .gradePredictionHint,[data-theme=dark] .gradePredictionHintClose{color:#ff4d4d}[data-theme=dark] .resetSubjectOverlayBackdrop{background:#0009}[data-theme=dark] .resetSubjectOverlayContent{background:#1c1c20;box-shadow:0 8px 32px #0006}[data-theme=dark] .resetSubjectOverlayTitle{color:#e2e4e9}[data-theme=dark] .resetSubjectOverlaySubtitle{color:#9ca3af}[data-theme=dark] .resetSubjectOverlayCancel{color:#e2e4e9;background:#2a2a2e}[data-theme=dark] .resetSubjectOverlayCancel:hover{background:#3a3a3e}[data-theme=dark] .gradeInput label{color:#9ca3af}[data-theme=dark] .gradeInput input,[data-theme=dark] .activityInput input{color:#e2e4e9;background:#1c1c20;border-color:#333338}[data-theme=dark] .gradeInput input:focus,[data-theme=dark] .activityInput input:focus{border-color:#7bccac;box-shadow:0 0 0 2px #7bccac26}[data-theme=dark] .activityName{color:#6b7280;background:#16161a!important}[data-theme=dark] .activitiesSection{border-top-color:#2a2a2e}[data-theme=dark] .activitiesSection h4{color:#9ca3af}[data-theme=dark] .addActivityBtn{color:#6b7280;border-color:#333338}[data-theme=dark] .addActivityBtn:hover{color:#7bccac;border-color:#7bccac}[data-theme=dark] .resultCard{background:#1c1c20;border-color:#2a2a2e}[data-theme=dark] .resultLabel{color:#6b7280}[data-theme=dark] .resultValue{color:#e2e4e9}[data-theme=dark] .resultCard.threshold{background:#16161a;border-color:#22a76d}[data-theme=dark] .targetsSection{border-top-color:#2a2a2e}[data-theme=dark] .targetsSection h4{color:#6b7280}[data-theme=dark] .targetRow{color:#d1d5db;border-bottom-color:#2a2a2e}[data-theme=dark] .undoPopup{background-color:#1f1f23;box-shadow:0 1px 3px #0006,0 4px 8px #0000004d}[data-theme=dark] .errorToast{background-color:#1c1c20;border-color:#7f1d1d;box-shadow:0 4px 12px #0006}[data-theme=dark] .errorToastMessage{color:#f87171}[data-theme=dark] .errorToastDismiss{color:#fca5a5;background:#7f1d1d4d;border-color:#991b1b}[data-theme=dark] .errorToastDismiss:hover{background:#7f1d1d80}[data-theme=dark] .successToast{background-color:#1c2620;border-color:#166534;box-shadow:0 4px 12px #0006}[data-theme=dark] .successToastIcon{color:#86efac}[data-theme=dark] .successToastMessage{color:#bbf7d0}[data-theme=dark] .successToastDismiss{color:#86efac;background:#16a34a33;border-color:#16a34a}[data-theme=dark] .successToastDismiss:hover{background:#16a34a59}[data-theme=dark] .undoMessage{color:#e2e4e9}[data-theme=dark] .landingPage{background:#0c0c0e}[data-theme=dark] .landingTopbar{background:0 0}[data-theme=dark] .landingHeroBg{background:linear-gradient(#00000080 0%,#000000b3 100%)}[data-theme=dark] .landingAbout{color:#e2e4e9;background:#111113}[data-theme=dark] .landingAboutTitle{color:#e2e4e9}[data-theme=dark] .landingAboutCard{background:#1a1a1e;border-color:#ffffff14;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .landingAboutCard:hover{box-shadow:0 12px 32px #0006}[data-theme=dark] .landingAboutCardTitle{color:#e2e4e9}[data-theme=dark] .landingAboutCardText,[data-theme=dark] .landingAboutCardCta{color:#9ca3af}[data-theme=dark] .landingFeatures{background:#111113}[data-theme=dark] .landingSectionTitle{color:#e2e4e9}[data-theme=dark] .landingFeatureCard{background:#1a1a1e;border-color:#ffffff14;box-shadow:0 2px 12px #0003}[data-theme=dark] .landingFeatureCard:hover{box-shadow:0 12px 32px #00000059}[data-theme=dark] .landingFeatureCard h3{color:#e2e4e9}[data-theme=dark] .landingFeatureCard p{color:#9ca3af}[data-theme=dark] .landingCtaStrip{background:linear-gradient(#ffffff0a 0%,#ffffff05 100%);border-top-color:#ffffff14}[data-theme=dark] .landingCtaStripTitle{color:#e2e4e9}[data-theme=dark] .landingFooter{background:#0c0c0e;border-top-color:#ffffff14}[data-theme=dark] .landingFooterCopy{color:#6b7280}[data-theme=dark] .landingFooterLinks a{color:#9ca3af}[data-theme=dark] .landingFooterLinks a:hover{color:#d1d5db}[data-theme=dark] .landingLogo{filter:invert()}.skipFinalCta{color:#1e40af;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#3b82f614 0%,#6366f11a 100%);border:1px solid #3b82f640;border-radius:10px;align-items:center;gap:10px;width:100%;margin-top:10px;padding:10px 14px;font-size:13px;font-weight:600;transition:transform .15s,border-color .15s,box-shadow .2s,background .2s;display:flex;position:relative;overflow:hidden}.skipFinalCta:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff59 50%,#0000 70%);transition:transform .6s;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-110%)}.skipFinalCta:hover{background:linear-gradient(135deg,#3b82f624 0%,#6366f129 100%);border-color:#3b82f68c;box-shadow:0 4px 14px #3b82f62e}.skipFinalCta:hover:before{transform:translate(110%)}.skipFinalCta:active{transform:scale(.985)}.skipFinalCta:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.skipFinalCtaIcon{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#6366f1 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 6px #3b82f659}.skipFinalCta:hover .skipFinalCtaIcon{transform:rotate(-6deg)scale(1.05);box-shadow:0 4px 12px #3b82f680}.skipFinalCtaText{text-align:left;flex:1;min-width:0}.skipFinalCtaArrow{color:#3b82f6;flex-shrink:0;font-size:16px;font-weight:700;transition:transform .2s}.skipFinalCta:hover .skipFinalCtaArrow{transform:translate(4px)}[data-theme=dark] .skipFinalCta{color:#93c5fd;background:linear-gradient(135deg,#3b82f61f 0%,#6366f124 100%);border-color:#60a5fa4d}[data-theme=dark] .skipFinalCta:hover{background:linear-gradient(135deg,#3b82f633 0%,#6366f138 100%);border-color:#60a5fa99;box-shadow:0 4px 14px #3b82f64d}[data-theme=dark] .skipFinalCta:before{background:linear-gradient(120deg,#0000 30%,#ffffff14 50%,#0000 70%)}[data-theme=dark] .skipFinalCtaIcon{background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);box-shadow:0 2px 6px #2563eb80}[data-theme=dark] .skipFinalCtaArrow{color:#60a5fa}.skipFinalOverlay{z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.skipFinalBackdrop{-webkit-backdrop-filter:blur(6px);background:#00000073;position:absolute;top:0;bottom:0;left:0;right:0}.skipFinalContent{background:#fff;border-radius:14px;width:100%;max-width:460px;max-height:90vh;padding:24px;position:relative;overflow-y:auto;box-shadow:0 12px 40px #0000002e}.skipFinalHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.skipFinalEyebrow{letter-spacing:.08em;text-transform:uppercase;color:#3b82f6;margin:0 0 2px;font-size:11px;font-weight:600}.skipFinalTitle{color:#1a1a1a;margin:0;font-size:18px;font-weight:600;line-height:1.3}.skipFinalCloseBtn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:background .15s;display:flex}.skipFinalCloseBtn:hover{color:#1a1a1a;background:#f3f4f6}.skipFinalIntro{color:#4b5563;margin:0 0 16px;font-size:13px;line-height:1.5}.skipFinalNotice{border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.4}.skipFinalNotice--info{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe}.skipFinalNotice--warn{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.skipFinalAlreadyTaken{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.skipFinalAlreadyTakenHeadline{font-size:14px;font-weight:700}.skipFinalAlreadyTakenSub{opacity:.95;font-size:13px;line-height:1.5}.skipFinalAlreadyTakenGrade{font-weight:800}.skipFinalTabs{background:#f3f4f6;border-radius:10px;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:14px;padding:4px;display:grid}.skipFinalTab{-webkit-appearance:none;-moz-appearance:none;appearance:none;letter-spacing:.01em;cursor:pointer;color:#4b5563;background:0 0;border:2px solid #0000;border-radius:7px;padding:8px 4px;font-size:14px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.skipFinalTab:hover{background:#0000000a}.skipFinalTab--selected{background:#fff;box-shadow:0 1px 3px #00000014}.skipFinalTab--achieved:after{content:" ✓";color:#10b981;font-size:11px}.skipFinalTab--impossible{color:#9ca3af;font-weight:500;text-decoration:line-through;text-decoration-thickness:1.5px}.skipFinalTab--impossible:hover{color:#6b7280}.skipFinalTab--needs-final{color:#6b7280;font-weight:600}.skipFinalTab--needs-final:after{content:" *";color:#d97706;font-weight:800}.skipFinalBreakdown{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.skipFinalSummary{border:1px solid #0000;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.skipFinalSummary--needs{color:#92400e;background:#fef3c7;border-color:#fde68a}.skipFinalSummary--achieved{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.skipFinalSummary--impossible{color:#991b1b;background:#fee2e2;border-color:#fecaca}.skipFinalSummaryHeadline{font-size:14px;font-weight:700}.skipFinalSummarySub{opacity:.9;font-size:12px;line-height:1.45}.skipFinalItems{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none;display:flex}.skipFinalItem{border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 12px;font-size:13px;transition:background .15s;display:grid}.skipFinalItem:hover{background:#00000006}.skipFinalItem--skipped{opacity:.7}.skipFinalItemName{color:#1a1a1a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.skipFinalItemMeta{color:#6b7280;white-space:nowrap;font-size:11px}.skipFinalItemValue{text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;font-weight:700;display:flex}.skipFinalItemTag{letter-spacing:.04em;text-transform:uppercase;opacity:.7;font-size:10px;font-weight:500}.skipFinalItemValue--locked{color:#4b5563}.skipFinalItemValue--needs{color:#d97706}.skipFinalItemValue--impossible{color:#9ca3af;text-decoration:line-through;text-decoration-thickness:1.5px}.skipFinalItemValue--impossible .skipFinalItemTag{color:#b91c1c;opacity:.85;text-decoration:none}.skipFinalItemValue--free{color:#10b981}.skipFinalItemValue--skipped{color:#6b7280}.skipFinalFinalNote{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.4}.skipFinalFootnote{color:#6b7280;margin:0;font-size:11px;font-style:italic;line-height:1.4}@media (max-width:480px){.skipFinalTabs{grid-template-columns:repeat(4,1fr)}.skipFinalItem{grid-template-columns:1fr auto}.skipFinalItemMeta{display:none}}[data-theme=dark] .skipFinalBtn{background:#2563eb}[data-theme=dark] .skipFinalBackdrop{background:#0009}[data-theme=dark] .skipFinalContent{background:#1c1c20;box-shadow:0 12px 40px #00000080}[data-theme=dark] .skipFinalTitle{color:#e2e4e9}[data-theme=dark] .skipFinalEyebrow{color:#60a5fa}[data-theme=dark] .skipFinalCloseBtn{color:#9ca3af}[data-theme=dark] .skipFinalCloseBtn:hover{color:#e2e4e9;background:#2a2a2e}[data-theme=dark] .skipFinalIntro{color:#9ca3af}[data-theme=dark] .skipFinalNotice--info{color:#93c5fd;background:#3b82f61f;border-color:#3b82f64d}[data-theme=dark] .skipFinalNotice--warn{color:#fcd34d;background:#fbbf241f;border-color:#fbbf244d}[data-theme=dark] .skipFinalTabs{background:#16161a}[data-theme=dark] .skipFinalTab{color:#9ca3af}[data-theme=dark] .skipFinalTab:hover{background:#ffffff0a}[data-theme=dark] .skipFinalTab--selected{background:#2a2a2e;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .skipFinalTab--impossible{color:#6b7280}[data-theme=dark] .skipFinalTab--needs-final{color:#9ca3af}[data-theme=dark] .skipFinalTab--needs-final:after{color:#fbbf24}.skipFinalLegendStar{color:#d97706;font-weight:800}[data-theme=dark] .skipFinalLegendStar{color:#fbbf24}[data-theme=dark] .skipFinalSummary--needs{color:#fcd34d;background:#fbbf241f;border-color:#fbbf244d}[data-theme=dark] .skipFinalSummary--achieved{color:#6ee7b7;background:#10b9811f;border-color:#10b9814d}[data-theme=dark] .skipFinalSummary--impossible{color:#fca5a5;background:#ef44441f;border-color:#ef44444d}[data-theme=dark] .skipFinalItems{background:#16161a;border-color:#2a2a2e}[data-theme=dark] .skipFinalItem:hover{background:#ffffff0a}[data-theme=dark] .skipFinalItemName{color:#e2e4e9}[data-theme=dark] .skipFinalItemMeta,[data-theme=dark] .skipFinalItemValue--locked{color:#9ca3af}[data-theme=dark] .skipFinalItemValue--needs{color:#fbbf24}[data-theme=dark] .skipFinalItemValue--impossible{color:#6b7280}[data-theme=dark] .skipFinalItemValue--impossible .skipFinalItemTag{color:#fca5a5}[data-theme=dark] .skipFinalItemValue--free{color:#34d399}[data-theme=dark] .skipFinalItemValue--skipped{color:#6b7280}[data-theme=dark] .skipFinalFinalNote{color:#9ca3af;background:#16161a;border-color:#2a2a2e}[data-theme=dark] .skipFinalFootnote{color:#6b7280}.scheduleLayout{box-sizing:border-box;width:100%;max-width:920px;margin:0 auto;padding:1.25rem 1rem 4rem}.scheduleNavMobile{justify-content:center;margin-bottom:1rem;display:flex}@media (min-width:768px){.scheduleNavMobile{display:none}}.scheduleHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.scheduleTitle{color:#1a1a1a;margin:0;font-size:1.6rem;font-weight:700}.scheduleSubtitle{color:#6b7280;margin:.25rem 0 0;font-size:.9rem}.scheduleHeadActions{flex-wrap:wrap;gap:.5rem;display:flex}.scheduleBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:44px;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:background-color .15s,border-color .15s,opacity .15s,transform 80ms}.scheduleBtn:active:not(:disabled){transform:translateY(1px)}.scheduleBtn:disabled{opacity:.5;cursor:not-allowed}.scheduleBtnPrimary{color:#08221a;background-color:#7bccac}.scheduleBtnPrimary:hover:not(:disabled){background-color:#6abd9c}.scheduleBtnGhost{color:#374151;background-color:#0000;border-color:#d1d5db}.scheduleBtnGhost:hover:not(:disabled){color:#1a1a1a;border-color:#7bccac}.scheduleBtnDanger{color:#c0392b;background-color:#0000;border-color:#f0c2c2}.scheduleBtnDanger:hover:not(:disabled){background-color:#fdeaea}.scheduleToolbar{justify-content:flex-end;margin-bottom:1rem;display:flex}.scheduleToggle{background-color:#f1f3f5;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.scheduleToggleBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.45rem .95rem;font-size:.85rem;font-weight:600;transition:background-color .18s,color .18s}.scheduleToggleActive{color:#1a1a1a;background-color:#fff;box-shadow:0 1px 3px #0000001a}.scheduleEmpty{text-align:center;background-color:#fafafa;border:1px dashed #d1d5db;border-radius:14px;padding:2.25rem 1.5rem}.scheduleEmptyTitle{color:#1a1a1a;margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.scheduleEmptyText{color:#6b7280;max-width:460px;margin:0 auto 1.25rem;font-size:.9rem;line-height:1.55}.scheduleEmptyActions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.scheduleDays{flex-direction:column;gap:1.5rem;display:flex}.scheduleDayTitle{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin:0 0 .6rem;font-size:.8rem;font-weight:700}.scheduleDayList{flex-direction:column;gap:.5rem;display:flex}.scheduleCard{text-align:left;cursor:pointer;background-color:#fff;border:1px solid #ececec;border-left:4px solid #7bccac;border-radius:10px;align-items:center;gap:.85rem;width:100%;min-height:56px;padding:.7rem .85rem;transition:box-shadow .15s,transform .12s;display:flex}.scheduleCard:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.scheduleCardTime{font-variant-numeric:tabular-nums;color:#374151;flex-direction:column;align-items:flex-start;min-width:48px;font-size:.82rem;font-weight:600;line-height:1.3;display:flex}.scheduleCardTimeSep{color:#c4c4c4}.scheduleCardMain{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.scheduleCardName{color:#1a1a1a;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.95rem;font-weight:600;display:flex}.scheduleCardCode{color:#08221a;background-color:#e7f4ee;border-radius:5px;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.scheduleCardMeta{color:#8a8f98;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.scheduleCardEdit{color:#b5b5b5;flex-shrink:0;font-size:1rem}.tt{background-color:#fff;border:1px solid #ececec;border-radius:14px;overflow:hidden}.ttTabs{border-bottom:1px solid #f0f0f0;gap:.25rem;padding:.5rem;display:flex;overflow-x:auto}.ttTab{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:background-color .15s,color .15s}.ttTabActive{color:#08221a;background-color:#7bccac}.ttHeadRow{background-color:#fcfcfc;border-bottom:1px solid #eee;display:grid}.ttCorner{border-right:1px solid #f0f0f0}.ttDayHead{text-align:center;color:#4b5563;padding:.55rem .25rem;font-size:.78rem;font-weight:700}.ttScroll{max-height:68vh;overflow-y:auto}.ttBody{display:grid;position:relative}.ttGutter{border-right:1px solid #f0f0f0;position:relative}.ttHourLabel{font-variant-numeric:tabular-nums;color:#b0b4ba;font-size:.68rem;position:absolute;right:6px;transform:translateY(-50%)}.ttCol{border-right:1px solid #f5f5f5;position:relative}.ttCol:last-child{border-right:none}.ttGridline{border-top:1px solid #f3f4f6;position:absolute;left:0;right:0}.ttBlock{text-align:left;cursor:pointer;color:#1f2937;border:none;border-left:3px solid #7bccac;border-radius:7px;flex-direction:column;gap:1px;padding:4px 7px;transition:transform .1s,box-shadow .15s,filter .15s;animation:.28s both ttBlockIn;display:flex;position:absolute;overflow:hidden}.ttBlock:hover{filter:saturate(1.1);z-index:3;transform:translateY(-1px);box-shadow:0 4px 14px #0000001f}.ttBlockTime{font-variant-numeric:tabular-nums;color:#5a6470;white-space:nowrap;font-size:.62rem;font-weight:600}.ttBlockName{text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.ttBlockMeta{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.ttBlockHrs{color:#9aa1aa;font-size:.58rem;font-weight:600;position:absolute;top:4px;right:6px}.scheduleEditorRow{flex-wrap:wrap;gap:.75rem;display:flex}.scheduleField{flex-direction:column;flex:1;gap:.3rem;min-width:120px;display:flex}.scheduleFieldGrow{flex:2}.scheduleFieldCode{flex:1;min-width:110px}.scheduleFieldLabel{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:.72rem;font-weight:700}.scheduleInput{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#1a1a1a;box-sizing:border-box;background-color:#fff;border:1px solid #d8d8d8;border-radius:8px;width:100%;min-height:44px;padding:.55rem .65rem;font-size:.95rem}.scheduleInput:focus{border-color:#7bccac;outline:none;box-shadow:0 0 0 3px #7bccac40}.scheduleEditorWarn{color:#c0392b;margin:0;font-size:.8rem}.scheduleSwatches{flex-wrap:wrap;gap:.4rem;display:flex}.scheduleSwatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .1s}.scheduleSwatch:hover{transform:scale(1.12)}.scheduleSwatchActive{border-color:#1a1a1a;box-shadow:inset 0 0 0 2px #fff}.sheetBackdrop{z-index:1000;background-color:#0006;justify-content:center;align-items:flex-end;animation:.18s both sheetFade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheetPanel{background-color:#fff;border-radius:18px 18px 0 0;width:100%;max-width:560px;max-height:92vh;padding:.5rem 1.25rem 1.25rem;animation:.26s cubic-bezier(.16,1,.3,1) both sheetUp;overflow-y:auto;box-shadow:0 -8px 30px #0000002e}.sheetGrabber{background-color:#dcdee1;border-radius:999px;width:38px;height:4px;margin:.4rem auto .2rem}.sheetHeader{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.sheetTitle{color:#1a1a1a;margin:0;font-size:1.1rem;font-weight:700}.sheetClose{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .5rem;font-size:1.1rem}.sheetClose:hover{color:#374151;background-color:#f3f4f6}.sheetBody{flex-direction:column;gap:.85rem;display:flex}.sheetFooter{justify-content:space-between;align-items:center;gap:.5rem;margin-top:1.1rem;display:flex}.sheetFooterRight{gap:.5rem;margin-left:auto;display:flex}.scheduleViewFade{animation:.24s both viewFade}@keyframes viewFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ttBlockIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes sheetFade{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.scheduleViewFade,.ttBlock,.sheetBackdrop,.sheetPanel{animation:none}.scheduleBtn,.scheduleCard,.ttBlock,.scheduleSwatch{transition:none}}[data-theme=dark] .scheduleTitle,[data-theme=dark] .scheduleEmptyTitle,[data-theme=dark] .scheduleCardName,[data-theme=dark] .sheetTitle,[data-theme=dark] .scheduleInput{color:#f3f4f6}[data-theme=dark] .scheduleSubtitle,[data-theme=dark] .scheduleEmptyText{color:#9aa0aa}[data-theme=dark] .scheduleBtnGhost{color:#d4d4d8;border-color:#3a3a40}[data-theme=dark] .scheduleBtnGhost:hover:not(:disabled){color:#fff;border-color:#7bccac}[data-theme=dark] .scheduleBtnDanger{color:#f08a7a;border-color:#5b2b2b}[data-theme=dark] .scheduleBtnDanger:hover:not(:disabled){background-color:#2a1a1a}[data-theme=dark] .scheduleEmpty{background-color:#161619;border-color:#2f2f35}[data-theme=dark] .scheduleToggle{background-color:#1c1c20}[data-theme=dark] .scheduleToggleActive{color:#fff;background-color:#2c2c33}[data-theme=dark] .scheduleCard,[data-theme=dark] .tt,[data-theme=dark] .sheetPanel{background-color:#161619;border-color:#2a2a30}[data-theme=dark] .scheduleCardTime{color:#c8ccd2}[data-theme=dark] .scheduleCardMeta{color:#7c828c}[data-theme=dark] .scheduleCardCode{color:#9fe0c4;background-color:#1e3a30}[data-theme=dark] .ttHeadRow{background-color:#131316;border-color:#2a2a30}[data-theme=dark] .ttDayHead{color:#c8ccd2}[data-theme=dark] .ttCorner,[data-theme=dark] .ttGutter{border-color:#26262c}[data-theme=dark] .ttCol{border-color:#1f1f24}[data-theme=dark] .ttGridline{border-color:#202024}[data-theme=dark] .ttTabs{border-color:#26262c}[data-theme=dark] .ttBlock{color:#e8eaed}[data-theme=dark] .ttBlockTime{color:#aeb4bd}[data-theme=dark] .ttBlockMeta{color:#8b919b}[data-theme=dark] .scheduleInput{background-color:#0f0f12;border-color:#34343c}[data-theme=dark] .sheetClose:hover{color:#e5e7eb;background-color:#26262c}[data-theme=dark] .scheduleSwatchActive{border-color:#fff;box-shadow:inset 0 0 0 2px #161619}@media (min-width:640px){.sheetBackdrop{align-items:center}.sheetPanel{border-radius:16px;animation:.2s cubic-bezier(.16,1,.3,1) both sheetPop}.sheetGrabber{display:none}}@keyframes sheetPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.at{flex-direction:column;gap:.85rem;display:flex}.atSemesterBar{background-color:#fff;border:1px solid #ececec;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.atSemesterBarLeft{flex-direction:column;gap:.15rem;display:flex}.atSemesterBarPreset{text-transform:uppercase;letter-spacing:.07em;color:#7bccac;font-size:.72rem;font-weight:700}.atSemesterBarDates{color:#1a1a1a;font-size:.95rem;font-weight:700}.atSemesterBarHols{color:#9ca3af;font-size:.8rem}.atSummaryActions{flex-wrap:wrap;gap:.5rem;display:flex}.atSemesterSmallBtn{min-height:36px;padding:.45rem .8rem;font-size:.82rem}.atSetupCard{background-color:#fff;border:1px solid #ececec;border-radius:14px;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.atSetupSection{flex-direction:column;gap:.5rem;display:flex}.atSetupLabel{text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;font-size:.7rem;font-weight:700}.atSetupHint{color:#9ca3af;margin:0;font-size:.82rem}.atPresets{flex-wrap:wrap;gap:.5rem;display:flex}.atPresetBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#374151;cursor:pointer;background-color:#0000;border:1.5px solid #d1d5db;border-radius:10px;flex:1;min-width:130px;padding:.6rem 1rem;font-size:.88rem;font-weight:600;transition:border-color .15s,color .15s,background-color .15s}.atPresetBtn:hover{color:#1a1a1a;border-color:#7bccac}.atPresetBtnActive{color:#1a6647;background-color:#f0fbf6;border-color:#7bccac}.atHolidayAdd{gap:.5rem;display:flex}.atHolidayAdd .scheduleInput{flex:1}.atHolidayChips{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.atChip{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-color:#f5f7fa;border:1px solid #e0e7ef;border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .55rem;transition:border-color .12s,background-color .12s;display:flex}.atChip:hover{background-color:#fef2f2;border-color:#f0c2c2}.atChipName{color:#374151;font-size:.8rem;font-weight:600}.atChipDate{color:#9ca3af;font-variant-numeric:tabular-nums;font-size:.72rem}.atChipX{color:#b0b6be;margin-left:.1rem;font-size:.68rem}.atChip:hover .atChipX{color:#c0392b}.atCard{background-color:#fff;border:1px solid #ececec;border-left:3px solid #d1d5db;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;transition:box-shadow .15s;display:flex}.atCard:hover{box-shadow:0 2px 12px #0000000f}.atCardStatus-safe{border-left-color:#5cbf97}.atCardStatus-warn{border-left-color:#f3c98a}.atCardStatus-over{border-left-color:#e07a7a}.atCardStatus-exempt,.atCardStatus-empty{border-left-color:#c2c6cc}.atCardHead{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.atCardTitle{flex-wrap:wrap;align-items:baseline;gap:.4rem;min-width:0;display:flex}.atCardName{color:#1a1a1a;font-size:.95rem;font-weight:700}.atPill{white-space:nowrap;letter-spacing:.02em;border-radius:999px;flex-shrink:0;padding:.18rem .6rem;font-size:.68rem;font-weight:700}.atPillGreen{color:#1f8a5b;background-color:#e3f4ec}.atPillAmber{color:#b07315;background-color:#fcf0db}.atPillRed{color:#c0392b;background-color:#fbe4e4}.atPillGray{color:#6b7280;background-color:#eef0f2}.atProgress{flex-direction:column;gap:.35rem;display:flex}.atBar{background-color:#eef0f2;border-radius:999px;height:6px;position:relative;overflow:hidden}.atBarWorst,.atBarAbsent{border-radius:999px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.atBarWorst{background-color:#f3c98a}.atBarAbsent{background-color:#e07a7a}.atCardStat{color:#6b7280;margin:0;font-size:.82rem}.atCardStat strong{color:#1a1a1a;font-size:.88rem}.atCardWorst{color:#b07315}.atDotWrap{background-color:#f8f9fa;border-radius:10px;padding:.6rem .75rem}.atDots{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.atDot{cursor:pointer;background-color:#d3d6db;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0;transition:transform .1s,box-shadow .12s}.atDot:hover{z-index:1;transform:scale(1.25)}.atDotUnknown{background-color:#d3d6db}.atDotAttended{background-color:#5cbf97}.atDotAbsent{background-color:#e07a7a}.atDotOff{background-color:#0000;border:2px dashed #c2c6cc}.atDotFuture{opacity:.35}.atDotToday{box-shadow:0 0 0 2px #f8f9fa,0 0 0 3.5px #7bccac}.atDotSel{z-index:1;transform:scale(1.25);box-shadow:0 0 0 2px #f8f9fa,0 0 0 3.5px #1a1a1a}.atDotDetail{background-color:#f2f4f6;border-radius:10px;flex-direction:column;gap:.55rem;padding:.75rem .9rem;animation:.16s both dotDetailIn;display:flex}@keyframes dotDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.atDotDate{color:#1a1a1a;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.atCardActions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.1rem;display:flex}.atLinkBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#2f9e72;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600}.atLinkBtn:hover{text-decoration:underline}.atSettingsBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#6b7280;cursor:pointer;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.78rem;font-weight:600;transition:border-color .12s,color .12s,background-color .12s;display:inline-flex}.atSettingsBtn:hover{color:#1a1a1a;background-color:#f0fbf6;border-color:#7bccac}.atSettingsBtnActive{color:#1a6647;background-color:#edfaf4;border-color:#5cbf97}.atSettings{background-color:#f8f9fa;border-radius:10px;flex-direction:column;gap:.75rem;padding:.85rem;animation:.16s both dotDetailIn;display:flex}.atExempt{color:#374151;cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.atMarks{flex-wrap:wrap;gap:.35rem;display:flex}.atMark{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#6b7280;cursor:pointer;background-color:#fff;border:1.5px solid #dcdee1;border-radius:8px;padding:.38rem .7rem;font-size:.8rem;font-weight:600;transition:background-color .12s,color .12s,border-color .12s}.atMarkPresent{color:#1f8a5b;border-color:#b6e3cd}.atMarkPresent:hover{background-color:#eafaf2}.atMarkAbsent{color:#c0392b;border-color:#f0c2c2}.atMarkAbsent:hover{background-color:#fdeaea}.atMarkOff{color:#6b7280;border-color:#d6d9dd}.atMarkOff:hover{background-color:#f2f3f5}.atMarkActive.atMarkPresent{color:#08221a;background-color:#5cbf97;border-color:#5cbf97}.atMarkActive.atMarkAbsent{color:#fff;background-color:#e07a7a;border-color:#e07a7a}.atMarkActive.atMarkOff{color:#fff;background-color:#9ca3af;border-color:#9ca3af}.atMarkActive.atMarkClear{color:#fff;background-color:#6b7280;border-color:#6b7280}[data-theme=dark] .atSemesterBar,[data-theme=dark] .atSetupCard,[data-theme=dark] .atCard{background-color:#161619;border-color:#2a2a30}[data-theme=dark] .atCard{border-left-color:#3a3a46}[data-theme=dark] .atCardStatus-safe{border-left-color:#4ea783}[data-theme=dark] .atCardStatus-warn{border-left-color:#c99f50}[data-theme=dark] .atCardStatus-over{border-left-color:#cf6a6a}[data-theme=dark] .atSemesterBarDates,[data-theme=dark] .atCardName,[data-theme=dark] .atCardStat strong,[data-theme=dark] .atDotDate{color:#f3f4f6}[data-theme=dark] .atSemesterBarPreset{color:#6fcf9c}[data-theme=dark] .atSemesterBarHols,[data-theme=dark] .atSetupHint{color:#6b7280}[data-theme=dark] .atSetupLabel,[data-theme=dark] .atSemesterBarDates{color:#e5e7eb}[data-theme=dark] .atCardStat{color:#9aa0aa}[data-theme=dark] .atBar{background-color:#26262c}[data-theme=dark] .atDot,[data-theme=dark] .atDotUnknown{background-color:#3a3a42}[data-theme=dark] .atDotAttended{background-color:#4ea783}[data-theme=dark] .atDotAbsent{background-color:#cf6a6a}[data-theme=dark] .atDotOff{background-color:#0000;border-color:#44464d}[data-theme=dark] .atDotToday{box-shadow:0 0 0 2px #161619,0 0 0 3.5px #7bccac}[data-theme=dark] .atDotSel,[data-theme=dark] .atDotToday.atDotSel{box-shadow:0 0 0 2px #161619,0 0 0 3.5px #f3f4f6}[data-theme=dark] .atDotWrap{background-color:#0f0f12}[data-theme=dark] .atDotDetail,[data-theme=dark] .atSettings{background-color:#1b1b1f}[data-theme=dark] .atDotDate{color:#f3f4f6}[data-theme=dark] .atChip{background-color:#1b1b1f;border-color:#2f2f35}[data-theme=dark] .atChipName{color:#d4d8de}[data-theme=dark] .atChipDate{color:#6b7280}[data-theme=dark] .atChipX{color:#555a62}[data-theme=dark] .atChip:hover{background-color:#1e1212;border-color:#5b2b2b}[data-theme=dark] .atChip:hover .atChipX{color:#f08a7a}[data-theme=dark] .atMark{color:#aab0ba;background-color:#0f0f12;border-color:#34343c}[data-theme=dark] .atLinkBtn{color:#6fcf9c}[data-theme=dark] .atSettingsBtn{color:#9aa0aa;background-color:#0f0f12;border-color:#34343c}[data-theme=dark] .atSettingsBtn:hover{color:#fff;background-color:#0d1f17;border-color:#7bccac}[data-theme=dark] .atSettingsBtnActive{color:#6fcf9c;background-color:#0d1f17;border-color:#4ea783}[data-theme=dark] .atPillGreen{color:#6fcf9c;background-color:#16291f}[data-theme=dark] .atPillAmber{color:#e0b15e;background-color:#3a2c14}[data-theme=dark] .atPillRed{color:#f08a7a;background-color:#3a1c1c}[data-theme=dark] .atPillGray{color:#9aa0aa;background-color:#26262c}[data-theme=dark] .atMarkPresent{color:#6fcf9c;border-color:#2b4a3c}[data-theme=dark] .atMarkPresent:hover{background-color:#0d1f17}[data-theme=dark] .atMarkAbsent{color:#f08a7a;border-color:#5b2b2b}[data-theme=dark] .atMarkAbsent:hover{background-color:#1e1212}[data-theme=dark] .atMarkOff{color:#aab0ba;border-color:#3a3a42}[data-theme=dark] .atMarkOff:hover{background-color:#1b1b1f}[data-theme=dark] .atPresetBtn{color:#c8ccd2;border-color:#2f2f35}[data-theme=dark] .atPresetBtn:hover{color:#fff;border-color:#7bccac}[data-theme=dark] .atPresetBtnActive{color:#6fcf9c;background-color:#0d1f17;border-color:#4ea783}@media (max-width:600px){.scheduleToolbar{justify-content:center}}@media (max-width:480px){.scheduleHead{flex-direction:column}.scheduleHeadActions{width:100%}.scheduleHeadActions .scheduleBtn{flex:1}}.admin-page{background:radial-gradient(circle at 0 0,#1fb9841f,#0000 30%),radial-gradient(circle at 100% 0,#1a493a29,#0000 24%),linear-gradient(#f6f8f7fa,#eef4f2)}[data-theme=dark] .admin-page{background:radial-gradient(circle at 0 0,#3ec9961f,#0000 30%),radial-gradient(circle at 100% 0,#12121633,#0000 24%),linear-gradient(#0c0c0efa,#111415)}.admin-shell{width:min(1280px,100% - 40px);margin:0 auto;padding:28px 0 40px}.admin-hero{justify-content:space-between;align-items:end;gap:24px;padding:28px 0 22px;display:flex}.admin-eyebrow,.admin-loading-eyebrow,.admin-stat-label{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700}.admin-hero h1,.admin-loading-card h1{margin:10px 0 12px;font-size:max(2rem,min(3vw,3.3rem));line-height:1}.admin-hero p,.admin-loading-card p,.admin-panel-header p,.admin-stat-card p,.admin-live-copy p{color:#3c4541d1;margin:0;line-height:1.5}[data-theme=dark] .admin-hero p,[data-theme=dark] .admin-loading-card p,[data-theme=dark] .admin-panel-header p,[data-theme=dark] .admin-stat-card p,[data-theme=dark] .admin-live-copy p{color:#d9e0ddb8}.admin-hero-meta{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-chip{color:#134d37;background:#1861461a;border-radius:999px;padding:10px 14px;font-size:.92rem;font-weight:600}[data-theme=dark] .admin-chip{color:#d6fff0;background:#5edeb01f}.admin-chip-muted{color:#375247;background:#1118160f}[data-theme=dark] .admin-chip-muted{color:#d6fff0c7;background:#ffffff0f}.admin-banner{color:#8e1f1f;background:#dc4b3c14;border:1px solid #dc4b3c2e;border-radius:16px;margin:0 0 20px;padding:14px 16px}.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.admin-stat-card,.admin-panel,.admin-loading-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffbd;border:1px solid #134d371f;border-radius:24px;box-shadow:0 18px 48px #0c231b14}[data-theme=dark] .admin-stat-card,[data-theme=dark] .admin-panel,[data-theme=dark] .admin-loading-card{background:#131416c7;border-color:#ffffff14;box-shadow:0 18px 48px #00000047}.admin-stat-card{padding:20px}.admin-stat-card-accent{background:linear-gradient(145deg,#1d916a26,#ffffffad)}[data-theme=dark] .admin-stat-card-accent{background:linear-gradient(145deg,#25a0762e,#151719cc)}.admin-stat-card strong{margin:10px 0 8px;font-size:max(1.9rem,min(2.6vw,2.8rem));line-height:1;display:block}.admin-layout-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:16px;display:grid}.admin-column{gap:16px;display:grid}.admin-panel{padding:20px}.admin-panel-tall{min-height:100%}.admin-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.admin-panel-header h2{margin:0 0 8px;font-size:1.15rem}.admin-live-pill{color:#0f553a;white-space:nowrap;background:#1d916a1f;border-radius:999px;padding:10px 14px;font-weight:700}[data-theme=dark] .admin-live-pill{color:#dbffef;background:#3fc99a29}.admin-live-visual{grid-template-columns:170px 1fr;align-items:center;gap:18px;display:grid}.admin-live-ring{aspect-ratio:1;color:#fff;background:radial-gradient(circle,#1d916af2,#0f533ae0 64%,#081812f0 100%);border-radius:50%;place-items:center;width:170px;display:grid;box-shadow:inset 0 0 0 10px #ffffff14,0 18px 28px #0f533a40}.admin-live-ring span{font-size:3.1rem;font-weight:800;line-height:1}.admin-live-ring small{text-transform:uppercase;letter-spacing:.16em;opacity:.9;margin-top:-14px;font-size:.78rem}.admin-live-copy h3{margin:0 0 10px;font-size:1.2rem}.admin-bars{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));align-items:end;gap:12px;display:grid}.admin-bar-item{justify-items:center;gap:8px;display:grid}.admin-bar-track{background:linear-gradient(#134d370a,#134d3717);border-radius:18px;align-items:end;width:100%;height:180px;padding:10px;display:flex}[data-theme=dark] .admin-bar-track{background:linear-gradient(#ffffff05,#ffffff0f)}.admin-bar-fill{background:linear-gradient(#39c58a,#12704f);border-radius:14px 14px 8px 8px;width:100%;min-height:8px;box-shadow:0 10px 24px #12704f38}.admin-bar-item span{color:#3c4541bd;font-size:.72rem}[data-theme=dark] .admin-bar-item span{color:#d9e0ddb8}.admin-bar-item strong{font-size:.92rem}.admin-list{gap:10px;display:grid}.admin-list-row{background:#134d370d;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}[data-theme=dark] .admin-list-row{background:#ffffff0d}.admin-list-row strong{font-size:.98rem;display:block}.admin-list-row span{color:#3c4541b8;margin-top:4px;font-size:.8rem;display:block}[data-theme=dark] .admin-list-row span{color:#d9e0ddad}.admin-list-value{font-size:1.4rem;font-weight:800}.admin-table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #134d3717;padding:12px 10px}[data-theme=dark] .admin-table th,[data-theme=dark] .admin-table td{border-bottom-color:#ffffff14}.admin-table th{text-transform:uppercase;letter-spacing:.08em;color:#3c4541b8;font-size:.76rem}[data-theme=dark] .admin-table th{color:#d9e0ddad}.align-right{text-align:right!important}.admin-empty{color:#3c4541bd;margin:0}[data-theme=dark] .admin-empty{color:#d9e0ddbd}.admin-loading-card{width:min(640px,100%);padding:28px}@media (max-width:1100px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout-grid{grid-template-columns:1fr}}@media (max-width:700px){.admin-shell{width:min(100% - 24px,1280px)}.admin-hero{flex-direction:column;align-items:flex-start}.admin-stats-grid{grid-template-columns:1fr}.admin-live-visual{grid-template-columns:1fr;justify-items:start}.admin-live-ring{width:148px}.admin-panel-header{flex-direction:column}}.admin-stack{flex-direction:column;gap:18px;display:flex}.admin-panel-header .admin-users-search{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.admin-users-search input[type=search]{color:inherit;background:#fff;border:1px solid #134d372e;border-radius:999px;min-width:240px;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.admin-users-search input[type=search]:focus{border-color:#2b6cd799;outline:none;box-shadow:0 0 0 3px #2b6cd72e}[data-theme=dark] .admin-users-search input[type=search]{background:#1c1c22;border-color:#ffffff24}.admin-users-search button{color:inherit;cursor:pointer;background:#134d370d;border:1px solid #134d3729;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:500;transition:background .15s}.admin-users-search button:hover{background:#134d371c}[data-theme=dark] .admin-users-search button{background:#ffffff0d;border-color:#ffffff24}[data-theme=dark] .admin-users-search button:hover{background:#ffffff1a}.admin-link-button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-bottom:1px dashed #2b6cd780;padding:0;font-weight:500;transition:color .15s,border-color .15s}.admin-link-button:hover{color:#2b6cd7;border-bottom-color:#2b6cd7}[data-theme=dark] .admin-link-button:hover{color:#6ea3ff;border-bottom-color:#6ea3ff}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.admin-row-actions button{color:inherit;cursor:pointer;background:#fff;border:1px solid #134d3724;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.admin-row-actions button:hover:not(:disabled){background:#134d3712;border-color:#134d3747}.admin-row-actions button:disabled{opacity:.45;cursor:not-allowed}[data-theme=dark] .admin-row-actions button{background:#1c1c22;border-color:#ffffff1a}[data-theme=dark] .admin-row-actions button:hover:not(:disabled){background:#ffffff0f;border-color:#fff3}.admin-danger-button{color:#fff!important;background:#c0392beb!important;border-color:#c0392beb!important}.admin-danger-button:hover:not(:disabled){background:#a93223f2!important;border-color:#a93223f2!important}.admin-tag{letter-spacing:.02em;color:#134d37db;background:#134d371a;border-radius:999px;margin-right:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}[data-theme=dark] .admin-tag{color:#d9e0dde0;background:#ffffff14}.admin-tag-danger{color:#c0392b;background:#c0392b26}.admin-tag-accent{color:#2b6cd7;background:#2b6cd726}[data-theme=dark] .admin-tag-accent{color:#9fbfff;background:#6ea3ff2e}.admin-error{color:#c0392b}.admin-detail-row>td{background:#134d3708;border-top:1px solid #134d3714}[data-theme=dark] .admin-detail-row>td{background:#ffffff08;border-top-color:#ffffff14}.admin-user-detail{flex-direction:column;gap:14px;padding:14px 6px;font-size:13px;display:flex}.admin-user-detail code{background:#134d3712;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}[data-theme=dark] .admin-user-detail code{background:#ffffff12}.admin-user-detail-meta{flex-wrap:wrap;gap:14px 28px;font-size:12px;display:flex}.admin-user-detail-meta>div{flex-direction:column;gap:2px;display:flex}.admin-user-detail-meta span{text-transform:uppercase;letter-spacing:.06em;color:#3c45419e;font-size:10px}[data-theme=dark] .admin-user-detail-meta span{color:#d9e0dd8c}.admin-user-detail h4{text-transform:uppercase;letter-spacing:.06em;color:#3c45419e;margin:0 0 6px;font-size:12px}[data-theme=dark] .admin-user-detail h4{color:#d9e0dd8c}.admin-event-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.admin-event-list li{background:#134d3708;border-radius:6px;justify-content:space-between;gap:12px;padding:4px 8px;display:flex}[data-theme=dark] .admin-event-list li{background:#ffffff08}.admin-event-list li span{opacity:.7}.admin-detail-footnote{opacity:.62;margin:8px 0 0;font-size:11px;font-style:italic}.admin-pagination{color:#3c4541b3;justify-content:center;align-items:center;gap:14px;padding-top:14px;font-size:12px;display:flex}[data-theme=dark] .admin-pagination{color:#d9e0ddb3}.admin-pagination button{color:inherit;cursor:pointer;background:#fff;border:1px solid #134d3724;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:500}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .admin-pagination button{background:#1c1c22;border-color:#ffffff24}.admin-pagination button:hover:not(:disabled){background:#134d370d}[data-theme=dark] .admin-pagination button:hover:not(:disabled){background:#ffffff0d}.admin-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.admin-modal{color:inherit;background:#fff;border:1px solid #0000000f;border-radius:14px;flex-direction:column;gap:14px;width:min(480px,92vw);padding:24px 26px;display:flex;box-shadow:0 24px 48px #00000052}[data-theme=dark] .admin-modal{background:#16161a;border-color:#ffffff14}.admin-modal h3{margin:0;font-size:18px}.admin-modal p{margin:0;font-size:14px;line-height:1.5}.admin-modal code{background:#134d3712;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}[data-theme=dark] .admin-modal code{background:#ffffff14}.admin-modal input{color:inherit;background:#fff;border:1px solid #134d3738;border-radius:8px;padding:9px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.admin-modal input:focus{border-color:#2b6cd799;outline:none;box-shadow:0 0 0 3px #2b6cd72e}[data-theme=dark] .admin-modal input{background:#1c1c22;border-color:#ffffff29}.admin-modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.admin-modal-actions button{color:inherit;cursor:pointer;background:#fff;border:1px solid #134d372e;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500}[data-theme=dark] .admin-modal-actions button{background:#1c1c22;border-color:#ffffff2e}.admin-modal-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-subtle{color:var(--admin-text-muted,#6b7280);margin-top:2px;font-size:.8rem}.settingsLayout{flex-direction:column;gap:24px;max-width:640px;margin:0 auto;padding:32px 20px 80px;display:flex}.settingsTitle{margin:0 0 4px;font-size:28px}.settingsSubtitle{opacity:.75;margin:0 0 8px}.settingsCard{background:var(--card-bg,#fff);border:1px solid var(--card-border,#e2e2e6);border-radius:12px;flex-direction:column;gap:14px;padding:20px 24px;display:flex}html[data-theme=dark] .settingsCard{background:#16161a;border-color:#2a2a30}.settingsCardTitle{margin:0;font-size:18px;font-weight:600}.settingsDescription{opacity:.78;margin:0;font-size:14px;line-height:1.45}.settingsForm{flex-direction:column;gap:12px;display:flex}.settingsRow{flex-direction:column;gap:4px;display:flex}.settingsLabel{opacity:.85;font-size:13px;font-weight:500}.settingsLabel code{background:#00000012;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}html[data-theme=dark] .settingsLabel code{background:#ffffff1f}.settingsInput{border:1px solid var(--input-border,#c9c9d0);background:var(--input-bg,#fff);color:inherit;border-radius:8px;padding:8px 10px;font-size:14px}html[data-theme=dark] .settingsInput{background:#1c1c22;border-color:#2f2f36}.settingsInput:focus{outline-offset:1px;outline:2px solid #4c8bf5}.settingsButton{color:#fff;cursor:pointer;background:#2b6cd7;border:none;border-radius:8px;align-self:flex-start;padding:9px 18px;font-size:14px;font-weight:600}.settingsButton:hover:not(:disabled){background:#2660c1}.settingsButton:disabled{opacity:.55;cursor:not-allowed}.settingsError{color:#c0392b;background:#c0392b14;border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.settingsSuccess{color:#1f7a3a;background:#1f7a3a1a;border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.settingsDangerZone{border-color:#c0392b66}html[data-theme=dark] .settingsDangerZone{border-color:#c0392b80}.settingsDangerButton{background:#c0392b}.settingsDangerButton:hover:not(:disabled){background:#a93223}.studyRoot{--font-display:"Space Grotesk Variable", "Segoe UI", system-ui, sans-serif;--font-body:"Inter Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--bg:#f4f8f6;--surface:#fff;--surface-2:#eef3f0;--surface-3:#e6efe9;--border:#e1e9e4;--border-strong:#cfdbd4;--text:#112a20;--text-muted:#5a6f66;--text-faint:#8a9a92;--brand-ink:#0f3f2c;--accent:#178a63;--mint:#7bccac;--primary-bg:#7bccac;--primary-bg-hover:#8fd4b5;--primary-ink:#0f3f2c;--danger:#c0362c;--danger-soft:#c0362c1a;--ring:0 0 0 3px #178a6333;--shadow-sm:0 1px 2px #0f3f2c0f;--shadow:0 6px 24px -12px #0f3f2c40;--shadow-lg:0 18px 50px -20px #0f3f2c59;--r-sm:10px;--r-md:14px;--r-lg:20px;--maxw:760px;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex:1;font-size:15px;line-height:1.5}html[data-theme=dark] .studyRoot{--bg:#0b0f0d;--surface:#141a17;--surface-2:#1a2420;--surface-3:#22302a;--border:#25332d;--border-strong:#33463d;--text:#e7efea;--text-muted:#9fb3a9;--text-faint:#6f837a;--brand-ink:#d4f3e3;--accent:#54d6a2;--mint:#7bccac;--primary-bg:#2bbd84;--primary-bg-hover:#35cf92;--primary-ink:#04130d;--danger:#f2867d;--danger-soft:#f2867d1f;--ring:0 0 0 3px #54d6a238;--shadow-sm:0 1px 2px #0006;--shadow:0 8px 28px -14px #0009;--shadow-lg:0 22px 60px -24px #000000b3}.studyRoot *{box-sizing:border-box}.studyRoot h1,.studyRoot h2,.studyRoot h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-weight:600}.studyRoot a{color:var(--accent);text-decoration:none}.studyRoot a:hover{text-decoration:underline}.studyRoot input,.studyRoot select,.studyRoot textarea,.studyRoot button{font-family:inherit}.studyRoot .appMain{max-width:var(--maxw);margin:0 auto;padding:24px 18px 40px}.studyRoot .center{text-align:center;color:var(--text-muted);padding:64px 16px}.studyRoot .muted{color:var(--text-muted)}.studyRoot .btn{cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.studyRoot .btn:active:not(:disabled){transform:translateY(1px)}.studyRoot .btn:disabled{opacity:.55;cursor:not-allowed}.studyRoot .btn--primary{background:var(--primary-bg);color:var(--primary-ink);box-shadow:var(--shadow-sm);border-color:#0f3f2c24}.studyRoot .btn--primary:hover:not(:disabled){background:var(--primary-bg-hover)}.studyRoot .btn--ghost{border-color:var(--border-strong);color:var(--text);background:0 0}.studyRoot .btn--ghost:hover:not(:disabled){background:var(--surface-2)}.studyRoot .btn--danger{border-color:var(--danger);color:var(--danger);background:0 0}.studyRoot .btn--danger:hover:not(:disabled){background:var(--danger-soft)}.studyRoot .btn--block{width:100%}.studyRoot .btn--sm{border-radius:10px;padding:7px 12px;font-size:.85rem}.studyRoot .pageHead{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.studyRoot .pageHead h1{font-size:1.6rem}.studyRoot .pageHead__sub{color:var(--text-muted);margin-top:4px;font-size:.92rem}.studyRoot .pageTitleRow{align-items:center;gap:12px;display:flex}.studyRoot .addBtn{background:var(--primary-bg);width:34px;height:34px;color:var(--primary-ink);cursor:pointer;box-shadow:var(--shadow-sm);border:1px solid #0f3f2c24;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background .15s,transform .1s;display:inline-flex}.studyRoot .addBtn:hover{background:var(--primary-bg-hover)}.studyRoot .addBtn:active{transform:translateY(1px)}.studyRoot .addBtn svg{width:18px;height:18px}.studyRoot .toolbar{flex-direction:column;gap:12px;margin-bottom:22px;display:flex}.studyRoot .search{position:relative}.studyRoot .search__icon{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.studyRoot .search input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:999px;outline:none;padding:12px 14px 12px 42px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.studyRoot .search input:focus{border-color:var(--accent);box-shadow:var(--ring)}.studyRoot .filterRow{flex-wrap:wrap;gap:8px;display:flex}.studyRoot .select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237a8a82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m4 6 4 4 4-4'/></svg>") no-repeat right 12px center;color:var(--text);cursor:pointer;border-radius:999px;outline:none;padding:9px 34px 9px 14px;font-size:.88rem;font-weight:500}.studyRoot .select:focus{border-color:var(--accent);box-shadow:var(--ring)}.studyRoot .feed{flex-direction:column;gap:12px;display:flex}.studyRoot .post{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;color:var(--text);cursor:pointer;flex-direction:column;gap:12px;padding:18px 18px 16px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;position:relative;overflow:hidden}.studyRoot .post:before{content:"";background:var(--mint);width:4px;position:absolute;top:0;bottom:0;left:0}.studyRoot .post:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.studyRoot .post__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.studyRoot .post__title{font-size:1.12rem;line-height:1.25}.studyRoot .post__meta{flex-wrap:wrap;gap:7px;display:flex}.studyRoot .post__foot{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;font-size:.83rem;display:flex}.studyRoot .pill{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700}.studyRoot .pill--status{background:var(--surface-2);color:var(--text-faint);text-transform:capitalize}.studyRoot .chip{color:var(--text-muted);background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.8rem;font-weight:500;display:inline-flex}.studyRoot .chip svg{width:15px;height:15px;color:var(--text-faint);flex:none}.studyRoot .chip--accent{color:var(--brand-ink);background:color-mix(in srgb, var(--mint) 24%, transparent)}html[data-theme=dark] .studyRoot .chip--accent{color:var(--mint);background:#7bccac24}.studyRoot .joinTag{color:var(--accent);font-weight:700}.studyRoot .hostTag{color:var(--text-faint)}.studyRoot .empty{text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-muted);padding:48px 20px}.studyRoot .empty__icon{background:var(--surface-2);width:46px;height:46px;color:var(--text-faint);border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.studyRoot .empty p{margin:0 0 16px}.studyRoot .formWrap{max-width:560px;margin:0 auto}.studyRoot .form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:18px;padding:22px;display:flex}.studyRoot .field{flex-direction:column;gap:7px;display:flex}.studyRoot .label{color:var(--text-muted);font-size:.82rem;font-weight:600}.studyRoot .input,.studyRoot .textarea,.studyRoot .fieldSelect{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text);outline:none;padding:11px 13px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.studyRoot .fieldSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237a8a82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m4 6 4 4 4-4'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.studyRoot .input:focus,.studyRoot .textarea:focus,.studyRoot .fieldSelect:focus{border-color:var(--accent);box-shadow:var(--ring)}.studyRoot .textarea{resize:vertical;min-height:84px}.studyRoot .row2{gap:14px;display:flex}.studyRoot .row2 .field{flex:1;min-width:0}.studyRoot .input{min-width:0}.studyRoot .hint{color:var(--text-muted);margin:-6px 0 0;font-size:.82rem}.studyRoot .formActions{justify-content:flex-end;gap:10px;display:flex}.studyRoot .segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.studyRoot .segmented button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:8px 18px;font-size:.9rem;font-weight:500;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.studyRoot .segmented button svg{opacity:.65;flex:none;width:15px;height:15px;transition:opacity .18s}.studyRoot .segmented button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #0f3f2c1f, 0 0 0 1px var(--border);font-weight:600}.studyRoot .segmented button.active svg{opacity:1}.studyRoot .segmented button:not(.active):hover{color:var(--text);background:#7bccac1a}.studyRoot .segmented button:not(.active):hover svg{opacity:.9}html[data-theme=dark] .studyRoot .segmented button.active{background:var(--surface-3);box-shadow:0 1px 6px #00000059, 0 0 0 1px var(--border-strong)}.studyRoot .detail{max-width:600px;margin:0 auto}.studyRoot .backLink{background:var(--surface);cursor:pointer;border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:9px 16px 9px 13px;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.studyRoot .backLink:hover{background:var(--surface-2);border-color:var(--accent)}.studyRoot .backLink:active{transform:translateY(1px)}.studyRoot .detailCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:22px}.studyRoot .detailCard__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.studyRoot .detailCard__title{font-size:1.5rem;line-height:1.2}.studyRoot .detailCard__chips{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.studyRoot .detailGrid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:20px 0;padding:16px 0;display:grid}.studyRoot .detailGrid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.75rem}.studyRoot .detailGrid dd{margin:5px 0 0;font-weight:600}.studyRoot .detailNotes{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--r-md);margin:0 0 8px;padding:14px}.studyRoot .detailContact{background:var(--surface-2);border-radius:var(--r-md);flex-direction:column;gap:5px;margin:8px 0 0;padding:12px 14px;display:flex}.studyRoot .detailContact__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.72rem;font-weight:600}.studyRoot .detailContact__value{white-space:pre-wrap;word-break:break-word;font-weight:500}.studyRoot .people{margin-top:18px}.studyRoot .people h3{margin-bottom:10px;font-size:.95rem}.studyRoot .peopleList{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.studyRoot .person{background:var(--surface-2);border-radius:999px;padding:6px 13px;font-size:.85rem;font-weight:500}.studyRoot .detailActions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}.studyRoot .section{margin-top:28px}.studyRoot .section:first-of-type{margin-top:8px}.studyRoot .section__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:12px;font-size:.78rem}@media (max-width:767px){.studyRoot .appMain{padding:18px 14px calc(80px + env(safe-area-inset-bottom))}.studyRoot .pageHead{align-items:flex-start}.studyRoot .pageHead h1{font-size:1.4rem}.studyRoot .row2{flex-direction:column;gap:18px}.studyRoot .pageHead>div{width:100%}.studyRoot .pageTitleRow{justify-content:space-between;width:100%}}
