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,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}.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}.topbar-left{letter-spacing:.2px;align-items:center;gap:12px;font-weight:600;display:flex}.topbarLogo{align-items:center;height:36px;display:flex}.topbarLogoImg{object-fit:contain;filter:invert();width:auto;max-height:36px;display:block}[data-theme=dark] .topbarLogoImg{filter:none}.topbarBranding{height:36px;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.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;text-decoration:none;transition:opacity .2s}.topbarBrandingTextLink:hover{opacity:.7}@media (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}.semester-dropdown-wrapper-desktop{display:none;position:absolute;left:50%;transform:translate(-50%)}.semester-dropdown-wrapper-desktop .topbar-center{position:static;transform:none}@media (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: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 (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:clamp(32px,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:clamp(14px,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;inset: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}.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 (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:clamp(28px,6vw,36px)}.facultyWelcome,.facultyIntro,.facultyGreetingSub,.facultyDots{animation-name:facultyTextInMobile}}@media (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 (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:clamp(26px,4vw,34px);font-weight:800;line-height:1.15}.ddpSubtitle{color:#5a6b63;margin:0;font-size:15px;line-height:1.5}@media (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 (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 (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 (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:clamp(22px,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 (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 (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:clamp(28px,3.8vw,40px);font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards branchTextIn}.branchIntro{color:#5a6b63;margin:0;font-size:clamp(14px,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 (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 (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 (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:clamp(28px,3.8vw,40px);font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards degreeTextIn}.degreeIntro{color:#5a6b63;margin:0;font-size:clamp(14px,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 (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 (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:clamp(28px,3.8vw,40px);font-weight:800;line-height:1.1;animation:.5s ease-out 80ms backwards semesterTextIn}.semesterIntro{color:#5a6b63;margin:0;font-size:clamp(14px,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 (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 (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:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.2;animation:.5s ease-out 50ms backwards trackTextIn}.trackIntro{color:#1a1a1a;margin:0;font-size:clamp(15px,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:clamp(14px,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 (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 (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 (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}.loginTitle{color:#0f3f2c;margin:0 0 22px;font-size:30px;font-weight:500}.loginForm{flex-direction:column;align-items:center;gap:14px;display:flex}.registerForm{gap:22px}.loginRow{grid-template-columns:140px 1fr;align-items:center;gap:16px;width:100%;display:grid}.loginLabel{text-align:right;color:#1f2937;font-size:14px}.loginInput{border:1px solid #cfcfcf;border-radius:2px;outline:none;justify-self:start;width:220px;max-width:100%;height:22px;padding:2px 4px;font-size:13px}.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:2px solid #0f3f2c33;border-radius:0;min-width:140px;margin-top:10px;padding:10px 24px;font-size:16px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s}.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;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}@media (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 (width<=520px){.loginLayout{padding:28px 14px 40px}.loginCard{padding:0 4px}.loginTitle{margin-bottom:16px;font-size:28px}.loginRow{grid-template-columns:1fr;justify-items:stretch;gap:6px}.loginLabel{text-align:left;font-size:13px}.loginInput{box-sizing:border-box;width:100%;max-width:none;min-height:44px;padding:10px 12px;font-size:16px}.loginButton{width:100%;min-width:0;min-height:48px;margin-top:8px;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 (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:100vh;min-height:100vh;max-height:100vh;padding:24px 20px;display:flex;position:relative;overflow:hidden}.landingHeroBg{pointer-events:none;background:linear-gradient(#00000059 0%,#00000080 100%);position:absolute;inset: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:clamp(2.25rem,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:clamp(1.35rem,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}.landingLoadingOverlay{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf8f3b8;place-items:center;display:grid;position:fixed;inset:0}.landingLoadingSpinner{border:4px solid #0f3f2c26;border-top-color:#0f3f2c;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite landingLoadingSpin}@keyframes landingLoadingSpin{to{transform:rotate(360deg)}}.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:64px 24px 72px}.landingAboutInner{max-width:1200px;margin:0 auto}.landingAboutTitle{color:#0f3f2c;letter-spacing:.02em;text-align:center;opacity:0;margin:0 0 40px;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:700;line-height:1.25;transform:translateY(24px)}.landingAboutInView .landingAboutTitle{animation:.7s cubic-bezier(.22,1,.36,1) forwards landingAboutTitleIn}@keyframes landingAboutTitleIn{to{opacity:1;transform:translateY(0)}}.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 (width<=780px){.landingAboutPhotoBlock{grid-template-columns:1fr;gap: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{margin:0;font-size:.9rem}.landingFooterLinks a{color:#0f3f2c;font-weight:500;text-decoration:none}.landingFooterLinks a:hover{text-decoration:underline}.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: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:fit-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:fit-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: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 (width<=976px){.branch-dropdown-portal{width:240px;max-width:min(90vw,280px);left:0;right:auto}.dashboardFaculty{flex:none;width:fit-content;max-width:100%}.branch-dropdown-wrapper{flex-shrink:0;max-width:100%;width:fit-content!important}.branchInfo{min-width:min-content;max-width:100%;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: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: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 (width>=768px){.semesterInfoMobile{display:none}.dashboardHeaderContent{align-items:flex-start}}.dashboardGPA{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;margin-left:auto;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}.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}@media (width<=1280px){.dashboardLegendWrap{justify-content:flex-start;width:100%;margin-top:16px;margin-left:0}.dashboardHeaderContent{align-items:flex-start}.dashboardLegend,.legendItems{justify-content:flex-start}}@media (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{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;bottom:20px;right:20px;box-shadow:0 4px 20px #0000001f}.dashboardGPAFloatValue{font-size:22px}.overviewToggleBtn{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;bottom:20px;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 (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;padding:8px 12px;font-size:14px}.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;inset:0;overflow:hidden}.resetSubjectOverlayBackdrop{-webkit-backdrop-filter:blur(10px);background:#ffffffbf;position:absolute;inset: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;inset:0}.resetSemesterOverlayBackdrop{-webkit-backdrop-filter:blur(10px);background:#ffffffbf;position:absolute;inset: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]{appearance:textfield}.gradeInputRow input:focus{border-color:#7bccac;outline:none;box-shadow:0 0 0 2px #7bccac1a}@media (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}.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{text-transform:uppercase;color:#999;margin-bottom:8px;font-size:11px;font-weight:600}.gradePredictionList{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;display:grid}.gradePredictionColumn{background:#f9f9f9;border:1px solid #eee;border-radius:6px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.gradePredictionColumnTitle{color:#0f3f2c;text-transform:uppercase;margin-bottom:2px;font-size:12px;font-weight:700}.gradePredictionRow{justify-content:space-between;gap:6px;font-size:12px;display:flex}.gradePredictionGrade{color:#0f3f2c;font-weight:600}.gradePredictionValue{color:#666}.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 (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: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: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 (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}}[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{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] .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] .gradePredictionTitle{color:#6b7280}[data-theme=dark] .gradePredictionColumn{background:#16161a;border-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] .landingLoadingOverlay{background:#0c0c0eb8}[data-theme=dark] .landingLoadingSpinner{border-color:#e2e4e9 #ffffff29 #ffffff29}[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()}.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:clamp(2rem,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:clamp(1.9rem,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 (width<=1100px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout-grid{grid-template-columns:1fr}}@media (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}}
