:root{--color-primary-900:#0b1c3d;--color-primary-700:#0f2f61;--color-primary-600:#0039a6;--color-primary-500:#1f5fc3;--color-primary-300:#7fa9e6;--color-primary-100:#e4eef9;--color-accent:#1f5fc3;--color-page-background:#f5f6fb;--color-surface:#fff;--color-surface-muted:#f1f4f9;--color-border:#d6deeb;--color-border-strong:#b5bfd3;--color-text:#1f2937;--color-text-muted:#4b5563;--color-heading:#152044;--color-success:#17703f;--color-warning:#94570a;--color-danger:#b42318;--shadow-xs:0 1px 0 #0f172a0f;--shadow-sm:0 2px 6px #0f172a14;--shadow-md:0 12px 30px #0f172a1f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition-base:.15s ease;--announcement-banner-height:0px;--color-primary-50:#f0f5fc;--color-primary-400:#4a80e3;--color-primary:var(--color-primary-600);--color-primary-dark:var(--color-primary-700);--color-bg:var(--color-page-background);--color-card-bg:var(--color-surface);--card-bg:var(--color-surface);--hover-bg:var(--color-surface-muted);--border-color:var(--color-border);--text-primary:var(--color-heading);--text-secondary:var(--color-text-muted);--color-gray-100:var(--color-surface-muted);--color-gray-400:#9ca3af;--color-focus-ring:#1f5fc3bf;--color-success-bg:#1d814c1a;--color-warning-bg:#b36b091a;--color-danger-bg:#b4231814;--color-overlay:#0b1c3d8c;--color-banner-warning-from:#94570a;--color-banner-warning-to:#7a4708;--color-banner-error-from:#b42318;--color-banner-error-to:#8f1c13;--color-on-primary:#fff;--color-surface-translucent:#fff9;--statue-opacity:.04;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blue-50:#f0f5fc;--blue-100:#e4eef9;--blue-200:#c4d7f2;--blue-300:#7fa9e6;--blue-400:#4a80e3;--blue-500:#1f5fc3;--blue-600:#0039a6;--blue-700:#0f2f61;--blue-800:#0d2650;--blue-900:#0b1c3d;--neutral-0:#fff;--neutral-50:#f5f6fb;--neutral-100:#f1f4f9;--neutral-200:#d6deeb;--neutral-300:#c0c9d7;--neutral-400:#9db2d2;--neutral-500:#b5bfd3;--neutral-600:#4b5563;--neutral-700:#4b5563;--neutral-800:#1e3352;--neutral-900:#1f2937;--neutral-950:#0b1625;--green-50:#ecf8f1;--green-100:#d3f0df;--green-300:#5cc98a;--green-500:#1d814c;--green-700:#1d814c;--green-800:#1f5137;--green-900:#0f2a1d;--amber-50:#fef6e7;--amber-100:#fce7bf;--amber-300:#f2b84b;--amber-500:#d9900f;--amber-700:#b36b09;--amber-800:#5c3a0a;--amber-900:#2b1f0a;--red-50:#fef1f0;--red-100:#fddcd9;--red-300:#ff8a7f;--red-500:#d93a2b;--red-700:#b42318;--red-800:#6b1d16;--red-900:#3a1512;--night-0:#11234e;--night-1:#0b1625;--night-2:#152a45;--night-3:#152a45;--night-accent:#1c2f52;--night-accent-hover:#233a63;--night-accent-border:#2f4a6d;--sched-blue:#1d4ed8;--sched-teal:#0f766e;--sched-violet:#6d28d9;--sched-pink:#be185d;--sched-orange:#c2410c;--sched-green:#15803d;--sched-cyan:#0e7490;--sched-slate:#475569;--sched-text:#fff;--grade-a:#1d814c;--grade-b:#4f9bd9;--grade-c:#e0a52b;--grade-d:#d97a2b;--grade-f:#b42318;--rmp-bg:#000;--rmp-text:#fff;--bg:var(--color-page-background);--surface:var(--color-surface);--surface-2:var(--color-surface-muted);--surface-elevated:var(--color-surface);--overlay:var(--color-overlay);--text:var(--color-text);--text-heading:var(--color-heading);--text-muted:var(--color-text-muted);--text-subtle:var(--color-text-muted);--text-inverse:#fff;--border:var(--color-border);--border-strong:var(--color-border-strong);--accent:var(--color-primary-600);--accent-hover:var(--color-primary-700);--accent-active:var(--color-primary-900);--accent-contrast:var(--color-on-primary);--accent-text:var(--color-primary-600);--accent-subtle:var(--color-primary-100);--accent-subtle-hover:#d3e3f6;--accent-subtle-text:var(--color-primary-600);--accent-subtle-border:var(--color-primary-300);--indicator:var(--color-primary-600);--indicator-contrast:#fff;--liquid-base:#0039a6;--liquid-a:#1f5fc3;--liquid-b:#2866d4;--liquid-c:#0f2f61;--liquid-text:#fff;--focus-ring:var(--color-primary-500);--success:var(--color-success);--success-subtle:var(--color-success-bg);--success-border:#17703f4d;--warning:var(--color-warning);--warning-subtle:var(--color-warning-bg);--warning-border:#b36b094d;--danger:var(--color-danger);--danger-fill:#b42318;--danger-fill-hover:#9a1c12;--danger-contrast:#fff;--danger-subtle:var(--color-danger-bg);--danger-border:#b423184d;--meter-track:var(--color-surface-muted);--meter-open:var(--color-success);--meter-low:var(--color-warning);--meter-full:var(--color-danger);--skeleton:var(--color-surface-muted);--skeleton-shine:#fff9;--selection:var(--color-primary-100);--shadow-lg:0 16px 36px #0f172a29;--shadow-xl:0 24px 60px #0f172a38;--font-sans:var(--font-inter,"Inter"), "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;--text-display:clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);--leading-xs:1rem;--leading-sm:1.25rem;--leading-base:1.5rem;--leading-md:1.625rem;--leading-lg:1.75rem;--leading-xl:2rem;--leading-2xl:2.25rem;--leading-3xl:2.5rem;--leading-display:1.1;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.01em;--tracking-normal:0;--tracking-caps:.06em;--space-0:0;--space-px:1px;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-xl:20px;--radius-full:9999px;--z-base:0;--z-raised:1;--z-sticky:100;--z-header:200;--z-nav:300;--z-drawer:400;--z-overlay:500;--z-modal:600;--z-popover:700;--z-toast:800;--z-tooltip:900;--z-skip-link:1000;--bp-sm:640px;--bp-md:900px;--bp-lg:1200px;--sidebar-w:248px;--rail-w:72px;--topbar-h:64px;--bottomnav-h:64px;--content-max:1200px;--content-wide:1440px;--content-narrow:720px;--gutter:clamp(16px, 4vw, 32px);--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;--tap-min:44px;--hour-h:48px;--ring-width:2px;--ring-offset:2px;--dur-instant:80ms;--dur-fast:.15s;--dur:.2s;--dur-slow:.3s;--dur-slower:.4s;--dur-liquid-far:36s;--dur-liquid-mid:26s;--dur-liquid-near:21s;--dur-liquid-mass:13s;--stagger:0s;--ease-standard:ease;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-emphasized:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.2, 0, 0, 1);--move-xs:2px;--move-sm:4px;--move-md:8px;--move-lg:16px;--scale-enter:.98;--scale-press:1;--hover-lift:-2px}:root[data-theme=dark],:root.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page-background:#11234e;--color-surface:#0b1625;--color-surface-muted:#152a45;--color-border:#1e3352;--color-border-strong:#2f4a6d;--color-text:#e4ecf8;--color-text-muted:#9db2d2;--color-heading:#f7fbff;--color-primary-100:#1c2f52;--color-primary-300:#4668a8;--shadow-xs:0 1px 0 #0006;--shadow-sm:0 6px 16px #030a1673;--shadow-md:0 20px 40px #030a1699;--color-primary-50:#152a45;--color-primary-400:#7fa9e6;--color-success:#5cc98a;--color-warning:#f2b84b;--color-danger:#ff8a7f;--color-gray-400:#6b7f9e;--color-focus-ring:#7fa9e6bf;--color-success-bg:#5cc98a1f;--color-warning-bg:#f2b84b1f;--color-danger-bg:#ff8a7f1f;--color-overlay:#030a16b3;--statue-opacity:.06;--color-surface-translucent:#0b162573;--text-inverse:#0b1625;--accent-hover:var(--color-primary-500);--accent-active:var(--color-primary-700);--accent-text:#7fa9e6;--accent-subtle-hover:#233a63;--accent-subtle-text:#a9c4f5;--accent-subtle-border:#2f4a6d;--indicator:#7fa9e6;--indicator-contrast:#0b1625;--focus-ring:#7fa9e6;--danger-fill:#b42318;--danger-fill-hover:#c4301f;--success-border:#5cc98a4d;--warning-border:#f2b84b4d;--danger-border:#ff8a7f4d;--skeleton-shine:#ffffff0f;--shadow-lg:0 24px 48px #030a16a6;--shadow-xl:0 32px 72px #030a16bf}@media (prefers-reduced-motion:reduce){:root{--move-xs:0px;--move-sm:0px;--move-md:0px;--move-lg:0px;--scale-enter:1;--scale-press:1;--hover-lift:0px;--stagger:0s;--dur-slow:.2s;--dur-slower:.2s;--transition-base:.01ms}}
@property --pw-n{syntax:"<integer>";inherits:false;initial-value:0}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--move-sm))}}@keyframes sink-out{to{opacity:0;transform:translateY(var(--move-sm))}}@keyframes pop-in{0%{opacity:0;transform:translateY(var(--move-md)) scale(var(--scale-enter))}}@keyframes pop-out{to{opacity:0;transform:translateY(var(--move-sm)) scale(var(--scale-enter))}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}@keyframes sheet-out-from{0%{transform:translateY(var(--from))}to{transform:translateY(100%)}}@keyframes drawer-in{0%{transform:translate(-100%)}}@keyframes drawer-out{to{transform:translate(-100%)}}@keyframes icon-pop{0%{opacity:0;transform:scale(.6)}}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}@keyframes fresh-ring{0%{outline-color:var(--indicator);outline-offset:0}to{outline-offset:6px;outline-color:#0000}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes count-up{0%{--pw-n:0}}@keyframes icon-tile-pop{0%{opacity:.2;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}}@keyframes icon-tile-pop-h{0%{opacity:.2;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}}@keyframes icon-look{0%{transform:rotate(-12deg)translate(-1.5px,1px)}60%{transform:rotate(3deg)translate(.5px)}}@keyframes icon-look-h{0%{transform:rotate(-12deg)translate(-1.5px,1px)}60%{transform:rotate(3deg)translate(.5px)}}@keyframes icon-bounce{35%{transform:translateY(-3px)}70%{transform:translateY(.75px)}}@keyframes icon-bounce-h{35%{transform:translateY(-3px)}70%{transform:translateY(.75px)}}@keyframes icon-fill{30%{fill-opacity:.85}0%,to{fill-opacity:0}}@keyframes icon-fill-h{30%{fill-opacity:.85}0%,to{fill-opacity:0}}@keyframes icon-squash{0%{transform:scaleY(.85)}60%{transform:scaleY(1.06)}}@keyframes icon-squash-h{0%{transform:scaleY(.85)}60%{transform:scaleY(1.06)}}@keyframes icon-pages{0%{opacity:.4;transform:translateY(-2px)}}@keyframes icon-pages-h{0%{opacity:.4;transform:translateY(-2px)}}@keyframes icon-turn{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes icon-turn-h{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes icon-pulse{45%{transform:scale(1.12)}}@keyframes icon-pulse-h{45%{transform:scale(1.12)}}@keyframes icon-ring{0%{opacity:.55;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@keyframes icon-ring-h{0%{opacity:.55;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@keyframes liquid-flow-far{0%{translate:0}to{translate:280px}}@keyframes liquid-flow-mid{0%{translate:0}to{translate:288px 18px}}@keyframes liquid-flow-near{0%{translate:0}to{translate:320px}}@keyframes liquid-bob{0%{translate:0 -5px}to{translate:0 5px}}@keyframes liquid-swell{0%{scale:1}to{scale:1.1}}@keyframes liquid-sway{0%{translate:-35%}to{translate:35%}}:root,::backdrop{--kf-fade-in:fade-in;--kf-fade-out:fade-out;--kf-rise-in:rise-in;--kf-sink-out:sink-out;--kf-pop-in:pop-in;--kf-pop-out:pop-out;--kf-sheet-in:sheet-in;--kf-sheet-out:sheet-out;--kf-sheet-out-from:sheet-out-from;--kf-drawer-in:drawer-in;--kf-drawer-out:drawer-out;--kf-icon-pop:icon-pop;--kf-pulse-ring:pulse-ring;--kf-fresh-ring:fresh-ring;--kf-shimmer:shimmer;--kf-count-up:count-up;--kf-icon-tile-pop:icon-tile-pop;--kf-icon-tile-pop-h:icon-tile-pop-h;--kf-icon-look:icon-look;--kf-icon-look-h:icon-look-h;--kf-icon-bounce:icon-bounce;--kf-icon-bounce-h:icon-bounce-h;--kf-icon-fill:icon-fill;--kf-icon-fill-h:icon-fill-h;--kf-icon-squash:icon-squash;--kf-icon-squash-h:icon-squash-h;--kf-icon-pages:icon-pages;--kf-icon-pages-h:icon-pages-h;--kf-icon-turn:icon-turn;--kf-icon-turn-h:icon-turn-h;--kf-icon-pulse:icon-pulse;--kf-icon-pulse-h:icon-pulse-h;--kf-icon-ring:icon-ring;--kf-icon-ring-h:icon-ring-h;--kf-liquid-flow-far:liquid-flow-far;--kf-liquid-flow-mid:liquid-flow-mid;--kf-liquid-flow-near:liquid-flow-near;--kf-liquid-bob:liquid-bob;--kf-liquid-swell:liquid-swell;--kf-liquid-sway:liquid-sway}html[data-theme-switching] *,html[data-theme-switching] :before,html[data-theme-switching] :after{transition:none!important}::view-transition-group(root){animation-duration:var(--dur);animation-timing-function:var(--ease-in-out)}::view-transition-group(course-detail){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-emphasized)}::view-transition-image-pair(course-detail){border-radius:var(--radius-lg);overflow:clip}::view-transition-old(course-detail){object-fit:none;object-position:left top;width:auto;height:auto}::view-transition-new(course-detail){object-fit:none;object-position:left top;width:auto;height:auto}::view-transition-old(course-detail){animation:fade-out var(--dur-fast) var(--ease-in) both}::view-transition-new(course-detail){animation:fade-in var(--dur) var(--ease-out) 60ms both}::view-transition-group(*.sched-block){animation-duration:var(--dur);animation-timing-function:var(--ease-standard)}::view-transition-old(*.sched-block):only-child{animation:pop-out var(--dur-fast) var(--ease-in) both}::view-transition-new(*.sched-block):only-child{animation:pop-in var(--dur) var(--ease-out) both}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}html,body{min-height:100%}html:has(dialog[open]:modal){overflow:hidden}body{background:var(--color-page-background);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.5;transition:background-color .3s,color .3s}body:before{content:"";z-index:-1;opacity:var(--statue-opacity);pointer-events:none;background-image:-webkit-image-set(url(/brand/statue.avif) 1x type("image/avif"),url(/brand/statue.webp) 1x type("image/webp"),url(/brand/statue.jpg) 1x type("image/jpeg"));background-image:image-set("/brand/statue.avif" 1x type("image/avif"),"/brand/statue.webp" 1x type("image/webp"),"/brand/statue.jpg" 1x type("image/jpeg"));background-position:top;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}h1,h2,h3,h4,p,figure,dl,dd{margin:0}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}img,svg,video{max-width:100%;display:block}main{display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-text)}:where(button,input,select,textarea){font:inherit;color:inherit}:where(button){cursor:pointer;border-radius:var(--radius-sm);transition:transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base), color .3s ease, border-color .3s ease;border:none}:where(button:disabled){cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}:where(input:not([type=checkbox],[type=radio],[type=range]),select,textarea){border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-base), box-shadow var(--transition-base), background-color .3s ease, color .3s ease;padding:.65rem .75rem}:where(input,textarea)::placeholder{color:var(--color-text-muted);opacity:.85}:where(input,select,textarea):focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}select option{background:var(--color-surface);color:var(--color-text)}:focus-visible{outline:var(--ring-width) solid var(--focus-ring);outline-offset:var(--ring-offset)}:where(input,select,textarea):focus-visible,:focus:not(:focus-visible){outline:none}::selection{background:var(--selection);color:var(--color-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#15204440;border-radius:99px}::-webkit-scrollbar-track{background:0 0}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#94b2da4d}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.edge-fade[data-fade=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.edge-fade[data-fade=start]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 32px),#0000)}.edge-fade[data-fade=both]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.tabular{font-variant-numeric:tabular-nums}[popover]{color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
