@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2)format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2)format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2)format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2)format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2)format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-italic-BxGMV3P9.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-italic-BtoPYhHL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-italic-CNGQRUpp.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-italic-BqkXX9t-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-italic-B1appi_f.woff2)format("woff2"),url(/assets/public-sans-latin-400-italic-DsCWG5h0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gold:#f1b300;--gold-dark:#d89f00;--gold-soft:#fff6dc;--gold-line:#f3d98a;--ink:#191919;--chrome:#131415;--on-chrome:#fff;--env-tag:#c084fc;--on-accent:#fff;--ink-soft:#323232;--muted:#5c5c5c;--muted-light:#5c5c5c;--surface:#fff;--surface-2:#f6f6f6;--surface-3:#ececec;--line:#d9d9d9;--line-strong:#bfbfbf;--open:teal;--open-ink:#034441;--open-bg:#e6f2f2;--waitlist:#ab4700;--waitlist-ink:#ab4700;--waitlist-bg:#f8f0eb;--full:#d7003f;--full-ink:#7a0017;--full-bg:#fcebf0;--info:#261882;--info-bg:#eeecf5;--info-line:#b3aed3;--alert-bg:#3a1414;--alert-line:#5c2020;--alert-title:#ffd9d9;--alert-accent:#f5a3a3;--alert-ink:#f2d4d4;--fav-green:#22c55e;--ok:var(--open);--held-bg:#ececec;--held-line:gray;--held-ink:#323232;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px;--ring:2px solid var(--ink);--ring-on-dark:2px solid var(--gold);--focus-glow:0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent);--focus-glow-on-dark:0 0 0 3px color-mix(in srgb, var(--gold) 30%, transparent);--header-h:66px;--shadow-sm:0 1px 2px #19191914;--shadow-md:0 2px 8px #1919191a;--shadow-lg:0 8px 28px #19191924;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--text-6xl:4.768rem;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-wide:.04em;--tracking-caps:.08em;--dur-fast:.1s;--dur-base:.14s;--dur-slow:.2s;--dur-hover:var(--dur-fast);--dur-enter:var(--dur-base);--dur-exit:var(--dur-fast);--dur-layout:var(--dur-slow);--stagger:24ms;--celebrate-fly:2.4s;--celebrate-pop:.4s;--celebrate-bump:.8s;--celebrate-lead:.14s;--celebrate-stagger:24ms;--ease:cubic-bezier(.2, .8, .3, 1);--ease-in:cubic-bezier(.4, 0, .9, .45);--sans:"Public Sans", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:100%/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink-soft);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3,h4,h5,h6{color:var(--ink);margin:0;font-weight:600}p{margin:0}.section{min-width:0}.btn{justify-content:center;align-items:center;gap:var(--space-2);font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease), box-shadow var(--dur-hover) var(--ease), transform var(--dur-hover) var(--ease);border:1px solid #0000;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:var(--ring);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.45}.btn:disabled:active{transform:none}.btn-primary{background:var(--gold);color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--gold-dark)}.btn-ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted-light)}.btn-ghost[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold)}.btn-quiet{color:var(--muted);padding:var(--space-2);background:0 0}.btn-quiet:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.btn-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.btn-lg{font-size:var(--text-base);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md)}.drawer{transition:grid-template-rows var(--dur-layout) var(--ease);display:grid}.drawer>.drawer-inner{min-height:0;overflow:hidden}.drawer.is-toggle{grid-template-rows:0fr}.drawer.is-toggle.is-open{grid-template-rows:1fr}.drawer.is-toggle>.drawer-inner{visibility:hidden;transition:visibility 0s linear var(--dur-layout)}.drawer.is-toggle.is-open>.drawer-inner{visibility:visible;transition:visibility}.drawer.is-toggle:not(.is-open)>.drawer-inner{visibility:hidden;transition:visibility 0s var(--dur-layout)}.drawer.is-presence{grid-template-rows:1fr}@starting-style{.drawer.is-presence{grid-template-rows:0fr}}.drawer.is-presence.is-closing{grid-template-rows:0fr}@keyframes unclip{to{overflow:visible}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes pop-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(4px)scale(.99)}}@keyframes slide-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes sink-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}main[tabindex="-1"]:focus{outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-1);display:flex}.btn-danger{background:var(--full);color:var(--on-accent)}.btn-danger:hover:not(:disabled){background:var(--full-ink)}.btn-danger:focus-visible{outline-color:var(--full)}.btn-on-dark{border-color:color-mix(in srgb, var(--on-chrome) 35%, transparent);color:var(--on-chrome);background:0 0}.btn-on-dark:hover:not(:disabled){background:color-mix(in srgb, var(--on-chrome) 10%, transparent);border-color:color-mix(in srgb, var(--on-chrome) 60%, transparent)}.btn-on-dark:focus-visible{outline-color:var(--gold)}@media print{@page{size:letter portrait;margin:.4in}body{background:var(--surface)}body[data-printing]>*{display:none!important}body[data-printing=enrolled]>[data-sheet=enrolled],body[data-printing=new]>[data-sheet=new],body[data-printing=schedule]>[data-sheet=schedule]{break-inside:avoid;page-break-inside:avoid;width:100%;box-shadow:none!important;display:block!important}.print-sheet .wg-scroll{max-height:none!important;overflow:visible!important}.print-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet .wg-legend,.print-sheet .wg-async{margin-top:var(--space-2)}}.loadstate{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--muted);flex-direction:column;display:flex}.loadstate-title{color:var(--ink);margin:0;font-weight:600}.loadstate-detail{max-width:46ch;font-size:var(--text-sm);margin:0}.loadstate.is-error .loadstate-title{color:var(--full-ink)}.spinner{border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite loadstate-spin;display:inline-block}.spinner.is-sm{border-width:2px;border-color:color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;width:12px;height:12px}@keyframes loadstate-spin{to{transform:rotate(360deg)}}.icon-chevron{color:var(--muted);transition:transform var(--dur-base) var(--ease);flex:none}.icon-chevron.spin-quarter{transition-duration:var(--dur-layout);transform:rotate(-90deg)}.icon-chevron.spin-quarter.is-open{transform:rotate(0)}.icon-chevron.spin-half.is-open{transform:rotate(180deg)}.role-switch{flex:none}.role-switch-trigger{align-items:center;gap:var(--space-1);display:inline-flex}.dd-menu.role-switch-list{z-index:125;width:max-content;min-width:140px;position:fixed;left:auto}.role-switch-options{margin:0;padding:0;list-style:none}.role-switch-list .dd-option{width:100%;font:inherit;font-size:var(--text-sm);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none}.role-switch-list .dd-option:focus-visible{outline:var(--ring);outline-offset:-2px}.btn.auth-action{margin-top:var(--space-4);text-decoration:none}.auth-error{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--full-ink);font-weight:600;line-height:1.45}.auth-user{align-items:center;gap:var(--space-2);min-width:0;display:flex}.auth-user-name{max-width:220px;font-size:var(--text-sm);color:var(--on-chrome);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}@media (width<=720px){.auth-user-name{display:none}}.advisor-menu{flex:none}.advisor-menu-trigger{align-items:center;gap:var(--space-1);display:inline-flex}.dd-menu.advisor-menu-list{z-index:125;width:max-content;min-width:200px;max-width:min(90vw,360px);position:fixed;left:auto}.advisor-menu-options{margin:0;padding:0;list-style:none}.advisor-menu-list .dd-option{color:var(--ink);flex-direction:column;align-items:flex-start;gap:0;text-decoration:none}.advisor-menu-list .dd-option:focus-visible{outline:var(--ring);outline-offset:-2px}.advisor-menu-name{font-weight:600}.advisor-menu-note{font-size:var(--text-xs);color:var(--muted)}.btn.cart-button{padding:var(--space-2);position:relative}.cart-glyph{display:inline-flex;position:relative}.cart-glyph.is-bumped{animation:cart-bump var(--celebrate-bump) var(--ease) both}@keyframes cart-bump{0%{transform:scale(1)rotate(0)}16%{transform:scale(1.5)rotate(0)}28%{transform:scale(1.4)rotate(-14deg)}40%{transform:scale(1.4)rotate(12deg)}52%{transform:scale(1.32)rotate(-9deg)}64%{transform:scale(1.22)rotate(6deg)}80%{transform:scale(1.08)rotate(-3deg)}to{transform:scale(1)rotate(0)}}.cart-badge{top:calc(-2 * var(--space-2));right:calc(-2 * var(--space-2));min-width:20px;height:20px;padding:0 var(--space-1);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--on-accent);background:var(--full);box-shadow:0 0 0 2px var(--chrome);border-radius:var(--radius-pill);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;position:absolute}.icon-btn{width:var(--ib-size,24px);height:var(--ib-size,24px);font:inherit;color:var(--ib-ink,var(--muted));border-radius:var(--ib-radius,var(--radius-md));cursor:pointer;transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease),  opacity var(--dur-hover) var(--ease);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.icon-btn:hover{color:var(--ib-hover-ink,var(--ink));background:var(--ib-hover-bg,var(--surface-3));border-color:var(--ib-hover-line,transparent)}.icon-btn:focus-visible{outline:2px solid var(--ib-ring,var(--ink));outline-offset:var(--ib-ring-offset,2px)}.toggle-chips{gap:var(--space-1);display:flex}.toggle-chips.is-pill{gap:var(--space-2);flex-wrap:wrap}.toggle-chips.is-pill .pref-day{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);flex:none;font-weight:600}.checkbox{width:var(--cb-size,15px);height:var(--cb-size,15px);accent-color:var(--gold-dark);cursor:pointer;margin:0}.checkbox:disabled{cursor:not-allowed}.switch{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink);cursor:pointer;font-weight:600;display:inline-flex;position:relative}.switch.is-disabled{color:var(--muted);cursor:not-allowed}.switch-input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.switch-track{background:var(--muted);border-radius:var(--radius-pill);width:30px;height:17px;transition:background-color var(--dur-hover) var(--ease);flex:none;position:relative}.switch-thumb{background:var(--surface);width:13px;height:13px;transition:transform var(--dur-hover) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch-input:checked+.switch-track{background:var(--ink)}.switch-input:checked+.switch-track .switch-thumb{transform:translate(13px)}.switch-input:disabled+.switch-track{opacity:.55}.switch-input:focus-visible+.switch-track{outline:var(--ring);outline-offset:2px}.select-wrap{min-width:0;display:block;position:relative}.select-wrap .select-input{appearance:none;padding-right:var(--space-6);line-height:21px}.select-chevron{top:50%;right:var(--space-2);pointer-events:none;position:absolute;transform:translateY(-50%)}.select-wrap.has-clear .select-input{padding-right:var(--space-7)}.select-clear{top:50%;right:var(--space-5);--ib-size:20px;position:absolute;transform:translateY(-50%)}.input-wrap{min-width:0;display:block;position:relative}.input-wrap .pref-select{padding-right:var(--space-6)}.input-clear{top:50%;right:var(--space-2);--ib-size:20px;position:absolute;transform:translateY(-50%)}.pref-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.check-bulk{gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.check-bulk .btn{padding-inline:var(--space-2)}.pref-select{width:100%;padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-hover) var(--ease), box-shadow var(--dur-hover) var(--ease)}.pref-select:focus{border-color:var(--ink);box-shadow:var(--focus-glow);outline:2px solid #0000}input.pref-select{cursor:text}.pref-warning{font-size:var(--text-xs);color:var(--full-ink);font-weight:600}.pref-day{padding:var(--space-2) 0;font:inherit;font-size:var(--text-xs);color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease);flex:1 1 0;font-weight:700}.pref-day:hover{color:var(--ink);border-color:var(--muted-light)}.pref-day.is-on{color:var(--ink);background:var(--gold-soft);border-color:var(--gold)}.pref-day:focus-visible{outline:var(--ring);outline-offset:2px}.check-group{gap:var(--space-1);flex-direction:column;display:flex}.check-option{align-items:flex-start;gap:var(--space-2);padding:var(--space-1);font-size:var(--text-sm);color:var(--muted);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease);line-height:1.35;display:flex}.check-option:hover{color:var(--ink);background:var(--surface-3)}.check-option.is-on{color:var(--ink);font-weight:500}.check-option .checkbox{flex:none;margin-top:2px}.check-option-text{min-width:0}.check-option:focus-within{outline:var(--ring);outline-offset:1px}.student-lookup{flex-direction:column;display:flex}.pref-field.student-lookup-field{gap:var(--space-1);margin-top:var(--space-4)}.pref-select.student-lookup-input{width:100%;font-family:var(--mono);letter-spacing:.06em}.student-lookup-error{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--full-ink);line-height:1.45}.student-lookup-submit{margin-top:var(--space-3)}.student-lookup.is-compact{align-items:center;gap:var(--space-2);flex-direction:row;min-width:0;position:relative}.student-lookup.is-compact .pref-field.student-lookup-field{flex:none;margin-top:0}.student-lookup.is-compact .pref-select.student-lookup-input{width:14ch;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--on-chrome);background:color-mix(in srgb, var(--on-chrome) 8%, transparent);border-color:color-mix(in srgb, var(--on-chrome) 28%, transparent);font-weight:600;line-height:15px}.student-lookup.is-compact .pref-select.student-lookup-input::placeholder{color:color-mix(in srgb, var(--on-chrome) 45%, transparent)}.student-lookup.is-compact .pref-select.student-lookup-input:hover{background:color-mix(in srgb, var(--on-chrome) 14%, transparent);border-color:color-mix(in srgb, var(--on-chrome) 45%, transparent)}.student-lookup.is-compact .pref-select.student-lookup-input:focus{border-color:var(--gold);box-shadow:var(--focus-glow-on-dark)}.student-lookup.is-compact .pref-select.student-lookup-input[aria-busy=true]{opacity:.6;cursor:progress}.student-lookup-current{min-width:0;font-size:var(--text-sm);line-height:17px}.student-lookup-name{white-space:nowrap;text-overflow:ellipsis;max-width:24ch;color:color-mix(in srgb, var(--on-chrome) 85%, transparent);font-weight:600;display:block;overflow:hidden}.student-lookup.is-compact .student-lookup-error{top:calc(100% + var(--space-2));z-index:1;width:max-content;max-width:320px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:slide-down var(--dur-enter) var(--ease) both;margin-top:0;position:absolute;left:0}.app-header{z-index:50;background:var(--chrome);border-bottom:3px solid var(--gold);position:sticky;top:0}.skip-link{top:var(--space-2);left:var(--space-2);z-index:1;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink);background:var(--gold);border-radius:var(--radius-md);font-weight:700;text-decoration:none;position:absolute;transform:translateY(-300%)}.skip-link:focus{outline:2px solid var(--on-chrome);outline-offset:2px;transform:none}.app-header-bar{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.app-brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-logo-link{border-radius:var(--radius-md);display:inline-flex}.app-logo-link:hover{outline:1px solid color-mix(in srgb, var(--on-chrome) 45%, transparent);outline-offset:3px}.app-logo-link:focus-visible{outline:var(--ring-on-dark);outline-offset:3px}.app-logo{width:auto;height:34px;display:block}.app-brand-rule{background:color-mix(in srgb, var(--on-chrome) 25%, transparent);width:1px;height:26px}.app-title{font-size:var(--text-xl);letter-spacing:-.2px;color:var(--on-chrome);white-space:nowrap;margin:0;line-height:1.3}.app-title-gold{color:var(--gold)}.app-title-block{flex-direction:column;min-width:0;display:flex}.app-mode-label{font-size:var(--text-xs);letter-spacing:.3px;color:var(--gold);white-space:nowrap;margin:0;font-weight:700;line-height:1.2}.app-title-line{align-items:baseline;gap:var(--space-2);display:flex}.env-tag{font-size:var(--text-xs);letter-spacing:.3px;color:var(--env-tag);white-space:nowrap;margin:0 0 0 auto;font-weight:700;line-height:1.2}.app-header-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}@media (width<=720px){.app-header-bar{padding:var(--space-2) var(--space-4)}.app-title{font-size:var(--text-lg)}}.app-term{flex:none;min-width:150px}.app-term .select-wrap .select-input{padding:var(--space-1) var(--space-6) var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--on-chrome);background:color-mix(in srgb, var(--on-chrome) 8%, transparent);border-color:color-mix(in srgb, var(--on-chrome) 28%, transparent);font-weight:600;line-height:15px}.app-term .pref-select:hover{background:color-mix(in srgb, var(--on-chrome) 14%, transparent);border-color:color-mix(in srgb, var(--on-chrome) 45%, transparent)}.app-term .pref-select:focus{border-color:var(--gold);box-shadow:var(--focus-glow-on-dark)}.app-term .pref-select option{color:var(--ink);background:var(--surface);font-weight:400}.app-term .select-chevron{color:color-mix(in srgb, var(--on-chrome) 75%, transparent)}@media (width<=720px){.app-term{min-width:130px}}.view-switch{flex:none;display:inline-flex}.view-switch-btn{padding:var(--space-1) var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--on-chrome);border:1px solid color-mix(in srgb, var(--on-chrome) 35%, transparent);cursor:pointer;background:0 0;font-weight:600;line-height:15px}.view-switch-btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.view-switch-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:none}.view-switch-btn:hover:not(.is-on){background:color-mix(in srgb, var(--on-chrome) 10%, transparent)}.view-switch-btn.is-on{color:var(--ink);background:var(--gold);border-color:var(--gold);cursor:default}.view-switch-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;position:relative}.advisor-student{flex:200px;align-items:center;min-width:200px;display:flex}.btn-badged{position:relative}.btn-badge{min-width:19px;height:19px;margin-left:var(--space-1);padding:0 var(--space-1);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--on-accent);background:var(--full);border-radius:var(--radius-pill);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.app-footer{background:var(--chrome);border-top:3px solid var(--gold);margin-top:auto}.app-footer-inner{align-items:center;gap:var(--space-5);max-width:1180px;padding:var(--space-5);margin:0 auto;display:flex}.app-footer-logo-link{border-radius:var(--radius-md);flex:none;display:inline-flex}.app-footer-logo-link:hover{outline:1px solid color-mix(in srgb, var(--on-chrome) 45%, transparent);outline-offset:3px}.app-footer-logo-link:focus-visible{outline:var(--ring-on-dark);outline-offset:3px}.app-footer-logo{width:74px;height:auto;display:block}.app-footer-info{gap:var(--space-1);font-style:normal;font-size:var(--text-sm);color:color-mix(in srgb, var(--on-chrome) 75%, transparent);flex-direction:column;line-height:1.5;display:flex}.app-footer-name{color:var(--on-chrome);font-weight:700}.app-footer-info a{width:fit-content;color:color-mix(in srgb, var(--on-chrome) 75%, transparent);text-underline-offset:2px;transition:color var(--dur-hover) var(--ease);text-decoration:underline}.app-footer-info a:hover{color:var(--gold)}.app-footer-info a:focus-visible{outline:var(--ring-on-dark);outline-offset:2px}.gate{padding:var(--space-8) var(--space-4);justify-content:center;display:flex}.gate-card{width:100%;max-width:420px;padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius-md);animation:rise-in var(--dur-enter) var(--ease) both;flex-direction:column;display:flex}.gate-title{font-size:var(--text-xl);letter-spacing:-.2px}.gate-lede{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted);line-height:1.5}.btn.gate-action{margin-top:var(--space-3);text-decoration:none}.gate-note{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--muted-light);text-align:center;line-height:1.45}.holds{gap:var(--space-5);flex-direction:column;display:flex}.holds-term-title{font-size:var(--text-base);letter-spacing:-.1px}.holds-term .divider{margin:var(--space-2) 0 var(--space-3)}.holds-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hold{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:flex}.hold.is-blocking{background:var(--full-bg);border-color:color-mix(in srgb, var(--full) 35%, transparent)}.hold-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.hold-name{font-size:var(--text-sm);color:var(--ink);font-weight:700}.hold-office{font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--muted-light);font-weight:600}.hold-detail{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--muted);line-height:1.45}.hold-dates{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--muted-light)}.hold-blocking{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--full-ink);background:var(--full-bg);border-radius:var(--radius-pill);white-space:nowrap;flex:none;align-self:center;font-weight:700}.holds-note{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--muted);line-height:1.5}@media (width<=620px){.hold{flex-direction:column}.hold-blocking{align-self:flex-start}}.action-card{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.action-card-text{flex:16rem;margin:0;line-height:1.45}.action-card-actions{gap:var(--space-2);flex:none;display:flex}.action-card-undone{opacity:.75;text-decoration:line-through}.modal-backdrop{--modal-gutter:var(--space-4);inset:var(--header-h) 0 0 0;z-index:100;padding:3vh var(--space-4) var(--space-5);background:color-mix(in srgb, var(--ink) 45%, transparent);animation:fade-in var(--dur-enter) var(--ease);justify-content:center;align-items:flex-start;display:flex;position:fixed;overflow-y:auto}.modal-backdrop.is-closing{animation:fade-out var(--dur-exit) var(--ease-in) both}.modal-panel{width:100%;max-height:calc(100vh - var(--header-h) - 6vh);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:pop-in var(--dur-enter) var(--ease);outline:none;flex-direction:column;display:flex}.modal-backdrop.is-closing .modal-panel{animation:pop-out var(--dur-exit) var(--ease-in) both}.modal-md{max-width:560px}.modal-lg{max-width:880px}.modal-xl{max-width:min(1400px,95vw)}.modal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);display:flex}.modal-heading{min-width:0}.modal-title{font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.modal-sub{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--muted)}.modal-x{--ib-size:30px;--ib-radius:var(--radius-md)}.modal-body{padding:var(--space-4) var(--space-5) var(--space-5);overflow-y:auto}.modal-head-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.modal-backdrop.is-elevated{z-index:120;background:color-mix(in srgb, var(--ink) 35%, transparent)}.modal-backdrop.backdrop-full{padding:var(--modal-gutter) clamp(var(--space-5), 3vw, var(--space-7))}.modal-full{width:100%;max-width:1800px;max-height:calc(100vh - var(--header-h) - var(--modal-gutter) * 2);margin:0 auto}.modal-backdrop.is-dense{padding:var(--modal-gutter) clamp(var(--space-5), 3vw, var(--space-7))}.modal-panel.is-dense{max-height:calc(100vh - var(--header-h) - var(--modal-gutter) * 2)}.modal-panel.is-dense.modal-xl{max-width:min(1720px,97vw)}.modal-panel.is-dense .modal-head{padding:var(--space-3) var(--space-4)}.modal-panel.is-dense .modal-body{min-height:0;padding:var(--space-3) var(--space-4);display:flex;overflow:hidden}.modal-backdrop.is-centered{align-items:center;padding-top:2vh;padding-bottom:2vh}.modal-panel.is-centered{max-height:calc(100vh - var(--header-h) - 2vh)}.confirm-body{gap:var(--space-4);flex-direction:column;display:flex}.confirm-message{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.confirm-message strong{color:var(--ink)}.notice{animation:rise-in var(--dur-enter) var(--ease) both}.dismissible.is-closing>.notice{animation:sink-out var(--dur-exit) var(--ease-in) both}.dismissible{transition:grid-template-rows var(--dur-layout) var(--ease), margin-block-end var(--dur-layout) var(--ease), opacity var(--dur-exit) var(--ease-in);grid-template-rows:1fr;display:grid}.dismissible>*{min-height:0;overflow:hidden}.dismissible.is-closing{opacity:0;grid-template-rows:0fr;margin-block-end:calc(-1 * var(--dismiss-gap,0px))}.command-feedback{left:50%;bottom:var(--space-5);z-index:110;gap:var(--space-2);width:min(34rem, calc(100vw - 2 * var(--space-4)));pointer-events:none;--dismiss-gap:var(--space-2);display:grid;position:fixed;transform:translate(-50%)}.command-feedback>*{pointer-events:auto}.cf-card{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--on-chrome);background:var(--chrome);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex}.cf-card>:first-child{flex:1;min-width:0}.cf-card.cf-alert{color:var(--full-ink);background:var(--full-bg);border:1px solid var(--full)}.cf-card.cf-warn{color:var(--waitlist-ink);background:var(--waitlist-bg);border:1px solid var(--waitlist)}.cf-text{margin:0;line-height:1.45}.cf-note{margin-top:var(--space-2);color:var(--gold)}.cf-card:not(.cf-alert) .btn-ghost{color:var(--on-chrome);border-color:color-mix(in srgb, var(--on-chrome) 45%, transparent);background:0 0}.cf-card:not(.cf-alert) .btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--on-chrome) 12%, transparent);border-color:var(--on-chrome)}.cf-card .icon-btn{--ib-size:24px;--ib-radius:var(--radius-md);--ib-ink:currentColor;--ib-hover-ink:currentColor;--ib-hover-bg:color-mix(in srgb, currentColor 14%, transparent);--ib-ring:currentColor;flex:none}@media (width<=720px){.command-feedback{bottom:calc(var(--space-5) + var(--assistant-clearance,0px))}}@media print{.command-feedback{display:none}}.split{gap:var(--space-5);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;display:grid}.split>*{min-width:0}@media (width<=1100px){.split{gap:var(--space-4);grid-template-columns:1fr}}.box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md)}.box.is-sm{border-radius:var(--radius-md)}.facts{margin:0;display:grid}.facts dt{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--muted-light);font-weight:700}.facts dd{margin:var(--space-1) 0 0;color:var(--ink)}.divider{margin:var(--space-1) 0}.divider:after{content:"";background:var(--line);height:1px;display:block}.empty{color:var(--muted);font-size:var(--text-sm);padding:var(--space-4);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center}.heading-title{font-size:var(--text-sm);color:var(--ink);font-weight:700}.heading-hint{font-size:var(--text-xs);color:var(--muted)}.breaks-fold{gap:var(--space-3);margin-top:var(--space-1);padding:var(--space-2) var(--space-1) var(--space-1);border-top:1px solid var(--line);flex-direction:column;display:flex}.breaks-fold-hint{font-size:var(--text-xs);color:var(--muted);margin:0;line-height:1.45}.breaks-fold-rule{background:var(--line);height:1px}.breaks-fold .rail-breaks-list{max-height:240px;overflow-y:auto}.rail-breaks{gap:var(--space-2);flex-direction:column;display:flex}.rail-breaks-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.rail-breaks-empty{font-size:var(--text-xs);color:var(--muted-light);line-height:1.45}.rail-breaks-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rail-break{animation:rise-in var(--dur-enter) var(--ease) both;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);font-size:var(--text-xs);background:var(--surface);border:1px solid var(--gold-line);border-left:3px solid var(--gold);border-radius:var(--radius-md);display:flex}.rail-break-open{min-width:0;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:1px;padding:0;display:flex}.rail-break-name{font-size:var(--text-xs);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rail-break-when{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.rail-break-tools{gap:var(--space-1);flex:none;display:flex}.icon-btn.rail-break-act{--ib-size:22px;--ib-ring-offset:1px;font-size:var(--text-sm)}.break-form{gap:var(--space-2);flex-direction:column;display:flex}.break-form-head{gap:var(--space-1);flex-direction:column;display:flex}.break-times{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.break-form-submit{align-self:flex-start}.break-editor{gap:var(--space-3);flex-direction:column;min-width:320px;display:flex}.break-editor .form-actions{justify-content:space-between}.break-editor .toggle-chips{gap:var(--space-2)}.break-editor .break-times{gap:var(--space-3)}.resize-handle{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius-md);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.resize-handle.is-horizontal{cursor:ns-resize;height:12px}.resize-handle.is-vertical{cursor:ew-resize;width:12px}.resize-grip{border-radius:var(--radius-sm);background:var(--line-strong);transition:background-color var(--dur-hover) var(--ease);display:block}.resize-handle.is-horizontal .resize-grip{width:40px;height:4px}.resize-handle.is-vertical .resize-grip{width:4px;height:40px}.resize-handle:hover .resize-grip,.resize-handle:active .resize-grip,.resize-handle:focus-visible .resize-grip{background:var(--gold)}.resize-handle:focus-visible{outline:var(--ring);outline-offset:1px}.mark{min-width:18px;height:18px;font-size:var(--text-xs);border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.mark-met{color:var(--open)}.mark-unmet{color:var(--full)}.mark-unmet.is-warn{color:var(--waitlist)}.mark-unmet.is-muted,.mark-unknown{color:var(--muted)}.mark-override{min-width:0;padding:0 var(--space-2);font-size:var(--text-xs);letter-spacing:.02em;color:var(--open-ink);background:var(--open-bg)}.mark-tag{align-items:center;gap:var(--space-1);padding:0 var(--space-1) 0 var(--space-2);font-size:var(--text-xs);color:var(--ink-soft);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius-pill);white-space:nowrap;flex:none;font-weight:700;display:inline-flex}.mark-tag-unmet{border-color:color-mix(in srgb, var(--full) 35%, transparent);background:var(--full-bg)}.mark-tag-unmet.is-warn{border-color:color-mix(in srgb, var(--waitlist) 35%, transparent);background:var(--waitlist-bg)}.mark-tag-unmet.is-muted{border-color:var(--line);background:var(--surface-3)}.mark-tag .mark-override{padding:0 var(--space-1);background:0 0}.standing{padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:0;text-transform:none;white-space:nowrap;flex:none;align-items:center;font-weight:700;line-height:18px;display:inline-flex}.standing-met,.standing-override{color:var(--open-ink);background:var(--open-bg)}.standing-unmet{color:var(--full-ink);background:var(--full-bg)}.standing-unmet.is-warn{color:var(--waitlist-ink);background:var(--waitlist-bg)}.standing-unmet.is-fatal,.standing-unmet.is-warn{gap:var(--space-1);padding-left:var(--space-1);outline-offset:-1px;outline:1px solid}.standing-unmet.is-warn{outline-style:dotted}.standing-unmet.is-muted,.standing-unknown{color:var(--muted);background:var(--surface-3)}.scroll-frame{--scroll-max:min(560px, 65vh);position:relative}.scroll-box{max-height:var(--scroll-max);padding-right:var(--space-1);overflow-y:auto}.scroll-frame:before,.scroll-frame:after{content:"";z-index:1;pointer-events:none;opacity:0;height:18px;transition:opacity var(--dur-slow) var(--ease);position:absolute;left:0;right:0}.scroll-frame:before{background:linear-gradient(to bottom, var(--surface), transparent);top:0}.scroll-frame:after{background:linear-gradient(to top, var(--surface), transparent);bottom:0}.scroll-frame[data-above=true]:before,.scroll-frame[data-below=true]:after{opacity:1}.req-list{gap:var(--space-2);flex-direction:column;display:flex}.req-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.req-group.is-loose{overflow:visible}.req-group .req-group{background:var(--surface-2)}.req-caption{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface-3);border-bottom:1px solid var(--line);font-weight:700;display:flex}.req-body{flex-direction:column;display:flex}.req-body.is-nested{gap:var(--space-1);padding:var(--space-2)}.req-joint{align-items:center;gap:var(--space-2);padding:0 var(--space-1);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700;display:flex}.req-joint:before,.req-joint:after{content:"";background:var(--line);flex:1;height:1px}.req-body:not(.is-nested)>.req-joint{padding:var(--space-1) var(--space-3);background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.req-body:not(.is-nested)>.req-joint:before,.req-body:not(.is-nested)>.req-joint:after{display:none}.req-body:not(.is-nested)>.req-joint>span{margin:0 auto 0 0}.req-list .req-table{table-layout:auto;border-collapse:collapse;width:100%;font-size:var(--text-sm);white-space:normal;line-height:1.4}.req-list .req-table th{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);letter-spacing:normal;text-transform:none;text-align:left;color:var(--muted);background:0 0;border:0;font-weight:600;position:static}.req-list .req-table td{padding:var(--space-2) var(--space-3);vertical-align:middle;color:var(--ink-soft);border:0;border-top:1px solid var(--line);background:0 0}.req-list .req-table tr:hover{background:0 0}.req-list .req-table td.req-text{color:var(--ink)}.req-list .req-table .req-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:1%;font-weight:600}.req-list .req-table td.req-amount{color:var(--ink)}.req-course{color:var(--ink);white-space:nowrap;font-weight:600}.req-course[title]{cursor:help}.req-tag{margin-left:var(--space-2);font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.req-list .req-table .req-min{white-space:nowrap;width:1%;min-width:100px}.req-list .req-table td.req-min:empty:before{content:"—";color:var(--muted)}.req-list .req-table .req-mark{text-align:center;width:1%;min-width:40px}.req-absent{color:var(--muted);font-style:italic}.check-boxes{gap:var(--space-2);flex-direction:column;display:flex}.check-box{gap:var(--space-1);flex-direction:column;display:flex}.check-head{display:block}.check-head>.check-text+*{margin-left:var(--space-2);vertical-align:-3px}.check-text{min-width:0;color:var(--ink)}.check-terms,.check-note{font-size:var(--text-xs);color:var(--muted)}.req-text .check-terms{display:block}.check-note{margin-top:var(--space-1);display:block}.check-onfile-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check-onfile{align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-soft);display:flex}.info-tip{vertical-align:middle;flex:none;display:inline-flex;position:relative}.info-tip-button{width:16px;height:16px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:help;transition:color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), background-color var(--dur-hover) var(--ease);place-items:center;padding:0;line-height:0;display:inline-grid}.info-tip-button:hover,.info-tip-button.is-open{color:var(--ink);background:var(--gold-soft);border-color:var(--gold-dark)}.info-tip-button:focus-visible{outline:var(--ring);outline-offset:2px}.info-tip-bubble{top:calc(100% + var(--space-2));z-index:40;width:max-content;max-width:min(280px,100vw - 16px);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-xs);color:var(--ink-soft);text-align:left;text-transform:none;letter-spacing:normal;white-space:normal;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-style:normal;font-weight:400;line-height:1.45;position:absolute;left:50%;transform:translate(-50%)}.info-tip-bubble:before{inset:calc(-1 * var(--space-2)) 0 auto;height:var(--space-2);content:"";position:absolute}.info-tip-bubble[hidden]{display:none}.fee-name{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:inline-flex}.fee-tip-line{display:block}.fee-cell{flex-direction:column;gap:1px;min-width:0;display:flex}.fee-sections{font-size:var(--text-xs);color:var(--muted)}.fee-tables{gap:var(--space-3);flex-direction:column;display:flex}.fee-empty{font-size:var(--text-sm);color:var(--muted);margin:0}.fee-specific{gap:var(--space-1);flex-direction:column;display:flex}.fee-subhead{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin:0;font-weight:700;line-height:1.2}.tag{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);white-space:nowrap;flex:none;align-items:center;font-weight:700;display:inline-flex}.tag-held{color:var(--held-ink);background:var(--held-bg);border:1px solid var(--held-line)}.tag-attribute{color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold-line)}.tag-degree{color:var(--open-ink);background:var(--open-bg);border:1px solid color-mix(in srgb, var(--open) 35%, transparent)}.tag-met{color:var(--muted);background:var(--surface-3);border:1px solid var(--line)}.tag-unmet{color:var(--full-ink);background:var(--full-bg);border:1px solid color-mix(in srgb, var(--full) 35%, transparent)}.tag-warn{color:var(--waitlist-ink);background:var(--waitlist-bg);border:1px solid color-mix(in srgb, var(--waitlist) 35%, transparent)}.status{align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;font-weight:600;display:inline-flex}.status:before{content:"";background:var(--status-mark,currentColor);border-radius:50%;width:6px;height:6px}.status-open{--status-mark:var(--open);color:var(--open-ink);background:var(--open-bg)}.status-waitlist{--status-mark:var(--waitlist);color:var(--waitlist-ink);background:var(--waitlist-bg)}.status-full{--status-mark:var(--full);color:var(--full-ink);background:var(--full-bg)}.course-detail{container-type:inline-size}.course-detail-body{gap:var(--space-2) var(--space-5);grid-template-columns:minmax(0,1fr) fit-content(58%);grid-template-areas:"desc prereq""facts prereq""restr prereq";align-items:start;display:grid}.detail-desc{grid-area:desc;min-width:0}.info-block.detail-prereq{padding:0 0 0 var(--space-4);border-top:0;border-left:1px solid var(--line);grid-area:prereq;align-self:stretch}.detail-prereq{gap:var(--space-1)}.detail-prereq .scroll-frame{min-width:min(360px,100%)}.info-row{gap:var(--space-2) var(--space-5);grid-area:facts;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;min-width:0;display:grid}.detail-lower{align-items:flex-start;gap:var(--space-2) var(--space-5);flex-wrap:wrap;grid-area:restr;min-width:0;display:flex}.detail-restrictions{flex:280px}.detail-attrs{flex:0 auto;max-width:100%}@container (width<=640px){.course-detail-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"desc""prereq""facts""restr"}.info-block.detail-prereq{padding:var(--space-1) 0;border-left:0;border-top:1px solid var(--line)}}.info-block{gap:var(--space-1);min-width:0;padding-top:var(--space-1);padding-bottom:var(--space-1);border-top:1px solid var(--line);flex-direction:column;display:flex}.detail-desc>.info-block:first-child{border-top:0;padding-top:0}.info-head{align-items:center;gap:var(--space-2);min-height:18px;display:flex}.info-heading{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin:0;font-weight:700;line-height:1.2}.info-body{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.4}.course-attr-list{gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.col-menu{justify-content:flex-end;display:flex}.col-menu .col-cog{--ib-size:22px;--ib-radius:var(--radius-md)}.dd-menu.col-menu-list{z-index:125;width:max-content;min-width:170px;max-height:min(60vh,380px);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;color:var(--ink);font-weight:400;position:fixed;left:auto;overflow-y:auto}.msg{align-items:flex-start;gap:var(--space-2);display:flex}.msg-text{min-width:0;font-size:var(--text-xs);color:var(--muted);white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;line-height:1.35;display:-webkit-box;overflow:hidden}.msg-tip{margin-top:1px}.msg .is-blocked{color:var(--full-ink);font-weight:600}.msg .is-warn{color:var(--waitlist-ink)}.msg-full{gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.msg-line{display:block}.md{gap:var(--space-1);flex-direction:column;display:flex}.md-row{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.md.is-sm{gap:var(--space-1)}.md.is-sm .md-row{gap:var(--space-2)}.md-days{gap:var(--space-1);flex:none;display:inline-flex}.md-day{width:18px;height:18px;font-size:var(--text-xs);color:var(--muted-light);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.md-day.is-on{color:var(--ink);background:var(--gold-soft);border-color:var(--gold)}.md-time{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.md-loc{font-size:var(--text-xs);color:var(--muted)}.section-lock{--lock-swing:calc(var(--dur-slow) * 1.5);box-sizing:border-box;width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease),  box-shadow var(--dur-hover) var(--ease), opacity var(--dur-hover) var(--ease);flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.section-lock:hover{color:var(--ink);background:var(--surface-3);border-color:var(--held-line)}.section-lock:active .lock-icon{transform:scale(.88)}.section-lock:focus-visible{outline:var(--ring);outline-offset:2px}.section-lock[aria-pressed=true]{color:var(--on-accent);background:var(--held-ink);border-color:var(--held-ink)}.section-lock[aria-pressed=true]:hover{background:var(--ink);border-color:var(--ink)}.lock-icon{transition:transform var(--dur-hover) var(--ease)}.lock-shackle{transform-box:view-box;transform-origin:13.3px 9.5px;transition:transform var(--lock-swing) var(--ease)}.section-lock[aria-pressed=false] .lock-shackle{transform:rotate(26deg)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow-x:auto}.sched-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);white-space:nowrap}.sched-table th{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);font-weight:700;position:sticky;top:0}.sched-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);vertical-align:top}.sched-table tbody tr{transition:background-color var(--dur-hover) var(--ease)}.sched-table tbody tr:hover{background:var(--surface-2)}.sched-table tbody tr:last-child td{border-bottom:none}.table-wrap.is-windowed .sched-table tbody tr:last-child:not(.detail-row)>td{border-bottom:1px solid var(--line)}.status-cell{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.cell-title{white-space:normal;min-width:200px;color:var(--ink);font-weight:600}.cell-mono{font-family:var(--mono);font-size:var(--text-xs)}.cell-nowrap{white-space:nowrap}.cell-dim{color:var(--muted-light)}.row-toggle{--ib-size:26px;--ib-radius:var(--radius-md)}.sched-table tbody tr.detail-row>td{background:var(--surface-2);border-bottom:none;padding:0}.sched-table tbody tr.detail-row:hover{background:0 0}.row-detail{gap:var(--space-3);padding:var(--space-3) var(--space-4);white-space:normal;border-bottom:1px solid var(--line);flex-direction:column;display:flex}.sched-table tbody tr.detail-row:last-child .row-detail{border-bottom:none}.detail-grid{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.facts.detail-grid dd{font-size:var(--text-sm)}.detail-grid.detail-checks{gap:var(--space-3) var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.detail-meetings{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.detail-meetings-label{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--muted-light);font-weight:700}.sched-table .col-status,.sched-table .col-course,.sched-table .col-credits,.sched-table .col-meetings,.sched-table .col-location,.sched-table .col-campus,.sched-table .col-lock,.sched-table .col-remove,.sched-table .col-toggle{white-space:nowrap;width:1%}.sched-table td.col-course{color:var(--ink);font-weight:600}.sched-table .col-credits{text-align:right;font-variant-numeric:tabular-nums}.sched-table .col-location,.sched-table .col-campus{font-size:var(--text-xs);color:var(--muted)}.sched-table tbody tr.is-clickable{cursor:pointer}.sched-table tbody tr.is-clickable:hover{background:var(--gold-soft)}.sched-table .col-lock,.sched-table .col-remove{text-align:center}.sched-table .col-lock{width:44px}:is(.sched-table td.col-use:has(input:enabled),.sched-table td.col-remove:has(button),.sched-table td.col-toggle:has(button)){cursor:pointer}.btn.section-remove{color:var(--full-ink);background:var(--surface);border-color:var(--line-strong)}.btn.section-remove:hover:not(:disabled){color:var(--on-accent);background:var(--full);border-color:var(--full)}.btn.section-remove:focus-visible{outline-color:var(--full)}.sched-table .col-meetings .md{gap:var(--space-1)}.sched-table .col-meetings .md-row{gap:var(--space-2)}.sched-table.section-list{white-space:normal}.section-list .col-use,.section-list .col-status,.section-list .col-section,.section-list .col-toggle{white-space:nowrap;width:1%}.section-list td.col-section{color:var(--ink);font-weight:700}.section-list td{vertical-align:middle}.use-toggle{--cb-size:16px}.flag-cell{gap:var(--space-1);flex-direction:column;display:flex}.row-flag{font-size:var(--text-xs);white-space:normal;font-weight:600;line-height:1.35}.row-flag.is-fatal{color:var(--full-ink)}.row-flag.is-warn{color:var(--waitlist-ink)}.dg-note{font-size:var(--text-sm);margin:0;line-height:1.4}.dg-note+.dg-note{margin-top:var(--space-1)}.dg-note.is-fatal{color:var(--full-ink);font-weight:600}.dg-note.is-warn{color:var(--waitlist-ink);font-weight:600}.sched-table tbody tr.is-blocked{opacity:.55;background:var(--surface-3)}.sched-table tbody tr.is-blocked:hover{background:var(--surface-3)}.sched-table tbody tr.is-chosen{background:var(--gold-soft);box-shadow:inset 3px 0 0 var(--gold)}.sched-table tbody tr.is-chosen:hover{background:var(--gold-soft)}.section-list .col-message{white-space:normal;min-width:150px}.section-list tbody tr.is-clickable{cursor:pointer}.section-list tbody tr.is-clickable:hover{background:var(--gold-soft)}.section-list tbody tr.is-clickable.is-blocked:hover{background:var(--surface-3)}.section-list tbody tr.is-clickable.is-chosen:hover{background:var(--gold-soft)}.section-list tbody tr.is-superseded td{opacity:.55}.section-list tbody tr.is-superseded td.col-lock,.section-list tbody tr.is-superseded td.col-message{opacity:1}.section-list tbody tr.is-dimmed td{opacity:.55}.section-list tbody tr.is-dimmed td.col-message,.section-list tbody tr.is-dimmed td.col-lock,.section-list tbody tr.is-dimmed td.col-toggle,.section-list tbody tr.is-dimmed td.col-use{opacity:1}.sched-table .col-cog-cell{white-space:nowrap;width:1%;padding-left:0}.sched-table tbody tr.detail-row:has(.detail-grid-pane)>td{background:0 0}.sched-table tbody tr:has(+tr.detail-row .detail-grid-pane)>td{border-bottom:none}.sched-table tbody tr:has(+tr.detail-row .detail-grid-pane):hover{background:0 0}.row-detail.detail-grid-pane{gap:0;padding:0}.dg-head{align-items:flex-start;gap:var(--space-2) var(--space-6);margin:0 var(--space-3);padding:var(--space-2) 0 var(--space-3);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.dg-head-item{min-width:0}.dg-head dt,.dg dt{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--muted-light);font-weight:700}.dg-head dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ink);line-height:1.35}.dg-head .md{gap:var(--space-2)}.dg-head .md-row{gap:var(--space-3)}.dg-head .md-day{width:22px;height:22px;font-size:var(--text-xs);border-radius:var(--radius-md)}.dg-head .md-time,.dg-head .md-loc{font-size:var(--text-sm)}.dg{gap:var(--space-2) var(--space-4);min-width:0;padding:var(--space-2) var(--space-3) var(--space-3);background:var(--surface-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;display:grid}.dg-cell{min-width:0}.dg-cell.is-wide{grid-column:1/-1}.dg dd{font-size:var(--text-sm);color:var(--ink);overflow-wrap:anywhere;margin:1px 0 0;line-height:1.35}.dg-fold-toggle{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;color:inherit;background:var(--surface);border-radius:var(--radius-md);cursor:pointer;border:none;display:flex}.dg-fold-toggle:hover{background:var(--surface-3)}.dg-fold-toggle:focus-visible{outline:var(--ring);outline-offset:1px}.dg-fold-label{flex:auto}.dg-fold-body{padding:var(--space-2) var(--space-2) var(--space-1)}.class-detail{gap:var(--space-3);flex-direction:column;display:flex}.class-detail-status{align-items:center;gap:var(--space-2);display:flex}.class-detail-credits{font-size:var(--text-sm);color:var(--muted);font-weight:600}.class-detail-live{font-size:var(--text-xs);color:var(--muted);margin-left:auto}.class-detail .row-detail{border-bottom:none;padding:0}.class-detail-course{padding-top:var(--space-3);border-top:1px solid var(--line)}.wg{flex-direction:column;display:flex}.wg-scroll{overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow-y:auto}.resize-handle.is-horizontal.wg-resize{border-radius:0 0 var(--radius-md) var(--radius-md);align-items:flex-start;height:auto;margin-top:-1px}.wg-resize-tab{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);letter-spacing:.01em;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);transition:color var(--dur-hover) var(--ease), background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);border-top:0;font-weight:700;display:inline-flex}.resize-handle.wg-resize:hover .wg-resize-tab,.resize-handle.wg-resize:active .wg-resize-tab,.resize-handle.wg-resize:focus-visible .wg-resize-tab{color:var(--ink);background:var(--gold-soft);border-color:var(--gold)}.resize-handle.wg-resize:focus-visible{outline:none}.resize-handle.wg-resize:focus-visible .wg-resize-tab{outline:var(--ring);outline-offset:1px}.wg-grid{grid-template-columns:48px var(--wg-days,repeat(5, minmax(0, 1fr)));display:grid}.wg-corner,.wg-head{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);grid-row:1;padding:6px 0;position:sticky;top:0}.wg-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:12px;font-weight:700}.wg:not(.is-fit) .wg-head{line-height:18px}.wg-head.is-dated{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wg-head-date{font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:500}.wg-gutter{grid-area:2/1;position:relative}.wg-hour{right:var(--space-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;position:absolute;transform:translateY(-50%)}.wg:not(.is-fit) .wg-hour:first-child{transform:none}.wg-days{-webkit-user-select:none;user-select:none;grid-area:2/2/auto/-1;grid-template-columns:var(--wg-days,repeat(5, minmax(0, 1fr)));background:var(--surface-2);display:grid;position:relative}.wg-days.is-interactive{cursor:crosshair;touch-action:none}.wg-col{position:relative;overflow:hidden}.wg{--wg-day-rule:color-mix(in srgb, var(--ink) 24%, var(--surface))}.wg-col+.wg-col,.wg:not(.is-fit) .wg-head+.wg-head{border-left:2px solid var(--wg-day-rule)}.wg-line{background:var(--line);height:1px;position:absolute;left:0;right:0}.wg-line.is-half{background:color-mix(in srgb, var(--line) 55%, transparent)}.wg-class{padding:2px var(--space-1);border-radius:var(--radius-sm);pointer-events:auto;animation:fade-in var(--dur-enter) var(--ease) both;transition:filter var(--dur-hover) var(--ease), border-left-width var(--dur-base) var(--ease);border:1px solid;border-left-width:3px;flex-direction:column;gap:1px;display:flex;position:absolute;left:1px;right:1px;overflow:hidden}.wg-class-text{flex-direction:column;gap:1px;min-height:0;display:flex}.wg-class-open{cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.wg-class.is-held{border-left-style:dashed}.wg-class.is-unmet{outline:2px solid var(--full);outline-offset:-2px}.wg-class.is-unmet-warn{outline:2px dotted var(--waitlist);outline-offset:-2px}.wg-class-flag{margin-right:var(--space-1)}.wg-class-flag svg,.wg-class-tick svg,.wg-async-tick svg{vertical-align:-1px}.wg-class-code{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.25;overflow:hidden}.wg-class-meta{font-size:var(--text-xs);opacity:.85;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.wg-class-meta.is-dates{opacity:1;font-weight:700}.wg-class-when{margin-left:var(--space-1);padding:0 var(--space-1);font-size:var(--text-xs);white-space:nowrap;border-radius:var(--radius-sm);opacity:.75;border:1px solid;font-weight:700}.wg-class.is-shared{padding-inline:var(--space-1)}.wg-class.is-shared .wg-class-code,.wg-class.is-shared .wg-class-meta{font-size:var(--text-xs)}.wg-class.is-shared .wg-lock-slot{width:20px;height:20px}.wg-class.is-shared.is-lockable .wg-class-code,.wg-class.is-shared.is-lockable .wg-class-code+.wg-class-meta{padding-right:var(--space-5)}.wg-draft{transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), color var(--dur-hover) var(--ease);z-index:3;padding:2px var(--space-1);font-size:var(--text-xs);white-space:nowrap;color:var(--ink);background:color-mix(in srgb, var(--gold) 30%, transparent);border:1px dashed var(--gold-dark);border-radius:var(--radius-sm);pointer-events:none;font-weight:700;position:absolute;left:1px;right:1px;overflow:hidden}.wg-break{z-index:2;padding:1px var(--space-1);color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--radius-sm);pointer-events:none;animation:fade-in var(--dur-enter) var(--ease) both;flex-direction:column;gap:1px;display:flex;position:absolute;left:1px;right:1px;overflow:hidden}.wg-break-head{justify-content:space-between;align-items:center;gap:var(--space-1);min-width:0;line-height:1.2;display:flex}.wg-break-input{min-width:0;padding:0 var(--space-1);font:inherit;font-size:var(--text-xs);color:var(--ink);background:var(--surface);border:1px solid var(--gold-dark);border-radius:var(--radius-sm);flex:1;font-weight:700}.wg-break-input:focus{outline:var(--ring);outline-offset:-1px}.wg-break-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--text-xs);flex:1;font-weight:700;overflow:hidden}.wg-break-time{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-xs);opacity:.8;font-weight:600;overflow:hidden}.wg-break-actions{flex:none;gap:1px;display:flex}.icon-btn.wg-break-act{pointer-events:auto;opacity:.7;font-size:var(--text-xs);--ib-size:16px;--ib-radius:var(--radius-sm);--ib-ink:var(--ink);--ib-hover-ink:var(--ink);--ib-hover-bg:var(--gold)}.wg-break-act:hover{opacity:1}.wg-break-act:focus-visible{outline:var(--ring);outline-offset:1px}.wg-draft.is-invalid{color:var(--full-ink);background:var(--full-bg);border-color:var(--full)}.wg-error{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--full-ink);background:var(--full-bg);border:1px solid var(--full);border-radius:var(--radius-md);line-height:1.45;display:flex}.wg-error-x{--ib-size:20px;--ib-radius:var(--radius-md);--ib-ink:var(--full);--ib-hover-ink:var(--on-accent);--ib-hover-bg:var(--full);--ib-ring:var(--full);margin-left:auto}.wg-class-tag{padding:0 var(--space-1);line-height:1.35;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--held-ink);background:var(--surface);border:1px solid var(--held-line);border-radius:var(--radius-pill);white-space:nowrap;align-self:flex-start;margin-bottom:1px;font-weight:700}.wg-preferred{z-index:0;background:var(--open-bg);border-top:1px dashed color-mix(in srgb, var(--open) 50%, transparent);border-bottom:1px dashed color-mix(in srgb, var(--open) 50%, transparent);pointer-events:none;position:absolute;left:0;right:0}.wg-class.is-openable{cursor:pointer}.wg-class:has(>.wg-class-open:focus-visible){outline:var(--ring);outline-offset:1px}.wg-class-open:focus-visible{outline:none}.wg-break.is-tight{padding:0 var(--space-1);justify-content:center}.wg-break.is-tight .wg-break-label{font-size:var(--text-xs)}.wg-break.is-tight .wg-break-act{width:14px;height:14px;font-size:var(--text-xs)}.wg-class .wg-lock-slot{z-index:2;pointer-events:auto;width:26px;height:26px;position:absolute;top:2px;right:2px}.wg-class .wg-lock{border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 75%, transparent);opacity:.55;pointer-events:auto;border-color:currentColor;width:100%;height:100%;margin:0;display:block;position:relative;inset:0}.wg-class.is-short .wg-lock-slot{width:20px;height:20px;top:1px;right:1px}.wg-class.is-short .wg-lock{border-radius:var(--radius-md)}.wg-class:hover .wg-lock,.wg-class .wg-lock:focus-visible,.wg-class.is-locked .wg-lock{opacity:1}.wg-class .wg-lock:hover{color:var(--ink);background:var(--surface);border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb, var(--ink) 28%, transparent);opacity:1}.wg-class .wg-lock[aria-pressed=true]{color:var(--on-accent);background:var(--held-ink);border-color:var(--on-accent)}.wg-class .wg-lock[aria-pressed=true]:hover{color:var(--on-accent);background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb, var(--ink) 28%, transparent)}.wg-class.is-locked{border-left-width:5px}.wg-class.is-lockable .wg-class-code,.wg-class.is-lockable .wg-class-code+.wg-class-meta{padding-right:var(--space-6)}.wg-async{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.wg-async-label{font-size:var(--text-xs);color:var(--muted);font-weight:600}.wg-async-chip{animation:fade-in var(--dur-enter) var(--ease) both;transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), filter var(--dur-hover) var(--ease);align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);display:inline-flex}.wg-async-chip:not(.is-lockable){padding-right:var(--space-3)}.wg-async-code{white-space:nowrap;font-weight:700}.wg-async-mode{color:inherit;opacity:.8;white-space:nowrap}.wg-async-tick{opacity:.75}.wg-async-chip .wg-async-lock{border-radius:var(--radius-pill);width:22px;height:22px}.wg-async-chip.is-held{border-style:dashed}.wg-class.is-unrelated,.wg-async-chip.is-unrelated{filter:opacity(.4)}.wg.is-compact .wg-async-mode{display:none}.wg-class-tick{margin-left:var(--space-1);opacity:.75}.wg-legend{gap:var(--space-4);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;display:flex}.wg-legend-item{align-items:center;gap:var(--space-2);display:inline-flex}.wg-swatch{border-radius:var(--radius-sm);border:1px solid;width:11px;height:11px;display:inline-block}.wg-swatch.is-held{border-style:dashed}.wg-swatch.is-break{background:var(--gold-soft);border-color:var(--gold)}.wg-swatch.is-unmet,.wg-swatch.is-unmet-warn{width:16px;height:16px;color:var(--ink);background:var(--surface);justify-content:center;align-items:center;display:inline-flex}.wg-swatch.is-unmet{border:2px solid var(--full)}.wg-swatch.is-unmet-warn{border:2px dotted var(--waitlist)}.wg-swatch-stack{gap:var(--space-1);display:inline-flex}.wg.is-fit .wg-scroll{background:0 0;border:0;border-radius:0;overflow:visible}.wg.is-fit .wg-grid,.wg.is-fit.is-compact .wg-grid{grid-template-columns:44px var(--wg-days,repeat(5, minmax(0, 1fr)))}.wg.is-fit .wg-corner,.wg.is-fit .wg-head{padding:0 0 var(--space-2);background:0 0;border-bottom:0;position:static}.wg.is-fit .wg-head{font-size:var(--text-xs)}.wg.is-fit .wg-days{gap:0 var(--space-1);background:0 0}.wg.is-fit.is-compact .wg-days{gap:0 var(--space-1)}.wg.is-fit .wg-col,.wg.is-fit .wg-col+.wg-col{background:var(--surface-2);border:1px solid var(--wg-day-rule);border-radius:var(--radius-md)}.wg.is-fit .wg-hour{right:var(--space-2);font-size:var(--text-xs);color:var(--muted-light)}.wg.is-fit.is-compact .wg-hour{font-size:var(--text-xs)}.wg.is-fit .wg-class,.wg.is-fit .wg-break{padding:1px var(--space-1);border-radius:var(--radius-md);left:2px;right:2px}.wg.is-compact .wg-class-code{font-size:var(--text-xs)}.wg.is-fit .wg-break{color:var(--muted);background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--ink) 4%, transparent) 0 6px, color-mix(in srgb, var(--ink) 9%, transparent) 6px 12px);border:1px dashed var(--line-strong)}.wg:not(.is-fit) .wg-preferred{transition:top var(--dur-layout) var(--ease), height var(--dur-layout) var(--ease)}.print-sheet{display:none}.print-heading{font-size:var(--text-lg);color:#000;font-weight:700}.print-sub{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-xs);color:#333}.print-table{width:100%;margin-top:var(--space-3);border-collapse:collapse;font-size:var(--text-xs)}.print-table th{padding:var(--space-2);text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #000;font-weight:700}.print-table td{padding:var(--space-2);vertical-align:top;border-bottom:1px solid #ccc;line-height:1.35}.print-table th:nth-child(3),.print-table td:nth-child(3),.print-table th:nth-child(4),.print-table td:nth-child(4),.print-table th:nth-child(9),.print-table td:nth-child(9){white-space:nowrap;width:1%}.print-table th:nth-child(7),.print-table td:nth-child(7){white-space:nowrap;font-variant-numeric:tabular-nums;width:1%}.print-group-heading{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:#000;font-weight:700}.print-group-count{color:#333;font-weight:400}.print-group .print-table{margin-top:var(--space-2)}.print-group .print-empty{margin-top:var(--space-1)}.print-breaks{margin-top:var(--space-2);font-size:var(--text-xs)}.print-empty{font-size:var(--text-xs);color:#333}.panel{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.panel>.dismissible{--dismiss-gap:var(--space-3)}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.panel-title-group{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.panel-head-actions{align-items:center;gap:var(--space-2);display:flex}.collapse-toggle{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);margin-left:calc(-1 * var(--space-1));font:inherit;color:inherit;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-hover) var(--ease);background:0 0;border:none;display:inline-flex}.collapse-toggle:hover{background:var(--surface-3)}.collapse-toggle:focus-visible{outline:var(--ring);outline-offset:2px}.section-title{font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.section-title[tabindex="-1"]:focus{outline:none}.current-tools{align-items:center;gap:var(--space-3);display:flex}.current-credits{font-size:var(--text-xs);color:var(--muted);font-weight:600}.current .sched-table{white-space:normal}.current .cell-title{white-space:normal;min-width:0}.current .sched-table td{vertical-align:middle}.current .md-day{width:15px;height:15px;font-size:var(--text-xs)}.current .md-time{font-size:var(--text-xs)}.current .md-row{gap:var(--space-2)}.eligibility{padding:var(--space-2) var(--space-7) var(--space-3) var(--space-4);background:var(--alert-bg);border:1px solid var(--alert-line);border-radius:var(--radius-md);position:relative}.eligibility-title{align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--alert-title);font-weight:700;display:flex}.eligibility-mark{color:var(--alert-accent);flex:none;display:inline-flex}.eligibility-list{margin:var(--space-1) 0 0;padding-left:var(--space-7);font-size:var(--text-sm);color:var(--alert-ink);line-height:1.5}.eligibility-list li+li{margin-top:var(--space-1)}.eligibility-list strong{color:var(--on-accent)}@media (width<=720px){.eligibility-list{padding-left:var(--space-5)}}.eligibility-close{top:var(--space-2);right:var(--space-2);--ib-size:24px;--ib-radius:var(--radius-md);--ib-ink:var(--alert-ink);--ib-hover-ink:var(--on-accent);--ib-hover-bg:var(--alert-line);--ib-ring:var(--alert-accent);--ib-ring-offset:1px;position:absolute}.eligibility.is-unknown{background:var(--surface-3);border-color:var(--line-strong)}.eligibility.is-unknown .eligibility-title{color:var(--ink)}.eligibility.is-unknown .eligibility-mark{color:var(--muted)}.eligibility-detail{margin:var(--space-1) 0 0;padding-left:var(--space-7);font-size:var(--text-sm);color:var(--muted);line-height:1.5}@media (width<=720px){.eligibility-detail{padding-left:var(--space-5)}}.invalid-text code{font-family:var(--mono);color:var(--ink);font-size:.95em}.planning-bar{gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.planning-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.planning-label,.planning-hint{font-size:var(--text-xs);color:var(--muted)}.planning-label{color:var(--ink);font-weight:700}.planning-bar .planning-time{flex:none;width:108px}.planning-dash{color:var(--muted)}.planning-bar .planning-days{margin-left:var(--space-1);flex:none}.planning-bar .planning-days .pref-day{min-width:32px;padding:var(--space-1);font-size:var(--text-xs);flex:none}.planning-breaks-toggle{align-items:center;gap:var(--space-1);display:inline-flex}.drawer>.drawer-inner.breaks-fold-drawer{animation:unclip 0s var(--dur-slow) forwards}.drawer.is-closing>.drawer-inner.breaks-fold-drawer{animation:none}.planning-count{font-size:var(--text-xs);color:var(--muted);font-weight:700}.planning-bar .pref-warning{margin:calc(-1 * var(--space-1)) 0 0}@media (width<=560px){.planning-bar .planning-time{width:100%}}.field{gap:var(--space-1);text-align:left;flex-direction:column;display:flex;position:relative}.field-label{font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-weight:600}.dd-menu{top:calc(100% + var(--space-2));z-index:30;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transform-origin:top;animation:slide-down var(--dur-enter) var(--ease);position:absolute;left:0;right:0}.dd-menu.is-closing{animation:slide-up var(--dur-base) var(--ease-in) both}.dd-option{align-items:center;gap:var(--space-2);padding:var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-hover) var(--ease);display:flex}.dd-option:hover{background:var(--surface-3)}.dd-option.is-selected{color:var(--ink);font-weight:500}.dd-option-text{min-width:0}.combo .combo-input{width:100%;padding-right:var(--space-6)}.combo-clear{right:var(--space-2);bottom:var(--space-2);--ib-size:20px;position:absolute}.combo-menu .dd-option{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.combo-menu .dd-option.is-active{background:var(--surface-3);outline:var(--ring);outline-offset:-2px}.combo-empty{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--muted)}.multi-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;display:flex}.multi-summary{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multi-summary.is-empty{color:var(--muted)}.multi-trigger .icon-chevron{width:13px;height:13px;color:var(--muted);flex:none}.dd-menu.multi-menu{z-index:125;width:max-content;min-width:190px;max-width:min(90vw,320px);max-height:min(60vh,360px);padding:var(--space-3);position:fixed;left:auto;overflow-y:auto}.search-row{align-items:center;display:flex;position:relative}.search-icon{left:var(--space-3);color:var(--muted-light);pointer-events:none;position:absolute}.search-input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-6);font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);transition:border-color var(--dur-hover) var(--ease), box-shadow var(--dur-hover) var(--ease)}.search-input:focus{border-color:var(--ink);box-shadow:var(--focus-glow);outline:2px solid #0000}.search-input{padding-right:var(--space-6)}.search-input::-webkit-search-cancel-button{appearance:none;display:none}.search-clear{right:var(--space-2);--ib-size:22px;position:absolute}.result-count{align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--muted);display:flex}.result-hidden{padding:1px var(--space-2);color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius-pill)}.result-always{margin:calc(-1 * var(--space-1)) var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--ink)}.result-list{gap:var(--space-2);min-height:0;padding:0 var(--space-2) 0 0;flex-direction:column;flex:1;margin:0;list-style:none;display:flex;overflow-y:auto}.result-frame{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.scroll-top{z-index:3;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font:inherit;font-size:var(--text-xs);color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-strong);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease), transform var(--dur-base) var(--ease), color var(--dur-hover) var(--ease), background-color var(--dur-hover) var(--ease);border-top:0;font-weight:600;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}.scroll-top.is-shown{opacity:1;pointer-events:auto;transform:translate(-50%)}.scroll-top:hover{color:var(--ink);background:var(--surface-2)}.result-list .vlist-item{padding-bottom:var(--space-2)}.result-list .vlist-item:has(.result-row.is-open){z-index:1}.result-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);display:flex}.result-row:hover{background:var(--surface-2);border-color:var(--line-strong)}.result-main{justify-content:flex-start;align-items:baseline;gap:var(--space-2);text-align:left;flex-wrap:wrap;flex:1;min-width:0;display:flex}.result-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--muted);overflow:hidden}.result-credits{box-sizing:border-box;width:72px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);text-align:right;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.result-meta{align-items:center;gap:var(--space-2);flex:none;display:flex}.result-meta .row-count{text-align:right;font-variant-numeric:tabular-nums;width:112px}.result-meta .btn{width:78px}.added-tag{color:var(--ink);background:var(--gold-soft);border-color:var(--gold-line)}.added-tag:hover,.added-tag:focus-visible{color:var(--full-ink);background:var(--full-bg);border-color:color-mix(in srgb, var(--full) 35%, transparent)}.search-results-title{margin-bottom:var(--space-1);font-size:var(--text-sm);color:var(--ink);font-weight:700}.advanced-toggle{align-self:flex-start;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-1);font:inherit;font-size:var(--text-xs);color:var(--muted);cursor:pointer;transition:color var(--dur-hover) var(--ease);background:0 0;border:0;font-weight:700;display:flex}.advanced-toggle:hover{color:var(--ink)}.advanced-toggle:focus-visible{outline:var(--ring);outline-offset:2px;border-radius:var(--radius-md)}.advanced-count{padding:1px var(--space-2);font-size:var(--text-xs);color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--radius-pill);font-weight:700}.advanced-toggle .icon-chevron{width:13px;height:13px}.drawer>.drawer-inner.search-advanced{animation:unclip 0s var(--dur-slow) forwards}.drawer.is-closing>.drawer-inner.search-advanced{animation:none}.search-filters{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.degree-field{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.degree-note{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--muted)}.degree-field .degree-note{margin:0}.degree-hide{margin-top:var(--space-1);font-size:var(--text-xs)}.degree-ticks{align-items:center;gap:var(--space-1) var(--space-5);flex-wrap:wrap;display:flex}.degree-ticks .check-option{font-size:var(--text-xs)}.degree-ticks .degree-hide{margin-top:0}fieldset.degree-ticks{border:0;min-width:0;margin:0;padding:0}.degree-note+.degree-ticks{margin-top:var(--space-2)}.result-expand{--ib-size:24px}.result-row.is-open{border-color:var(--gold);background:var(--gold-soft)}.result-detail{margin:0 0 var(--space-1);padding:var(--space-1) var(--space-3) var(--space-2);list-style:none}.result-row.is-clickable{cursor:pointer}.search-layout{gap:var(--space-4);flex:1;grid-template-columns:240px minmax(0,1fr);align-items:stretch;min-height:0;display:grid}.search-results{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.modal-body:has(>.search-layout){padding-top:var(--space-2)}.search-scope{gap:var(--space-3);min-width:0;max-height:100%;padding:var(--space-2) var(--space-3) var(--space-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow-y:auto}.search-layout.is-narrow{grid-template-columns:38px minmax(0,1fr)}.search-scope.is-collapsed{padding:var(--space-2) 0;align-items:center;overflow:hidden}.scope-head{margin-top:calc(-1 * var(--space-1));margin-bottom:calc(-1 * var(--space-2));justify-content:flex-end;display:flex}.scope-hide{--ib-size:22px;transform:rotate(180deg)}.scope-show{align-items:center;gap:var(--space-2);padding:var(--space-2);font:inherit;font-size:var(--text-xs);letter-spacing:.02em;color:var(--muted);border-radius:var(--radius-md);cursor:pointer;writing-mode:vertical-rl;transition:color var(--dur-hover) var(--ease), background-color var(--dur-hover) var(--ease);background:0 0;border:none;font-weight:700;display:inline-flex;transform:rotate(180deg)}.scope-show svg{transform:rotate(180deg)}.scope-show:hover{color:var(--ink);background:var(--surface-3)}.search-scope .filters-stack{gap:var(--space-4)}.search-scope .check-group{gap:var(--space-1)}.search-scope .check-option,.search-scope .field-label{font-size:var(--text-xs)}@media (width<=900px){.search-layout,.search-layout.is-narrow{grid-template-columns:1fr}.scope-show{writing-mode:horizontal-tb;transform:none}.scope-show svg{transform:none}}.filters-stack{gap:var(--space-3);flex-direction:column;display:flex}.result-wait{flex:1;min-height:0}.course-terms{font-size:clamp(var(--text-xs), calc(var(--text-base) - (var(--text-base) - var(--text-sm)) * (var(--term-count,3) - 1)), var(--text-base));color:var(--muted);flex-direction:column;gap:1px;line-height:1.35;display:flex}.course-term{white-space:nowrap}.course-term.is-out{color:var(--muted-light);text-decoration:line-through}.course-filters{margin:var(--space-1) 0 var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md)}.course-filters-note{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--muted)}.course-filter-columns{gap:var(--space-2) var(--space-3);flex-wrap:wrap;align-items:flex-start;display:flex}.course-filters .field-label{font-size:var(--text-xs)}.course-filter-select{flex:150px;max-width:220px}.course-filter-select .multi-trigger{font-size:var(--text-xs)}.row-code{font-weight:700;font-size:var(--text-sm);color:var(--ink);letter-spacing:.01em;flex:none}.row-count{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.row-count.is-zero{color:var(--full-ink);font-weight:600}.sched-table.potential-table{white-space:normal;font-size:var(--text-xs)}.potential-table .col-course,.potential-table .col-matches,.potential-table .col-credits,.potential-table .col-action,.potential-table .col-term{white-space:nowrap;width:1%}.potential-table td.col-term{vertical-align:middle}.course-cell{align-items:center;gap:var(--space-1);display:inline-flex}.course-toggle-gap{width:26px;display:inline-block}.potential-table tbody tr.is-clickable{cursor:pointer}.potential-table tbody tr.is-clickable:hover{background:var(--gold-soft)}.sched-table.potential-table .col-credits{text-align:center;font-variant-numeric:tabular-nums}.sched-table.potential-table td.col-credits{font-size:var(--text-sm)}.potential-table td{vertical-align:middle;padding:var(--space-2)}.potential-table .code{font-weight:700;font-size:var(--text-sm);color:var(--ink)}.coreq-notice{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--info-bg);border:1px solid var(--info-line);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.coreq-text{min-width:0;font-size:var(--text-xs);color:var(--info);flex:220px;line-height:1.45}.coreq-text strong{color:var(--info)}.potential-table th{padding:var(--space-2)}.potential-table .cell-title{min-width:0;font-weight:500}.potential-table .status{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);white-space:normal;text-align:left}.potential-table .row-count{font-size:var(--text-xs)}.potential-table .btn-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.potential-table .action-pair{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.potential-table .btn-sm,.potential-table .row-remove{border-radius:var(--radius-md);height:28px}.row-remove{--ib-size:28px;--ib-radius:var(--radius-md);--ib-ink:var(--full);--ib-hover-ink:var(--on-accent);--ib-hover-bg:var(--full);--ib-hover-line:var(--full);--ib-ring:var(--full)}.match-stack{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.potential-table .col-matches{text-align:center}.match-button{padding:var(--space-1) var(--space-2);font:inherit;font-size:var(--text-xs);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--open-ink);background:var(--open-bg);border:1px solid var(--open);border-radius:var(--radius-md);cursor:pointer;transition:filter var(--dur-hover) var(--ease);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.match-button:hover{filter:brightness(.96)}.match-button:focus-visible{outline-offset:2px;outline:2px solid}.match-button.is-low{color:var(--waitlist-ink);background:var(--waitlist-bg);border-color:var(--waitlist)}.match-button.is-zero{color:var(--full-ink);background:var(--full-bg);border-color:var(--full)}.match-note{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.potential-table tbody tr{animation:rise-in var(--dur-enter) var(--ease) both}.banner{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius-md);display:flex}.banner-text{min-width:0;font-size:var(--text-xs);color:var(--ink-soft);flex:auto;line-height:1.45}.banner-x{--ib-size:22px;--ib-hover-bg:var(--gold);--ib-ring-offset:1px}.banner-text kbd{padding:0 var(--space-1);font-family:var(--mono);font-size:var(--text-xs);color:var(--ink);background:var(--surface);border:1px solid var(--gold-line);border-radius:var(--radius-md);display:inline-block}.match-loading{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);display:inline-flex}.schedules{gap:var(--space-4);flex-direction:column;display:flex}.empty.is-warn{background:var(--gold-soft);border-color:var(--gold-line);color:var(--ink-soft)}.sched-group{gap:var(--space-2);flex-direction:column;display:flex}.sched-list-head{justify-content:space-between;align-items:last baseline;gap:var(--space-3);display:flex}.sched-group-title{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-base);color:var(--ink);flex-wrap:wrap;font-weight:700;display:flex}.sched-group-label{font-size:var(--text-base);font-weight:700}.sched-group-note{font-size:var(--text-sm);color:var(--muted);font-weight:500}.sched-compare-open{flex:none}.sched-badges{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.sched-badge{align-items:center;gap:var(--space-1);padding:1px var(--space-2);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);border-radius:var(--radius-pill);font-weight:700;line-height:1.4;display:inline-flex}.sched-badge.is-preferred{background:var(--gold)}.sched-badge.is-favorite{background:var(--fav-green)}.sched-badge.is-unmet{color:var(--full-ink);background:var(--full-bg);text-transform:none;letter-spacing:0}.sched-well{overflow:hidden}.sched-button-grid{--row-h:132px;--row-gap:var(--space-3);--pad:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:var(--row-h);gap:var(--row-gap);max-height:calc(var(--row-h) * 2 + var(--row-gap) + var(--pad) * 2);padding:var(--pad);display:grid;position:relative;overflow-y:auto}.sched-item{animation:rise-in var(--dur-enter) var(--ease) both;animation-delay:calc(var(--i,0) * var(--stagger));position:relative}.sched-item[data-entered]{animation:none}.sched-button{width:100%;height:100%;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-hover) var(--ease);padding:0;position:absolute;inset:0}.sched-button:focus-visible{outline:var(--ring);outline-offset:2px}.sched-body{justify-content:center;align-items:flex-start;gap:var(--space-1);height:100%;padding:var(--space-2) var(--space-3);pointer-events:none;flex-direction:column;display:flex;position:relative}.sched-item:hover .sched-button{border-color:var(--gold)}.sched-item.is-preferred .sched-button,.sched-item.is-preferred:hover .sched-button{border:2px solid var(--gold)}.sched-item.is-favorite .sched-button,.sched-item.is-favorite:hover .sched-button{border:2px solid var(--fav-green)}.sched-badge-row{align-items:center;height:17px;display:flex}.sched-head{align-items:center;gap:var(--space-1);width:100%;min-height:24px;display:flex}.sched-head>*{pointer-events:auto}.sched-button-title{min-width:0;font-size:var(--text-base);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.sched-head>.sched-button-title{pointer-events:none}.icon-btn.sched-tool{--ib-size:22px;--ib-ring-offset:1px}.sched-rename-btn{opacity:.55;margin-right:auto}.sched-item:hover .sched-rename-btn,.sched-rename-btn:focus-visible{opacity:1}.sched-rename{min-width:0;margin-right:var(--space-1);padding:var(--space-1) var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--gold-dark);border-radius:var(--radius-md);box-shadow:var(--focus-glow);outline:none;flex:1;font-weight:700}.sched-compare{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur-hover) var(--ease), background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);flex:none;font-weight:700;display:inline-flex}.sched-compare:hover{color:var(--ink);border-color:var(--gold)}.sched-item.is-compared .sched-compare{color:var(--ink);background:var(--gold-soft);border-color:var(--gold)}.sched-compare.is-disabled{opacity:.45;cursor:not-allowed}.sched-compare .checkbox{--cb-size:12px}.icon-btn.sched-star{--ib-hover-ink:var(--gold-dark);--ib-hover-bg:var(--gold-soft)}.icon-btn.sched-star.is-on{color:var(--gold);background:var(--gold-soft);border-color:var(--gold-dark);--ib-hover-ink:var(--gold)}.sched-button-credits{font-size:var(--text-xs);color:var(--muted)}.sched-button-credits strong{color:var(--ink)}.sched-button-longest{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--text-xs);color:var(--muted-light);overflow:hidden}.compare-grid{gap:var(--space-3);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}@media (width<=900px){.compare-grid{grid-auto-columns:minmax(280px,1fr);overflow-x:auto}}.compare-col .wg-scroll{overscroll-behavior:auto;overflow:clip}.compare-col{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.compare-title{font-size:var(--text-base);color:var(--ink);font-weight:700}.compare-stats{gap:var(--space-2);padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr))}.facts.compare-stats dd{font-size:var(--text-xs);white-space:nowrap;font-weight:600}.compare-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.compare-list li{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);display:flex}.compare-col-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.compare-stats .compare-sub{font-size:var(--text-xs);color:var(--muted-light);white-space:nowrap;margin-top:1px;font-weight:600;display:block}.sched-preview{z-index:60;gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:fade-in var(--dur-enter) var(--ease) both;flex-direction:column;display:flex;position:fixed}.sched-preview.is-closing{pointer-events:none;animation:fade-out var(--dur-exit) var(--ease-in) both}.sched-preview-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);display:flex}.sched-preview-head strong{font-size:var(--text-sm);color:var(--ink)}.sched-preview-foot{font-size:var(--text-xs);color:var(--muted-light)}.compare-list .subtle{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-sm);color:var(--muted);overflow:hidden}.compare-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 250px;align-items:start;display:grid}@media (width<=900px){.compare-layout{grid-template-columns:1fr}}.compare-main{min-width:0}.compare-picker{gap:var(--space-2);min-width:0;padding:var(--space-3);flex-direction:column;display:flex;position:sticky;top:0}.compare-picker-title{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink);font-weight:700;display:flex}.compare-picker-hint{font-size:var(--text-xs);color:var(--muted-light);font-weight:600}.pick-list{gap:var(--space-1);flex-direction:column;max-height:64vh;display:flex;position:relative;overflow-y:auto}.pick-row{align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);transition:background-color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease);display:flex}.pick-row:hover{border-color:var(--line-strong)}.pick-row.is-on{background:var(--gold-soft);border-color:var(--gold)}.pick-select{align-items:center;gap:var(--space-2);cursor:pointer;flex:1;min-width:0;display:flex}.pick-row.is-disabled .pick-select{opacity:.45;cursor:not-allowed}.pick-row .checkbox{--cb-size:14px;flex:none}.pick-main{flex-direction:column;gap:1px;min-width:0;display:flex}.pick-title{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--ink);font-weight:700;display:flex}.pick-badges{margin-bottom:var(--space-1)}.pick-badges .sched-badge{padding:0 var(--space-2);font-size:var(--text-xs)}.compare-title-wrap{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.compare-title-row{align-items:center;gap:var(--space-1);min-width:0;display:flex}.pick-meta{font-size:var(--text-xs);color:var(--muted)}.week-picker{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.week-picker-label{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-weight:600}.week-picker-empty{color:var(--muted);font-weight:400}.week-picker-controls{align-items:center;gap:var(--space-1);display:flex}.pref-select.week-picker-date{width:auto;padding:var(--space-1) var(--space-2);font-variant-numeric:tabular-nums}.week-step{--ib-size:30px}.week-step.is-back .icon-chevron.spin-quarter{transform:rotate(90deg)}.icon-btn.week-step:disabled{cursor:default;opacity:.35;background:0 0}.tabs{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.tab-list{gap:var(--space-1);border-bottom:1px solid var(--line);display:flex}.tab-row{align-items:flex-end;gap:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.tab-row>.tab-list{border-bottom:0}.tab-aside{justify-content:flex-end;gap:var(--space-2);padding-bottom:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}@media (width<=720px){.tab-row{border-bottom:0}.tab-row>.tab-list{border-bottom:1px solid var(--line);flex:100%}.tab-aside{padding-bottom:0}}.tab{padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--muted);border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;transition:color var(--dur-hover) var(--ease), background-color var(--dur-hover) var(--ease);background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;font-weight:600}.tab:hover{color:var(--ink);background:var(--surface-3)}.tab.is-active{color:var(--ink);border-bottom-color:var(--gold)}.tab:focus-visible{outline:var(--ring);outline-offset:-2px}.tab-panel{min-width:0}.tabs.tabs-vertical{align-items:flex-start;gap:var(--space-6);flex-direction:row}.tabs-vertical>.tab-list{top:var(--space-4);gap:var(--space-1);border-bottom:0;border-right:1px solid var(--line);flex-direction:column;flex:0 0 184px;position:sticky}.tabs-vertical>.tab-list>.tab{padding:var(--space-2) var(--space-3);text-align:left;border-radius:var(--radius-md) 0 0 var(--radius-md);border-bottom:0;border-right:3px solid #0000;margin:0 -1px 0 0}.tabs-vertical>.tab-list>.tab.is-active{border-right-color:var(--gold)}.tabs-vertical>.tab-panel{flex:auto}@media (width<=720px){.tabs.tabs-vertical{align-items:stretch;gap:var(--space-5);flex-direction:column}.tabs-vertical>.tab-list{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex:none;position:static}.tabs-vertical>.tab-list>.tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:3px solid #0000;border-right:0;margin:0 0 -1px}.tabs-vertical>.tab-list>.tab.is-active{border-bottom-color:var(--gold)}}.tabs.week-tabs{gap:var(--space-3)}.week-tabs>.tab-panel{gap:var(--space-3);flex-direction:column;display:flex}.app{flex-direction:column;min-height:100svh;display:flex}.app-body{width:100%;padding:var(--space-2) var(--space-3) 0 var(--space-2);flex-grow:1;display:block}.app-main{gap:var(--space-3);min-width:0;padding-bottom:var(--space-7);flex-direction:column;display:flex}.app-main>.dismissible{--dismiss-gap:var(--space-3)}@media (width<=900px){.app-body{padding:var(--space-3) var(--space-4) 0}}.planner-stack{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.planner-split>.planner-stack+.planner-stack{align-self:stretch;position:relative}.planner-split>.planner-stack+.planner-stack:before{content:"";top:0;bottom:0;left:calc(var(--space-5) / -2);background:var(--line);width:1px;position:absolute}@media (width<=1100px){.planner-split>.planner-stack+.planner-stack:before{top:calc(var(--space-4) / -2);width:auto;height:1px;bottom:auto;left:0;right:0}}
