:root{--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-micro:.12s;--dur-short:.22s;--workspace-clear:color-mix(in oklab, var(--color-light) 86%, transparent);--workspace-edge:inset 0 1px 0 #ffffffd9;--workspace-shadow:12px 24px 48px -32px #33647b4d;--workspace-marker:color-mix(in oklab, var(--color-accent-soft) 48%, transparent);--workspace-rail:color-mix(in oklab, var(--color-light) 88%, var(--color-paper-2));--select-shadow:0 16px 40px -12px #0e252f33, 0 2px 8px #0e252f0f;--interactive-wash:color-mix(in oklab, var(--color-accent-soft) 48%, var(--color-light))}@supports (color:lab(0% 0 0)){:root{--workspace-edge:inset 0 1px 0 lab(100% 0 0/.85);--workspace-shadow:12px 24px 48px -32px lab(39.8502% -11.9733 -18.2908/.3);--select-shadow:0 16px 40px -12px lab(13.0899% -6.40699 -9.83854/.2), 0 2px 8px lab(13.0899% -6.40699 -9.83854/.06)}}[data-theme=dark]{--workspace-clear:var(--color-light);--workspace-edge:inset 0 1px 0 var(--color-rule);--workspace-shadow:none;--workspace-rail:var(--color-paper-2);--select-shadow:0 16px 40px -12px #00000080}@supports (color:lab(0% 0 0)){[data-theme=dark]{--select-shadow:0 16px 40px -12px lab(0% 0 0/.5)}}.select-trigger{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;min-width:0;min-height:46px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-muted);border-radius:var(--radius-inner);background:var(--workspace-clear);color:var(--text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-micro) ease-out, border-color var(--dur-micro) ease-out;line-height:1.4;display:inline-flex}.select-trigger>span:first-child{min-width:0}.select-trigger:hover{background:var(--interactive-wash);border-color:var(--color-ink)}.select-trigger[data-state=open]{border-color:var(--color-accent);background:var(--color-light)}.select-trigger:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.select-trigger:active:not(:disabled){transform:translateY(1px)}.select-trigger:disabled{cursor:not-allowed;opacity:.55}.select-value{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.select-value>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-chevron{color:var(--muted);transition:transform var(--dur-short) var(--ease-out);flex-shrink:0;display:flex}.select-trigger[data-state=open] .select-chevron{color:var(--color-accent);transform:rotate(180deg)}.select-content{z-index:100;min-width:var(--radix-select-trigger-width);width:max-content;max-width:min(360px, var(--radix-select-content-available-width));max-height:min(360px, var(--radix-select-content-available-height));padding:var(--space-2xs);background:var(--color-light);color:var(--text);box-shadow:var(--select-shadow);font-family:var(--font-body);transform-origin:var(--radix-select-content-transform-origin);border:0;border-radius:14px;overflow:hidden}.select-content[data-state=open]{animation:select-enter var(--dur-short) var(--ease-out)}.select-viewport{max-height:inherit;padding:var(--space-2xs)}.select-menu-label{padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-2xs);color:var(--muted);font-size:var(--text-xs);border-bottom:1px solid var(--line)}.select-option{align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;line-height:1.4;display:flex;position:relative}.select-option[data-highlighted]{background:var(--interactive-wash)}.select-option:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.select-option[data-state=checked]{color:var(--color-accent);font-weight:600}.select-option[data-disabled]{cursor:not-allowed;opacity:.5}.select-option-copy{gap:var(--space-3xs);flex-direction:column;flex:1;min-width:0;display:flex}.select-option-description{font-size:var(--text-xs);color:var(--muted);font-weight:400}.select-check{margin-left:var(--space-sm);color:var(--color-accent);flex-shrink:0;display:flex}.select-swatch{background:var(--swatch);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--color-rule-2);border-radius:50%;flex:0 0 10px}.select-option-icon{color:var(--muted);flex-shrink:0}.select-scroll-button{min-height:24px;color:var(--muted);justify-content:center;align-items:center;display:flex}.topbar-workspace .select-trigger{border-color:var(--color-rule-2);background:var(--color-light);width:auto;max-width:240px;font-weight:500}.calendar-filters .select-trigger{min-width:144px}.calendar-filters .select-value{flex:1}.calendar-clear-filters{color:var(--color-accent);align-self:end}.week-strip-corner,.course-row-label{z-index:2;background:var(--color-light);position:sticky;left:0}.app-form .select-trigger{margin-bottom:var(--space-xs)}.workspace-main .muted{font-size:var(--text-sm);line-height:1.6}.event-main:hover>strong{color:var(--color-accent)}.calendar-event:hover,.deadline-pill:hover{filter:none;outline:1px solid var(--color-accent);outline-offset:1px}.schedule-event:hover{background:var(--interactive-wash)}.app-search:focus-within,.mobile-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-focus)}.view-switch button{transition:background-color var(--dur-micro) ease-out, color var(--dur-micro) ease-out}.view-switch button:not(.selected):hover{background:var(--color-light)}.view-switch button:active{transform:translateY(1px)}.event-card{transition:background-color var(--dur-micro) ease-out}.event-card:focus-within{background:var(--interactive-wash)}.event-card:has(.event-main:hover){background:var(--interactive-wash)}.course-card:has(a:hover){background:var(--interactive-wash)}@keyframes select-enter{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:600px){.select-trigger{font-size:var(--text-md)}.topbar-workspace .select-trigger{max-width:160px;font-size:var(--text-sm)}.calendar-filters .select-trigger{min-width:0}}@media (prefers-reduced-motion:reduce){.select-content,.select-chevron,.select-trigger{transition:none!important;animation:none!important}}html,body{overflow-x:clip}h1,h2,h3{overflow-wrap:break-word;text-wrap:balance;min-width:0}.app-shell{isolation:isolate;position:relative}.workspace-light{z-index:-1;opacity:.25;pointer-events:none;width:58%;height:560px;position:fixed;inset:0 0 auto auto}.workspace-light:after{content:"";background:var(--workspace-clear);position:absolute;inset:0}[data-theme=dark] .workspace-light{display:none}.sidebar:not(.mobile-sidebar){inset:var(--space-md) auto var(--space-md) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--workspace-rail);width:224px;padding:var(--space-lg) var(--space-sm);box-shadow:var(--workspace-edge)}.app-body{background:0 0;width:calc(100% - 256px);margin-left:256px}.app-topbar{max-width:1440px;min-height:80px;padding:var(--space-md) var(--space-xl);background:0 0;border:0;margin-inline:auto}.topbar-workspace select{background:var(--workspace-clear);min-height:44px}.app-search{background:var(--workspace-clear);border-color:var(--color-muted)}.app-search input,.breadcrumb{font-size:var(--text-sm)}.app-topbar .button.primary{border-radius:var(--radius-pill);box-shadow:var(--workspace-edge)}.workspace-main{padding-top:var(--space-lg)}.workspace-main>.page-heading{margin-bottom:var(--space-xl)}.page-heading h1{font-size:2rem;font-weight:600;line-height:1.15}.workspace-date{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--space-xs);display:block}.workspace-main .panel{background:var(--workspace-clear);box-shadow:var(--workspace-edge);border-radius:var(--radius-card);padding:var(--space-lg);border:0;overflow:visible}.workspace-main .week-strip-panel,.workspace-main .calendar-panel{box-shadow:var(--workspace-edge), var(--workspace-shadow)}.week-strip-panel,.week-strip-header{margin-bottom:var(--space-lg)}.timeline-scroll-hint,.month-scroll-hint{display:none}.month-scroll{overflow-x:auto}.month-scroll:focus-visible,.week-strip-scroll:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.panel h2{font-size:var(--text-lg);font-weight:600}.week-strip-grid{background:0 0;border:0}.week-strip-corner,.week-day-header{border-bottom:1px solid var(--line);background:0 0}.week-day-header.is-today{background:var(--workspace-marker)}.week-day-header.is-today,.week-day-header.is-today .day-number{color:var(--text);box-shadow:none}.week-day-header .day-number{font-size:var(--text-xl)}.week-day-cell,.course-row-label{border-bottom:1px solid var(--line);background:0 0}.week-day-cell.is-today{background:var(--workspace-marker)}.today-dashed-line{display:none}.week-course-row:last-child .week-day-cell,.week-course-row:last-child .course-row-label{border-bottom:0}.week-strip-legend .legend-pill{padding:var(--space-2xs);background:0 0;border:0}.deadline-pill{border-radius:var(--radius-inner);box-shadow:none}.stats-grid{padding-block:var(--space-md) var(--space-lg);margin-bottom:var(--space-xl);border-bottom:0}.stat-card{padding-inline:var(--space-lg)}.stat-card>strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.stat-card .eyebrow{font-family:var(--font-body);letter-spacing:0;text-transform:none}.dashboard-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start}.dashboard-grid .panel{padding:var(--space-lg)}.deadlines-panel>div:not(.panel-heading){padding:0}.urgency-row:nth-child(n){background:0 0;border:0;border-radius:0}.urgency-row+.urgency-row{border-top:1px solid var(--line)}.urgency-row .event-card{padding:var(--space-lg) 0}.event-main>strong{font-size:var(--text-md);font-weight:600;line-height:1.45}.event-meta,.event-due{font-size:var(--text-sm);font-weight:400}.event-trailing{gap:var(--space-xs)}.event-card{border-bottom:1px solid var(--line)}.review-cards-grid{gap:var(--space-md);padding:0}.review-card{border-radius:var(--radius-inner);background:var(--surface-subtle);padding:var(--space-md);border:0}.review-empty{padding:var(--space-md) 0}.review-actions{padding:var(--space-md) 0 0;flex-wrap:wrap}.semester-note{padding:var(--space-lg);background:0 0;border:0}.semester-note h3{font-size:var(--text-md)}.semester-note p{font-size:var(--text-sm)}.calendar-panel{padding:var(--space-lg)}.calendar-toolbar{padding:0 0 var(--space-lg)}.calendar-period h2{font-size:var(--text-xl)}.calendar-filters{border-top:1px solid var(--line);padding-block:var(--space-lg)}.calendar-filters label{align-items:stretch;gap:var(--space-xs);font-size:var(--text-xs);flex-direction:column;display:flex}.calendar-filters .filter-label{color:var(--muted)}.calendar-filters select,.calendar-filters input{background:var(--workspace-clear);border-color:var(--color-muted)}.view-switch{background:var(--surface-subtle);padding:var(--space-2xs);border:0}.view-switch button{font-size:var(--text-sm);white-space:nowrap}.view-switch button.selected{background:var(--accent-soft);color:var(--accent-ink);box-shadow:none}.calendar-weekdays{background:0 0;border:0}.calendar-weekdays span{text-transform:none;font-family:var(--font-body);letter-spacing:0}.month-grid{border:0}.month-day{border-color:var(--line);background:0 0;min-height:108px}.month-day.outside{background:var(--surface-subtle)}.month-day.today{background:var(--workspace-marker)}.month-day>time{font-variant-numeric:tabular-nums}.calendar-event{border-radius:6px;line-height:1.45}.schedule-columns>section{border-color:var(--line)}.schedule-columns h3{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;font-weight:500}.day-empty{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-lg)}.schedule-event{background:var(--accent-soft);color:var(--text);border-radius:var(--radius-inner);border:0}.course-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.workspace-main .course-card{padding:var(--space-lg)}.course-card .course-icon{color:var(--muted);background:0 0;border:0}.course-card .eyebrow{text-transform:none;letter-spacing:0;font-weight:500}.course-card h2{font-size:var(--text-xl);margin-block:var(--space-xs) var(--space-md)}.course-card>p{margin-block:var(--space-md)}.course-next{padding-block:var(--space-md);border-top:1px solid var(--line)}.course-card-bottom{border-top:1px solid var(--line)}.settings-layout{gap:var(--space-lg)}.settings-layout .settings-panel{padding:var(--space-lg)}.app-form input:not([type=checkbox]):not([type=color]),.app-form select,.app-form textarea{border-color:var(--color-muted);background:var(--workspace-clear)}.app-shell :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;transition:none}.app-shell button:active{transform:translateY(1px)}.app-shell button:disabled{opacity:.55;cursor:not-allowed;transform:none}.app-shell .button,.dialog-content .button{white-space:nowrap}.app-shell .button:hover{background-color:var(--accent-soft);color:var(--text)}.app-shell .button.primary:hover{background:var(--accent-strong-hover);color:var(--on-accent)}.app-shell .button.primary,.dialog-content .button.primary{color:var(--on-accent)}.app-footer,.app-footer>span:last-child,.topbar-workspace small,.rail-badge{font-size:var(--text-xs)}.app-shell .button[aria-busy=true]{cursor:progress}.app-shell .field-hint{min-height:1lh}@media (min-width:961px) and (max-width:1180px){.app-topbar{padding-inline:var(--space-lg)}.app-search{max-width:180px}.topbar-sync-pill{display:none}.dashboard-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:960px){.sidebar:not(.mobile-sidebar){display:none}.app-body{width:100%;margin-left:0}.app-topbar{padding:var(--space-sm) var(--space-lg);min-height:72px}.menu-toggle{display:inline-flex}.breadcrumb{display:none}.workspace-main{padding:var(--space-lg)}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-aside{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.app-search{display:none}.mobile-search{align-items:center;gap:var(--space-xs);padding-inline:var(--space-sm);border:1px solid var(--color-muted);border-radius:var(--radius-inner);min-height:46px;margin-bottom:var(--space-lg);background:var(--workspace-clear);color:var(--muted);display:flex}.mobile-search input{width:100%;min-width:0;min-height:44px;color:var(--text);font-size:var(--text-md);background:0 0;border:0}.workspace-light{opacity:.18;width:100%}}@media (max-width:600px){.week-strip-grid{grid-template-columns:128px repeat(7,minmax(128px,1fr));min-width:1080px}.course-row-label{padding-inline:var(--space-xs)}.month-calendar{min-width:672px}.month-scroll-hint,.timeline-scroll-hint{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-sm);display:block}.app-topbar{padding:var(--space-xs) var(--space-md)}.workspace-main{padding:var(--space-lg) var(--space-md)}.workspace-main>.page-heading{margin-bottom:var(--space-lg)}.page-heading h1{font-size:var(--text-2xl)}.workspace-main .panel{padding:var(--space-md);border-radius:var(--radius-card)}.dashboard-aside{grid-template-columns:minmax(0,1fr)}.stats-grid{margin-bottom:var(--space-lg)}.stat-card{padding-inline:var(--space-sm)}.stat-card>strong{font-size:var(--text-xl)}.event-main>strong{font-size:var(--text-sm)}.event-meta,.event-due,.view-switch button{font-size:var(--text-xs)}.month-day{min-height:84px}.calendar-filters{gap:var(--space-sm)}.calendar-filters select,.calendar-filters input{font-size:var(--text-md)}.calendar-toolbar{padding-bottom:var(--space-md)}.calendar-period h2{font-size:var(--text-lg)}.course-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
