:root{--glass2-atmo-base:#080b14;--glass2-atmo-gradient-start:rgba(255,255,255,0.07);--glass2-atmo-gradient-mid:rgba(255,255,255,0.03);--glass2-atmo-gradient-end:rgba(255,255,255,0.00);--glass2-atmo-vignette:rgba(0,0,0,0.46);--glass2-atmo-bleed-primary:rgba(255,255,255,0.12);--glass2-atmo-bleed-secondary:rgba(255,255,255,0.07);--glass2-atmo-bleed-edge:rgba(255,255,255,0.055);--glass2-identity-primary:rgba(255,255,255,0.88);--glass2-identity-primary-soft:rgba(255,255,255,0.10);--glass2-identity-on-primary:#ffffff;--glass2-surface-workspace:transparent;--glass2-surface-page:transparent;--glass2-surface-panel:rgba(255,255,255,0.022);--glass2-surface-panel-strong:rgba(255,255,255,0.045);--glass2-surface-tile:rgba(255,255,255,0.032);--glass2-surface-modal:rgba(255,255,255,0.14);--glass2-surface-border-soft:rgba(255,255,255,0.05);--glass2-surface-border:rgba(255,255,255,0.075);--glass2-surface-border-strong:rgba(255,255,255,0.12);--glass2-surface-highlight:rgba(255,255,255,0.045);--glass2-surface-hover:rgba(255,255,255,0.042);--glass2-surface-active:rgba(255,255,255,0.058);--glass2-surface-selected:rgba(255,255,255,0.07);--glass2-surface-selected-strong:rgba(255,255,255,0.095);--glass2-surface-group:rgba(255,255,255,0.012);--glass2-surface-control:rgba(255,255,255,0.042);--glass2-surface-control-hover:rgba(255,255,255,0.065);--glass2-surface-chip:rgba(255,255,255,0.038);--glass2-surface-chip-strong:rgba(255,255,255,0.064);--glass2-overlay-menu:#141414;--glass2-overlay-menu-strong:#0f0f0f;--glass2-overlay-menu-hover:#1f1f1f;--glass2-overlay-menu-selected:#2a2a2a;--glass2-identity-tint-soft:rgba(255,255,255,0.08);--glass2-identity-tint:rgba(255,255,255,0.14);--glass2-identity-tint-strong:rgba(255,255,255,0.2);--glass2-shadow-l1:0 10px 22px rgba(0,0,0,0.10);--glass2-shadow-l2:0 16px 34px rgba(0,0,0,0.2);--glass2-shadow-l3:0 22px 46px rgba(0,0,0,0.26);--glass2-shadow-l4:0 20px 48px rgba(0,0,0,0.24);--glass2-shadow-soft:0 2px 6px rgba(0,0,0,0.22);--glass2-shadow-control:0 4px 12px rgba(0,0,0,0.2);--glass2-shadow-tile:0 10px 24px rgba(0,0,0,0.18);--glass2-shadow-control-strong:0 6px 18px rgba(0,0,0,0.35);--glass2-shadow-overlay:0 10px 30px rgba(0,0,0,0.50);--glass2-shadow-lift:0 22px 44px rgba(0,0,0,0.24);--glass2-shadow-glow:0 0 0 1px rgba(255,255,255,0.085),0 14px 34px rgba(0,0,0,0.26);--glass2-shadow-glow-strong:0 0 0 1px rgba(255,255,255,0.12),0 20px 46px rgba(0,0,0,0.34);--glass2-text-primary:rgba(255,255,255,0.94);--glass2-text-secondary:rgba(255,255,255,0.74);--glass2-text-muted:rgba(255,255,255,0.44)}.g2-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 16% 14%,var(--glass2-atmo-bleed-primary),transparent 32%),radial-gradient(circle at 84% 86%,var(--glass2-atmo-bleed-secondary),transparent 40%),radial-gradient(circle at 52% -2%,var(--glass2-atmo-bleed-edge),transparent 44%),radial-gradient(circle at 18% 10%,var(--glass2-atmo-gradient-start),transparent 38%),radial-gradient(circle at 78% 88%,var(--glass2-atmo-gradient-mid),transparent 48%),linear-gradient(to bottom,rgba(255,255,255,.018),rgba(255,255,255,0)),var(--glass2-atmo-base)}.g2-atmosphere-fixed{position:fixed}[data-glass=v2][data-school-primary][data-school-secondary]{--glass2-atmo-bleed-primary:color-mix(in srgb,attr(data-school-primary color) 7%,transparent);--glass2-atmo-bleed-secondary:color-mix(in srgb,attr(data-school-secondary color) 5%,transparent);--glass2-atmo-bleed-edge:color-mix(in srgb,attr(data-school-primary color) 4%,transparent);--glass2-identity-tint-soft:color-mix(in srgb,attr(data-school-primary color) 10%,transparent);--glass2-identity-tint:color-mix(in srgb,attr(data-school-primary color) 16%,transparent);--glass2-identity-tint-strong:color-mix(in srgb,attr(data-school-primary color) 24%,transparent)}@supports not (background:color-mix(in srgb,white 50%,transparent)){[data-glass=v2][data-school-primary][data-school-secondary]{--glass2-atmo-bleed-primary:rgba(255,255,255,0.06);--glass2-atmo-bleed-secondary:rgba(255,255,255,0.04);--glass2-atmo-bleed-edge:rgba(255,255,255,0.035);--glass2-identity-tint-soft:rgba(255,255,255,0.08);--glass2-identity-tint:rgba(255,255,255,0.14);--glass2-identity-tint-strong:rgba(255,255,255,0.2)}}.g2-workspace{background:transparent;border:0;border-radius:0;backdrop-filter:none;box-shadow:none}.g2-workspace,.g2-workspace-shell{position:relative;z-index:1;margin:0 auto;padding:28px 32px 48px;max-width:1400px}.g2-workspace-shell{backdrop-filter:blur(var(--glass2-surface-backdrop-blur));background:rgba(255,255,255,.03);border:1px solid var(--glass2-surface-border-soft);border-radius:16px;box-shadow:var(--glass2-shadow-l1)}.tp-program-shell{font-size:15px;line-height:1.5}.tp-page-title{font-size:1.75rem;line-height:1.12}.tp-major-title,.tp-page-title{font-weight:650;letter-spacing:0}.tp-major-title{font-size:1.375rem;line-height:1.16}.tp-panel-title{font-size:1.0625rem;line-height:1.3;font-weight:650;letter-spacing:0}.tp-card-title{font-size:.9375rem;line-height:1.35;font-weight:600}.tp-body{font-size:.875rem;line-height:1.55}.tp-meta{font-size:.75rem;line-height:1.4}.tp-label{font-size:.6875rem;line-height:1.25;font-weight:650;letter-spacing:.16em;text-transform:uppercase}.tp-micro{font-size:.625rem;line-height:1.2}.tp-button{font-size:.875rem}.tp-button,.tp-chip{line-height:1.25;font-weight:600}.tp-chip{font-size:.75rem}.tp-stat-value{font-size:1.25rem;line-height:1.15;font-weight:650}.g2-panel{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006)),var(--glass2-surface-panel);border:1px solid var(--glass2-surface-border);border-radius:14px;backdrop-filter:blur(22px);box-shadow:var(--glass2-shadow-l2);padding:18px 20px;transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .18s ease}.g2-panel-strong{background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.01)),var(--glass2-surface-panel-strong);border:1px solid var(--glass2-surface-border-strong);box-shadow:var(--glass2-shadow-l3)}.g2-tile{background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.006)),var(--glass2-surface-tile);border:1px solid rgba(255,255,255,.055);border-radius:12px;backdrop-filter:blur(14px);box-shadow:var(--glass2-shadow-tile);padding:14px 16px;transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .18s ease}.g2-structure{background:var(--glass2-surface-panel);backdrop-filter:blur(var(--glass2-surface-backdrop-blur-strong));box-shadow:var(--glass2-shadow-l2)}.g2-group,.g2-structure{border:1px solid var(--glass2-surface-border);border-radius:12px}.g2-group{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008)),var(--glass2-surface-group);backdrop-filter:blur(var(--glass2-surface-backdrop-blur-soft))}.g2-control{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008)),var(--glass2-surface-control);border:1px solid rgba(255,255,255,.115);box-shadow:var(--glass2-shadow-control);transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .18s ease}.g2-control:hover{background:var(--glass2-surface-control-hover);border-color:rgba(255,255,255,.14);box-shadow:var(--glass2-shadow-glow);transform:translateY(-1px)}.g2-button-prominent{background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.028)),var(--glass2-surface-control);border-color:rgba(255,255,255,.14);color:var(--glass2-text-primary);box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -18px 28px rgba(255,255,255,.018);backdrop-filter:blur(var(--glass2-surface-backdrop-blur-strong));transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .18s ease,color .16s ease}.g2-button-prominent:hover{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.044)),var(--glass2-surface-control-hover);border-color:rgba(255,255,255,.19);box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -18px 28px rgba(255,255,255,.024);transform:translateY(-1px)}.g2-button-prominent-active{background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.058)),var(--glass2-surface-selected);border-color:rgba(255,255,255,.24);color:var(--glass2-text-primary);box-shadow:0 18px 38px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.23),inset 0 -18px 28px rgba(255,255,255,.03)}.g2-button-prominent-active:disabled,.g2-button-prominent:disabled{cursor:not-allowed;opacity:.45;transform:none}.performance-map-page button{background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.028)),var(--glass2-surface-control);border-color:rgba(255,255,255,.14);color:var(--glass2-text-primary);box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -18px 28px rgba(255,255,255,.018);backdrop-filter:blur(var(--glass2-surface-backdrop-blur-strong))}.performance-map-page button:hover:not(:disabled){background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.044)),var(--glass2-surface-control-hover);border-color:rgba(255,255,255,.19);box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -18px 28px rgba(255,255,255,.024)}.performance-map-page button[aria-pressed=true]{background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.058)),var(--glass2-surface-selected);border-color:rgba(255,255,255,.24);color:var(--glass2-text-primary);box-shadow:0 18px 38px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.23),inset 0 -18px 28px rgba(255,255,255,.03)}.performance-map-page button:disabled{cursor:not-allowed;opacity:.45}.g2-select-trigger{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008)),var(--glass2-surface-control);border-color:rgba(255,255,255,.115);color:var(--glass2-text-primary);color-scheme:dark;box-shadow:var(--glass2-shadow-control);transition:background .16s ease,border-color .16s ease,box-shadow .18s ease}.g2-select-trigger:hover{background:var(--glass2-surface-control-hover);border-color:rgba(255,255,255,.14);box-shadow:var(--glass2-shadow-glow)}.g2-select-content{background:var(--glass2-overlay-menu-strong);border-color:var(--glass2-surface-border-strong);color:var(--glass2-text-primary);backdrop-filter:blur(var(--glass2-surface-backdrop-blur-strong));box-shadow:var(--glass2-shadow-overlay)}.g2-select-option{background-color:var(--glass2-overlay-menu-strong);color:var(--glass2-text-primary)}.g2-select-option:checked{background-color:var(--glass2-overlay-menu-selected)}.g2-select-item,.g2-select-option:checked{color:var(--glass2-text-primary)}.g2-select-item:hover{background:var(--glass2-overlay-menu-hover)}.g2-select-item[data-selected=true]{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018)),var(--glass2-overlay-menu-selected);color:var(--glass2-text-primary);box-shadow:var(--glass2-shadow-glow)}.g2-chip{background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.008)),var(--glass2-surface-chip);border:1px solid var(--glass2-surface-border-strong);transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .18s ease}.g2-row-interactive:hover{background:var(--glass2-surface-hover);box-shadow:var(--glass2-shadow-soft)}.g2-row-interactive.is-active,.g2-row-interactive[data-active=true]{background:var(--glass2-surface-active);border-color:var(--glass2-surface-border-strong);box-shadow:var(--glass2-shadow-glow)}.g2-menu{background:var(--glass2-overlay-menu);box-shadow:var(--glass2-shadow-control-strong)}.g2-menu,.g2-menu-strong{border:1px solid var(--glass2-surface-border-strong);backdrop-filter:blur(var(--glass2-surface-backdrop-blur-strong))}.g2-menu-strong{background:var(--glass2-overlay-menu-strong);box-shadow:var(--glass2-shadow-overlay)}.g2-surface-primary{background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.012)),var(--glass2-surface-panel-strong);border-color:rgba(255,255,255,.14);box-shadow:var(--glass2-shadow-l3)}.g2-surface-secondary{background:linear-gradient(180deg,rgba(255,255,255,.014),rgba(255,255,255,.006)),var(--glass2-surface-panel);border-color:rgba(255,255,255,.07);box-shadow:var(--glass2-shadow-l2)}.g2-selected{background:linear-gradient(180deg,rgba(255,255,255,.024),rgba(255,255,255,.01)),var(--glass2-surface-selected);border-color:rgba(255,255,255,.14);box-shadow:var(--glass2-shadow-glow)}.g2-selected-strong{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),var(--glass2-identity-tint-soft);border-color:var(--glass2-identity-tint-strong);box-shadow:var(--glass2-shadow-glow-strong)}.g2-identity-tint{background:var(--glass2-identity-tint-soft);border-color:var(--glass2-identity-tint)}.g2-lift-hover{transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .18s ease}.g2-lift-hover:hover{box-shadow:var(--glass2-shadow-lift);transform:translateY(-2px)}.g2-modal-surface{background:var(--glass2-surface-modal);border:1px solid var(--glass2-surface-border-strong);border-radius:18px;backdrop-filter:blur(var(--glass2-surface-backdrop-blur-strong));box-shadow:var(--glass2-shadow-l4);padding:28px}.g2-day-empty{opacity:.5}.g2-day-active{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008)),rgba(255,255,255,.028);border-color:rgba(255,255,255,.095)}.g2-day-today{background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.01)),var(--glass2-identity-tint-soft);border-color:rgba(255,255,255,.18);box-shadow:var(--glass2-shadow-glow-strong)}.g2-event-chip{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006)),var(--glass2-surface-chip);border:1px solid rgba(255,255,255,.095);box-shadow:var(--glass2-shadow-soft)}.g2-event-chip-strong{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),var(--glass2-surface-chip-strong);border:1px solid var(--glass2-identity-tint-strong);box-shadow:var(--glass2-shadow-glow)}.g2-elev-1{box-shadow:var(--glass2-shadow-l1)}.g2-elev-2{box-shadow:var(--glass2-shadow-l2)}.g2-elev-3{box-shadow:var(--glass2-shadow-l3)}.g2-elev-4{box-shadow:var(--glass2-shadow-l4)}.g2-elev-lift{box-shadow:var(--glass2-shadow-lift)}.g2-elev-glow{box-shadow:var(--glass2-shadow-glow)}.g2-elev-glow-strong{box-shadow:var(--glass2-shadow-glow-strong)}.g2-text-primary{color:var(--glass2-text-primary)}.g2-text-secondary{color:var(--glass2-text-secondary)}.g2-text-muted{color:var(--glass2-text-muted)}[data-glass=v2]{position:relative}