:root,[data-theme=coastal]{--color-bg:#fff;--color-bg-gradient-start:#fff;--color-bg-gradient-end:#f3f7fb;--color-accent-gradient:rgba(11,77,137,.1);--color-surface:#fff;--color-surface-muted:#f7f9fc;--color-surface-soft:#f4f7fb;--color-surface-tint:#eef4fa;--color-surface-glass:#fff;--color-sand:#e8eef5;--color-foam:#fafcfe;--color-text:#102033;--color-text-heading:#0d243f;--color-text-muted:#637389;--color-text-subtle:#54657a;--color-text-nav:#6b7c90;--color-text-faint:#7a899b;--color-primary:#0b4d89;--color-primary-bright:#2c6fb7;--color-primary-soft:#eaf3ff;--color-primary-soft-strong:#eef6ff;--color-primary-chip:#eef5ff;--color-chip-muted-bg:#f3f6fa;--color-chip-muted-text:#526276;--color-border:rgba(18,38,61,.1);--color-border-soft:rgba(18,38,61,.07);--color-border-medium:rgba(18,38,61,.12);--color-border-dashed:rgba(18,38,61,.16);--color-border-strong:rgba(11,77,137,.18);--color-border-accent:rgba(11,77,137,.16);--color-border-accent-soft:rgba(11,77,137,.08);--color-shadow:rgba(34,57,86,.04);--color-shadow-strong:rgba(11,77,137,.12);--color-shadow-success:rgba(31,122,67,.32);--color-shadow-warning:rgba(145,100,13,.3);--color-shadow-planned:rgba(11,77,137,.28);--color-button-shadow:transparent;--color-button-text:#fff;--color-success-bg:#e8f8ef;--color-success-text:#1f7a43;--color-success-border:rgba(31,122,67,.18);--color-warning-bg:#fff2cf;--color-warning-text:#91640d;--color-warning-border:rgba(145,100,13,.2);--color-error-bg:#fff4f4;--color-error-text:#8a2f2f;--color-error-border:rgba(138,47,47,.12);--color-notice-bg:#eef6ff;--color-track:#e9eef5;--color-progress-fill:#b8d7ff;--color-drop-target-bg:rgba(234,243,255,.35);--color-drop-target-border:rgba(11,77,137,.18);--color-skeleton:rgba(226,235,246,.9);--color-skeleton-mid:#f4f8fc;--color-skeleton-soft:rgba(234,243,255,.45);--color-skeleton-surface:rgba(251,253,255,.9);--color-overlay:rgba(9,24,42,.42);--color-scrollbar:rgba(11,77,137,.42);--color-scrollbar-track:rgba(11,77,137,.08);--color-scrollbar-thumb-start:rgba(11,77,137,.45);--color-scrollbar-thumb-end:rgba(35,111,213,.58);--color-scrollbar-thumb-hover-start:rgba(11,77,137,.58);--color-scrollbar-thumb-hover-end:rgba(35,111,213,.72);--color-planned:var(--color-primary);--color-planned-bg:var(--color-primary-soft);--color-progress-complete:var(--color-primary);--color-tone-math-bg:color-mix(in srgb,var(--color-primary-soft) 70%,#d8c8ff 30%);--color-tone-math-text:color-mix(in srgb,var(--color-primary) 55%,#5b3f9d 45%);--color-tone-theory-bg:color-mix(in srgb,var(--color-primary-soft) 65%,#ffd0e0 35%);--color-tone-theory-text:color-mix(in srgb,var(--color-primary) 50%,#9b3568 50%);--color-tone-applications-bg:color-mix(in srgb,var(--color-primary-soft) 75%,#d8f4ff 25%);--color-tone-applications-text:color-mix(in srgb,var(--color-primary) 70%,#176b8a 30%);--color-tone-college-bg:color-mix(in srgb,var(--color-primary-soft) 55%,#c8e8d8 45%);--color-tone-college-text:color-mix(in srgb,var(--color-primary) 55%,#1f6b4a 45%)}[data-theme=midnight]{--color-bg:#0d1524;--color-bg-gradient-start:#121c2e;--color-bg-gradient-end:#0a1220;--color-accent-gradient:rgba(110,168,220,.09);--color-surface:#1a2740;--color-surface-muted:#131e31;--color-surface-soft:#223350;--color-surface-tint:#293d5c;--color-surface-glass:rgba(26,39,64,.96);--color-sand:#223350;--color-foam:#0a1220;--color-text:#eaf0f8;--color-text-heading:#f7f9fc;--color-text-muted:#b0c2d6;--color-text-subtle:#bccddf;--color-text-nav:#b0c2d6;--color-text-faint:#8ea3bc;--color-primary:#8ec4ef;--color-primary-bright:#a8d4f5;--color-primary-soft:rgba(142,196,239,.12);--color-primary-soft-strong:rgba(142,196,239,.2);--color-primary-chip:rgba(142,196,239,.16);--color-chip-muted-bg:rgba(232,238,246,.07);--color-chip-muted-text:#b0c2d6;--color-border:rgba(148,180,220,.16);--color-border-soft:rgba(148,180,220,.1);--color-border-medium:rgba(148,180,220,.22);--color-border-dashed:rgba(148,180,220,.22);--color-border-strong:rgba(142,196,239,.38);--color-border-accent:rgba(142,196,239,.34);--color-border-accent-soft:rgba(142,196,239,.16);--color-shadow:rgba(4,10,20,.45);--color-shadow-strong:rgba(4,10,20,.58);--color-shadow-success:rgba(110,200,150,.22);--color-shadow-warning:rgba(230,190,100,.2);--color-shadow-planned:rgba(142,196,239,.22);--color-button-shadow:rgba(4,10,20,.25);--color-button-text:#0a1422;--color-success-bg:rgba(46,140,90,.18);--color-success-text:#8fd4ae;--color-success-border:rgba(110,200,150,.28);--color-warning-bg:rgba(180,140,40,.18);--color-warning-text:#e8d08a;--color-warning-border:rgba(230,190,100,.28);--color-error-bg:rgba(160,60,70,.18);--color-error-text:#f0b4b8;--color-error-border:rgba(240,160,168,.26);--color-notice-bg:rgba(142,196,239,.12);--color-track:rgba(148,180,220,.12);--color-progress-fill:rgba(142,196,239,.42);--color-drop-target-bg:rgba(142,196,239,.1);--color-drop-target-border:rgba(142,196,239,.32);--color-skeleton:rgba(232,238,246,.07);--color-skeleton-mid:rgba(232,238,246,.04);--color-skeleton-soft:rgba(232,238,246,.1);--color-skeleton-surface:rgba(23,35,56,.92);--color-overlay:rgba(6,12,22,.58);--color-scrollbar:rgba(148,180,220,.28);--color-scrollbar-track:rgba(148,180,220,.07);--color-scrollbar-thumb-start:rgba(148,180,220,.22);--color-scrollbar-thumb-end:rgba(142,196,239,.36);--color-scrollbar-thumb-hover-start:rgba(148,180,220,.34);--color-scrollbar-thumb-hover-end:rgba(142,196,239,.5);--color-planned:var(--color-primary);--color-planned-bg:var(--color-primary-soft);--color-progress-complete:var(--color-primary);--color-tone-math-bg:rgba(167,139,250,.14);--color-tone-math-text:#c4b5fd;--color-tone-theory-bg:rgba(244,114,182,.12);--color-tone-theory-text:#f9a8d4;--color-tone-applications-bg:rgba(56,189,248,.12);--color-tone-applications-text:#7dd3fc;--color-tone-college-bg:rgba(52,211,153,.12);--color-tone-college-text:#6ee7b7}:root{color:var(--color-text);background:var(--color-bg);font-family:Source Sans\ 3,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px}html:not([data-theme]){visibility:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg-gradient-start) 0,var(--color-bg-gradient-end) 72%,var(--color-foam) 100%);color-scheme:light}@media(max-width:760px){html.has-planner-chrome,html.has-planner-chrome body.has-planner-chrome{height:100%;overflow:hidden;overscroll-behavior:none}}html[data-theme=midnight]{color-scheme:dark}html{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-scrollbar-track)}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}html::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--color-scrollbar-thumb-start),var(--color-scrollbar-thumb-end));background-clip:padding-box}.themed-scroll{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) var(--color-scrollbar-track)}.themed-scroll::-webkit-scrollbar{width:10px;height:10px}.themed-scroll::-webkit-scrollbar-track{border-radius:var(--radius-pill);background:var(--color-scrollbar-track)}.themed-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--color-scrollbar-thumb-start),var(--color-scrollbar-thumb-end));background-clip:padding-box}.themed-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-scrollbar-thumb-hover-start),var(--color-scrollbar-thumb-hover-end));background-clip:padding-box}.themed-scroll-horizontal{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}@media(max-width:980px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea{font-size:16px!important}}.app-frame{min-height:100vh;--app-header-sticky-top:0px;--app-header-offset:56px;--app-bottom-tabs-offset:0px;--planner-sticky-top:calc(var(--app-header-offset) + 8px)}.app-chrome{width:100%;margin:0;padding:0;border-bottom:1px solid var(--color-border);background:var(--color-bg-gradient-start)}.page-enter-active,.page-leave-active{transition:opacity .14s ease}.page-enter-from,.page-leave-to{opacity:0}.page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:24px 0 56px}.planner-shell{width:min(1380px,calc(100% - 32px));margin:0 auto;padding:20px 0 56px}.planner-shell.is-landing{width:100%;max-width:none;margin:0;padding:0 0 64px}.planner-shell.is-catalog,.planner-shell.is-scheduler{width:min(1920px,calc(100% - 28px));padding:4px 0 0;height:calc(100dvh - var(--app-header-offset) - var(--app-bottom-tabs-offset, 0px) - 4px);max-height:calc(100dvh - var(--app-header-offset) - var(--app-bottom-tabs-offset, 0px) - 4px);display:flex;flex-direction:column;overflow:hidden}@media(max-width:1100px){.app-frame.has-planner-chrome.is-graph-tool .app-body,.app-frame.has-planner-chrome:has(.planner-shell.is-catalog) .app-body,.app-frame.has-planner-chrome:has(.planner-shell.is-scheduler) .app-body{display:flex;flex-direction:column;overflow:hidden}.app-frame.has-planner-chrome .planner-shell.is-catalog,.app-frame.has-planner-chrome .planner-shell.is-scheduler,.app-frame.has-planner-chrome.is-graph-tool .prereq-page{flex:1 1 auto;width:min(1920px,calc(100% - 16px));height:auto;max-height:none;min-height:0;overflow:hidden}.app-frame.has-planner-chrome.is-graph-tool .prereq-layout{flex:1 1 auto;min-height:0;height:100%}}.planner-shell.is-catalog>.guest-browse-banner,.planner-shell.is-catalog>.state-banner,.planner-shell.is-scheduler>.guest-browse-banner,.planner-shell.is-scheduler>.state-banner{flex:0 0 auto;margin-bottom:8px}.planner-shell.is-catalog .catalog-section,.planner-shell.is-catalog .planner-content,.planner-shell.is-catalog .planner-layout,.planner-shell.is-scheduler .planner-content,.planner-shell.is-scheduler .planner-layout,.planner-shell.is-scheduler .scheduler-section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0}.planner-shell.is-catalog .planner-layout,.planner-shell.is-scheduler .planner-layout{align-items:stretch}.planner-shell.is-catalog .planner-content>.state-banner,.planner-shell.is-catalog .planner-content>.toast-notice,.planner-shell.is-scheduler .planner-content>.state-banner,.planner-shell.is-scheduler .planner-content>.toast-notice{flex:0 0 auto}.app-header{display:flex;justify-content:stretch;width:100%;margin:0;padding:0 clamp(16px,3vw,32px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0}.nav.nav-bar{width:100%;min-height:56px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.nav.nav-bar.has-planner-tabs{gap:16px}.nav-end{margin-left:auto}.nav-end,.nav-planner-tabs{display:flex;align-items:stretch;justify-content:flex-end;gap:2px;min-width:0;align-self:stretch}.nav-planner-tabs{flex:0 0 auto;padding:0;margin:0;border:0}.nav-tab{flex:0 0 auto;padding:0 12px;white-space:nowrap}.nav-tab-short{display:none}@media(max-width:1100px){.nav-planner-tabs{display:none}}.nav-menu-toggle{display:none;align-items:center;justify-content:center;align-self:stretch;position:relative;z-index:2;width:auto;min-width:44px;min-height:56px;margin:0;border:0;border-radius:0;padding:0 12px;background:transparent;color:var(--color-text-nav);cursor:pointer;transition:color .14s ease;-webkit-tap-highlight-color:transparent}.nav-menu-toggle:hover{color:var(--color-text-heading);background:transparent}.nav-menu-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-4px}@media(max-width:1100px){.nav-menu-toggle{display:inline-flex}}@media(max-width:760px){.app-frame.has-planner-chrome{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;--app-bottom-tabs-offset:0px;--planner-sticky-top:8px}.app-frame.has-planner-chrome .app-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-frame.has-planner-chrome .app-chrome{width:100%;padding-top:0}.app-frame.has-planner-chrome .app-header{margin-bottom:0}.app-frame.has-planner-chrome .page-shell,.app-frame.has-planner-chrome .planner-shell{padding-bottom:16px}}@media(min-width:761px)and (max-width:1100px){.app-frame.has-planner-chrome[data-nav-experiment=navbar]{height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;--app-bottom-tabs-offset:0px;--planner-sticky-top:8px}.app-frame.has-planner-chrome[data-nav-experiment=navbar] .app-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-frame.has-planner-chrome[data-nav-experiment=navbar] .page-shell,.app-frame.has-planner-chrome[data-nav-experiment=navbar] .planner-shell{padding-bottom:16px}}.app-nav-drawer-root{position:fixed;inset:0;z-index:200}.app-nav-drawer-backdrop{position:absolute;inset:0;margin:0;padding:0;border:0;background:color-mix(in srgb,var(--color-text-heading) 28%,transparent);cursor:pointer}.app-nav-drawer-frame{position:absolute;inset:0;display:flex;justify-content:flex-start;pointer-events:none}.app-nav-drawer-panel{--nav-drawer-inline:16px;--nav-drawer-head-height:56px;pointer-events:auto;display:flex;flex-direction:column;width:min(288px,84vw);height:100%;max-height:100dvh;padding:0 0 calc(16px + env(safe-area-inset-bottom,0px));border-right:1px solid var(--color-border);background:var(--color-surface);box-shadow:8px 0 28px color-mix(in srgb,var(--color-text-heading) 10%,transparent);animation:app-nav-drawer-slide-in .2s ease}@keyframes app-nav-drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}body.nav-drawer-open{overflow:hidden}.app-nav-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:content-box;height:var(--nav-drawer-head-height);min-height:var(--nav-drawer-head-height);padding:0 var(--nav-drawer-inline);border-bottom:1px solid var(--color-border)}.app-nav-drawer-title{margin:0;color:var(--color-text-heading);font-size:.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.app-nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;margin:0;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.app-nav-drawer-close:hover{color:var(--color-text-heading);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.app-nav-drawer-nav{display:flex;flex-direction:column;gap:2px;padding:10px calc(var(--nav-drawer-inline) - 8px);overflow-y:auto}.app-nav-drawer-link{display:flex;align-items:center;min-height:40px;padding:0 8px;border-radius:8px;color:var(--color-text-nav);font-size:.95rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;text-decoration:none;transition:color .14s ease,background .14s ease}.app-nav-drawer-link:hover{color:var(--color-text-heading);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.app-nav-drawer-link[aria-current=page]{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.brand{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;color:var(--color-primary);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-.035em;text-decoration:none}.brand-text{line-height:1}.brand-mark{position:relative;display:grid;place-items:center;width:1.65rem;height:1.65rem;flex-shrink:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none}.brand-mark:after{content:"";width:100%;height:100%;background-color:var(--color-primary);-webkit-mask-image:url(../brand/logo-mark.png);mask-image:url(../brand/logo-mark.png);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.nav-actions{display:flex;align-items:stretch;align-self:stretch;gap:2px}.nav-theme-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;width:auto;min-height:56px;margin-right:0;border:0;border-radius:0;padding:0 12px;background:transparent;color:var(--color-text-nav);cursor:pointer;transition:color .14s ease}.nav-theme-toggle:hover{color:var(--color-text-heading);background:transparent}.nav-theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-4px}.nav-theme-icon{width:18px;height:18px;display:block}.nav-profile-link{padding:0 12px}.nav-profile-icon{width:18px;height:18px;display:block}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 12px;border-radius:0;border-bottom:2px solid transparent;color:var(--color-text-nav);font-size:.92rem;font-weight:600;text-decoration:none;transition:color .14s ease,border-color .14s ease}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-text-heading);background:transparent}.nav-link[aria-current=page]{border-bottom-color:var(--color-primary)}.nav-login{align-self:center;min-height:36px;margin-left:8px;border-radius:var(--radius-sm);padding-inline:14px;font-size:.88rem;font-weight:600;box-shadow:none}.user-email{color:var(--color-text-nav);font-size:.9rem}.hero{padding:96px 0 48px}.landing-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:16px 32px;align-items:center;box-sizing:border-box;height:calc(100svh - var(--app-header-offset) - 1px);min-height:calc(100svh - var(--app-header-offset) - 1px);width:min(1240px,calc(100% - 48px));margin:0 auto;padding:24px 0 28px;overflow:visible}.landing-hero-copy{position:relative;z-index:2;padding-bottom:0;animation:landing-hero-copy-in .7s cubic-bezier(.22,1,.36,1) both}.landing-hero .brand-hero{margin:0 0 14px;color:var(--color-primary);line-height:.98}.landing-hero .brand-hero,.landing-hero h1{font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(2rem,4.5vw,3.25rem);font-weight:700;letter-spacing:-.045em}.landing-hero h1{max-width:20ch;margin:0 0 16px;color:var(--color-text-heading);line-height:1.05}.landing-hero .hero-copy{max-width:28rem;margin:0 0 28px;font-size:1.05rem;line-height:1.65}.landing-hero .hero-actions{margin-top:0}.landing-hero-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:0;height:100%;margin-right:-20px;pointer-events:none;animation:landing-hero-visual-in .9s cubic-bezier(.22,1,.36,1) 80ms both}.landing-hero-visual:before{content:"";position:absolute;left:50%;top:52%;z-index:0;width:min(96%,580px);height:min(96%,580px);border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at 42% 38%,color-mix(in srgb,var(--color-foam) 70%,transparent) 0,transparent 42%),radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 22%,transparent) 0,color-mix(in srgb,var(--color-primary-bright) 10%,transparent) 48%,transparent 74%);pointer-events:none}html[data-theme=midnight] .landing-hero-visual:before{background:radial-gradient(ellipse at 42% 38%,color-mix(in srgb,var(--color-primary) 16%,transparent) 0,transparent 44%),radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 20%,transparent) 0,color-mix(in srgb,var(--color-primary-bright) 8%,transparent) 50%,transparent 74%)}.landing-hero-visual img{position:relative;z-index:1;display:block;width:auto;max-width:min(100%,620px);height:min(74svh,100%);max-height:640px;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;animation:landing-otter-float 5.5s ease-in-out 1s infinite}@keyframes landing-hero-copy-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-hero-visual-in{0%{opacity:0;transform:translate(28px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes landing-otter-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.landing-hero-copy,.landing-hero-visual,.landing-hero-visual img{animation:none}}.landing-section{width:min(920px,calc(100% - 48px));margin:0 auto;padding:56px 0;border-top:1px solid var(--color-border)}.landing-section h2{margin-bottom:12px;font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:600;letter-spacing:-.03em}.landing-about-copy>p,.landing-section>p{max-width:40rem;margin:0;color:var(--color-text-subtle);font-size:1.02rem;line-height:1.65}.landing-about{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px 40px;align-items:center}.landing-about-copy h2{margin-bottom:12px}.landing-about-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:200px;pointer-events:none}.landing-about-visual:before{content:"";position:absolute;inset:12% 18%;border-radius:50%;background:radial-gradient(ellipse at 40% 35%,color-mix(in srgb,var(--color-foam) 65%,transparent) 0,transparent 45%),radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 18%,transparent) 0,transparent 72%)}html[data-theme=midnight] .landing-about-visual:before{background:radial-gradient(ellipse at 40% 35%,color-mix(in srgb,var(--color-primary) 14%,transparent) 0,transparent 45%),radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 16%,transparent) 0,transparent 72%)}.landing-about-otter{position:relative;z-index:2;width:min(100%,240px);height:auto;-o-object-fit:contain;object-fit:contain}.landing-involve-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.landing-involve{padding-top:44px;padding-bottom:44px}.landing-involve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.landing-involve-card{display:flex;flex-direction:column;gap:4px;padding:12px 12px 13px;border:1px solid var(--color-border);border-radius:12px;background:color-mix(in srgb,var(--color-surface) 88%,transparent);color:inherit;text-decoration:none;transition:border-color .14s ease,background .14s ease,transform .14s ease}.landing-involve-card:hover{border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));transform:translateY(-1px)}.landing-involve-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-bottom:2px;color:var(--color-primary)}.landing-involve-icon svg{width:18px;height:18px}.landing-involve-card-title{color:var(--color-text-heading);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:-.02em}.landing-involve-card-copy{color:var(--color-text-muted);font-size:.84rem;line-height:1.4}.site-page{width:min(920px,calc(100% - 48px));margin:0 auto;padding:36px 0 72px}.site-page-hero{padding-bottom:28px;border-bottom:1px solid var(--color-border)}.site-page-hero h1{max-width:18ch;margin:0 0 14px;color:var(--color-text-heading);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(1.85rem,4vw,2.6rem);font-weight:700;letter-spacing:-.04em;line-height:1.08}.site-page-lede{max-width:38rem;margin:0;color:var(--color-text-subtle);font-size:1.05rem;line-height:1.65}.site-page-panel{padding:40px 0 0}.site-page-panel+.site-page-panel{margin-top:12px;padding-top:36px;border-top:1px solid var(--color-border)}.site-page-panel h2{margin:0 0 12px;color:var(--color-text-heading);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:600;letter-spacing:-.03em}.site-page-copy p,.site-page-panel p{max-width:40rem;margin:0 0 14px;color:var(--color-text-subtle);font-size:1.02rem;line-height:1.65}.site-page-copy p:last-child,.site-page-panel p:last-child{margin-bottom:0}.site-page-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px 40px;align-items:center}.site-page-split.is-contact{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.site-page-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:240px}.site-page-visual:before{content:"";position:absolute;inset:10% 16%;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 18%,transparent) 0,transparent 72%)}.site-page-visual img{position:relative;z-index:1;width:min(100%,300px);height:auto;-o-object-fit:contain;object-fit:contain}.site-page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.site-page-notice{padding:28px 0 0}.site-contact-form{display:grid;gap:10px}.site-contact-form label{margin-top:6px;color:var(--color-text-heading);font-size:.92rem;font-weight:600}.site-contact-form input,.site-contact-form textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);font:inherit}.site-contact-form input:focus,.site-contact-form textarea:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:1px}.site-contact-form textarea{resize:vertical;min-height:140px}.site-contact-form .button{margin-top:10px;justify-self:start}.site-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.site-contact-aside{padding:4px 0 0}.site-contact-list{list-style:none;margin:0;padding:0}.site-contact-list li+li{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.site-contact-label{display:block;margin-bottom:4px;color:var(--color-text-faint);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.site-contact-list a{color:var(--color-text-heading);text-decoration:none}.site-contact-list a:hover{color:var(--color-primary)}.landing-footer{width:min(920px,calc(100% - 48px));margin:0 auto;padding:40px 0 28px;border-top:1px solid var(--color-border);color:var(--color-text-faint);font-size:.9rem}.landing-footer-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr);gap:32px 48px;align-items:start}.landing-footer-brand{max-width:22rem}.landing-footer-name{margin:0 0 8px;color:var(--color-text-heading);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:-.03em}.landing-footer-brand>p:nth-child(2){margin:0;color:var(--color-text-muted);line-height:1.55}.landing-footer-disclaimer{margin:12px 0 0;color:var(--color-text-faint);line-height:1.5;font-size:.85rem}.landing-footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}.landing-footer-columns h3{margin:0 0 12px;color:var(--color-text-heading);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.landing-footer-columns ul{list-style:none;margin:0;padding:0}.landing-footer-columns li+li{margin-top:8px}.landing-footer-columns a{color:var(--color-text-muted);text-decoration:none;transition:color .14s ease}.landing-footer-columns a:hover{color:var(--color-primary)}.landing-footer-copy{margin:36px 0 0;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-text-faint);font-size:.85rem}.planner-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:end;padding:12px 0 16px;transition:padding .18s ease}.planner-hero h1{max-width:760px;font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(1.25rem,2.2vw,1.5rem);font-weight:600;line-height:1.2;letter-spacing:-.03em;transition:font-size .18s ease}.planner-hero.is-compact{padding:8px 0 12px;align-items:center}.planner-hero.is-hub{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:4px 0 10px;border-bottom:1px solid var(--color-border);margin-bottom:8px}.planner-hero.is-hub h1{margin-bottom:4px}.planner-hero.is-compact .hero-copy,.planner-hero.is-compact .section-note{display:none}.hub-progress{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:7rem;text-align:right}.hub-progress span{color:var(--color-text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hub-progress strong{color:var(--color-primary);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:1.35rem;font-weight:600;letter-spacing:-.03em;line-height:1.15}.hub-progress p{margin:0;color:var(--color-text-subtle);font-size:.82rem;line-height:1.35}.hero-summary-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px 18px;background:var(--color-surface);box-shadow:none}.hero-summary-card span{color:var(--color-text-muted);font-weight:700}.hero-summary-card strong{display:block;margin:8px 0;color:var(--color-primary);font-size:1.5rem;letter-spacing:-.04em}.hero-summary-card p{margin-bottom:0;color:var(--color-text-subtle);line-height:1.5}.card-label,.eyebrow{margin:0 0 10px;color:var(--color-primary);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:860px;margin-bottom:14px;color:var(--color-text-heading);font-size:clamp(1.45rem,3vw,1.85rem);line-height:1.15;letter-spacing:-.035em}h1,h2{font-family:Outfit,Source Sans\ 3,sans-serif;font-weight:600}h2{margin-bottom:0;color:var(--color-text);font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:-.03em}h3{margin-bottom:8px;color:var(--color-text-heading)}.hero-copy,h3{font-size:1.05rem}.hero-copy{max-width:680px;color:var(--color-text-subtle);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:var(--radius-sm);padding:0 16px;background:var(--color-primary);color:var(--color-button-text);cursor:pointer;font-weight:600;box-shadow:none}.button:disabled{cursor:not-allowed;opacity:.65}.button.is-loading{position:relative;cursor:default;opacity:1;pointer-events:none}.button.is-loading:before{content:"";flex:0 0 auto;width:.9em;height:.9em;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentcolor;border-radius:50%;animation:button-spin .65s linear infinite}@keyframes button-spin{to{transform:rotate(1turn)}}.button-secondary{border:1px solid var(--color-border-strong);background:transparent;color:var(--color-primary);box-shadow:none}.button-compact{padding:.35rem .65rem;font-size:.8rem;font-weight:600}.button-ghost{border:0;background:transparent;color:var(--color-primary);box-shadow:none;text-decoration:underline;text-underline-offset:3px;padding-inline:4px}.full{width:100%}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.planner-layout{display:grid;gap:20px;align-items:start}.planner-layout,.planner-layout.has-sidebar{grid-template-columns:minmax(0,1fr)}@media(min-width:761px){.planner-layout.has-sidebar{grid-template-columns:280px minmax(0,1fr)}}.planner-sidebar{display:none;position:sticky;top:var(--planner-sticky-top);z-index:30;gap:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow);backdrop-filter:blur(16px) saturate(1.12);-webkit-backdrop-filter:blur(16px) saturate(1.12)}@media(min-width:761px){.planner-layout.has-sidebar .planner-sidebar{display:grid}}.sidebar-tabs{display:grid;gap:10px}.sidebar-tab{display:grid;gap:4px;border:1px solid transparent;border-radius:var(--radius-lg);padding:14px;background:transparent;color:var(--color-text-subtle);cursor:pointer;text-align:left}.sidebar-tab-label,.sidebar-tab-short{color:var(--color-text-heading);font-weight:900}.sidebar-tab-short{display:none}.sidebar-tab small{color:var(--color-text-faint);line-height:1.35}.sidebar-tab.active{border-color:var(--color-border-strong);background:var(--color-primary-soft)}.planner-content,.planner-section{min-width:0;overflow-anchor:none}.planner-section{display:grid;gap:20px}.overview-stack{display:grid;gap:16px}.overview-stack.overview-compact{gap:10px}.hub-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.hub-jump{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:14px 16px;border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background .12s ease}.hub-jump:nth-child(2n){border-right:0}.hub-jump:nth-last-child(-n+2){border-bottom:0}.hub-jump:hover{background:var(--color-surface-soft)}.hub-jump-copy{display:grid;gap:2px;min-width:0}.hub-jump-copy strong{color:var(--color-text-heading);font-size:.98rem;font-weight:600}.hub-jump-copy span{color:var(--color-text-muted);font-size:.84rem;line-height:1.35}.hub-jump-arrow{flex-shrink:0;color:var(--color-primary);font-size:1.1rem;line-height:1}.progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.overview-progress-panel{display:grid;gap:10px;padding:12px 14px;box-shadow:none}.overview-progress-headline{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px 16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-soft)}.overview-progress-headline h2{margin:0;color:var(--color-text-heading);font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.overview-progress-headline .eyebrow{margin-bottom:2px}.overview-progress-headline strong{display:block;color:var(--color-primary);font-size:1.4rem;line-height:1.1;letter-spacing:-.03em}.overview-progress-headline>p{margin:0;max-width:34ch;color:var(--color-text-muted);font-size:.78rem;font-weight:600;line-height:1.35;text-align:right}.overview-progress-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.overview-progress-cell{display:grid;gap:4px;min-width:0}.overview-progress-cell-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.overview-progress-cell-head span{color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.overview-progress-cell-head strong{color:var(--color-text-heading);font-size:.95rem;letter-spacing:-.03em}.overview-progress-cell .progress-bar.compact{height:5px;margin:0}.overview-progress-cell p{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.overview-dept-ranks{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--color-border-soft)}.overview-dept-ranks-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}.overview-dept-ranks-head .eyebrow{margin-bottom:0}.overview-dept-ranks-head span{color:var(--color-text-faint);font-size:.68rem;font-weight:600}.overview-dept-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.overview-dept-row{display:grid;grid-template-columns:1.25rem minmax(0,1fr) minmax(72px,.55fr);gap:4px 8px;align-items:center}.overview-dept-rank{color:var(--color-text-faint);font-size:.72rem;font-weight:800}.overview-dept-main{display:grid;gap:1px;min-width:0}.overview-dept-main strong{color:var(--color-text-heading);font-size:.8rem}.overview-dept-main span{color:var(--color-text-muted);font-size:.68rem;font-weight:600}.overview-dept-bar{height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-track)}.overview-dept-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#22c55e)}.overview-dept-peer{grid-column:2/-1;margin:0;color:var(--color-text-faint);font-size:.66rem;font-weight:600;line-height:1.3}.overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:10px;align-items:start}.overview-panel{display:grid;gap:8px;padding:12px;box-shadow:none}.overview-panel .section-heading{display:grid;gap:2px;margin-bottom:0}.overview-panel .section-heading h2{font-size:1rem;letter-spacing:-.03em}.overview-panel-note{max-width:none;margin:0;font-size:.82rem;line-height:1.4}.overview-empty-copy{margin:0;color:var(--color-text-faint);line-height:1.5;font-size:.88rem}.attention-list{display:grid;grid-template-columns:1fr;gap:6px}.plan-term-list{display:grid;gap:6px;align-content:start;max-height:14rem;overflow-y:auto;scrollbar-width:none}.plan-term-list::-webkit-scrollbar{width:0;height:0}.plan-term-compact{display:grid;gap:5px;padding:7px 8px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-muted)}.plan-term-compact-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.plan-term-compact-head strong{color:var(--color-text-heading);font-size:.8rem;font-weight:800}.plan-term-compact-head span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.plan-course-chips{display:flex;flex-wrap:wrap;gap:4px}.plan-course-chip{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:3px 8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.plan-course-chip:hover{border-color:var(--color-border-strong);background:var(--color-primary-soft);color:var(--color-primary)}.plan-term-list-wide{max-height:18rem;gap:8px}.plan-term-quarter{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-muted)}.plan-term-quarter .term-unit-track{height:6px}.plan-course-rows{display:grid;gap:4px}.plan-course-row-compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:baseline;width:100%;border:0;border-radius:var(--radius-lg);padding:4px 6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.plan-course-row-compact:hover{background:var(--color-surface)}.plan-course-row-compact strong{color:var(--color-text-heading);font-size:.78rem;font-weight:800}.plan-course-row-compact span{color:var(--color-text-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-course-row-compact em{color:var(--color-text-faint);font-size:.7rem;font-style:normal;font-weight:700}.overview-schedule-panel .overview-panel-note{font-size:.72rem;font-weight:700;color:var(--color-text-muted)}.suggestion-filters{display:flex;flex-wrap:wrap;gap:6px}.suggestion-interest-tags{display:flex;flex-wrap:wrap;gap:3px}.suggestion-interest-tag{border-radius:var(--radius-md);padding:1px 6px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:.6rem;font-weight:700;line-height:1.2}.suggestion-scroll{max-height:13.5rem;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-width:thin}.suggestion-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.suggestion-course-card{display:grid;gap:2px;align-content:start;width:100%;min-height:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:7px 8px;background:var(--color-surface-muted);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.suggestion-course-card:hover{border-color:var(--color-border);background:var(--color-surface)}.suggestion-course-card strong{color:var(--color-text-heading);font-size:.78rem;font-weight:800}.suggestion-course-title{color:var(--color-text);font-size:.7rem;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.suggestion-course-reason{color:var(--color-text-muted);font-size:.64rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.suggestion-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid-top{grid-template-columns:1fr}.requirement-columns.has-college,.requirement-columns.has-secondary,.requirement-columns.has-secondary.has-college{grid-template-columns:minmax(0,1fr);gap:28px}.req-progress-overview.has-college,.req-progress-overview.has-secondary,.req-progress-overview.has-secondary.has-college{grid-template-columns:minmax(0,1fr);gap:16px}}.attention-card{display:grid;gap:5px;width:100%;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:7px 10px;background:var(--color-surface-muted);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.attention-card:hover{border-color:var(--color-border);background:var(--color-surface)}.attention-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.attention-card-head strong{display:block;margin-bottom:1px;color:var(--color-text-heading);font-size:.82rem;line-height:1.2}.overview-compact .attention-card-detail,.overview-compact .attention-card-head span:not(.status-pill){font-size:.7rem}.overview-compact .attention-card .status-pill{font-size:.68rem;padding:2px 7px}.attention-card-head span{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.attention-card .status-pill{padding:4px 8px;font-size:.68rem}.attention-progress{display:grid;gap:4px}.overview-suggestions-panel{margin-top:0}.overview-profile-link{margin-left:.35em;color:var(--color-accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.overview-interest-cta{display:grid;gap:12px;justify-items:start;padding:14px 12px;border:1px dashed var(--color-border-accent);border-radius:var(--radius-md);background:var(--color-primary-soft)}.overview-interest-cta p{margin:0;color:var(--color-text);font-size:.9rem;line-height:1.45}.suggestion-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.suggestion-course-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;width:100%;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:7px 9px;background:var(--color-surface-muted);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.overview-compact .suggestion-course-row strong{color:var(--color-text-heading);font-size:.8rem}.overview-compact .suggestion-course-row>span{color:var(--color-text-muted);font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-course-row:hover{border-color:var(--color-border);background:var(--color-surface)}.suggestion-course-main{display:grid;gap:1px;min-width:0}.suggestion-course-main strong{color:var(--color-text-heading);font-size:.86rem;line-height:1.2}.suggestion-course-main span{color:var(--color-text-muted);font-size:.74rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-course-meta{flex-shrink:0;max-width:42%;color:var(--color-text-faint);font-size:.68rem;line-height:1.3;text-align:right}.attention-progress-label{color:var(--color-text-faint);font-size:.72rem;font-weight:700}.attention-progress .progress-bar.compact{height:6px;margin:0}.overview-charts{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px}.overview-charts-compact{gap:12px 16px;padding:12px;box-shadow:none}.overview-charts-pulse{grid-template-columns:1fr;gap:6px;min-height:0;align-content:start;justify-items:stretch}.overview-grid-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.overview-gaps-panel,.overview-suggestions-panel{align-content:start;min-width:0}.overview-gaps-panel .attention-list{gap:8px;min-width:0}.overview-gaps-panel .attention-card{gap:10px;min-width:0;min-height:5.25rem;padding:12px 14px;overflow:hidden}.overview-gaps-panel .attention-card-head{display:flex;align-items:flex-start;gap:10px;min-width:0}.overview-gaps-panel .attention-card-copy{display:grid;gap:3px;flex:1;min-width:0}.overview-gaps-panel .attention-card-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 8px;min-width:0}.overview-gaps-panel .attention-card-head strong{flex:1 1 8rem;min-width:0;margin-bottom:0;font-size:.9rem;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.overview-gaps-panel .attention-card-detail{display:block;min-width:0;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.overview-gaps-panel .attention-card .status-pill{flex:0 1 auto;max-width:100%;margin-top:0;white-space:normal;overflow-wrap:anywhere}.overview-gaps-panel .attention-progress{margin-top:2px;min-width:0}.overview-grid-top .suggestion-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid-top .suggestion-scroll{max-height:18rem}.donut-chart-frame{width:min(100%,200px);aspect-ratio:1;height:auto;margin:0 auto}.overview-charts-pulse .donut-chart-body{display:grid;grid-template-columns:1fr;justify-items:center;align-content:start;gap:10px}.overview-charts-pulse .overview-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;width:100%}.overview-charts-pulse .overview-chart-legend li{grid-template-columns:8px auto auto;gap:5px}.overview-charts-pulse .overview-chart-surface{width:100%;height:100%;min-height:0;aspect-ratio:1}.overview-charts-pulse .overview-chart-surface :deep(.unovis-single-container),.overview-charts-pulse .overview-chart-surface :deep(svg){display:block;width:100%!important;height:100%!important;overflow:visible}.overview-charts-pulse .overview-chart-fallback{width:100%;aspect-ratio:1;min-height:0;border-radius:50%}.attention-priority{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:.7rem;font-weight:800}.legend-swatch.pulse-complete{background:#22c55e}.legend-swatch.pulse-now{background:#f59e0b}.legend-swatch.pulse-plan{background:#38bdf8}.overview-chart-block,.overview-chart-panel{display:grid;gap:6px;min-width:0}.overview-chart-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;background:var(--color-surface-glass);box-shadow:0 16px 42px var(--color-shadow)}.overview-chart-title{display:grid;gap:1px}.overview-chart-panel .section-heading h2,.overview-chart-title h2{margin:0;font-size:.98rem;letter-spacing:-.03em}.overview-chart-panel .eyebrow,.overview-chart-title .eyebrow{margin-bottom:0}.overview-chart-panel .section-heading{display:grid;gap:4px;margin-bottom:0}.overview-chart-body{display:grid;gap:8px;min-height:0}.donut-chart-body{grid-template-columns:minmax(0,1.05fr) minmax(88px,.7fr);align-items:center;gap:8px}.overview-chart-surface{width:100%;min-height:132px;--vis-font-family:inherit;--vis-donut-central-label-font-size:1.15rem;--vis-donut-central-label-font-weight:800;--vis-donut-central-label-text-color:var(--color-text-heading);--vis-axis-tick-label-color:var(--color-text-muted);--vis-axis-tick-color:var(--color-border);--vis-axis-grid-color:var(--color-border-soft);--vis-tooltip-background-color:var(--color-surface);--vis-tooltip-text-color:var(--color-text);--vis-tooltip-border-color:var(--color-border)}.overview-chart-fallback{min-height:132px;border-radius:var(--radius-md);background:linear-gradient(120deg,var(--color-skeleton-soft),var(--color-skeleton-mid),var(--color-skeleton-soft))}.overview-chart-legend{display:grid;gap:5px;margin:0;padding:0;list-style:none}.overview-chart-legend li{display:grid;grid-template-columns:8px auto 1fr;gap:6px;align-items:baseline}.overview-chart-legend strong{color:var(--color-text-heading);font-size:.92rem;letter-spacing:-.04em}.overview-chart-legend span:last-child{color:var(--color-text-muted);font-size:.7rem;font-weight:700}.legend-swatch{width:8px;height:8px;border-radius:var(--radius-pill);margin-top:5px}.legend-swatch.complete{background:var(--color-success-text)}.legend-swatch.in-progress{background:var(--color-warning-text)}.legend-swatch.planned{background:var(--color-planned)}.term-unit-meters{display:grid;gap:5px;max-height:9.5rem;overflow-y:auto;scrollbar-width:none}.term-unit-meters::-webkit-scrollbar{width:0;height:0}.term-unit-row{display:grid;gap:4px}.term-unit-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.term-unit-meta strong{color:var(--color-text-heading);font-size:.84rem;font-weight:800}.term-unit-meta span{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.term-unit-track{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-track)}.term-unit-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-bright));min-width:4px;transition:width .2s ease}.workload-chart-body{min-height:0}.plan-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-stat-card{display:grid;gap:4px;border:1px solid var(--color-border-accent-soft);border-radius:var(--radius-lg);padding:14px;background:var(--color-surface-tint)}.plan-stat-wide{grid-column:1/-1}.plan-stat-card strong{color:var(--color-primary);font-size:1.35rem;letter-spacing:-.03em;line-height:1.1}.plan-stat-card span{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.plan-term-group{display:grid;gap:8px}.plan-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plan-term-head h3{margin:0;color:var(--color-primary);font-size:.88rem}.plan-term-head span{color:var(--color-text-faint);font-size:.72rem;font-weight:800}.plan-course-list{display:grid;gap:6px}.plan-course-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:8px 10px;background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.plan-course-row:hover{border-color:var(--color-drop-target-border);background:var(--color-surface-soft)}.plan-course-main{min-width:0}.plan-course-main strong{display:block;margin-bottom:2px;color:var(--color-primary);font-size:.9rem}.plan-course-main span{display:block;color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.plan-course-meta{display:grid;justify-items:end;gap:4px;flex:none}.plan-course-meta .status-pill{padding:4px 8px;font-size:.68rem}.plan-course-meta>span:last-child{color:var(--color-text-faint);font-size:.7rem;font-weight:800}.attention-card-skeleton,.plan-course-row-skeleton,.plan-stat-card-skeleton{pointer-events:none}.plan-course-row-skeleton{display:grid;gap:8px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--color-border-soft);background:var(--color-surface-muted)}.progress-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;background:var(--color-surface-glass);box-shadow:0 24px 70px var(--color-shadow)}.progress-card-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.progress-card strong{color:var(--color-primary);font-size:1.5rem;letter-spacing:-.04em}.progress-card p{margin-bottom:8px;color:var(--color-text-subtle);font-weight:800}.progress-card span{color:var(--color-text-muted)}.progress-bar{position:relative;height:12px;overflow:hidden;border-radius:var(--radius-pill);margin:16px 0;background:var(--color-track)}.progress-bar.compact{height:9px;margin:12px 0 16px}.progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit}.progress-fill.planned{background:var(--color-progress-fill)}.progress-fill.complete{background:var(--color-progress-complete)}.auth-card,.card,.panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none}.card{padding:24px}.card strong{display:block;margin-bottom:8px;color:var(--color-text);font-size:1.4rem;letter-spacing:-.03em}.card span,.course-row span{color:var(--color-text-muted)}.panel{padding:20px}.state-banner{display:flex;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:16px;padding:12px 16px;font-weight:800}.state-banner,.state-banner-notice,.state-banner-saving{background:var(--color-notice-bg);color:var(--color-primary)}.state-banner-notice,.state-banner-saving{border-color:var(--color-border-strong)}.state-banner-saving:before{content:"";flex:0 0 auto;width:.85em;height:.85em;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentcolor;border-radius:50%;animation:button-spin .65s linear infinite}.state-banner-error{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error-border)}.guest-browse-banner{justify-content:space-between;flex-wrap:wrap;margin-bottom:8px;font-weight:600}.guest-browse-banner .button{flex:0 0 auto}.guest-sign-in-gate{width:min(560px,calc(100% - 48px));margin:48px auto;padding:28px 24px;text-align:center}.guest-sign-in-gate h2{margin:0 0 10px;font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:700;letter-spacing:-.03em;color:var(--color-text-heading)}.guest-sign-in-gate p{margin:0 auto 22px;max-width:36ch;color:var(--color-text-subtle);font-size:1.02rem;line-height:1.55}.guest-sign-in-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.toast-notice{position:fixed;top:auto;right:24px;bottom:calc(20px + var(--app-bottom-tabs-offset, 0px));z-index:60;max-width:min(340px,calc(100vw - 48px));border:1px solid var(--color-border);border-left:3px solid var(--color-success-text);border-radius:var(--radius-md);padding:11px 14px;background:var(--color-surface);color:var(--color-success-text);font-size:.9rem;font-weight:700;line-height:1.35;box-shadow:0 10px 28px var(--color-shadow)}.toast-notice-error{border-left-color:var(--color-error-text);color:var(--color-error-text)}.toast-enter-active,.toast-leave-active{transition:opacity .18s ease,transform .18s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(10px)}.compact-heading{align-items:start}.section-note{max-width:340px;margin:0;color:var(--color-text-muted);line-height:1.5}.section-note.advising-disclaimer{max-width:42rem;font-size:.72rem;font-weight:500;line-height:1.35;color:var(--color-text-faint)}.section-note.advising-disclaimer a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.section-note.advising-disclaimer a:hover{text-decoration-thickness:2px}.mini-list,.requirement-choice-list,.stats-list{display:grid;gap:12px}.mini-row,.requirement-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:14px;background:var(--color-surface-muted)}.mini-row strong,.requirement-choice strong{display:block;margin-bottom:4px;color:var(--color-text-heading)}.mini-row span,.requirement-choice p{margin:0;color:var(--color-text-muted);line-height:1.45}.requirement-option-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.option-chip{border:1px solid var(--color-border-accent);border-radius:var(--radius-md);padding:6px 10px;background:var(--color-primary-soft-strong);color:var(--color-primary);font-size:.82rem;font-weight:900}.option-chip.matched{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success-text)}.option-chip:disabled{cursor:not-allowed;opacity:.6}.more-chip{background:var(--color-surface);cursor:pointer}.stats-list{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-list div{border-radius:var(--radius-lg);padding:16px;background:var(--color-surface-muted)}.stats-list strong{display:block;color:var(--color-primary);font-size:1.4rem;letter-spacing:-.03em}.stats-list span{color:var(--color-text-muted);font-size:.9rem}.import-box,.planner-form,.schedule-controls{display:grid;gap:12px;margin-bottom:18px}.import-box textarea,.planner-form select,.schedule-controls select{width:100%;border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);padding:12px 14px;background:var(--color-surface);color:var(--color-text);outline:none}.import-box label{color:var(--color-text-subtle);font-size:.9rem;font-weight:900}.import-box textarea{min-height:110px;resize:vertical}.text-button{border:0;background:transparent;color:var(--color-error-text);cursor:pointer;font-weight:900}.quarter-course-delete{position:relative;z-index:0;margin:-8px -6px -8px 0;padding:8px 10px;border-radius:var(--radius-md);line-height:1.2;white-space:nowrap;cursor:pointer;touch-action:manipulation}.text-button:disabled{cursor:not-allowed;opacity:.55}.requirement-accordion,.requirement-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:0;align-items:start;border-top:1px solid var(--color-border);background:transparent}.requirement-stack{display:grid;gap:18px}.requirement-stack-flat{gap:20px}.req-progress-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 22px;padding-bottom:2px;border-bottom:1px solid var(--color-border-soft)}.req-progress-overview.has-college,.req-progress-overview.has-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.req-progress-overview.has-secondary.has-college{grid-template-columns:repeat(3,minmax(0,1fr))}.req-progress-track{display:grid;gap:4px;min-width:0}.req-progress-track-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.req-progress-track-head h3{margin:0;color:var(--color-text-heading);font-size:.92rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;min-width:0}.req-progress-percents{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:none;text-align:right}.req-progress-percents strong{color:var(--color-primary);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:1.05rem;font-weight:650;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.req-progress-planned-pct{color:var(--color-text-muted);font-size:.68rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.req-progress-bar{height:6px;margin:1px 0 0}.req-progress-meta{margin:0;color:var(--color-text-muted);font-size:.74rem;font-weight:650;line-height:1.3}.requirement-progress-skeleton .req-progress-track-head .skeleton-line-medium{width:min(55%,160px)}.req-progress-bar-skeleton{display:block;width:100%;height:6px;border-radius:var(--radius-pill);margin-top:1px}.req-legend{margin:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;color:var(--color-text-muted);font-size:.78rem;font-weight:650}.req-legend-item.is-complete{color:var(--color-success-text)}.req-legend-item.is-progress{color:var(--color-warning-text)}.req-legend-item.is-planned{color:var(--color-planned)}.req-legend-item.is-option{color:var(--color-text-muted)}.requirement-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}.requirement-columns.has-college,.requirement-columns.has-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}.requirement-columns.has-secondary.has-college{grid-template-columns:repeat(3,minmax(0,1fr))}.overlap-banner{display:grid;gap:12px;align-items:start}.overlap-banner-copy{display:grid;gap:4px}.overlap-banner-copy p{margin:0;font-size:.9rem;line-height:1.4}.overlap-scope-list{display:grid;gap:8px}.overlap-scope-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.modal-scope-actions,.overlap-scope-actions{display:flex;flex-wrap:wrap;gap:6px}.modal-scope-row{display:grid;gap:6px;margin-top:10px}.hub-progress-secondary{margin:2px 0 0;font-size:.82rem;color:var(--color-text-muted)}.hero-double-major-sep{font-weight:500;color:var(--color-text-muted)}.requirement-column{display:grid;gap:8px;min-width:0}.requirement-column-progress{display:none}.requirement-column-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--color-text-heading)}@media(max-width:1100px){.requirement-stack-flat>.req-progress-overview{display:none}.requirement-column-progress{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid var(--color-border-soft);margin-bottom:2px}.requirement-column-title{display:none}}.requirement-college-divider{padding:2px 0 0}.requirement-college-divider h3{margin:0;font-size:1.05rem;font-weight:800;color:var(--color-text-heading)}.requirement-card{margin:0;border:0;border-bottom:1px solid var(--color-border-soft);border-radius:0;padding:0;background:transparent;box-shadow:none;min-width:0}.requirement-card-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px 14px;margin:0;padding:12px 0 11px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.requirement-card-toggle:focus-visible h3,.requirement-card-toggle:hover h3{color:var(--color-primary)}.requirement-card-toggle:focus-visible .req-chevron,.requirement-card-toggle:hover .req-chevron{color:var(--color-text-heading)}.requirement-card-toggle:focus-visible{outline:1px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:2px}.requirement-card-toggle-main{display:flex;align-items:center;gap:.45rem .55rem;min-width:0;flex-wrap:wrap}.req-chevron{flex:none;display:inline-flex;align-items:center;justify-content:center;width:.9rem;height:.9rem;color:var(--color-text-faint);transition:transform .15s ease,color .15s ease}.req-chevron svg{display:block;width:10px;height:10px}.requirement-card.is-expanded .req-chevron{transform:rotate(90deg);color:var(--color-text-muted)}.requirement-card-toggle h3{margin:0;font-size:.95rem;line-height:1.3;font-weight:750;color:var(--color-text-heading)}.req-units{color:var(--color-text-muted);font-size:.8rem;font-weight:650;font-variant-numeric:tabular-nums}.req-status,.req-units{flex:none;white-space:nowrap}.req-status{color:var(--color-text-faint);font-size:.78rem;font-weight:700}.req-status.is-complete{color:var(--color-success-text)}.req-status.is-progress{color:var(--color-warning-text)}.req-status.is-planned{color:var(--color-planned)}.requirement-card-body{padding:0 0 12px 1.45rem}.req-waived-note{margin:0;padding:4px 0 2px;color:var(--color-text-subtle);font-size:.84rem;line-height:1.45}.req-choice-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.req-choice-row{margin:0;padding:8px 0;border-top:1px solid var(--color-border-soft)}.req-choice-row:first-child{border-top:0;padding-top:2px}.req-choice-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px 14px;margin-bottom:2px}.req-choice-label{min-width:0;color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.35}.req-choice-units{flex:none;color:var(--color-text-faint);font-size:.78rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.req-choice-empty{color:var(--color-text-faint);font-size:.84rem}.req-course-line{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 0;line-height:1.5;color:var(--color-text);font-size:.88rem}.req-sep{margin:0 .3rem;color:var(--color-text-faint)}.req-course-link{border:0;padding:0;background:transparent;color:var(--color-text-heading);cursor:pointer;font:inherit;font-weight:650;text-underline-offset:.15em}.req-course-link:focus-visible,.req-course-link:hover{color:var(--color-primary);text-decoration:underline;outline:none}.req-course-link.is-option{color:var(--color-text-muted);font-weight:550}.req-course-link.is-complete{color:var(--color-success-text)}.req-course-link.is-progress{color:var(--color-warning-text)}.req-course-link.is-planned{color:var(--color-planned)}.req-browse-toggle{border:0;padding:0;background:transparent;color:var(--color-primary);cursor:pointer;font:inherit;font-size:.84rem;font-weight:650}.req-browse-toggle:focus-visible,.req-browse-toggle:hover{text-decoration:underline;outline:none}.req-browse{margin-top:8px}.req-browse-row{display:flex;gap:.45rem;align-items:center}.req-browse-input{flex:1;min-width:0;height:2.2rem;padding:0 .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.86rem}.req-browse-input:focus{outline:1px solid color-mix(in srgb,var(--color-primary) 55%,transparent);outline-offset:0}.req-browse-close{flex:none;height:2.2rem;padding:0 .7rem;border:0;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-bg) 55%,var(--color-surface));color:var(--color-text);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.req-browse-close:focus-visible,.req-browse-close:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);outline:none}.req-browse-results{list-style:none;margin:.45rem 0 0;padding:.2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);max-height:180px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,1fr);gap:1px}.req-browse-results>li{min-width:0}.req-browse-result{width:100%;display:block;text-align:left;border:0;border-radius:var(--radius-sm);padding:.4rem .55rem;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req-browse-result:focus-visible,.req-browse-result:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:none}.req-browse-empty{padding:.45rem .5rem;color:var(--color-text-muted);font-size:.84rem}.choice-marker,.status-pill{flex:none;border-radius:var(--radius-sm);padding:4px 8px;background:var(--color-chip-muted-bg);color:var(--color-chip-muted-text);font-size:.78rem;font-weight:700}.choice-marker.complete,.status-pill.complete{background:var(--color-success-bg);color:var(--color-success-text)}.choice-marker.in-progress,.status-pill.in-progress{background:var(--color-warning-bg);color:var(--color-warning-text)}.choice-marker.planned,.status-pill.planned{background:var(--color-planned-bg);color:var(--color-planned)}.choice-marker.missing,.status-pill.missing{background:var(--color-chip-muted-bg);color:var(--color-text-faint)}.quarter-board{display:grid;grid-auto-columns:minmax(290px,330px);grid-auto-flow:column;gap:14px;min-height:22rem;overflow-x:auto;overflow-y:visible;padding:2px 2px 14px;scroll-behavior:auto;scroll-snap-type:x proximity;scroll-padding-inline:8px;overscroll-behavior-x:contain;overflow-anchor:none}.quarter-board.is-dragging{scroll-snap-type:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.calendar-board{grid-auto-columns:minmax(300px,340px)}.quarter-board-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 14px;padding-bottom:2px}.quarter-board-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto}.quarter-board-toolbar .toolbar-range-controls{align-items:end;gap:10px 14px;margin:0}.quarter-board-toolbar .planner-range-field{min-width:118px}.quarter-board-toolbar .planner-range-field>span{font-size:.68rem}.quarter-board-toolbar .button{min-height:32px;gap:4px;border-radius:var(--radius-md);padding:0 12px;font-size:.78rem;font-weight:700;box-shadow:none}.quarter-board-toolbar .quarter-board-icon-btn{width:32px;min-width:32px;padding:0;justify-content:center}.quarter-board-toolbar .quarter-board-icon-btn svg{display:block;flex-shrink:0}.export-schedule{position:relative}.export-schedule-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;gap:6px;width:min(280px,80vw);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:10px;background:var(--color-surface);box-shadow:0 18px 40px var(--color-shadow-strong)}.export-schedule-label{margin:0 0 2px;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.export-schedule-action{display:grid;gap:2px;width:100%;border:0;border-radius:var(--radius-md);padding:8px 10px;background:transparent;color:inherit;text-align:left;cursor:pointer}.export-schedule-action:focus-visible,.export-schedule-action:hover{background:var(--color-surface-muted);outline:none}.export-schedule-action strong{font-size:.86rem}.export-schedule-action span{color:var(--color-text-muted);font-size:.72rem;line-height:1.35}.sync-timetable-empty,.sync-timetable-hint{margin:0;color:var(--color-text-muted);font-size:.72rem;line-height:1.4}.sync-timetable-hint{margin-bottom:4px}.sync-timetable-empty{padding:6px 4px 2px}.quarter-board.is-compact{display:flex;flex-direction:column;gap:14px;overflow:visible;scroll-snap-type:none;padding-bottom:8px}.quarter-board.is-compact.calendar-board{grid-auto-columns:unset}.school-year-group{display:grid;gap:10px;min-width:0;border:0;border-radius:0;padding:0;background:transparent}.school-year-group-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;padding:0 2px}.school-year-group-header h3{margin:0;color:var(--color-text-heading);font-size:.92rem;font-weight:700;letter-spacing:.01em}.school-year-group-header span{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.school-year-quarters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;min-width:0}.quarter-column.is-compact{gap:8px;border-radius:12px;padding:10px;scroll-snap-align:none;background:var(--color-surface)}.quarter-column.is-compact .quarter-column-header{gap:2px}.quarter-column.is-compact .quarter-header-row{grid-template-columns:1fr;gap:0}.quarter-column.is-compact .card-label{font-size:.62rem;letter-spacing:.04em}.quarter-column.is-compact h3{font-size:.82rem;line-height:1.2}.quarter-column.is-compact .quarter-units-count{margin-top:2px;font-size:.7rem}.quarter-column.is-compact .quarter-course-list{gap:6px;min-height:36px;max-height:none;overflow:visible}.quarter-column.is-compact .quarter-course,.quarter-course.is-compact{gap:4px;min-width:0;overflow:hidden;border-radius:10px;padding:8px 10px}.quarter-column.is-compact .calendar-course-header,.quarter-course.is-compact .calendar-course-header{gap:8px;align-items:center}.quarter-column.is-compact .calendar-course-main,.quarter-course.is-compact .calendar-course-main{min-width:0;overflow:hidden}.quarter-column.is-compact .calendar-course-main strong,.quarter-course.is-compact .calendar-course-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem}.quarter-column.is-compact .compact-course-title,.quarter-course.is-compact .compact-course-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.66rem;line-height:1.25}.quarter-column.is-compact .calendar-requirement-label,.quarter-course.is-compact .calendar-requirement-label{margin-top:1px;font-size:.6rem}.quarter-column.is-compact .compact-course-meta,.quarter-course.is-compact .compact-course-meta{margin-top:0;min-width:0}.quarter-column.is-compact .calendar-units-chip,.quarter-course.is-compact .calendar-units-chip{font-size:.62rem;padding:1px 5px}.quarter-column.is-compact .quarter-course-delete,.quarter-course.is-compact .quarter-course-delete{display:grid;place-items:center;flex-shrink:0;min-width:1.75rem;min-height:1.75rem;margin:-2px -2px -2px 0;padding:.2rem;border-radius:var(--radius-lg);font-size:1rem;line-height:1}.quarter-column.is-compact .quarter-course-delete:hover,.quarter-course.is-compact .quarter-course-delete:hover{background:color-mix(in srgb,var(--color-border-soft) 70%,transparent)}.quarter-column.is-compact .quarter-drop-target{min-height:28px;border-radius:var(--radius-lg);padding:4px 6px;box-shadow:none}.quarter-column.is-compact .quarter-drop-target span{font-size:.64rem}.quarter-add-search{display:grid;justify-items:stretch;margin-top:2px}.quarter-add-popover{display:grid}.quarter-add-trigger{display:grid;place-items:center;width:100%;min-height:28px;border:1px dashed color-mix(in srgb,var(--color-primary) 45%,var(--color-border));border-radius:var(--radius-lg);padding:2px 6px;background:color-mix(in srgb,var(--color-surface) 80%,transparent);color:var(--color-primary);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer}.quarter-add-search:not(.is-compact) .quarter-add-trigger{min-height:40px;border-radius:var(--radius-md);padding:8px 12px;font-size:.82rem;letter-spacing:.01em}.quarter-add-trigger:hover,.quarter-add-trigger[data-headlessui-state~=open]{border-style:solid;background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.quarter-add-trigger:disabled{cursor:not-allowed;opacity:.55}.quarter-add-panel{display:grid;gap:8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:10px;background:var(--color-surface);box-shadow:0 18px 40px var(--color-shadow-strong)}.quarter-add-term{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.quarter-add-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 10px;background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-size:.86rem}.quarter-add-input:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:1px}.quarter-add-results{display:grid;gap:2px;max-height:220px;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;list-style:none;scrollbar-width:none;-ms-overflow-style:none}.quarter-add-results::-webkit-scrollbar{width:0;height:0;display:none}.quarter-add-empty{padding:10px 6px;color:var(--color-text-faint);font-size:.78rem;text-align:center}.quarter-add-result{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"code units" "title units";gap:1px 8px;width:100%;border:0;border-radius:var(--radius-md);padding:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.quarter-add-result:focus-visible,.quarter-add-result:hover{background:var(--color-surface-muted);outline:none}.quarter-add-result:disabled{cursor:not-allowed;opacity:.55}.quarter-add-result strong{grid-area:code;font-size:.82rem}.quarter-add-result span{grid-area:title;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.72rem}.quarter-add-result em{grid-area:units;align-self:center;color:var(--color-text-faint);font-size:.7rem;font-style:normal;font-weight:700}.quarter-add-fade-enter-active,.quarter-add-fade-leave-active{transition:opacity .12s ease,transform .12s ease}.quarter-add-fade-enter-from,.quarter-add-fade-leave-to{opacity:0;transform:translateY(-4px)}.calendar-column{min-height:0}.quarter-column{display:grid;gap:12px;align-content:start;min-width:0;overflow:visible;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:12px;padding:14px;background:var(--color-surface);scroll-snap-align:start}.quarter-column header span{color:var(--color-text-muted);line-height:1.45}.quarter-column-header{display:grid;gap:8px}.quarter-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px}.quarter-header-main{min-width:0}.quarter-header-main h3{margin:0;line-height:1.15}.quarter-units-count{margin:8px 0 0;color:var(--color-primary);font-size:.82rem;font-weight:900}.quarter-header-dates{display:grid;gap:4px;justify-items:end;max-width:11rem;text-align:right}.quarter-header-dates span{color:var(--color-text-faint);font-size:.72rem;font-weight:700;line-height:1.35}.quarter-header-dates span:last-child{color:var(--color-primary)}.quarter-notes{color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.quarter-course-list{display:grid;gap:8px;min-height:72px;max-height:16.5rem;align-content:start;overflow-x:visible;overflow-y:auto;overflow-anchor:none;scrollbar-width:none}.quarter-course-list::-webkit-scrollbar{width:0;height:0}.quarter-course.is-draggable{cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none}.quarter-drop-target{display:grid;place-items:center;position:sticky;bottom:0;z-index:3;min-height:44px;border:1px dashed var(--color-drop-target-border);border-radius:var(--radius-md);padding:10px 12px;background:var(--color-surface);box-shadow:0 -8px 16px var(--color-surface)}.quarter-drop-target span{color:var(--color-text-faint);font-size:.76rem;font-weight:800;line-height:1.35;text-align:center}.quarter-course{display:grid;gap:6px;border:0;border-radius:10px;padding:10px 12px;background:color-mix(in srgb,var(--color-surface-muted) 88%,transparent)}.calendar-course{gap:6px;overflow:visible}.quarter-column.is-dragging{z-index:2}.calendar-course.completed{background:var(--color-chip-muted-bg)}.calendar-course-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.calendar-course-main{min-width:0}.calendar-requirement-label{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-faint);font-size:.68rem;font-weight:600;line-height:1.25}.calendar-course-handle{cursor:grab}.drag-ghost{opacity:.15}.drag-chosen{opacity:.55}.drag-active,.drag-fallback{opacity:1!important;z-index:40;cursor:grabbing;border-radius:var(--radius-lg);box-shadow:0 22px 50px var(--color-shadow-strong);transform:rotate(1.5deg);box-sizing:border-box;overflow:hidden}.drag-fallback{background:var(--color-surface);border:1px solid var(--color-border-strong)}.drag-active.is-compact,.drag-fallback.is-compact{border-radius:var(--radius-lg);transform:rotate(1deg)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line,.skeleton-pill{display:block;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-skeleton) 0,var(--color-skeleton-mid) 45%,var(--color-skeleton) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.quarter-board-skeleton{pointer-events:none}.quarter-skeleton-column{min-height:300px}.quarter-skeleton-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.quarter-skeleton-dates,.quarter-skeleton-title{display:grid;gap:8px}.quarter-skeleton-dates{justify-items:end}.skeleton-line-short{width:42px;height:10px}.skeleton-line-medium{width:72%;max-width:160px;height:18px}.skeleton-line-tiny{width:54px;height:10px}.skeleton-line-date{width:84px;height:10px}.quarter-skeleton-courses{display:grid;gap:14px}.quarter-skeleton-course{display:grid;gap:10px;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:16px;background:var(--color-skeleton-surface)}.skeleton-line-code{width:72px;height:12px}.skeleton-line-title{width:88%;height:12px}.quarter-skeleton-meta{display:flex;gap:8px}.skeleton-pill{width:58px;height:22px}.skeleton-pill-wide{width:72px}.quarter-skeleton-drop{min-height:56px;border-radius:var(--radius-lg);border:1px dashed var(--color-border-accent);background:linear-gradient(90deg,var(--color-skeleton-soft) 0,var(--color-skeleton-surface) 45%,var(--color-skeleton-soft) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.planner-fade-enter-active,.planner-fade-leave-active,.quarter-fade-enter-active,.quarter-fade-leave-active{transition:opacity .22s ease}.planner-fade-enter-from,.planner-fade-leave-to,.quarter-fade-enter-from,.quarter-fade-leave-to{opacity:0}.skeleton-bar{display:block;width:100%;height:10px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-skeleton) 0,var(--color-skeleton-mid) 45%,var(--color-skeleton) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-line-long{width:92%;height:12px}.skeleton-line-hero-percent{width:88px;height:42px;border-radius:var(--radius-md)}.skeleton-line-title{width:min(320px,72%);height:1.15em;border-radius:var(--radius-md)}.planner-hero .hero-title-skeleton{margin:0}.planner-hero .hero-title-skeleton .skeleton-line{display:block}.skeleton-tag{width:64px;height:30px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-skeleton) 0,var(--color-skeleton-mid) 45%,var(--color-skeleton) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.hero-summary-skeleton{display:grid;gap:12px;align-content:start}.panel-skeleton,.progress-card-skeleton,.requirement-skeleton-card{pointer-events:none}.progress-card-skeleton .progress-card-header,.requirement-skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-card-skeleton{display:grid;gap:12px}.skeleton-line-percent{width:48px;height:24px;border-radius:var(--radius-md)}.mini-row-skeleton{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-row-skeleton>div{display:grid;gap:8px;flex:1}.requirement-skeleton-card{display:block;padding:12px 0 11px}.requirement-skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.requirement-skeleton-toggle-main{display:flex;align-items:center;gap:.55rem;min-width:0;flex:1}.requirement-skeleton-toggle-main .skeleton-line-medium{width:min(42%,220px)}.requirement-skeleton-toggle-main .skeleton-line-short{width:72px}.requirement-skeleton-column-title{display:block;width:min(55%,180px);margin-bottom:4px}@media(max-width:1100px){.requirement-grid-skeleton .requirement-skeleton-column-title{display:none}}.skeleton-chevron{width:12px;height:12px;flex:none;border-radius:var(--radius-sm)}.requirement-skeleton-tags{display:flex;flex-wrap:wrap;gap:8px}.calendar-course-meta{display:flex;flex-wrap:wrap;gap:6px}.calendar-status-chip,.calendar-units-chip{border-radius:var(--radius-md);padding:3px 8px;font-size:.68rem;font-weight:900;line-height:1.2;white-space:nowrap}.calendar-status-chip{background:var(--color-primary-chip);color:var(--color-primary)}.calendar-units-chip{background:var(--color-chip-muted-bg);color:var(--color-chip-muted-text)}.calendar-course-meta span{border-radius:var(--radius-md);padding:3px 8px;background:var(--color-primary-chip);color:var(--color-text-subtle);font-size:.68rem;font-weight:900}.empty-quarter,.meeting-placeholder{margin:0;color:var(--color-text-faint);line-height:1.45}.empty-quarter{border:1px dashed var(--color-border-dashed);border-radius:var(--radius-lg);padding:18px;text-align:center}.quarter-course strong{display:block;margin-bottom:2px;color:var(--color-primary);font-size:.88rem;line-height:1.2}.quarter-course span{color:var(--color-text-muted);font-size:.74rem;line-height:1.3;overflow-wrap:anywhere}.calendar-course .meeting-placeholder{border-radius:var(--radius-md);padding:6px 8px;background:var(--color-surface-tint);color:var(--color-text-subtle);font-size:.72rem;font-weight:800;line-height:1.3}.offering-grid,.schedule-list{display:grid;gap:14px}.offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offering-card,.schedule-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;background:var(--color-surface-muted)}.offering-card-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.offering-card-header span{color:var(--color-text-muted);line-height:1.4}.meeting-list{display:grid;gap:8px;margin-top:14px}.meeting-list span{border-radius:var(--radius-md);padding:10px 12px;background:var(--color-primary-chip);color:var(--color-text-subtle);font-size:.92rem;line-height:1.35}.compact-meetings{margin-top:0}.compact-meetings span{font-size:.78rem}.checkbox-row{display:flex;flex-wrap:wrap;gap:10px}.checkbox-row label,.checkbox-row span{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:9px 12px;background:var(--color-surface-muted);color:var(--color-text-subtle);font-weight:800}.suggestion-strip{border-radius:var(--radius-lg);padding:16px;background:var(--color-surface-tint)}.schedule-builder-panel{display:grid;gap:20px}.schedule-builder-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);gap:18px;align-items:start}.field-label{display:block;margin:0 0 8px;font-size:.84rem;font-weight:900}.field-hint,.field-label{color:var(--color-text-subtle)}.field-hint{margin:8px 0 0;font-size:.82rem;line-height:1.35}.course-chip-row label{cursor:pointer}.schedule-section-picker{display:grid;gap:12px}.schedule-section-group{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px;background:var(--color-surface-muted)}.schedule-section-group strong{color:var(--color-primary)}.schedule-section-option{display:flex;align-items:start;gap:10px;cursor:pointer}.schedule-section-option small,.schedule-section-option span{display:block}.schedule-section-option span{color:var(--color-text-subtle);font-weight:900}.schedule-section-option small{margin-top:5px;color:var(--color-text-muted);font-weight:700;line-height:1.45}.schedule-section-option small:last-child{color:var(--color-text-subtle);font-weight:900}.schedule-options{display:grid;gap:10px}.schedule-option{display:grid;gap:14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;background:var(--color-surface-muted);cursor:pointer}.schedule-option.active{border-color:var(--color-border-strong);background:var(--color-primary-soft-strong)}.schedule-option span,.schedule-option strong{display:block}.schedule-option .status{justify-self:start}.schedule-option span{margin-top:4px;color:var(--color-text-muted);line-height:1.4}.week-calendar{display:grid;gap:14px}.week-calendar-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.week-calendar-header h3{margin-bottom:0}.week-calendar-header span{color:var(--color-text-muted);line-height:1.4}.week-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.week-day{display:grid;align-content:start;gap:8px;min-height:220px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px;background:var(--color-surface-soft)}.week-day h4{margin:0;color:var(--color-primary)}.week-meeting{display:grid;gap:4px;border-radius:var(--radius-md);padding:10px;background:var(--color-primary-soft)}.week-meeting small,.week-meeting span,.week-meeting strong{overflow-wrap:anywhere}.week-meeting strong{color:var(--color-text)}.week-meeting span{color:var(--color-primary);font-weight:900}.week-empty,.week-meeting small{color:var(--color-text-muted);line-height:1.35}.week-empty{margin:0}.future-panel{display:grid;gap:12px}.future-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.future-flow span{border-radius:var(--radius-lg);padding:14px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:900;text-align:center}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(360px,100%)}.section-heading-actions .section-note{margin:0;text-align:right}.planner-range-controls{display:flex;flex-wrap:wrap;align-items:end;gap:14px 18px;margin:0}.planner-range-field{display:grid;gap:6px;min-width:140px}.planner-range-field>span{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.planner-range-hint{flex:1 1 220px;margin:0;max-width:420px}.auth-form input,.search{width:min(420px,100%);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);padding:14px 16px;background:var(--color-surface);color:var(--color-text);outline:none}.auth-form input:focus,.search:focus{border-color:var(--color-primary-bright);box-shadow:0 0 0 4px var(--color-border-accent-soft)}.search-workspace{display:block}.course-search-shell{display:grid;gap:16px}.course-search-shell.layout-rail{min-height:0}.course-search-shell.layout-rail .search-panel{display:grid;gap:12px;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.course-search-shell.layout-rail .search-panel-head{flex-direction:column;align-items:stretch;flex-wrap:nowrap;margin-bottom:0;gap:8px}.course-search-shell.layout-rail .search-panel-title-copy{min-width:0}.course-search-shell.layout-rail .search-panel-head h2{font-size:.95rem}.course-search-shell.layout-rail .search-panel-hint{margin-top:.15rem;font-size:.72rem;font-weight:500;line-height:1.3}.course-search-shell.layout-rail .search-wide{width:100%;min-width:0;border-radius:10px;padding:8px 11px;font-size:.88rem}.course-search-shell.layout-catalog .course-result-list,.course-search-shell.layout-rail .course-result-list{grid-template-columns:1fr}.course-search-shell.layout-rail .course-result-list{gap:8px}.course-search-shell.layout-rail .course-result-row{display:flex;align-items:center;gap:6px;width:100%;min-height:auto;margin:0;padding:6px 8px;overflow:visible;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:10px;background:var(--color-surface);box-sizing:border-box}.course-search-shell.layout-rail .course-result-row:hover{background:color-mix(in srgb,var(--color-surface-muted) 40%,transparent)}.course-search-shell.layout-rail .course-result-row.is-added{opacity:.7}.course-search-shell.layout-rail .course-result-body{display:flex;flex:1 1 auto;flex-direction:column;gap:1px;min-width:0;padding:0}.course-search-shell.layout-rail .course-result-code{margin:0;font-size:.78rem;font-weight:800;line-height:1.25}.course-search-shell.layout-rail .course-result-title{margin:0;overflow:hidden;font-size:.74rem;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.course-search-shell.layout-rail .course-result-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 5px;margin:0;overflow:hidden;font-size:.66rem;font-weight:600;line-height:1.3}.course-search-shell.layout-rail .course-result-presence{display:flex;flex-wrap:wrap;gap:4px;margin:0}.course-search-shell.layout-rail .course-result-presence-item{font-size:.64rem;line-height:1.25}.course-search-shell.layout-rail .course-result-add{flex:0 0 28px;align-self:center;display:inline-grid;place-items:center;width:28px;min-width:28px;max-width:28px;min-height:28px;margin:0;border:0;border-radius:8px;padding:0;background:transparent;color:var(--color-primary);font-size:0;line-height:0}.course-search-shell.layout-rail .course-result-add:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary-soft) 75%,transparent)}.course-search-shell.layout-rail .course-result-add:disabled{color:var(--color-text-faint)}.course-search-shell.layout-catalog .search-panel{border-radius:18px}.course-search-shell.layout-catalog .search-panel-head{align-items:center}.course-search-shell.layout-catalog .search-wide{width:min(640px,100%);border-radius:14px}.course-search-shell.layout-catalog .course-result-row{border-radius:14px}.course-search-shell.layout-catalog .course-result-add{border-radius:0 14px 14px 0}.course-search-shell.layout-rail .search-results-scroll{max-height:min(68vh,760px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:0 0 12px;align-content:start;scrollbar-width:none}.course-search-shell.layout-rail .search-results-scroll::-webkit-scrollbar{width:0;height:0;display:none}.course-search-shell.layout-rail .search-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rail-mode-toggle{flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;padding:7px 10px;background:var(--color-surface);color:var(--color-text);font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap}.rail-mode-toggle:hover,.rail-mode-toggle[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.rail-major-panel{display:grid;gap:12px;min-width:0;padding:0 0 12px}.rail-req-legend{margin:0;gap:8px 12px;font-size:.72rem}.rail-requirement-stack{display:grid;gap:16px;min-width:0}.rail-requirement-stack .requirement-column-title{margin-bottom:2px;font-size:.84rem;font-weight:800;letter-spacing:.02em}.rail-requirement-stack .requirement-card-toggle{align-items:flex-start;gap:8px;padding:10px 0}.rail-requirement-stack .requirement-card-toggle-main{display:grid;grid-template-columns:.9rem minmax(0,1fr);grid-template-areas:"chevron title" ". units";align-items:start;-moz-column-gap:.45rem;column-gap:.45rem;row-gap:2px;flex:1 1 auto;min-width:0;flex-wrap:nowrap}.rail-requirement-stack .req-chevron{grid-area:chevron;width:.9rem;height:.9rem;margin-top:.18rem}.rail-requirement-stack .requirement-card-toggle h3{grid-area:title;min-width:0;font-size:.82rem;font-weight:750;line-height:1.3;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.rail-requirement-stack .req-units{grid-area:units;font-size:.7rem;line-height:1.3}.rail-requirement-stack .req-status{flex:0 0 auto;margin-top:.15rem;font-size:.7rem;line-height:1.3}.rail-requirement-stack .requirement-card-body{padding-left:1.35rem;padding-bottom:10px}.rail-requirement-stack .req-choice-label,.rail-requirement-stack .req-choice-units{font-size:.74rem}.rail-requirement-stack .req-browse-toggle,.rail-requirement-stack .req-course-line,.rail-requirement-stack .req-course-link{font-size:.78rem;line-height:1.4}.course-search-shell.layout-rail .search-controls-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.course-search-shell:not(.layout-rail) .search-controls-row{display:contents}.rail-filter-panel-status{margin:0;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.rail-clear-filters,.rail-filters-toggle{flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;padding:7px 10px;background:var(--color-surface);color:var(--color-text);font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap}.course-search-shell.layout-rail .rail-filter-actions .rail-mode-toggle,.course-search-shell.layout-rail .rail-filters-toggle{min-height:36px}.rail-clear-filters:hover,.rail-filters-toggle.is-active,.rail-filters-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.rail-filter-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.rail-active-filters{display:flex;justify-content:flex-start}.rail-active-filters .rail-clear-filters{padding:7px 11px;font-size:.76rem;color:var(--color-text-subtle)}.course-search-shell.layout-rail .rail-clear-filters{display:none;border:0;border-radius:10px;padding:7px 8px;background:transparent;color:var(--color-text-subtle);font-size:.72rem;font-weight:700;white-space:nowrap}.course-search-shell.layout-rail .rail-clear-filters.is-visible{display:inline-flex;align-items:center}.course-search-shell.layout-rail .rail-clear-filters.is-visible:focus-visible,.course-search-shell.layout-rail .rail-clear-filters.is-visible:hover{border-color:transparent;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary-soft) 70%,transparent);outline:none}.rail-filter-panel{display:grid;gap:16px;align-content:start;overflow:visible;padding:4px 2px 12px;min-width:0}.course-search-shell.layout-rail .rail-filter-panel .catalog-department-search{position:relative;z-index:2;width:100%;min-width:0}.course-search-shell.layout-rail .rail-filter-panel .catalog-department-input{display:block;width:100%;box-sizing:border-box;min-height:36px;border:1px solid var(--color-border);border-radius:10px;padding:8px 10px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.84rem;font-weight:500;box-shadow:none}.course-search-shell.layout-rail .rail-filter-panel .catalog-department-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.course-search-shell.layout-rail .rail-filter-panel .catalog-department-empty,.course-search-shell.layout-rail .rail-filter-panel .catalog-department-menu{left:0;right:0;width:100%;box-sizing:border-box;border-radius:10px;box-shadow:0 6px 16px color-mix(in srgb,var(--color-text) 8%,transparent)}.course-search-shell.layout-rail .rail-filter-panel .catalog-filter-chips{gap:8px}.quarters-split{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:28px;align-items:start}.quarters-pane-tabs{display:none}.quarters-pane-tab{border:0;border-radius:999px;padding:6px 14px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.quarters-pane-tab:focus-visible,.quarters-pane-tab:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-soft) 80%,transparent);outline:none}.quarters-pane-tab.is-active,.quarters-pane-tab[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary)}.quarters-search-rail{position:sticky;top:var(--planner-sticky-top);max-height:calc(100dvh - var(--planner-sticky-top) - 24px);min-width:0;overflow:auto;scrollbar-width:none}.quarters-search-rail::-webkit-scrollbar{width:0;height:0;display:none}.quarters-board-pane{display:grid;gap:12px;min-width:0}@media(max-width:980px){.quarters-split{grid-template-columns:1fr;gap:14px}.quarters-pane-tabs{display:inline-flex;align-items:center;gap:4px;grid-column:1/-1;width:-moz-fit-content;width:fit-content;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--color-surface-soft) 88%,transparent)}.quarters-split[data-pane=plan] .quarters-search-rail,.quarters-split[data-pane=search] .quarters-board-pane{display:none}.quarters-search-rail{position:static;max-height:none;overflow:visible}.course-search-shell.layout-rail .search-results-scroll{max-height:min(360px,50dvh)}.course-search-shell.layout-rail .search-controls-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.course-search-shell.layout-rail .rail-filter-actions{gap:4px}.course-search-shell.layout-rail .rail-filter-actions .rail-mode-toggle,.course-search-shell.layout-rail .rail-filters-toggle{padding:7px 9px;font-size:.72rem}.course-search-shell.layout-rail .rail-clear-filters{min-width:0;padding:7px 8px}}.catalog-section{gap:0;padding:0;min-height:0;flex:1 1 auto}.catalog-shell{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.catalog-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:0;overflow:hidden}.catalog-detail-pane,.catalog-list-pane,.catalog-main-pane,.catalog-side{min-width:0;min-height:0}.catalog-main-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.catalog-saved-banner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;min-height:52px;padding:10px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 65%,transparent);overflow:visible}.catalog-saved-folders{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.catalog-saved-folders::-webkit-scrollbar{display:none}.catalog-saved-folder-btn{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:12px;padding:9px 13px;background:var(--color-surface);color:var(--color-text-subtle);font-size:.84rem;font-weight:700;white-space:nowrap;cursor:pointer}.catalog-saved-folder-btn[aria-selected=true]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.catalog-saved-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.catalog-folder-actions{position:relative}.catalog-folder-actions .catalog-saved-collections-btn:disabled{opacity:.35;cursor:default}.catalog-folder-composer-wrap{position:relative}.catalog-folder-composer{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.catalog-folder-composer-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:8;display:grid;gap:8px;width:min(240px,calc(100vw - 32px));border:1px solid var(--color-border);border-radius:10px;padding:10px;background:var(--color-surface);box-shadow:0 8px 20px color-mix(in srgb,var(--color-text) 10%,transparent)}.catalog-folder-composer-label{margin:0;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.catalog-folder-composer-actions{display:flex;align-items:center;gap:6px}.catalog-folder-composer.is-bookmark{width:auto;padding:4px 2px 6px}.catalog-folder-composer-input{flex:1 1 140px;min-width:0;border:1px solid var(--color-border);border-radius:6px;padding:7px 10px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.84rem;font-weight:600}.catalog-folder-composer-menu .catalog-folder-composer-input{flex:none;width:100%}.catalog-folder-composer-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.catalog-folder-composer-btn{border:1px solid var(--color-border);border-radius:6px;padding:7px 10px;background:var(--color-primary);color:#fff;font-size:.78rem;font-weight:750;cursor:pointer}.catalog-folder-composer-btn:disabled{opacity:.45;cursor:default}.catalog-folder-composer-btn.is-muted{background:var(--color-surface);color:var(--color-text-subtle)}.catalog-folder-composer-btn.is-muted:hover{border-color:var(--color-primary);color:var(--color-primary)}.catalog-folder-edit{display:inline-flex;align-items:center;gap:4px}.catalog-folder-edit-btn{border:1px solid var(--color-border);border-radius:10px;padding:6px 10px;background:var(--color-surface);color:var(--color-text-subtle);font-size:.76rem;font-weight:700;cursor:pointer}.catalog-folder-edit-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.catalog-folder-edit-btn.is-danger:hover:not(:disabled){border-color:#c23b3b;color:#c23b3b;background:color-mix(in srgb,#c23b3b 10%,var(--color-surface))}.catalog-folder-edit-btn:disabled{opacity:.4;cursor:default}.catalog-icon-btn,.catalog-saved-collections-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-subtle);cursor:pointer;text-decoration:none}.catalog-icon-btn.is-active,.catalog-icon-btn:hover,.catalog-saved-collections-btn.is-active,.catalog-saved-collections-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.catalog-bookmark-wrap,.catalog-timetable-picker{position:relative}.catalog-timetable-picker-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:9;display:grid;gap:2px;min-width:220px;max-width:min(280px,70vw);max-height:min(320px,50vh);overflow:auto;border:1px solid var(--color-border);border-radius:8px;padding:6px;background:var(--color-surface);box-shadow:0 8px 20px color-mix(in srgb,var(--color-text) 10%,transparent)}.catalog-timetable-picker-item{display:grid;gap:2px;width:100%;border:0;border-radius:6px;padding:8px 10px;background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.catalog-timetable-picker-item:hover{background:var(--color-surface-muted)}.catalog-timetable-picker-item strong{font-size:.82rem;font-weight:700;line-height:1.25}.catalog-timetable-picker-item span{color:var(--color-text-muted);font-size:.7rem;font-weight:600;line-height:1.3}.catalog-timetable-picker-item.is-create{margin-top:2px;border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:0 0 6px 6px;padding-top:10px}.catalog-bookmark-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:8;display:grid;gap:1px;min-width:200px;border:1px solid var(--color-border);border-radius:8px;padding:6px;background:var(--color-surface);box-shadow:0 8px 20px color-mix(in srgb,var(--color-text) 10%,transparent)}.catalog-bookmark-menu-label{margin:0;padding:4px 8px 2px;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.catalog-bookmark-menu-hint{margin:0 0 4px;padding:0 8px 6px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);color:var(--color-text-subtle);font-size:.78rem;font-weight:600}.catalog-bookmark-folder{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;width:100%;border:0;border-radius:4px;padding:7px 8px;background:transparent;color:var(--color-text);font-size:.84rem;font-weight:600;text-align:left;cursor:pointer}.catalog-bookmark-folder:hover{background:color-mix(in srgb,var(--color-text) 6%,var(--color-surface))}.catalog-bookmark-folder.is-checked{color:var(--color-primary);font-weight:700}.catalog-bookmark-folder.is-danger{margin-top:2px;border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:0 0 4px 4px;color:#c23b3b;grid-template-columns:1fr}.catalog-bookmark-folder.is-danger:hover{background:color-mix(in srgb,#c23b3b 8%,var(--color-surface));color:#c23b3b}.catalog-bookmark-check{display:inline-grid;place-items:center;width:16px;height:16px;color:var(--color-primary);font-size:.75rem;font-weight:800}.catalog-bookmark-check.is-add{color:var(--color-text-muted)}.catalog-saved-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:6;display:grid;min-width:180px;border:1px solid var(--color-border);border-radius:12px;padding:4px;background:var(--color-surface);box-shadow:0 12px 28px color-mix(in srgb,var(--color-text) 12%,transparent)}.catalog-saved-menu button{border:0;border-radius:8px;padding:8px 10px;background:transparent;color:var(--color-text);font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.catalog-saved-menu button:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.catalog-saved-menu button.is-danger:hover:not(:disabled){background:color-mix(in srgb,#c23b3b 12%,var(--color-surface));color:#c23b3b}.catalog-saved-menu button:disabled{opacity:.45;cursor:default}.catalog-content-split{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:0;overflow:hidden}.catalog-side{gap:14px;padding:14px 16px 10px 4px;border-right:1px solid color-mix(in srgb,var(--color-border) 65%,transparent);overflow:hidden}.catalog-side,.catalog-side-head{display:flex;flex-direction:column}.catalog-side-head{align-items:stretch;gap:10px;flex:0 0 auto}.catalog-side-brand{display:grid;gap:4px}.catalog-side-kicker{margin:0;color:var(--color-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.catalog-side-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-side-term{margin:0;color:var(--color-text);font-size:1.28rem;font-weight:850;letter-spacing:-.03em;line-height:1.15}.catalog-side-count-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:1.35em}.catalog-side-count{margin:0;min-width:0;color:var(--color-text-muted);font-size:.86rem;font-weight:600;line-height:1.35}.catalog-side-count strong{color:var(--color-text);font-weight:800}.catalog-clear-filters{flex:0 0 auto;border:0;border-radius:999px;padding:2px 0;background:transparent;color:var(--color-primary);font-size:.78rem;font-weight:750;line-height:1.35;opacity:0;pointer-events:none;cursor:pointer}.catalog-clear-filters.is-visible{opacity:1;pointer-events:auto}.catalog-clear-filters:hover:not(:disabled){text-decoration:underline}.catalog-side-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.catalog-side .themed-select,.catalog-side .themed-select-compact,.catalog-side .themed-select-shell{width:100%;max-width:none}.catalog-side .themed-select-compact .themed-select-trigger{min-height:46px;border:1px solid color-mix(in srgb,var(--color-border) 80%,var(--color-primary) 20%);border-radius:14px;padding:0 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%,var(--color-primary-soft) 8%),var(--color-surface));font-size:.92rem;font-weight:600;box-shadow:inset 0 1px color-mix(in srgb,#fff 35%,transparent)}.catalog-side .themed-select-compact .themed-select-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent),inset 0 1px color-mix(in srgb,#fff 35%,transparent)}.catalog-side .catalog-department-input{min-height:46px;border:1px solid color-mix(in srgb,var(--color-border) 80%,var(--color-primary) 20%);border-radius:14px;padding:12px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%,var(--color-primary-soft) 8%),var(--color-surface));font-size:.92rem;font-weight:600;box-shadow:inset 0 1px color-mix(in srgb,#fff 35%,transparent)}.catalog-side .catalog-department-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent),inset 0 1px color-mix(in srgb,#fff 35%,transparent)}.catalog-search{position:relative;display:block;flex:0 0 auto}.catalog-search-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.catalog-search-input::-webkit-search-cancel-button,.catalog-search-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.catalog-search-input{width:100%;border:1px solid color-mix(in srgb,var(--color-border) 80%,var(--color-primary) 20%);border-radius:14px;padding:12px 36px 12px 40px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%,var(--color-primary-soft) 8%),var(--color-surface));color:var(--color-text);font:inherit;font-size:.92rem;font-weight:600;box-shadow:inset 0 1px color-mix(in srgb,#fff 35%,transparent);transition:border-color .14s ease,box-shadow .14s ease}.catalog-search-input::-moz-placeholder{color:var(--color-text-faint);font-weight:550}.catalog-search-input::placeholder{color:var(--color-text-faint);font-weight:550}.catalog-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent),inset 0 1px color-mix(in srgb,#fff 35%,transparent)}.catalog-search-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:999px;background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text-muted);font-size:1.05rem;line-height:1;cursor:pointer}.catalog-search-clear:hover{background:color-mix(in srgb,var(--color-text) 14%,transparent);color:var(--color-text)}.catalog-filters-toggle{display:none;flex:none;border:1px solid var(--color-border);border-radius:999px;padding:6px 11px;background:var(--color-surface);color:var(--color-text-subtle);font-size:.78rem;font-weight:750;cursor:pointer}.catalog-filters-toggle[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.catalog-mobile-filters{display:none;flex:none}.catalog-filters-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.catalog-filters-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;pointer-events:none;opacity:0;transition:opacity .18s ease;background:linear-gradient(to top,var(--color-bg) 0,color-mix(in srgb,var(--color-bg) 72%,transparent) 42%,transparent 100%)}.catalog-filters-wrap.has-scroll-more:after{opacity:1}.catalog-filters{display:grid;align-content:start;gap:16px;padding:0 2px 12px 0;overflow:auto;min-height:0;flex:1 1 auto;scrollbar-width:none;-ms-overflow-style:none}.catalog-filters::-webkit-scrollbar{width:0;height:0;display:none}.catalog-filter-group{display:grid;gap:8px}.catalog-filter-group h3{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.catalog-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.catalog-department-search{position:relative;z-index:2}.catalog-department-input{min-height:0;padding:9px 11px;font-size:.84rem}.catalog-department-empty,.catalog-department-menu{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0}.catalog-department-menu{display:grid;gap:2px;max-height:180px;overflow:auto;padding:4px}.catalog-department-empty,.catalog-department-menu{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 10%,transparent)}.catalog-department-empty{margin:0;padding:8px 10px;color:var(--color-text-muted);font-size:.8rem}.catalog-department-option{width:100%;border:0;border-radius:var(--radius-md);padding:7px 8px;background:transparent;color:var(--color-text);font-size:.84rem;font-weight:600;text-align:left;cursor:pointer}.catalog-department-option:focus-visible,.catalog-department-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:none}.catalog-filter-chip{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:8px;padding:5px 10px;background:var(--color-surface);color:var(--color-text-subtle);font-size:.78rem;font-weight:600;cursor:pointer}.catalog-filter-chip[aria-pressed=true],.catalog-filter-chip[aria-selected=true]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.catalog-check{display:flex;align-items:flex-start;gap:8px;color:var(--color-text);font-size:.86rem;line-height:1.35;cursor:pointer}.catalog-check input{margin-top:.2rem}.catalog-filter-list{display:grid;gap:4px;max-height:180px;overflow:auto}.catalog-filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 8px;background:transparent;color:var(--color-text);font-size:.82rem;text-align:left;cursor:pointer}.catalog-filter-row[aria-pressed=true]{border-color:var(--color-border-accent);background:var(--color-primary-soft)}.catalog-filter-row.is-complete{border-color:color-mix(in srgb,var(--color-success-border) 80%,transparent);background:color-mix(in srgb,var(--color-success-bg) 55%,transparent)}.catalog-filter-row.is-complete .catalog-filter-row-label{color:var(--color-success-text)}.catalog-filter-row-label{min-width:0;flex:1 1 auto;line-height:1.25}.catalog-filter-row-meta{display:inline-flex;align-items:center;gap:6px;flex:none}.catalog-filter-status{display:inline-flex;align-items:center;border-radius:999px;padding:1px 7px;color:var(--color-text-faint);background:color-mix(in srgb,var(--color-border) 55%,transparent);font-size:.66rem;font-weight:780;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.catalog-filter-status[data-status=complete],.catalog-filter-status[data-status=waived]{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}.catalog-filter-status[data-status=in-progress]{color:var(--color-warning-text);background:color-mix(in srgb,var(--color-warning-text) 12%,transparent)}.catalog-filter-status[data-status=planned]{color:var(--color-planned);background:color-mix(in srgb,var(--color-planned) 12%,transparent)}.catalog-filter-source{flex:none;color:var(--color-text-faint);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.catalog-detail-empty,.catalog-empty,.catalog-filter-empty{margin:0;color:var(--color-text-muted);font-size:.88rem;line-height:1.5}.catalog-list-pane{padding:10px 4px 8px 12px;border-right:1px solid color-mix(in srgb,var(--color-border) 65%,transparent)}.catalog-detail-pane,.catalog-list-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.catalog-detail-pane{padding:8px 8px 8px 18px}.catalog-detail-card{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;border:0;border-radius:0;background:transparent;overflow:hidden}.catalog-detail-head{flex:0 0 auto;padding:10px 8px 14px 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent)}.catalog-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.catalog-detail-title{margin:.15rem 0 0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:850;letter-spacing:-.04em;line-height:1.1}.catalog-detail-subtitle{margin:.4rem 0 0;color:var(--color-text-muted);font-size:1rem;font-weight:600;line-height:1.4;max-width:52ch}.catalog-detail-icon-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.catalog-detail-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 8px 18px 0;display:grid;align-content:start;gap:18px;max-width:68ch}.catalog-result-list-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.catalog-result-list-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;pointer-events:none;opacity:0;transition:opacity .18s ease;background:linear-gradient(to top,var(--color-bg) 0,color-mix(in srgb,var(--color-bg) 72%,transparent) 42%,transparent 100%)}.catalog-result-list-wrap.has-scroll-more:after{opacity:1}.catalog-result-list{display:grid;align-content:start;gap:8px;flex:1 1 auto;min-height:0;padding:0 2px 12px 0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.catalog-result-list::-webkit-scrollbar{width:0;height:0;display:none}.catalog-empty{padding:18px 8px}.catalog-result-row{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;border:1px solid transparent;border-radius:10px;padding:11px 12px 11px 14px;background:transparent;color:inherit;text-align:left;cursor:pointer}.catalog-result-row:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.catalog-result-row.is-selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border))}html[data-theme=midnight] .catalog-result-row:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface-muted))}html[data-theme=midnight] .catalog-result-row.is-selected{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border))}.catalog-result-main{display:grid;gap:2px;flex:1 1 auto;width:100%;min-width:0}.catalog-result-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.catalog-result-top-meta{display:inline-flex;align-items:center;gap:8px;flex:none;margin-left:auto}.catalog-enroll-chip{font-size:.72rem;font-weight:750;white-space:nowrap}.catalog-enroll-chip[data-tone=full]{color:#e11d48}.catalog-enroll-chip[data-tone=busy]{color:#d97706}.catalog-enroll-chip[data-tone=open]{color:#059669}.catalog-enroll-chip[data-tone=muted]{color:var(--color-text-muted)}.catalog-detail-enroll{margin:6px 0 0}.catalog-result-top strong{min-width:0;color:var(--color-text-heading);font-size:.95rem;font-weight:850;letter-spacing:-.02em}.catalog-result-units{margin:0;color:var(--color-text-muted);font-size:.78rem;font-weight:750}.catalog-result-title{margin:2px 0 0;overflow:hidden;color:var(--color-text);font-size:.88rem;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.catalog-result-blurb{display:-webkit-box;margin:3px 0 0;overflow:hidden;color:var(--color-text-muted);font-size:.76rem;font-weight:550;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.catalog-result-meta{display:flex;flex-wrap:wrap;gap:5px;font-size:.78rem}.catalog-result-meta,.catalog-season-chip{align-items:center;color:var(--color-text-muted)}.catalog-season-chip{display:inline-flex;gap:6px;border:1px solid var(--color-border);border-radius:8px;padding:2px 7px;font-size:.68rem;font-weight:700;letter-spacing:.02em}.catalog-season-chip.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.catalog-scheduler-notice{margin:4px 0 0;color:var(--color-primary);font-size:.78rem;font-weight:700}.catalog-scheduler-notice-solo{margin-top:10px}.catalog-add-term-hint{align-self:center;color:var(--color-text-muted);font-size:.78rem;font-weight:650}.catalog-season-chip-button{padding:6px 10px;background:var(--color-surface);font-size:.78rem;cursor:pointer}.catalog-season-chip-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.catalog-detail-seasons{display:grid;gap:6px;margin-top:10px}.catalog-detail-seasons-label{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.catalog-detail-season-row{display:flex;flex-wrap:wrap;gap:6px}.catalog-drawer .scheduler-drawer-head .eyebrow{margin:0 0 4px}.catalog-requirement-list{display:grid;gap:8px}.catalog-requirement-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.catalog-requirement-row strong{display:block;color:var(--color-text-heading);font-size:.92rem}.catalog-requirement-row span:not(.requirement-chip){color:var(--color-text-muted);font-size:.82rem}.catalog-presence-list{margin:0;padding-left:1.1rem;color:var(--color-text-subtle);font-size:.9rem}@media(max-width:980px){.catalog-shell{--catalog-control-height:34px;--catalog-control-radius:10px;--catalog-control-font:.8rem;--catalog-chip-radius:8px}.catalog-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);align-content:stretch}.catalog-side{border-right:0;border-bottom:1px solid var(--color-border);max-height:none;height:auto;align-self:start;width:100%;padding:2px 0 8px;gap:10px}.catalog-layout.filters-open{grid-template-rows:minmax(0,1fr)}.catalog-layout.filters-open .catalog-side{align-self:stretch;height:100%;min-height:0;max-height:none;border-bottom:0;padding-bottom:12px}.catalog-layout.filters-open .catalog-main-pane{display:none}.catalog-layout.filters-open .catalog-filters-wrap{flex:1 1 auto;min-height:0}.catalog-layout.filters-open .catalog-filters{flex:1 1 auto;padding-bottom:20px}.catalog-side-head{gap:6px}.catalog-side-brand{gap:2px}.catalog-side-kicker{font-size:.62rem;letter-spacing:.08em}.catalog-side-term{font-size:1.05rem;letter-spacing:-.02em}.catalog-side-count{font-size:.76rem}.catalog-clear-filters{font-size:.72rem}.catalog-filters-toggle,.catalog-mobile-filters{min-height:var(--catalog-control-height);align-items:center;border-radius:var(--catalog-chip-radius);padding:0 10px;font-size:.74rem;font-weight:700}.catalog-search-input,.catalog-side .catalog-department-input,.catalog-side .themed-select-compact .themed-select-trigger{min-height:var(--catalog-control-height);border-radius:var(--catalog-control-radius);padding:0 32px 0 34px;font-size:var(--catalog-control-font);font-weight:600;box-shadow:none}.catalog-side .catalog-department-input,.catalog-side .themed-select-compact .themed-select-trigger{padding:0 12px}.catalog-search-icon{left:10px;width:15px;height:15px}.catalog-search-clear{width:22px;height:22px;right:6px;font-size:.95rem}.catalog-filters{gap:12px;padding-bottom:8px}.catalog-filter-group{gap:6px}.catalog-filter-group h3{font-size:.66rem}.catalog-filter-chip{border-radius:var(--catalog-chip-radius);padding:4px 8px;font-size:.72rem}.catalog-filters-wrap{display:none}.catalog-layout.filters-open .catalog-filters-wrap{display:flex}.catalog-filters-toggle,.catalog-mobile-filters{display:inline-flex}.catalog-content-split{grid-template-columns:1fr}.catalog-list-pane{min-height:0;flex:1 1 auto;padding:6px 0 4px;border-right:0}.catalog-detail-pane{display:none}.catalog-saved-banner{align-items:center;gap:6px;min-height:40px;padding:8px 0 7px}.catalog-saved-folders{flex:1 1 auto;gap:5px;padding-bottom:1px;-webkit-overflow-scrolling:touch}.catalog-saved-folder-btn{flex:0 0 auto;gap:5px;min-height:28px;border-radius:var(--catalog-chip-radius);padding:4px 9px;font-size:.72rem;font-weight:700;white-space:nowrap}.catalog-saved-folder-btn svg{width:12px;height:12px;flex:none}.catalog-saved-actions{gap:5px;align-self:center}.catalog-icon-btn,.catalog-saved-collections-btn{width:28px;height:28px;border-radius:var(--catalog-chip-radius)}.catalog-icon-btn svg,.catalog-saved-collections-btn svg{width:13px;height:13px}.catalog-folder-edit-btn{min-height:28px;border-radius:var(--catalog-chip-radius);padding:4px 8px;font-size:.7rem}.catalog-result-list{gap:2px;padding-bottom:8px}.catalog-result-row{gap:8px;border-radius:var(--catalog-chip-radius);padding:8px 8px 8px 10px}.catalog-result-main{gap:1px}.catalog-result-top strong{font-size:.84rem}.catalog-result-units{font-size:.7rem}.catalog-result-title{margin-top:1px;font-size:.78rem;font-weight:650;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;text-overflow:unset}.catalog-enroll-chip{font-size:.66rem}.catalog-empty{padding:12px 6px;font-size:.8rem}}@media(max-width:760px){.planner-shell.is-catalog{width:calc(100% - 4px);padding-bottom:0}.catalog-shell{--catalog-control-height:32px;--catalog-control-radius:9px;--catalog-control-font:.78rem}.catalog-layout.filters-open .catalog-search{display:none}.catalog-side{gap:8px;padding-bottom:6px}.catalog-side-term{font-size:.98rem}.catalog-side-count{font-size:.72rem}.catalog-saved-banner{min-height:38px;padding:6px 0}.catalog-main-pane,.catalog-result-list,.catalog-shell{overflow-anchor:none}.catalog-saved-folder-btn{min-height:26px;padding:3px 8px;font-size:.7rem}.catalog-icon-btn,.catalog-saved-collections-btn{width:26px;height:26px}.catalog-list-pane{padding-top:4px}.catalog-result-row{padding:7px 6px 7px 8px}.catalog-result-top strong{font-size:.8rem}.catalog-result-title{font-size:.74rem;line-height:1.25}}.import-panel,.search-panel{min-width:0}.import-panel{max-width:560px}.search-panel-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 16px;margin-bottom:12px}.search-panel-head h2{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.search-panel-hint{margin:.2rem 0 0;font-size:.8rem}.search-panel-empty,.search-panel-hint{color:var(--color-text-muted);font-weight:600}.search-panel-empty{margin:.5rem 0 0;font-size:.88rem}.search-wide{width:min(520px,100%)}.course-result-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:start}@media(max-width:1100px){.course-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.search-results-scroll{max-height:430px;overflow-y:auto;padding:4px 4px 10px;scroll-behavior:smooth;scrollbar-width:none}.search-results-scroll::-webkit-scrollbar{width:0;height:0}.course-result-row{display:flex;align-items:stretch;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--color-border-soft);border-radius:0;background:var(--color-surface)}.course-result-body{display:grid;gap:2px;flex:1;min-width:0;padding:8px 10px;align-content:start}.course-result-code{margin:0;color:var(--color-primary);font-size:.82rem;font-weight:900;line-height:1.2;letter-spacing:.01em}.course-result-title{margin:0;overflow:hidden;color:var(--color-text);font-size:.84rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.course-result-meta{display:flex;flex-wrap:nowrap;align-items:baseline;gap:0 4px;margin:2px 0 0;min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:.72rem;font-weight:700;line-height:1.35}.course-result-sep{flex:0 0 auto;color:var(--color-text-faint);font-weight:600}.course-result-req{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--color-text-subtle);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.course-result-req.tone-core{color:var(--color-primary)}.course-result-req.tone-math{color:var(--color-tone-math-text)}.course-result-req.tone-science{color:var(--color-success-text)}.course-result-req.tone-systems{color:var(--color-warning-text)}.course-result-req.tone-theory{color:var(--color-tone-theory-text)}.course-result-req.tone-applications{color:var(--color-tone-applications-text)}.course-result-req.tone-cse{color:var(--color-primary)}.course-result-req.tone-college{color:var(--color-tone-college-text)}.course-result-desc{display:-webkit-box;overflow:hidden;margin:2px 0 0;color:var(--color-chip-muted-text);font-size:.7rem;font-weight:500;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1}.course-result-presence{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}.course-result-presence-item{color:var(--color-text-muted);font-size:.7rem;font-weight:800}.course-result-add{flex:0 0 auto;align-self:stretch;min-width:52px;margin:0;border:0;border-left:1px solid var(--color-border-soft);border-radius:0;padding:0 12px;background:transparent;color:var(--color-primary);font:inherit;font-size:.78rem;font-weight:900;line-height:1;cursor:pointer;transition:background-color .12s ease,color .12s ease}.course-result-add:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,var(--color-surface));color:var(--color-text)}.course-result-add:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.course-result-add:disabled{color:var(--color-text-faint);cursor:default}.course-result-row.is-added .course-result-add{background:color-mix(in srgb,var(--color-text) 4%,var(--color-surface))}.course-presence.stacked-presence,.planner-presence-list{display:grid;gap:8px;min-width:0}.planner-presence-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.presence-term{min-width:0;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.presence-empty,.presence-term{color:var(--color-text-muted);font-weight:800}.presence-empty{font-size:.82rem}.course-presence{display:flex;flex-wrap:wrap;gap:8px}.compact-presence span:not(.status-pill){color:var(--color-text-muted);font-weight:800}.small-button{min-height:38px;padding:0 14px}.course-code{margin-bottom:6px;color:var(--color-primary);font-weight:900}.course-description,.course-prerequisites{margin-bottom:8px;color:var(--color-chip-muted-text);font-size:.9rem;line-height:1.5}.course-prerequisites{color:var(--color-text-faint);font-size:.92rem}.clamp-copy{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.course-detail-list,.modal-course-facts,.requirement-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;min-width:0}.course-detail-list span:not(.requirement-chip),.course-meta-chip,.modal-course-facts span:not(.requirement-chip){max-width:100%;border-radius:var(--radius-md);padding:6px 11px;background:var(--color-primary-soft-strong);color:var(--color-text-subtle);font-size:.78rem;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.course-meta-chip.muted-chip{background:var(--color-chip-muted-bg);color:var(--color-text-muted)}.requirement-chip{max-width:100%;border-radius:var(--radius-md);padding:6px 11px;font-size:.74rem;font-weight:900;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.requirement-chip.tone-core{background:var(--color-primary-soft);color:var(--color-primary)}.requirement-chip.tone-math{background:var(--color-tone-math-bg);color:var(--color-tone-math-text)}.requirement-chip.tone-science{background:var(--color-success-bg);color:var(--color-success-text)}.requirement-chip.tone-systems{background:var(--color-warning-bg);color:var(--color-warning-text)}.requirement-chip.tone-theory{background:var(--color-tone-theory-bg);color:var(--color-tone-theory-text)}.requirement-chip.tone-applications{background:var(--color-tone-applications-bg);color:var(--color-tone-applications-text)}.requirement-chip.tone-cse{background:var(--color-primary-chip);color:var(--color-primary)}.requirement-chip.tone-college{background:var(--color-tone-college-bg);color:var(--color-tone-college-text)}.requirement-chip.tone-default{background:var(--color-primary-soft-strong);color:var(--color-text-subtle)}.wide-note{max-width:760px}.import-simple{display:grid;gap:12px;max-width:520px}.import-simple-head h2{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.import-simple-head p{margin:4px 0 0;color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.import-file{position:relative;display:grid;gap:4px;justify-items:start;padding:16px 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:pointer;transition:border-color .14s ease,background .14s ease}.import-file:hover{border-color:var(--color-border-medium);background:var(--color-surface)}.import-file .file-input{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip:rect(0 0 0 0)}.import-file-label{color:var(--color-text-heading);font-size:.95rem;font-weight:700}.import-file-hint{color:var(--color-text-muted);font-size:.8rem}.import-paste-label{margin-top:4px;color:var(--color-text-subtle);font-size:.85rem;font-weight:600}.import-simple textarea{width:100%;min-height:120px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);padding:12px 14px;background:var(--color-surface);color:var(--color-text);outline:none;resize:vertical}.import-simple-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.file-input,.full-input,.modal-grid input,.modal-grid select{width:100%;border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);padding:12px 14px;background:var(--color-surface);color:var(--color-text);outline:none}.file-input{min-height:48px}.error-message{color:var(--color-error-text);font-weight:800}.transfer-review-panel{width:min(520px,100%);max-height:min(88vh,720px);overflow-y:auto}.transfer-review{display:grid;gap:14px}.transfer-review h2{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.transfer-review-lead{margin:0;color:var(--color-text-muted);font-size:.92rem;line-height:1.4}.transfer-review-list{display:grid;gap:6px}.transfer-review-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:pointer}.transfer-review-row.already-added{opacity:.55}.transfer-review-row input{margin:0}.transfer-review-main{display:grid;gap:2px;min-width:0}.transfer-review-main strong{color:var(--color-text-heading);font-size:.9rem}.transfer-review-main span{overflow:hidden;color:var(--color-text-muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.transfer-review-status{color:var(--color-text-faint);font-size:.75rem;font-weight:600;white-space:nowrap}.transfer-review-skipped{margin:0;color:var(--color-text-faint);font-size:.82rem}.modal-root{position:relative;z-index:70}.modal-backdrop{position:fixed;inset:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-container{position:fixed;inset:0;display:grid;place-items:center;overflow-y:auto;padding:24px}.modal-container.themed-scroll{scrollbar-gutter:stable}.modal-panel{width:min(760px,100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:26px;background:var(--color-surface);box-shadow:0 34px 90px var(--color-overlay)}.modal-panel-course{padding:32px 34px 30px}.modal-panel-course .modal-course-title{gap:8px;margin-bottom:16px}.modal-panel-course .modal-course-subtitle{font-size:1rem;line-height:1.4}.modal-panel-course .modal-course-facts,.modal-panel-course .modal-course-facts.tight{margin-bottom:16px}.modal-panel-course .modal-copy-compact{margin-bottom:18px;font-size:.98rem;line-height:1.55}.modal-panel-course .modal-prereq-link-row{margin:0 0 20px}.modal-panel-course .modal-detail-block{margin-top:20px;margin-bottom:4px}.modal-panel-course .modal-term-row{margin-top:18px}.modal-panel-course .modal-actions{margin-top:28px;gap:12px}.modal-copy{margin-bottom:20px}.modal-course-title{display:grid;gap:4px;margin-bottom:10px;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.15}.modal-course-subtitle{display:block;color:var(--color-text-subtle);font-size:.92rem;font-weight:700;letter-spacing:-.01em;line-height:1.35}.modal-copy-compact{margin:0 0 12px;color:var(--color-text-subtle);font-size:.9rem;line-height:1.45}.modal-actions-simple{align-items:center}.modal-actions-simple .text-button{margin-right:auto}.modal-course-facts{margin-bottom:18px}.modal-course-facts.tight{margin-bottom:0}.modal-prereq-link-row{margin:-6px 0 16px}.modal-prereq-link{color:var(--color-primary);font-size:.86rem;font-weight:800;text-decoration:none}.modal-prereq-link:hover{text-decoration:underline}.modal-detail-block{margin-top:16px}.detail-label{margin:0 0 6px;color:var(--color-primary-bright);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detail-text{margin:0;color:var(--color-text-subtle);line-height:1.55}.modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.modal-grid-single{grid-template-columns:1fr}.modal-term-row{grid-template-columns:minmax(140px,220px);margin-top:8px}.modal-add-block{margin-top:20px;padding-top:18px;border-top:1px solid var(--color-border)}.modal-field,.modal-grid label{display:grid;gap:8px;color:var(--color-text-subtle);font-size:.88rem;font-weight:900}.field-help{border:1px dashed var(--color-border-dashed);border-radius:var(--radius-lg);padding:12px 14px;color:var(--color-text-faint);font-weight:800}.modal-offerings{margin-top:22px}.offering-option,.offering-option-list{display:grid;gap:10px}.offering-option{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;background:var(--color-surface-soft);cursor:pointer;text-align:left}.offering-option.active{border-color:var(--color-border-strong);background:var(--color-primary-soft-strong)}.offering-option-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.offering-option small,.offering-option span,.offering-option strong{display:block}.offering-option span{margin-top:4px;color:var(--color-text-muted)}.offering-option small{margin-top:4px;color:var(--color-text-subtle);font-weight:800;line-height:1.35}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.generate-schedule-panel{width:min(640px,100%);max-height:min(88vh,900px);overflow:auto}.generate-option{display:flex;align-items:flex-start;gap:10px;margin:16px 0 10px;padding:12px 14px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-surface-soft);cursor:pointer}.generate-option input{margin-top:3px}.generate-option span{display:flex;flex-direction:column;gap:4px;color:var(--color-text-heading);font-weight:700}.generate-option small{color:var(--color-text-muted);font-weight:600;line-height:1.35}.generate-rules{margin:0 0 4px;padding-left:18px;color:var(--color-text-muted);font-size:.92rem;line-height:1.45}.generate-rules li+li{margin-top:4px}.generate-preview-actions{justify-content:flex-start;margin-top:14px}.generate-step-note{margin:0 0 14px}.generate-progress{display:grid;gap:12px;margin:8px 0 4px;padding:16px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-surface-soft)}.generate-progress-copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline}.generate-progress-copy strong{color:var(--color-text-heading)}.generate-progress-copy span{color:var(--color-text-faint);font-size:.86rem;font-weight:700}.generate-progress-track{height:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-chip-muted-bg)}.generate-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-bright));transition:width .12s linear}.generate-option-cards{display:grid;gap:10px}.generate-option-card{display:grid;gap:6px;width:100%;padding:14px 16px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-surface-soft);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.generate-option-card:hover:not(:disabled){border-color:var(--color-border-accent);box-shadow:0 8px 20px var(--color-shadow);transform:translateY(-1px)}.generate-option-card:disabled{opacity:.65;cursor:not-allowed}.generate-option-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.generate-option-card-head strong{color:var(--color-text-heading);font-size:1.02rem}.generate-option-card p{margin:0;color:var(--color-text-muted);line-height:1.4}.generate-option-card-detail{font-size:.9rem}.generate-option-card-stats{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:4px;color:var(--color-text-faint);font-size:.84rem;font-weight:700}.generate-preview{margin-top:16px;max-height:42vh;overflow:auto;padding-right:4px;border-top:1px solid var(--color-border-soft);padding-top:14px}.generate-preview-summary p{margin:0 0 8px;color:var(--color-text-heading)}.generate-warnings{margin:0 0 12px;padding-left:18px;color:var(--color-text-subtle);font-size:.9rem}.generate-term+.generate-term{margin-top:14px}.generate-term-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px}.generate-term-head h3{margin:0;font-size:1rem}.generate-term-head span{color:var(--color-text-faint);font-size:.85rem;font-weight:700}.generate-term ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.generate-term li{display:grid;gap:2px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border-soft)}.generate-course-main{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}.generate-course-main span,.generate-term li small{color:var(--color-text-muted)}.generate-term li small{font-size:.82rem}.modal-error{flex:1 1 100%;margin:0 0 4px}.modal-enter,.modal-leave{transition:opacity .18s ease,transform .18s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-to,.modal-leave-from{opacity:1}.modal-panel-from{opacity:0;transform:translateY(10px) scale(.98)}.modal-panel-to{opacity:1;transform:translateY(0) scale(1)}.status{margin:0;border-radius:var(--radius-md);padding:8px 12px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.85rem;font-weight:900}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-brand{position:fixed;top:20px;left:24px}.auth-card{width:min(420px,100%);padding:28px}.auth-card h1{max-width:none;margin-bottom:12px;font-size:clamp(1.6rem,3vw,2rem);line-height:1.15}.divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--color-text-faint);font-size:.9rem}.divider:after,.divider:before{content:"";flex:1;height:1px;background:var(--color-border-medium)}.auth-form{display:grid;gap:10px}.auth-form label{color:var(--color-text-subtle);font-size:.9rem;font-weight:800}.auth-form input{width:100%}.auth-toggle{justify-self:start;margin-top:4px;border:0;background:transparent;color:var(--color-primary);cursor:pointer;font-weight:900}.local-auth-note{margin-top:16px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-primary-soft-strong);color:var(--color-text-subtle);line-height:1.5}.local-auth-note strong{color:var(--color-primary)}.message{margin:16px 0 0;color:var(--color-text-subtle)}@media(max-width:760px){.hero{padding-top:54px}.grid,.landing-hero,.overview-progress-strip,.planner-hero,.planner-hero.is-hub,.planner-layout,.progress-grid,.section-heading{grid-template-columns:1fr}.landing-hero{height:calc(100svh - var(--app-header-offset) - 1px);min-height:calc(100svh - var(--app-header-offset) - 1px);grid-template-rows:minmax(0,1fr) auto;gap:12px;padding:16px 0 28px;width:min(1200px,calc(100% - 32px));align-items:stretch}.landing-hero-copy{padding-bottom:4px;text-align:left}.landing-hero .brand-hero{font-size:clamp(1.9rem,9vw,2.6rem)}.landing-hero h1{max-width:none;margin-bottom:12px;font-size:clamp(1.1rem,4vw,1.35rem)}.landing-hero .hero-copy{max-width:none;margin-bottom:20px;font-size:.98rem}.landing-hero-visual{order:-1;min-height:0;justify-content:center;margin-right:0}.landing-hero-visual:before{width:min(88%,360px);height:min(88%,360px)}.landing-hero-visual img{width:auto;max-width:min(92vw,420px);height:min(48svh,100%);max-height:none;-o-object-position:center;object-position:center}.landing-footer,.landing-section,.site-page{width:min(920px,calc(100% - 32px));padding-top:40px}.landing-about,.site-page-split,.site-page-split.is-contact{grid-template-columns:1fr;gap:20px}.landing-about-visual,.site-page-visual{order:-1;min-height:160px}.landing-about-otter,.site-page-visual img{width:min(64vw,200px)}.landing-involve-grid{grid-template-columns:1fr;gap:8px}.landing-footer-top{grid-template-columns:1fr;gap:28px}.landing-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.landing-involve-actions{gap:10px}.landing-involve-actions .button,.site-page-actions .button{flex:1 1 auto;text-align:center}.site-page-hero h1{max-width:none}.site-contact-form .button{width:100%;justify-self:stretch}.hub-progress{align-items:flex-start;text-align:left}.hub-jumps{grid-template-columns:1fr}.overview-progress-strip{gap:8px}.overview-progress-headline{align-items:start}.overview-progress-headline>p{text-align:left}.overview-dept-row{grid-template-columns:1.1rem minmax(0,1fr)}.overview-dept-bar{grid-column:2}.overview-charts-pulse .donut-chart-body{grid-template-columns:1fr;justify-items:center}.assigned-course-card,.attention-list,.connected-requirements .requirement-choice,.course-result-list,.future-flow,.modal-grid,.offering-grid,.overview-charts,.overview-charts-compact,.overview-grid,.overview-grid-top,.requirement-accordion,.requirement-grid,.schedule-builder-grid,.search-workspace,.stats-list,.suggestion-course-list{grid-template-columns:1fr}.grid{display:grid}.course-row,.section-heading{align-items:stretch;flex-direction:column}.section-heading-actions{align-items:stretch;max-width:none}.section-heading-actions .section-note{text-align:left}.quarter-board-toolbar{justify-content:stretch}.quarter-board-toolbar-actions{width:100%;margin-left:0}.quarter-board-toolbar .toolbar-range-controls{width:100%}.quarter-board-toolbar .button{flex:1 1 auto}.quarter-board-toolbar .quarter-board-icon-btn{flex:0 0 32px}.quarter-board.is-compact{gap:14px}.school-year-quarters{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 0 6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.school-year-quarters .quarter-column.is-compact{flex:0 0 min(72vw,220px);width:min(72vw,220px);max-width:none;scroll-snap-align:start}.donut-chart-body{grid-template-columns:1fr}.app-frame{--app-header-sticky-top:8px;--app-header-offset:44px}.app-chrome{width:100%;padding-top:0}.app-header{margin-bottom:0}.nav.nav-pill,.nav.nav-pill.has-planner-tabs,.nav.nav-pill.has-planner-tabs.is-sidebar-experiment{width:min(420px,100%);padding:4px 6px 4px 10px;gap:4px}.nav.nav-pill .brand{gap:.3rem;font-size:.9rem}.nav.nav-pill .brand-mark{width:1.45rem;height:1.45rem}.nav-actions{gap:0}.nav-menu-toggle{min-height:44px;padding:0 10px}.nav-theme-toggle{width:auto;min-height:44px;height:auto;margin-right:0;padding:0 8px}.nav-profile-icon,.nav-theme-icon{width:16px;height:16px}.nav-actions .nav-link{min-height:44px;padding:0 8px;font-size:.72rem}.nav-actions .nav-profile-link{padding:0 8px}.nav-home-unit{gap:.3rem;min-height:28px;padding:1px 8px 1px 3px;font-size:.9rem}.nav-home-label{font-size:.66rem}.nav-login{padding-inline:10px;font-size:.72rem;min-height:28px}}@media(max-width:520px){.landing-footer-columns{grid-template-columns:1fr 1fr}.landing-footer-columns>div:last-child{grid-column:1/-1}}@media(max-width:380px){.nav.nav-pill .brand-text{display:none}}@media(max-width:760px){.planner-layout.has-sidebar{grid-template-columns:1fr}.planner-layout.has-sidebar .planner-sidebar{display:none}.planner-hero.is-compact{padding:4px 0 10px;grid-template-columns:1fr auto;gap:12px}.planner-hero.is-compact .hero-summary-card{min-width:132px;padding:10px 12px}.planner-hero.is-compact .hero-summary-card strong{font-size:1.35rem}.planner-hero.is-compact .hero-summary-card p{display:none}.search{width:100%}.week-calendar-header{align-items:start;flex-direction:column}.import-result-row,.modal-actions{align-items:stretch;flex-direction:column}.requirement-stack,.requirement-stack-flat{gap:14px}.section-note.advising-disclaimer{font-size:.66rem;line-height:1.3;max-width:none}.req-legend{font-size:.7rem;gap:.3rem .75rem}.requirement-columns.has-college,.requirement-columns.has-secondary,.requirement-columns.has-secondary.has-college{grid-template-columns:minmax(0,1fr);gap:26px}.requirement-column-progress{padding-bottom:8px}.requirement-column-progress .req-progress-track-head h3{font-size:.88rem}.requirement-column-progress .req-progress-percents strong{font-size:.95rem}.requirement-column-progress .req-progress-planned-pct{font-size:.64rem}.requirement-column-progress .req-progress-meta{font-size:.7rem}.requirement-column-title{font-size:.98rem}.requirement-card-toggle{align-items:flex-start;gap:8px;padding:11px 0 10px}.requirement-card-toggle-main{display:grid;grid-template-columns:.9rem minmax(0,1fr);grid-template-areas:"chevron title" ". units";align-items:start;-moz-column-gap:.45rem;column-gap:.45rem;row-gap:2px;flex:1 1 auto;min-width:0;flex-wrap:nowrap}.req-chevron{grid-area:chevron;margin-top:.18rem}.requirement-card-toggle h3{grid-area:title;min-width:0;font-size:.9rem;line-height:1.3;overflow-wrap:anywhere}.req-units{grid-area:units;font-size:.74rem;line-height:1.3}.req-status{margin-top:.15rem;font-size:.72rem;line-height:1.3}.requirement-card-body{padding-left:1.35rem}.req-course-line{font-size:.86rem}.requirement-college-divider h3{font-size:.98rem}.modal-backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-container{padding:16px 12px;place-items:center;align-content:center}.modal-panel{width:min(100%,520px);max-height:min(88dvh,100%);overflow-y:auto;border-radius:var(--radius-lg);padding:18px 16px;box-shadow:0 24px 60px var(--color-overlay)}.modal-course-title{margin-bottom:10px;font-size:1.2rem}.modal-course-subtitle{font-size:.86rem}.modal-copy-compact{margin-bottom:10px;font-size:.86rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}.modal-course-facts{gap:6px;margin-top:0;margin-bottom:10px}.modal-course-facts .course-meta-chip,.modal-course-facts .requirement-chip,.modal-course-facts span:not(.requirement-chip){padding:4px 8px;font-size:.7rem;border-radius:var(--radius-lg)}.modal-prereq-link-row{margin:0 0 10px}.modal-prereq-link{font-size:.8rem}.modal-detail-block{margin-top:10px}.modal-actions{margin-top:16px;gap:8px;flex-direction:row;align-items:center}.modal-actions-simple .button{min-height:40px;width:auto;flex:1 1 auto}.modal-actions-simple .text-button{flex:0 0 auto;min-height:40px;width:auto}}.profile-shell{max-width:760px}.profile-layout,.profile-shell{display:grid;gap:12px}.profile-identity,.profile-identity-copy{display:grid;gap:2px;min-width:0}.profile-identity-title{margin:0;max-width:none;color:var(--color-text-heading);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:clamp(1.15rem,2.4vw,1.35rem);font-weight:600;letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere}.profile-identity-email,.profile-identity-meta{margin:0;color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.3}.profile-identity-meta{color:var(--color-text);font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.profile-sign-out{flex:0 0 auto;margin-left:auto;color:var(--color-error-text);font-size:.78rem}.profile-sign-out:hover{color:color-mix(in srgb,var(--color-error-text) 82%,#000)}.profile-panel{display:grid;gap:0;padding:0;overflow:hidden;box-shadow:none}.profile-block{display:grid;gap:10px;padding:14px 16px}.profile-block+.profile-block{border-top:1px solid var(--color-border)}.profile-block-label{margin:0;color:var(--color-text-muted);font-family:Outfit,Source Sans\ 3,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.profile-form-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-form-grid-pair,.profile-majors-row{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-majors-row{display:grid;gap:10px 12px;align-items:start}.profile-majors-notes{display:grid;gap:2px;margin-top:-2px}.profile-field{display:grid;gap:4px;min-width:0;align-content:start}.profile-field-college{max-width:420px}.profile-field-interests{margin-top:2px}.profile-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.profile-field-label-row label,.profile-field>label:not(.profile-checkbox-label){color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.profile-field input,.profile-field select{padding:0 10px;font-size:.88rem}.profile-checkbox-label,.profile-field input,.profile-field select{min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.profile-checkbox-label{display:flex;align-items:flex-start;gap:8px;padding:5px 10px;text-transform:none;letter-spacing:0;font-size:.84rem;font-weight:600;cursor:pointer}.profile-checkbox-label input[type=checkbox]{min-height:0;width:.95rem;height:.95rem;margin-top:.15rem;padding:0;flex-shrink:0;cursor:pointer}.profile-checkbox-label strong{display:block;font-size:.84rem;font-weight:800;line-height:1.25}.profile-checkbox-label .profile-inline-tool-hint{display:block;margin-top:1px;font-size:.72rem;font-weight:600;line-height:1.3}.profile-meta{color:var(--color-text-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.profile-note{margin:0;color:var(--color-text-subtle);font-size:.74rem;line-height:1.35}.profile-note-warning{color:var(--color-warning,#9a6700)}.profile-inline-tool{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:inherit;text-decoration:none;transition:border-color .14s ease,background .14s ease}.profile-inline-tool:hover{border-color:var(--color-border-strong,var(--color-border-medium));background:var(--color-surface)}.profile-inline-tool>span:first-child{display:grid;gap:1px;min-width:0}.profile-inline-tool strong{color:var(--color-text-heading);font-size:.84rem;font-weight:700}.profile-inline-tool-hint{color:var(--color-text-muted);font-size:.74rem;font-weight:600;line-height:1.3}.profile-inline-tool-arrow{flex:0 0 auto;color:var(--color-primary);font-size:.92rem;font-weight:700}.profile-footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px 14px;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted) 55%,transparent)}.profile-footer-actions .button{min-height:34px;padding:0 14px;font-size:.86rem}.profile-actions{display:flex;flex-wrap:wrap;gap:12px}.profile-section{display:grid;gap:10px}.profile-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.profile-section-head h2{margin:0;font-size:1rem}.profile-tool-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-tool-link{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-decoration:none;transition:border-color .14s ease,background .14s ease}.profile-tool-link:hover{border-color:var(--color-border-medium);background:var(--color-surface)}.profile-tool-link strong{color:var(--color-text-heading);font-size:.95rem;font-weight:700}.profile-tool-link span{color:var(--color-text-muted);font-size:.82rem;line-height:1.35}.profile-tool-copy{margin:0;color:var(--color-text-muted);font-size:.88rem;line-height:1.4}.profile-tool-button{justify-self:start;text-decoration:none}.profile-journey-hero{gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:radial-gradient(circle at top right,var(--color-primary-soft),transparent 46%),var(--color-surface-glass)}.profile-journey-header{display:grid;gap:4px;min-width:0}.profile-journey-name-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;min-width:0}.profile-journey-name{margin:0;min-width:0;color:var(--color-text-heading);font-size:clamp(1.35rem,5vw,1.85rem);letter-spacing:-.045em;line-height:1.15;overflow-wrap:anywhere}.profile-xp-inline{margin:0;flex:0 0 auto;font-size:.84rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;background:linear-gradient(115deg,var(--color-primary) 0,#1a8f8a 38%,#c4892a 72%,#c45a3a 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.profile-xp-inline.profile-stat-skeleton{display:inline-block;min-width:88px;min-height:.9rem;background:linear-gradient(120deg,var(--color-skeleton-soft),var(--color-skeleton-mid),var(--color-skeleton-soft));background-size:200% 100%;background-clip:border-box;-webkit-background-clip:border-box;color:transparent;-webkit-text-fill-color:transparent;animation:skeleton-shimmer 1.4s ease infinite}.profile-journey-email,.profile-journey-meta{margin:0;color:var(--color-text-muted);font-size:.8rem;font-weight:700;line-height:1.35}.profile-journey-meta{color:var(--color-text);font-size:.86rem;overflow-wrap:anywhere}.profile-xp-track{position:relative;height:5px;margin-top:10px;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-track,var(--color-surface-muted)) 85%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-border) 55%,transparent)}.profile-xp-fill{position:relative;display:block;height:100%;border-radius:inherit;overflow:hidden;background:linear-gradient(90deg,var(--color-primary) 0,#1f9b96 28%,#3cb07a 52%,#d4a24a 76%,#e07a4a 100%);background-size:140% 100%;box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 28%,transparent);transition:width .45s ease}.profile-xp-fill.is-ready{animation:profile-xp-spectrum 7s ease-in-out infinite alternate}.profile-xp-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,hsla(0,0%,100%,.55) 48%,transparent 66%);transform:translate(-120%);opacity:0}.profile-xp-fill.is-ready:after{animation:profile-xp-shimmer 1.6s ease .2s 1}@keyframes profile-xp-spectrum{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes profile-xp-shimmer{0%{opacity:0;transform:translate(-120%)}20%{opacity:1}to{opacity:0;transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.profile-xp-fill.is-ready,.profile-xp-fill.is-ready:after{animation:none}}.profile-stat-skeleton{display:block;min-height:1.5rem;width:42%;border-radius:var(--radius-md);background:linear-gradient(120deg,var(--color-skeleton-soft),var(--color-skeleton-mid),var(--color-skeleton-soft));background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite}.profile-awards-embedded{display:grid;gap:8px;padding-top:4px;border-top:1px solid var(--color-border-soft,var(--color-border))}.profile-awards-head{margin-bottom:0}.profile-awards-head h2{font-size:.86rem}.profile-awards-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.profile-award-tile{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:4px;min-width:0;min-height:88px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.profile-award-tile.unlocked{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 70%,var(--color-surface))}.profile-award-tile.locked{opacity:.68}.profile-award-tile.progressing{opacity:1}.profile-award-tile.ctf{border-style:dashed}.profile-award-tile.ctf.unlocked{border-style:solid;border-color:var(--color-primary)}.profile-award-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;min-width:0}.profile-award-tile strong{min-width:0;color:var(--color-text-heading);font-size:.72rem;letter-spacing:-.02em;line-height:1.2}.profile-award-tag{flex:0 0 auto;display:inline-flex;align-items:center;padding:0 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.54rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.profile-award-how{margin:0;min-width:0;color:var(--color-text-muted);font-size:.64rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.profile-award-tile.ctf .profile-award-how,.profile-award-tile.ctf .profile-award-status,.profile-award-tile.ctf .profile-award-xp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.profile-award-tile-meta{display:flex;align-items:baseline;justify-content:space-between;gap:4px}.profile-award-xp{color:var(--color-primary);font-size:.66rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.profile-award-status{color:var(--color-text-muted);font-size:.62rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.profile-award-tile.unlocked .profile-award-status{color:var(--color-success-text,var(--color-primary))}.profile-award-track{height:3px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-track,var(--color-surface-muted))}.profile-award-fill{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .35s ease}.profile-award-tile.unlocked .profile-award-fill{background:var(--color-success-text,var(--color-primary))}.profile-award-tile.ctf:not(.unlocked) .profile-award-fill{background:color-mix(in srgb,var(--color-text-muted) 55%,transparent)}.profile-award-skeleton{min-height:88px;background:linear-gradient(120deg,var(--color-skeleton-soft),var(--color-skeleton-mid),var(--color-skeleton-soft));background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite}.profile-settings-section{gap:8px}.profile-settings-section .school-filter-row{margin-bottom:6px}.themed-select-shell{width:100%;min-width:0}.themed-select{position:relative;width:100%}.themed-select-compact{max-width:220px}.themed-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 10px;background:var(--color-surface);color:var(--color-text);font-size:.84rem;font-weight:700;line-height:1.2;text-align:left;cursor:pointer;outline:none;transition:border-color .16s ease,background .16s ease}.themed-select-compact .themed-select-trigger{min-height:30px;border-radius:var(--radius-md);padding:0 8px;font-size:.78rem}.themed-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-field .themed-combobox-trigger,.profile-field .themed-select-trigger{min-height:34px;border-radius:var(--radius-md);padding:0 10px;font-size:.84rem}.themed-select-trigger.is-placeholder{color:var(--color-text-muted)}.themed-select-trigger.is-open,.themed-select-trigger:hover,.themed-select-trigger[data-headlessui-state~=open]{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.themed-select-chevron{flex:0 0 auto;width:6px;height:6px;border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);transform:translateY(-1px) rotate(45deg);transition:transform .16s ease}.themed-select-trigger.is-open .themed-select-chevron,.themed-select-trigger[data-headlessui-state~=open] .themed-select-chevron{transform:translateY(1px) rotate(225deg)}.themed-select-menu{position:absolute;z-index:80;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 12px 28px var(--color-shadow-strong);outline:none}.themed-select-compact .themed-select-menu{max-height:168px;border-radius:var(--radius-md);padding:3px}.themed-select-option{display:flex;align-items:center;min-height:30px;border-radius:var(--radius-lg);padding:5px 9px;color:var(--color-text);font-size:.8rem;font-weight:600;line-height:1.25;cursor:pointer}.themed-select-compact .themed-select-option{min-height:26px;border-radius:var(--radius-md);padding:4px 8px;font-size:.74rem}.themed-select-option.is-active{background:var(--color-surface-muted)}.themed-select-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary)}.themed-select-option.is-selected.is-active{background:var(--color-primary-soft-strong)}.themed-select-leave{transition:opacity .12s ease,transform .12s ease}.themed-select-leave-from{opacity:1;transform:translateY(0)}.themed-select-leave-to{opacity:0;transform:translateY(-4px)}.themed-combobox-search{position:sticky;top:0;z-index:1;margin:-4px -4px 4px;padding:6px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.themed-combobox-input{width:100%;min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 10px;background:var(--color-surface-muted);color:var(--color-text);font-size:.84rem;font-weight:600;line-height:1.2;outline:none}.themed-combobox-input:focus{border-color:var(--color-border-strong);background:var(--color-surface)}.themed-combobox-input::-moz-placeholder{color:var(--color-text-muted);font-weight:600}.themed-combobox-input::placeholder{color:var(--color-text-muted);font-weight:600}.themed-combobox-menu{max-height:280px;padding-top:0}.themed-combobox-option{flex-direction:column;align-items:flex-start;gap:1px;min-height:36px;padding:6px 9px}.themed-combobox-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.themed-combobox-option-hint{color:var(--color-text-muted);font-size:.72rem;font-weight:600;line-height:1.2}.themed-combobox-option.is-selected .themed-combobox-option-hint{color:color-mix(in srgb,var(--color-primary) 72%,var(--color-text-muted))}.themed-combobox-empty{padding:10px 9px;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.profile-field-readonly{min-height:38px;display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 12px;background:var(--color-surface-muted);color:var(--color-text-subtle)}.interest-chip-grid,.program-chip-grid,.school-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.school-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.school-filter-label{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.interest-chip,.program-chip,.school-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 10px;background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left}.interest-chip.active,.program-chip.active,.school-chip.active{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 1px var(--color-primary)}.interest-chip span,.program-chip span{color:var(--color-text-muted);font-size:.78rem}.school-chip{font-size:.82rem;font-weight:600}.college-chip-grid .school-chip{gap:4px}.college-chip-soon{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.interest-chip,.program-chip{border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;min-width:0}.program-chip{flex:1 1 160px}.interest-chip{flex:1 1 180px;max-width:260px}.interest-chip-grid-compact{gap:6px}.interest-chip-compact{flex:0 1 auto;max-width:none;flex-direction:row;align-items:center;gap:0;padding:4px 8px;font-size:.74rem;font-weight:700;line-height:1.2}.interest-chip strong,.program-chip strong{font-size:.86rem}.interest-chip:disabled{opacity:.45;cursor:not-allowed}@media(max-width:760px){.profile-shell{gap:10px;max-width:none}.profile-layout{gap:10px}.profile-block{padding:12px 14px}.profile-footer-actions{padding:12px 14px;flex-direction:column;align-items:stretch}.profile-footer-actions .button{width:100%}.profile-sign-out{margin-left:0;align-self:center;padding:6px 0}.profile-form-grid,.profile-form-grid-compact,.profile-majors-row{grid-template-columns:1fr}.profile-field-college{max-width:none}}.scheduler-section{min-width:0;min-height:0;padding:0}.scheduler-shell{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.scheduler-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:0;overflow:hidden}.scheduler-calendar,.scheduler-cart{min-width:0;min-height:0}.scheduler-cart{display:flex;flex-direction:column;gap:12px;padding:10px 16px 8px 20px;border-right:1px solid color-mix(in srgb,var(--color-border) 65%,transparent);overflow:hidden}.scheduler-side-head{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex:0 0 auto}.scheduler-draft-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.scheduler-draft-menu{position:relative;min-width:0}.scheduler-draft-select{flex:0 1 auto;max-width:min(100%,14rem)}.scheduler-side-term{flex:0 0 auto;margin-left:auto;color:var(--color-text-muted);font-size:.8rem;font-weight:650;white-space:nowrap}.scheduler-draft-trigger{width:auto;max-width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid var(--color-border);border-radius:8px;padding:5px 8px;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.scheduler-draft-trigger:focus-visible,.scheduler-draft-trigger:hover,.scheduler-draft-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));outline:none}.scheduler-draft-trigger-name{min-width:0;max-width:11rem;font-size:.8rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduler-draft-meta{justify-content:space-between;gap:8px 12px}.scheduler-draft-meta,.scheduler-draft-tools{display:flex;align-items:center;flex-wrap:wrap}.scheduler-draft-tools{gap:8px}.scheduler-draft-tools .scheduler-text-btn.is-danger{color:var(--color-danger,#b42318)}.scheduler-draft-tools .scheduler-text-btn:disabled{opacity:.4;cursor:not-allowed}.scheduler-cart-toggle{display:none}.scheduler-draft-menu-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:12;min-width:150px;display:grid;gap:2px;padding:4px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:0 8px 20px color-mix(in srgb,#000 12%,transparent)}.scheduler-draft-menu-panel.is-select{width:max(100%,11.5rem);min-width:11.5rem;max-width:16rem;max-height:min(50vh,280px);overflow:auto}.scheduler-draft-menu-panel>button,.scheduler-draft-option{width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:.78rem;font-weight:650;text-align:left;cursor:pointer}.scheduler-draft-menu-panel>button:disabled{opacity:.4}.scheduler-draft-option{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.scheduler-draft-option-main{display:flex;flex-direction:column;gap:2px;min-width:0}.scheduler-draft-option-term{color:var(--color-text-muted);font-size:.68rem;font-weight:650}.scheduler-draft-option small{color:var(--color-text-muted);font-size:.7rem;font-weight:650}.scheduler-draft-option[aria-pressed=true],.scheduler-draft-option[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary)}.scheduler-draft-menu-panel>button:focus-visible,.scheduler-draft-menu-panel>button:hover,.scheduler-draft-option:focus-visible,.scheduler-draft-option:hover{background:var(--color-surface-soft);outline:none}.scheduler-draft-menu-panel>button.is-danger{color:var(--color-danger,#b42318)}.scheduler-draft-menu-panel>button.is-muted{color:var(--color-text-muted)}.scheduler-draft-menu-panel>button:disabled{opacity:.45;cursor:not-allowed}.scheduler-draft-divider{height:1px;margin:4px 2px;background:var(--color-border)}.scheduler-draft-section-label{margin:2px 8px 0;color:var(--color-text-muted);font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.scheduler-rename-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:14;display:grid;gap:8px;width:min(240px,calc(100vw - 48px));border:1px solid var(--color-border);border-radius:10px;padding:10px;background:var(--color-surface);box-shadow:0 8px 20px color-mix(in srgb,var(--color-text) 10%,transparent)}.scheduler-rename-label{margin:0;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.scheduler-rename-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:7px 9px;background:var(--color-bg,var(--color-surface));color:var(--color-text);font:inherit;font-size:.84rem;font-weight:650}.scheduler-rename-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.scheduler-rename-term{display:grid;gap:4px;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.scheduler-rename-term-select{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:7px 9px;background:var(--color-bg,var(--color-surface));color:var(--color-text);font:inherit;font-size:.82rem;font-weight:650;text-transform:none;letter-spacing:normal}.scheduler-rename-term-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.scheduler-rename-actions{display:flex;gap:6px}.scheduler-rename-cancel,.scheduler-rename-save{flex:1 1 auto;border-radius:var(--radius-sm);padding:7px 10px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.scheduler-rename-save{border:0;background:var(--color-primary);color:#fff}.scheduler-rename-save:focus-visible:not(:disabled),.scheduler-rename-save:hover:not(:disabled){filter:brightness(1.05);outline:none}.scheduler-rename-save:disabled{opacity:.45;cursor:default}.scheduler-rename-cancel{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.scheduler-rename-cancel:focus-visible,.scheduler-rename-cancel:hover{color:var(--color-text);background:var(--color-surface-soft);outline:none}.scheduler-side-data{color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.35}.scheduler-side-data .is-conflict{color:var(--color-danger,#b42318)}.scheduler-side-actions{display:flex;flex-wrap:wrap;gap:8px}.scheduler-side-actions .scheduler-primary-btn,.scheduler-side-actions .scheduler-secondary-btn{flex:1 1 auto;justify-content:center}.scheduler-primary-btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:var(--radius-md);padding:8px 12px;background:var(--color-primary);color:#fff;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.scheduler-primary-btn:focus-visible,.scheduler-primary-btn:hover{filter:brightness(1.05);outline:none}.scheduler-primary-btn:disabled{opacity:.55;cursor:not-allowed}.scheduler-secondary-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 12px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.scheduler-secondary-btn:focus-visible,.scheduler-secondary-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));outline:none}.scheduler-secondary-btn:disabled{opacity:.55;cursor:not-allowed}.scheduler-add-panel{display:grid;gap:8px;flex:0 0 auto;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.scheduler-add-panel.is-fullscreen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;border:0;border-radius:0;padding:0;background:transparent}.scheduler-layout.is-adding .scheduler-cart{gap:10px}.scheduler-add-panel.is-fullscreen .scheduler-add-results{min-height:0;max-height:none;overflow:auto;align-content:start;flex:1 1 auto}.scheduler-add-panel-head{display:grid;gap:8px}.scheduler-add-panel .search-controls-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.scheduler-add-panel .scheduler-add-input{min-width:0}.scheduler-add-panel .rail-filters-toggle,.scheduler-add-panel .rail-mode-toggle{border-radius:var(--radius-md);padding:8px 11px;font-size:.78rem;font-weight:600}.scheduler-add-panel .rail-mode-toggle{padding:6px 10px}.scheduler-add-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.scheduler-add-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.scheduler-add-panel-head h3{margin:0;font-size:.9rem;font-weight:700}.scheduler-add-hint{margin:3px 0 0;color:var(--color-text-muted);font-size:.72rem;line-height:1.35;font-weight:500}.scheduler-add-body{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.scheduler-add-body::-webkit-scrollbar{width:0;height:0;display:none}.scheduler-add-panel .rail-filter-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.scheduler-add-panel .rail-clear-filters{border:0;border-radius:10px;padding:7px 10px;background:transparent;color:var(--color-text-subtle);font-size:.76rem;font-weight:700;min-width:3.25rem;white-space:nowrap;visibility:hidden;pointer-events:none}.scheduler-add-panel .rail-clear-filters.is-visible{visibility:visible;pointer-events:auto}.scheduler-add-panel .rail-clear-filters.is-visible:focus-visible,.scheduler-add-panel .rail-clear-filters.is-visible:hover{border-color:transparent;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary-soft) 70%,transparent);outline:none}.scheduler-add-list-hint{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.scheduler-add-flash{margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-text);font-size:.8rem}.scheduler-add-panel .catalog-filter-chip{border-radius:var(--radius-md)}.scheduler-events-section{display:grid;gap:6px;margin-bottom:12px}.scheduler-events-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.scheduler-events-head h4{margin:0;font-size:.78rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.scheduler-events-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.scheduler-event-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:stretch}.scheduler-event-card{display:grid;gap:2px;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--color-text-muted) 45%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-text-muted) 8%,var(--color-surface));color:inherit;text-align:left;cursor:pointer;font:inherit}.scheduler-event-card:focus-visible,.scheduler-event-card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));outline:none}.scheduler-event-card-title{font-size:.86rem;font-weight:700}.scheduler-event-card-meta{color:var(--color-text-muted);font-size:.74rem}.scheduler-text-btn{border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.scheduler-add-label{display:block}.scheduler-add-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 10px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.86rem}.scheduler-add-input:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 40%,transparent);outline-offset:1px}.scheduler-add-results{list-style:none;margin:0;padding:0;display:grid;gap:0;max-height:200px;overflow:auto}.scheduler-add-result{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:10px 2px;border:0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.scheduler-add-result:focus-visible,.scheduler-add-result:hover{background:color-mix(in srgb,var(--color-surface-muted) 40%,transparent);outline:none}.scheduler-add-result:disabled{opacity:.55;cursor:not-allowed}.scheduler-add-result-body{min-width:0;display:grid;gap:2px}.scheduler-add-result strong{display:block;min-width:0;font-size:.82rem;font-weight:700;line-height:1.3}.scheduler-add-result strong,.scheduler-add-result-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduler-add-result-title{color:var(--color-text)!important;font-size:.78rem!important;font-weight:600}.scheduler-add-result small{margin-top:0;line-height:1.35}.scheduler-add-reqs,.scheduler-add-result small{display:block;color:var(--color-text-muted);font-size:.7rem}.scheduler-add-reqs{margin-top:1px;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.scheduler-add-panel .scheduler-color-dot{width:8px;height:8px;margin-top:5px}.scheduler-event-dialog{position:relative;z-index:60}.scheduler-event-backdrop{position:fixed;inset:0;background:color-mix(in srgb,#000 40%,transparent)}.scheduler-event-center{position:fixed;inset:0;display:grid;place-items:center;padding:16px}.scheduler-event-panel{width:min(420px,100%);display:grid;gap:12px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md,12px);background:var(--color-surface);color:var(--color-text);box-shadow:0 18px 40px color-mix(in srgb,#000 18%,transparent)}.scheduler-event-title{margin:0;font-size:1.05rem}.scheduler-event-copy{margin:0;color:var(--color-text-muted);font-size:.84rem;line-height:1.4}.scheduler-event-field{display:grid;gap:6px;font-size:.8rem;font-weight:700}.scheduler-event-field>span{color:var(--color-text-muted)}.scheduler-event-days{display:flex;flex-wrap:wrap;gap:6px}.scheduler-event-day-presets{display:flex;gap:10px}.scheduler-event-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scheduler-event-error{margin:0;color:var(--color-danger,#b42318);font-size:.8rem}.scheduler-event-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.scheduler-color-dot{width:10px;height:10px;margin-top:5px;border-radius:999px}.scheduler-cart-scroll{flex:1 1 auto;min-height:0;overflow:auto}.scheduler-empty,.scheduler-empty-inline{margin:0;color:var(--color-text-muted);font-size:.86rem;line-height:1.4}.scheduler-cart-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.scheduler-cart-item{border-radius:10px}.scheduler-cart-item.is-hidden-course{opacity:.55}.scheduler-cart-card{position:relative;display:flex;align-items:stretch;gap:0;min-height:72px;padding:10px 8px 10px 0;border-radius:10px;background:transparent;cursor:pointer;overflow:hidden}.scheduler-cart-card:hover,.scheduler-cart-item.is-active .scheduler-cart-card{background:color-mix(in srgb,var(--course-soft) 85%,var(--color-surface))}.scheduler-cart-rail{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:10px 0 0 10px;background:var(--course-solid)}.scheduler-cart-body{flex:1 1 auto;min-width:0;display:grid;gap:8px;margin-left:12px;padding-right:4px}.scheduler-cart-top{display:flex;justify-content:space-between;gap:8px}.scheduler-cart-heading{margin:0;color:var(--color-text);font-size:.95rem;font-weight:750;letter-spacing:-.02em;line-height:1.25}.scheduler-section-num{margin-left:6px;color:var(--color-text-muted);font-weight:650}.scheduler-cart-desc{margin:3px 0 0;color:var(--color-text-muted);font-size:.8rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scheduler-cart-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.scheduler-enroll-chip{font-size:.78rem;font-weight:700}.scheduler-enroll-chip[data-tone=full]{color:#e11d48}.scheduler-enroll-chip[data-tone=busy]{color:#d97706}.scheduler-enroll-chip[data-tone=open]{color:#059669}.scheduler-enroll-chip[data-tone=muted],.scheduler-status-chip{color:var(--color-text-muted)}.scheduler-status-chip{font-size:.78rem;font-weight:700}.scheduler-status-chip[data-tone=ready]{color:#10b981}.scheduler-units-chip{color:var(--color-text-muted);font-size:.78rem;font-weight:650}.scheduler-expand-icon{margin-left:auto;display:inline-flex;color:var(--color-text-muted);transition:transform .18s ease,color .15s ease}.scheduler-expand-icon.is-open{transform:rotate(180deg);color:var(--color-text)}.scheduler-cart-sections{display:grid;gap:14px;padding:4px 8px 12px 12px;border-top:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);margin-left:4px}.scheduler-section-group{display:grid;gap:4px}.scheduler-section-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:0 4px 2px}.scheduler-section-group-label{margin:0;color:var(--color-text);font-size:.8rem;font-weight:750;display:inline-flex;align-items:center;gap:.4rem}.scheduler-section-hint{font-size:.7rem;font-weight:500;letter-spacing:.02em;text-transform:lowercase;color:var(--color-text-muted,var(--text-muted,#6b7280))}.scheduler-section-group-time-label{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:650}.scheduler-section-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;width:100%;padding:8px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.scheduler-section-row:focus-visible,.scheduler-section-row:hover{background:color-mix(in srgb,var(--course-soft,var(--color-primary-soft)) 70%,var(--color-surface));outline:none}.scheduler-section-row:disabled{opacity:.55;cursor:not-allowed}.scheduler-section-row.is-selected{background:color-mix(in srgb,var(--course-soft,var(--color-primary-soft)) 88%,var(--color-surface))}.scheduler-section-row.is-blocked-conflict .scheduler-section-row-time{color:var(--color-danger,#b42318)}.scheduler-section-radio{flex:0 0 auto;width:14px;height:14px;border:1.5px solid var(--color-border-strong,var(--color-border));border-radius:999px;background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-surface)}.scheduler-section-row.is-selected .scheduler-section-radio{border-color:var(--course-solid,var(--color-primary));background:var(--course-solid,var(--color-primary));box-shadow:inset 0 0 0 2px var(--color-surface)}.scheduler-section-row-code{flex:0 0 auto;font-size:.82rem;font-weight:750;letter-spacing:-.01em}.scheduler-section-row-id{display:inline-flex;align-items:center;gap:4px;min-width:0}.scheduler-section-row-id,.scheduler-section-row-time{color:var(--color-text-muted);font-size:.74rem;font-weight:650}.scheduler-section-row-time{margin-left:auto;white-space:nowrap}.scheduler-section-id{display:inline-flex;align-items:center;gap:5px;color:var(--color-text-muted);font-size:.78rem;font-weight:650}.scheduler-cart-icons{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding-top:2px}.scheduler-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer}.scheduler-icon-btn.is-active,.scheduler-icon-btn:focus-visible,.scheduler-icon-btn:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-border) 45%,transparent);outline:none}.scheduler-icon-btn:disabled{opacity:.4;cursor:not-allowed}.scheduler-icon-btn:disabled:focus-visible,.scheduler-icon-btn:disabled:hover{color:var(--color-text-muted);background:transparent}.scheduler-calendar{flex-direction:column;align-self:stretch;height:100%;padding:8px 12px 10px 8px;background:transparent}.scheduler-calendar,.scheduler-week{display:flex;min-width:0;min-height:0;overflow:hidden}.scheduler-week{flex:1 1 auto;flex-direction:column}.scheduler-week-header{position:sticky;top:0;z-index:5;flex:0 0 auto;display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));gap:0;min-width:760px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.scheduler-week-corner{position:sticky;left:0;z-index:3;font-size:.68rem;font-weight:800;letter-spacing:.04em;background:var(--color-surface)}.scheduler-week-corner,.scheduler-week-day-label{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);border-right:1px solid var(--color-border)}.scheduler-week-day-label{min-height:36px;padding:6px 4px;font-size:.78rem;font-weight:700;text-align:center}.scheduler-week-day-label:last-child{border-right:0}.scheduler-week-day-short{display:none}.scheduler-week-scroll{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.scheduler-week-body{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));gap:0;min-width:760px;position:relative}.scheduler-week-time-rail{position:sticky;left:0;z-index:2;border-right:1px solid var(--color-border);background:var(--color-surface)}.scheduler-week-time{position:absolute;left:0;right:4px;transform:translateY(-50%);color:var(--color-text-muted);font-size:.68rem;font-weight:650;text-align:right;white-space:nowrap}.scheduler-week-day-grid{position:relative;border-right:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--scheduler-hour-height) - 1px),color-mix(in srgb,var(--color-border) 70%,transparent) calc(var(--scheduler-hour-height) - 1px),color-mix(in srgb,var(--color-border) 70%,transparent) var(--scheduler-hour-height))}.scheduler-week-day-grid:last-child{border-right:0}.scheduler-week-hour-line{display:none}.scheduler-block{position:absolute;left:2px;right:2px;z-index:1;display:flex;flex-direction:column;gap:1px;padding:4px 5px;border-radius:var(--radius-sm);border:1px solid transparent;overflow:hidden;cursor:pointer;box-shadow:none;min-width:0;box-sizing:border-box}.scheduler-block.is-hover,.scheduler-block:hover{z-index:4;filter:brightness(1.05);overflow:visible}.scheduler-block.is-split.is-hover,.scheduler-block.is-split:hover{overflow:hidden}.scheduler-block-heading{font-size:.72rem;font-weight:800}.scheduler-block-heading,.scheduler-block-line{line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduler-block-line{font-size:.64rem;font-weight:600;opacity:.95}.scheduler-block.is-short .scheduler-block-line:last-child,.scheduler-block.is-split .scheduler-block-line:last-child,.scheduler-block.is-split.is-short .scheduler-block-line{display:none}.scheduler-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;margin-bottom:8px}.scheduler-calendar-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1 1 auto}.scheduler-calendar-export{display:inline-flex;align-items:center;gap:4px;flex:none}.scheduler-calendar-export-notice{margin:0;color:var(--color-text-muted);font-size:.78rem;font-weight:650;line-height:1.3;text-align:right;min-width:0}.scheduler-view-tabs{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent}.scheduler-view-tab{border:0;border-radius:999px;padding:6px 14px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.scheduler-view-tab:focus-visible,.scheduler-view-tab:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-soft) 80%,transparent);outline:none}.scheduler-view-tab.is-active,.scheduler-view-tab[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:none}.scheduler-week-panes{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.scheduler-week-pane{min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px}.scheduler-term-calendar{flex:1 1 auto;align-self:stretch;min-width:0;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;display:flex;flex-direction:column;gap:14px;padding:0 4px 24px}.scheduler-term-weekdays{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:6px 0;background:var(--color-bg,var(--color-surface));color:var(--color-text-muted);font-size:.7rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;text-align:center}.scheduler-term-month-block{display:flex;flex-direction:column;gap:8px}.scheduler-term-month{margin:0;color:var(--color-text);font-size:1.05rem;font-weight:800}.scheduler-term-week{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.scheduler-term-week.is-finals{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.scheduler-term-week-banner{padding:5px 10px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:.7rem;font-weight:750}.scheduler-term-week-days{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}.scheduler-term-day{min-width:0;min-height:92px;padding:5px 4px 6px;border-right:1px solid var(--color-border);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px;background:var(--color-surface)}.scheduler-term-day:nth-child(7n){border-right:0}.scheduler-term-week-days>.scheduler-term-day:nth-child(-n+7){border-top:0}.scheduler-term-day-number{display:block;color:var(--color-text-muted);font-size:.72rem;font-weight:750;line-height:1.2;padding:0 2px}.scheduler-term-day-chips{display:flex;flex-direction:column;gap:3px;min-width:0}.scheduler-term-chip{display:block;width:100%;min-width:0;margin:0;border:0;border-radius:4px;padding:5px 6px;background:var(--color-primary-soft);color:var(--color-text-heading);font:inherit;font-size:.68rem;font-weight:800;line-height:1.15;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.scheduler-term-chip.is-exam{outline:1px dashed color-mix(in srgb,currentColor 45%,transparent);outline-offset:-2px}.scheduler-term-chip:focus-visible,.scheduler-term-chip:hover{filter:brightness(1.08);outline:none}.scheduler-block.is-conflict{box-shadow:0 0 0 2px color-mix(in srgb,#ef4444 55%,transparent)}.scheduler-block.is-blocked{z-index:1;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--color-text-muted) 18%,transparent),color-mix(in srgb,var(--color-text-muted) 18%,transparent) 4px,color-mix(in srgb,var(--color-text-muted) 8%,var(--color-surface)) 4px 8px);border:1px dashed color-mix(in srgb,var(--color-text-muted) 55%,var(--color-border));color:var(--color-text-muted);box-shadow:none}.scheduler-block.is-blocked.is-conflict{border-color:var(--color-danger,#b42318);color:var(--color-danger,#b42318);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-danger,#b42318) 35%,transparent)}.scheduler-block.is-preview{opacity:.55;outline:1px dashed #fff;pointer-events:none}.scheduler-block-popup{position:absolute;top:0;left:calc(100% + 6px);z-index:8;width:220px;display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-shadow:0 12px 28px color-mix(in srgb,#000 14%,transparent);overflow:hidden;pointer-events:none}.scheduler-week-day-grid:nth-last-child(-n+2) .scheduler-block-popup{left:auto;right:calc(100% + 6px)}.scheduler-block-popup-rail{width:4px;flex:0 0 auto}.scheduler-block-popup-body{padding:8px 10px;display:grid;gap:2px}.scheduler-block-popup-title{margin:0 0 2px;font-size:.84rem;font-weight:800}.scheduler-block-popup-body p{margin:0;color:var(--color-text-muted);font-size:.74rem;line-height:1.3}.scheduler-block-menu{position:fixed;z-index:60;min-width:160px;display:grid;gap:2px;padding:6px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);box-shadow:0 10px 28px color-mix(in srgb,#000 16%,transparent)}.scheduler-block-menu>button{width:100%;padding:7px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-size:.78rem;font-weight:650;text-align:left;cursor:pointer}.scheduler-block-menu>button:focus-visible,.scheduler-block-menu>button:hover{background:var(--color-surface-soft);outline:none}.scheduler-block-menu>button.is-danger{color:var(--color-danger,#b42318)}.scheduler-block-menu>button:disabled{opacity:.45;cursor:not-allowed}.scheduler-color-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:6px 2px 2px}.scheduler-color-picker.is-inline{padding:0}.scheduler-color-swatch{width:100%;aspect-ratio:1;border:2px solid;border-radius:999px;cursor:pointer;padding:0}.scheduler-color-swatch.is-selected{outline:2px solid var(--color-primary);outline-offset:1px}.scheduler-section-option{display:grid;gap:4px;width:100%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;text-align:left;cursor:pointer}.scheduler-section-option:focus-visible,.scheduler-section-option:hover{border-color:var(--color-primary);outline:none}.scheduler-section-option:disabled{opacity:.55;cursor:not-allowed}.scheduler-section-option.is-selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);background:color-mix(in srgb,var(--color-primary-soft) 70%,var(--color-surface))}.scheduler-section-option-head{display:flex;justify-content:space-between;gap:8px;font-size:.82rem}.scheduler-section-meeting{color:var(--color-text-muted);font-size:.74rem;line-height:1.35}.scheduler-drawer-root{position:relative;z-index:40}.scheduler-drawer-backdrop{position:fixed;inset:0;z-index:40;background:color-mix(in srgb,#0b1220 28%,transparent)}.scheduler-drawer-frame{position:fixed;inset:0;z-index:41;display:flex;justify-content:flex-end;pointer-events:none}.scheduler-drawer{pointer-events:auto;width:min(480px,100%);height:100%;display:flex;flex-direction:column;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-16px 0 40px color-mix(in srgb,#000 12%,transparent);overflow:hidden}.scheduler-drawer-head{flex:0 0 auto;display:grid;gap:14px;padding:22px 22px 0}.scheduler-drawer-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.scheduler-drawer-title{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.scheduler-drawer-subtitle{margin:6px 0 0;color:var(--color-text-muted);font-size:.95rem;line-height:1.35}.scheduler-drawer-icon-actions{display:flex;align-items:center;gap:8px}.scheduler-outline-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-decoration:none;cursor:pointer}.scheduler-outline-icon.is-active,.scheduler-outline-icon:focus-visible,.scheduler-outline-icon:hover{background:var(--color-surface-soft);outline:none}.scheduler-outline-icon.is-active{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.scheduler-drawer-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.scheduler-drawer-tabs{position:relative;display:flex;gap:4px;border-bottom:1px solid var(--color-border)}.scheduler-drawer-tab{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 12px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.scheduler-drawer-tab[data-active=true]{color:var(--color-text);border-bottom-color:var(--color-primary)}.scheduler-drawer-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 22px 28px;display:grid;gap:18px;align-content:start}.scheduler-fact-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:start}.scheduler-fact-divider{width:1px;align-self:stretch;background:var(--color-border)}.scheduler-drawer-sections-head h3,.scheduler-fact-label{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.scheduler-fact-value{margin:6px 0 0;font-size:.9rem;font-weight:650;line-height:1.35}.scheduler-fact:last-child .scheduler-fact-value{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scheduler-copy-block{display:grid;gap:6px}.scheduler-copy{margin:0;color:var(--color-text);font-size:.9rem;line-height:1.5}.scheduler-copy.is-muted{color:var(--color-text-muted)}.scheduler-meeting-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.scheduler-meeting-list li{color:var(--color-text);font-size:.9rem;line-height:1.45}.scheduler-meeting-list strong{display:inline-block;margin-right:6px;font-weight:750}.scheduler-drawer-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.scheduler-drawer-sections-head{display:flex;align-items:center;justify-content:space-between;gap:8px}@media(max-width:1100px){.scheduler-week-day-full{display:none}.scheduler-week-day-short{display:inline}.scheduler-fact-row{grid-template-columns:1fr}.scheduler-fact-divider{display:none}}@media(max-width:980px){.scheduler-layout{position:relative;display:flex;flex-direction:column;grid-template-columns:none}.scheduler-layout.is-adding .scheduler-cart{position:absolute;inset:0;z-index:24;max-height:none;flex:1 1 auto;border-bottom:0;background:var(--color-surface)}.scheduler-cart{flex:0 0 auto;border-right:0;border-bottom:1px solid var(--color-border);max-height:none;padding:8px 12px 10px 16px;overflow:visible}.scheduler-draft-tools{display:none}.scheduler-cart-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-muted) 55%,transparent);color:inherit;font:inherit;text-align:left;cursor:pointer}.scheduler-cart-toggle-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.78rem;font-weight:650}.scheduler-cart-toggle-action{display:inline-flex;flex-shrink:0;align-items:center;gap:4px;color:var(--color-primary);font-size:.76rem;font-weight:750}.scheduler-cart-toggle-action svg{transition:transform .16s ease}.scheduler-cart-toggle-action svg.is-open{transform:rotate(180deg)}.scheduler-layout:not(.is-adding):not(.is-cart-expanded) .scheduler-cart-scroll{display:none}.scheduler-layout.is-cart-expanded:not(.is-adding) .scheduler-cart{position:absolute;inset:0;z-index:22;display:flex;flex-direction:column;max-height:none;border-bottom:0;background:var(--color-surface);overflow:hidden}.scheduler-layout.is-cart-expanded:not(.is-adding) .scheduler-cart-scroll{display:block;flex:1 1 auto;min-height:0}.scheduler-calendar{min-height:0;flex:1 1 auto;padding-left:8px}.scheduler-term-weekdays{font-size:.62rem}}@media(max-width:760px){.planner-shell.is-scheduler{width:calc(100% - 12px);padding-bottom:0}.scheduler-side-head{gap:6px}.scheduler-draft-row{gap:8px}.scheduler-side-term{font-size:.68rem}.scheduler-side-actions{gap:6px}.scheduler-side-actions .scheduler-primary-btn,.scheduler-side-actions .scheduler-secondary-btn{min-height:40px;padding:8px 10px;font-size:.84rem}.scheduler-calendar{padding:6px 4px 8px}.scheduler-calendar-toolbar{gap:8px;margin-bottom:6px}.scheduler-week-body,.scheduler-week-header{grid-template-columns:44px repeat(7,minmax(72px,1fr));min-width:548px}.scheduler-week-day-label{font-size:.7rem}.scheduler-term-month-block,.scheduler-term-week-days,.scheduler-term-weekdays{min-width:548px;width:max(100%,548px)}.scheduler-drawer{width:min(100%,100vw)}}
