:root{color-scheme:light;--bg: #f2f2f7;--panel: #ffffff;--surface: #ffffff;--border: #e4e4e7;--text: #18181b;--muted: #71717a;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--danger-bg: #fef2f2;--success: #16a34a;--radius: 10px;--shadow: 0 1px 3px rgb(0 0 0 / .06);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--text-caption: .75rem;--text-footnote: .8125rem;--text-subhead: .9375rem;--text-callout: 1rem;--text-body: 1.0625rem;--text-headline: 1.0625rem;--text-title3: 1.25rem;--text-title2: 1.5rem;--text-title1: 1.75rem;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: var(--text-caption);--text-sm: var(--text-footnote);--text-md: var(--text-subhead);--text-lg: var(--text-body);--text-xl: var(--text-title3);--text-2xl: var(--text-title2);--text-3xl: var(--text-title1);--control-h: 2.75rem;--control-h-compact: 2.25rem;--control-h-chip: 2rem;--course-list-visibility-size: 30px;--course-list-visibility-icon-size: 30px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--inset-x: var(--space-4);--inset-y: var(--space-3);--course-workspace-max-width: calc(1240px + 1.5rem) ;--course-workspace-padding-block-start: var(--space-4);--course-workspace-padding-inline: var(--inset-x);--course-workspace-padding-block-end: var(--space-6);--course-body-padding-block-start: var(--space-4);--course-body-padding-inline: var(--inset-x);--course-body-padding-block-end: var(--space-6);--course-prose-padding: var(--space-5);--course-prose-column-max: 680px;--course-prose-surface-width: calc( var(--course-prose-column-max) + 2 * var(--course-prose-padding) );--on-accent: #ffffff;--mix-base: #ffffff;--hover-dim: rgb(0 0 0 / .04);--hover-dim-strong: rgb(0 0 0 / .06);--hover-dim-soft: rgb(0 0 0 / .03);--hover-dim-medium: rgb(0 0 0 / .05);--hover-dim-faint: rgb(0 0 0 / .02);--overlay: rgb(0 0 0 / .45);--backdrop: rgb(24 24 27 / .4);--auth-gradient-start: #eef2ff;--settings-gradient-start: #fafafa;--settings-inset: rgb(255 255 255 / .8);--settings-border: rgb(228 228 231 / .95);--warning-note-bg: color-mix(in srgb, #f59e0b 10%, var(--mix-base));--warning-day-bg: rgb(245 158 11 / .34);--warning-day-glow: 0 0 18px rgb(245 158 11 / .5), 0 0 6px rgb(251 191 36 / .38), inset 0 0 0 1.5px rgb(245 158 11 / .62);--holiday-day-bg: rgb(239 68 68 / .3);--holiday-day-glow: 0 0 18px rgb(239 68 68 / .46), 0 0 6px rgb(248 113 113 / .36), inset 0 0 0 1.5px rgb(239 68 68 / .59);--amber-badge-bg: color-mix(in srgb, #d97706 22%, var(--mix-base));--amber-badge-text: #92400e;--danger-badge-bg: color-mix(in srgb, var(--danger-bg) 70%, var(--mix-base));--ui-state-bg: color-mix(in srgb, var(--bg) 60%, var(--mix-base));--shimmer: rgb(255 255 255 / 48%);--focus-outline: color-mix(in srgb, var(--accent) 72%, var(--mix-base));--filter-active-bg: color-mix(in srgb, var(--accent) 8%, var(--mix-base));--calendar-selected-ring: color-mix(in srgb, var(--accent) 45%, var(--mix-base));--calendar-today-outline: color-mix(in srgb, var(--accent) 55%, var(--mix-base));--toolbar-shadow: rgb(0 0 0 / .04);--modal-shadow: 0 12px 40px rgb(0 0 0 / .15);--dropdown-shadow: 0 8px 24px rgb(0 0 0 / .12);--dialog-shadow: 0 16px 48px rgb(0 0 0 / .18);--sheet-shadow: 0 -12px 32px rgb(0 0 0 / .22);--handle-border: #ffffff;--checkbox-check: #ffffff;--mobile-header-bg: color-mix(in srgb, var(--panel) 96%, var(--mix-base));--mobile-section-bg: color-mix(in srgb, var(--bg) 55%, var(--mix-base));--editor-toolbar-shadow: 0 2px 12px rgb(0 0 0 / .07);--editor-toolbar-z: 500;--editor-toolbar-flyout-z: 10000;--modal-z: 11000;--card-shadow: 0 2px 12px rgb(0 0 0 / .08);--card-shadow-drag: 0 8px 28px rgb(0 0 0 / .18);--danger-border: #fecaca;--danger-hover-bg: #fee2e2;--accent-soft-bg: #eff6ff;--success-text: #15803d;--holiday-text: #b91c1c;--danger-strong: #dc2626;--danger-hover-text: color-mix(in srgb, var(--danger) 85%, #450a0a);--shift-work-bg: rgb(34 197 94 / .34);--shift-work-text: #15803d;--shift-work-glow: 0 0 18px rgb(34 197 94 / .5), 0 0 6px rgb(74 222 128 / .36), inset 0 0 0 1.5px rgb(34 197 94 / .62);--shift-training-bg: rgb(59 130 246 / .34);--shift-training-text: #1d4ed8;--shift-training-glow: 0 0 18px rgb(59 130 246 / .5), 0 0 6px rgb(96 165 250 / .36), inset 0 0 0 1.5px rgb(59 130 246 / .62);--shift-dayoff-bg: rgb(100 116 139 / .29);--shift-dayoff-text: #334155;--shift-dayoff-glow: 0 0 14px rgb(148 163 184 / .4), 0 0 5px rgb(148 163 184 / .28), inset 0 0 0 1.5px rgb(100 116 139 / .52);--shift-other-bg: rgb(245 158 11 / .35);--shift-other-text: #b45309;--shift-other-glow: 0 0 18px rgb(245 158 11 / .51), 0 0 6px rgb(251 191 36 / .38), inset 0 0 0 1.5px rgb(245 158 11 / .64);--deadline-study-bg: rgb(139 92 246 / .34);--deadline-study-text: #6d28d9;--deadline-study-glow: 0 0 18px rgb(139 92 246 / .5), 0 0 6px rgb(167 139 250 / .36), inset 0 0 0 1.5px rgb(139 92 246 / .62);--deadline-test-bg: rgb(239 68 68 / .32);--deadline-test-text: #b91c1c;--deadline-test-glow: 0 0 18px rgb(239 68 68 / .48), 0 0 6px rgb(248 113 113 / .36), inset 0 0 0 1.5px rgb(239 68 68 / .61);--calendar-event-birthday-bg: rgb(236 72 153 / .34);--calendar-event-birthday-border: #db2777;--calendar-event-birthday-glow: 0 0 18px rgb(236 72 153 / .51), 0 0 6px rgb(244 114 182 / .38), inset 0 0 0 1.5px rgb(236 72 153 / .64);--calendar-event-medbook-bg: rgb(249 115 22 / .34);--calendar-event-medbook-border: #ea580c;--calendar-event-medbook-glow: 0 0 18px rgb(249 115 22 / .51), 0 0 6px rgb(251 146 60 / .38), inset 0 0 0 1.5px rgb(249 115 22 / .64);font-family:var(--font-sans);font-size:var(--text-md);color:var(--text);background:var(--bg);line-height:1.5}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #000000;--panel: #18181b;--surface: #27272a;--border: #3f3f46;--text: #fafafa;--muted: #a1a1aa;--accent: #3b82f6;--accent-hover: #60a5fa;--danger: #f87171;--danger-bg: #3f1515;--success: #4ade80;--shadow: 0 1px 3px rgb(0 0 0 / .45);--on-accent: #ffffff;--mix-base: #27272a;--hover-dim: rgb(255 255 255 / .06);--hover-dim-strong: rgb(255 255 255 / .08);--hover-dim-soft: rgb(255 255 255 / .04);--hover-dim-medium: rgb(255 255 255 / .07);--hover-dim-faint: rgb(255 255 255 / .03);--overlay: rgb(0 0 0 / .72);--backdrop: rgb(0 0 0 / .72);--auth-gradient-start: #1e1b4b;--settings-gradient-start: #27272a;--settings-inset: rgb(255 255 255 / .04);--settings-border: rgb(63 63 70 / .95);--warning-note-bg: color-mix(in srgb, #f59e0b 24%, var(--mix-base));--warning-day-bg: rgb(251 191 36 / .27);--warning-day-glow: 0 0 21px rgb(251 191 36 / .58), 0 0 8px rgb(251 191 36 / .42), inset 0 0 0 1.5px rgb(251 191 36 / .7);--holiday-day-bg: rgb(248 113 113 / .26);--holiday-day-glow: 0 0 21px rgb(248 113 113 / .54), 0 0 8px rgb(248 113 113 / .4), inset 0 0 0 1.5px rgb(248 113 113 / .68);--amber-badge-bg: color-mix(in srgb, #d97706 38%, var(--mix-base));--amber-badge-text: #fcd34d;--danger-badge-bg: color-mix(in srgb, var(--danger-bg) 85%, var(--mix-base));--ui-state-bg: color-mix(in srgb, var(--bg) 72%, var(--surface));--shimmer: rgb(255 255 255 / .08);--focus-outline: color-mix(in srgb, var(--accent) 72%, var(--surface));--filter-active-bg: color-mix(in srgb, var(--accent) 18%, var(--mix-base));--calendar-selected-ring: color-mix(in srgb, var(--accent) 55%, var(--mix-base));--calendar-today-outline: color-mix(in srgb, var(--accent) 65%, var(--mix-base));--toolbar-shadow: rgb(0 0 0 / .28);--modal-shadow: 0 12px 40px rgb(0 0 0 / .55);--dropdown-shadow: 0 8px 24px rgb(0 0 0 / .45);--dialog-shadow: 0 16px 48px rgb(0 0 0 / .6);--sheet-shadow: 0 -12px 32px rgb(0 0 0 / .55);--handle-border: #fafafa;--checkbox-check: #18181b;--mobile-header-bg: color-mix(in srgb, var(--panel) 96%, var(--surface));--mobile-section-bg: color-mix(in srgb, var(--bg) 55%, var(--surface));--editor-toolbar-shadow: 0 2px 12px rgb(0 0 0 / .35);--card-shadow: 0 2px 12px rgb(0 0 0 / .35);--card-shadow-drag: 0 8px 28px rgb(0 0 0 / .55);--danger-border: #7f1d1d;--danger-hover-bg: #450a0a;--accent-soft-bg: color-mix(in srgb, var(--accent) 16%, var(--surface));--success-text: #86efac;--holiday-text: #fca5a5;--danger-strong: #f87171;--danger-hover-text: color-mix(in srgb, var(--danger) 85%, #fecaca);--shift-work-bg: rgb(74 222 128 / .26);--shift-work-text: #86efac;--shift-work-glow: 0 0 21px rgb(74 222 128 / .6), 0 0 8px rgb(74 222 128 / .44), inset 0 0 0 1.5px rgb(74 222 128 / .74);--shift-training-bg: rgb(96 165 250 / .26);--shift-training-text: #93c5fd;--shift-training-glow: 0 0 21px rgb(96 165 250 / .6), 0 0 8px rgb(96 165 250 / .44), inset 0 0 0 1.5px rgb(96 165 250 / .74);--shift-dayoff-bg: rgb(161 161 170 / .22);--shift-dayoff-text: #e4e4e7;--shift-dayoff-glow: 0 0 16px rgb(161 161 170 / .44), 0 0 6px rgb(212 212 216 / .32), inset 0 0 0 1.5px rgb(212 212 216 / .58);--shift-other-bg: rgb(251 191 36 / .26);--shift-other-text: #fde68a;--shift-other-glow: 0 0 21px rgb(251 191 36 / .59), 0 0 8px rgb(251 191 36 / .43), inset 0 0 0 1.5px rgb(251 191 36 / .72);--deadline-study-bg: rgb(167 139 250 / .26);--deadline-study-text: #ddd6fe;--deadline-study-glow: 0 0 21px rgb(167 139 250 / .59), 0 0 8px rgb(167 139 250 / .43), inset 0 0 0 1.5px rgb(167 139 250 / .72);--deadline-test-bg: rgb(248 113 113 / .26);--deadline-test-text: #fecaca;--deadline-test-glow: 0 0 21px rgb(248 113 113 / .58), 0 0 8px rgb(248 113 113 / .42), inset 0 0 0 1.5px rgb(248 113 113 / .7);--calendar-event-birthday-bg: rgb(244 114 182 / .26);--calendar-event-birthday-border: #f9a8d4;--calendar-event-birthday-glow: 0 0 21px rgb(244 114 182 / .61), 0 0 8px rgb(244 114 182 / .45), inset 0 0 0 1.5px rgb(244 114 182 / .74);--calendar-event-medbook-bg: rgb(251 146 60 / .26);--calendar-event-medbook-border: #fdba74;--calendar-event-medbook-glow: 0 0 21px rgb(251 146 60 / .61), 0 0 8px rgb(251 146 60 / .45), inset 0 0 0 1.5px rgb(251 146 60 / .74)}}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--panel: #18181b;--surface: #27272a;--border: #3f3f46;--text: #fafafa;--muted: #a1a1aa;--accent: #3b82f6;--accent-hover: #60a5fa;--danger: #f87171;--danger-bg: #3f1515;--success: #4ade80;--shadow: 0 1px 3px rgb(0 0 0 / .45);--on-accent: #ffffff;--mix-base: #27272a;--hover-dim: rgb(255 255 255 / .06);--hover-dim-strong: rgb(255 255 255 / .08);--hover-dim-soft: rgb(255 255 255 / .04);--hover-dim-medium: rgb(255 255 255 / .07);--hover-dim-faint: rgb(255 255 255 / .03);--overlay: rgb(0 0 0 / .72);--backdrop: rgb(0 0 0 / .72);--auth-gradient-start: #1e1b4b;--settings-gradient-start: #27272a;--settings-inset: rgb(255 255 255 / .04);--settings-border: rgb(63 63 70 / .95);--warning-note-bg: color-mix(in srgb, #f59e0b 24%, var(--mix-base));--warning-day-bg: rgb(251 191 36 / .27);--warning-day-glow: 0 0 21px rgb(251 191 36 / .58), 0 0 8px rgb(251 191 36 / .42), inset 0 0 0 1.5px rgb(251 191 36 / .7);--holiday-day-bg: rgb(248 113 113 / .26);--holiday-day-glow: 0 0 21px rgb(248 113 113 / .54), 0 0 8px rgb(248 113 113 / .4), inset 0 0 0 1.5px rgb(248 113 113 / .68);--amber-badge-bg: color-mix(in srgb, #d97706 38%, var(--mix-base));--amber-badge-text: #fcd34d;--danger-badge-bg: color-mix(in srgb, var(--danger-bg) 85%, var(--mix-base));--ui-state-bg: color-mix(in srgb, var(--bg) 72%, var(--surface));--shimmer: rgb(255 255 255 / .08);--focus-outline: color-mix(in srgb, var(--accent) 72%, var(--surface));--filter-active-bg: color-mix(in srgb, var(--accent) 18%, var(--mix-base));--calendar-selected-ring: color-mix(in srgb, var(--accent) 55%, var(--mix-base));--calendar-today-outline: color-mix(in srgb, var(--accent) 65%, var(--mix-base));--toolbar-shadow: rgb(0 0 0 / .28);--modal-shadow: 0 12px 40px rgb(0 0 0 / .55);--dropdown-shadow: 0 8px 24px rgb(0 0 0 / .45);--dialog-shadow: 0 16px 48px rgb(0 0 0 / .6);--sheet-shadow: 0 -12px 32px rgb(0 0 0 / .55);--handle-border: #fafafa;--checkbox-check: #18181b;--mobile-header-bg: color-mix(in srgb, var(--panel) 96%, var(--surface));--mobile-section-bg: color-mix(in srgb, var(--bg) 55%, var(--surface));--editor-toolbar-shadow: 0 2px 12px rgb(0 0 0 / .35);--card-shadow: 0 2px 12px rgb(0 0 0 / .35);--card-shadow-drag: 0 8px 28px rgb(0 0 0 / .55);--danger-border: #7f1d1d;--danger-hover-bg: #450a0a;--accent-soft-bg: color-mix(in srgb, var(--accent) 16%, var(--surface));--success-text: #86efac;--holiday-text: #fca5a5;--danger-strong: #f87171;--danger-hover-text: color-mix(in srgb, var(--danger) 85%, #fecaca);--shift-work-bg: rgb(74 222 128 / .26);--shift-work-text: #86efac;--shift-work-glow: 0 0 21px rgb(74 222 128 / .6), 0 0 8px rgb(74 222 128 / .44), inset 0 0 0 1.5px rgb(74 222 128 / .74);--shift-training-bg: rgb(96 165 250 / .26);--shift-training-text: #93c5fd;--shift-training-glow: 0 0 21px rgb(96 165 250 / .6), 0 0 8px rgb(96 165 250 / .44), inset 0 0 0 1.5px rgb(96 165 250 / .74);--shift-dayoff-bg: rgb(161 161 170 / .22);--shift-dayoff-text: #e4e4e7;--shift-dayoff-glow: 0 0 16px rgb(161 161 170 / .44), 0 0 6px rgb(212 212 216 / .32), inset 0 0 0 1.5px rgb(212 212 216 / .58);--shift-other-bg: rgb(251 191 36 / .26);--shift-other-text: #fde68a;--shift-other-glow: 0 0 21px rgb(251 191 36 / .59), 0 0 8px rgb(251 191 36 / .43), inset 0 0 0 1.5px rgb(251 191 36 / .72);--deadline-study-bg: rgb(167 139 250 / .26);--deadline-study-text: #ddd6fe;--deadline-study-glow: 0 0 21px rgb(167 139 250 / .59), 0 0 8px rgb(167 139 250 / .43), inset 0 0 0 1.5px rgb(167 139 250 / .72);--deadline-test-bg: rgb(248 113 113 / .26);--deadline-test-text: #fecaca;--deadline-test-glow: 0 0 21px rgb(248 113 113 / .58), 0 0 8px rgb(248 113 113 / .42), inset 0 0 0 1.5px rgb(248 113 113 / .7);--calendar-event-birthday-bg: rgb(244 114 182 / .26);--calendar-event-birthday-border: #f9a8d4;--calendar-event-birthday-glow: 0 0 21px rgb(244 114 182 / .61), 0 0 8px rgb(244 114 182 / .45), inset 0 0 0 1.5px rgb(244 114 182 / .74);--calendar-event-medbook-bg: rgb(251 146 60 / .26);--calendar-event-medbook-border: #fdba74;--calendar-event-medbook-glow: 0 0 21px rgb(251 146 60 / .61), 0 0 8px rgb(251 146 60 / .45), inset 0 0 0 1.5px rgb(251 146 60 / .74)}:root[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.app-shell{min-height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-shell>.app-header{overflow:visible;z-index:40;position:relative}.app-header{padding:.85rem 1.25rem .45rem;border-bottom:1px solid var(--border);background:var(--panel);overflow:visible}.app-logo{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.app-tagline{margin:.12rem 0 0;font-size:.8125rem;line-height:1.35;color:var(--muted)}.mobile-home-tabs{display:none}main.three-col{flex:1 1 0;min-height:0}.three-col{flex:1;display:grid;grid-template-columns:minmax(220px,280px) 1fr minmax(200px,300px);grid-template-rows:minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.col{padding:.6rem 1rem 1rem;min-height:0;overflow:auto}.col--left{border-right:1px solid var(--border);background:var(--panel)}.col--center{background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.col--right{border-left:1px solid var(--border);background:var(--panel)}.column-title{margin:0 0 .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.column-title--sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.center-panel{width:100%;max-width:var(--course-workspace-max-width);margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-height:320px;padding:calc(var(--course-workspace-padding-block-start) + var(--course-body-padding-block-start)) calc(var(--course-workspace-padding-inline) + var(--course-body-padding-inline)) calc(var(--course-workspace-padding-block-end) + var(--course-body-padding-block-end));box-sizing:border-box}.assignment-notices{margin:0 0 1.25rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);text-align:left}.assignment-notices--profile{margin-top:.75rem}.assignment-notices-heading{margin:0 0 .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.assignment-notices-subheading{margin:.85rem 0 .4rem;font-size:.8125rem;font-weight:600;color:var(--text)}.assignment-notice-modal-body .assignment-notices-subheading:first-of-type{margin-top:.35rem}.assignment-notices--profile .assignment-notices-subheading{margin-top:.65rem}.assignment-notices--profile .assignment-notices-subheading:first-of-type{margin-top:.35rem}.assignment-notices-list{margin:0;padding:0;list-style:none}.assignment-notices-item{padding:.5rem 0;border-top:1px solid var(--border)}.assignment-notices-item:first-child{border-top:none;padding-top:0}.assignment-notices-item--row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.assignment-notices-course{margin:0 0 .2rem;font-weight:600;font-size:.9375rem}.assignment-notices-meta{margin:0;font-size:.8125rem;line-height:1.35}.assignment-notice-modal-body{max-height:min(60vh,420px);overflow-y:auto}.assignment-notice-modal-lead{margin:0 0 1rem;font-size:.875rem}.app-header-notifications-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:stretch;flex-shrink:0;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,var(--panel));color:var(--text);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-header-notifications-btn:hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 38%,var(--border));color:var(--accent)}.app-header-notifications-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.app-header-notifications-badge{position:absolute;top:.28rem;right:.28rem;width:.48rem;height:.48rem;border-radius:999px;background:#ef4444;border:1.5px solid var(--panel);pointer-events:none}.app-header-flyout{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:100;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-1);min-width:13.5rem;width:max-content;max-width:min(calc(100vw - 2rem),18rem);padding:var(--space-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--dropdown-shadow);opacity:0;visibility:hidden;pointer-events:none;overflow:visible}.app-header-flyout.is-open{opacity:1;visibility:visible;pointer-events:auto}.app-header-flyout__head{flex:0 0 auto;min-width:0}.app-header-flyout__title{font-size:var(--text-md);font-weight:600;color:var(--text)}.app-header-flyout__body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.app-header-notifications-dropdown .app-header-flyout__body{max-height:min(60vh,360px);overflow-y:auto;overscroll-behavior:contain}.app-header-notifications-dropdown__head{padding:var(--space-2) var(--space-3) var(--space-1)}.app-header-notifications-empty{margin:0;padding:var(--space-2) var(--space-3) var(--space-3);font-size:.8125rem;line-height:1.35}.app-header-notifications-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.app-header-notifications-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:.5rem .65rem;border:none;border-radius:8px;background:color-mix(in srgb,var(--panel) 92%,transparent);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .15s ease,color .15s ease}.app-header-notifications-item:hover{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.app-header-notifications-item:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.app-header-notifications-item--course{border-left:3px solid color-mix(in srgb,var(--accent) 72%,var(--border))}.app-header-notifications-item--shift{border-left:3px solid color-mix(in srgb,#22c55e 55%,var(--border))}.app-header-notifications-item--deadline{border-left:3px solid color-mix(in srgb,#8b5cf6 58%,var(--border))}.app-header-notifications-item--deadline-overdue{border-left-color:color-mix(in srgb,var(--danger) 72%,var(--border))}.app-header-notifications-item--deadline-overdue .app-header-notifications-item__title{color:var(--danger)}.app-header-notifications-item--users{border-left:3px solid color-mix(in srgb,#f59e0b 62%,var(--border))}.app-header-notifications-item__title{font-size:.8125rem;font-weight:600;line-height:1.25}.app-header-notifications-item__meta{font-size:.75rem;line-height:1.35}.col--center .center-panel{flex:1 1 auto;min-height:0;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}.center-panel-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:flex-start;margin-bottom:.75rem}.course-list-title{margin:0 0 .65rem;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.course-bundle{margin-bottom:.35rem}.course-bundle__status{margin:0 0 .55rem;font-size:.8125rem}.course-bundle__drop-hint{margin:0 0 .45rem;font-size:.75rem;line-height:1.35}.course-bundle__file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.course-list-export-btn{flex:0 0 auto;padding:.2rem .35rem!important;min-width:2rem}.course-list-export-btn__icon{width:18px;height:18px}.course-list-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.course-list-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.course-list-dropzone{position:relative;min-height:0;border-radius:10px;transition:background .15s ease,box-shadow .15s ease}.course-list-dropzone--active{background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.course-list-dropzone-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:1rem;border-radius:inherit;background:color-mix(in srgb,var(--accent) 14%,var(--panel));pointer-events:none}.course-list-dropzone-overlay p{margin:0;max-width:16rem;text-align:center;font-size:.875rem;font-weight:600;color:var(--accent)}.course-list-mobile-edit-hint{margin:0 0 .65rem;padding:.55rem .65rem;font-size:.8125rem;line-height:1.35;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.course-list-edit-desktop-only{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--control-h-chip, 2rem);padding:.3rem .5rem;font-size:.75rem;font-weight:500;line-height:1.2;border-radius:8px;cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--muted);border:1px dashed color-mix(in srgb,var(--muted) 45%,var(--border));background:color-mix(in srgb,var(--muted) 8%,var(--panel));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.course-list-actions--wrap .course-list-edit-desktop-only{width:100%}.course-list-li--group-head,.course-list-group-section{list-style:none}.course-list-group-outline{border:1px solid var(--border);border-radius:10px;padding:.5rem .65rem;background:color-mix(in srgb,var(--muted) 5%,var(--panel));box-sizing:border-box}.course-list-group-outline--drop-target{outline:2px solid var(--accent);outline-offset:1px}.course-list-group-outline--drag-source{opacity:.3;box-shadow:none}.course-list-group-outline--drag-ghost{position:fixed;top:-10000px;left:-10000px;z-index:-1;margin:0;opacity:1!important;pointer-events:none;box-shadow:0 10px 28px #0003}.course-list-group-outline--drag-floating{position:fixed;z-index:1200;margin:0;opacity:1!important;pointer-events:none;box-shadow:0 10px 28px #00000038;transform:scale(1.01);transition:none}.course-list-group-outline--drag-floating .course-list-group-head--dragging{opacity:1}.course-list-items--group-dragging .course-list-group-section{transition:transform .12s ease}.course-list-items--group-dragging .course-list-group-body,.course-list-items--group-dragging .course-list-group-collapse{pointer-events:none}.course-list-group-outline--reorder-hold{background:color-mix(in srgb,var(--accent) 10%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease}@media(max-width:960px){.course-list-group-outline--reorder-hold{transform:scale(.99)}}.course-list-group-outline .course-list-group-head{border:none;background:color-mix(in srgb,var(--accent) 8%,var(--panel));padding:.35rem .4rem;border-radius:8px}.course-list-items--nested{margin:.35rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.course-list-group-head{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;padding:.45rem .5rem .45rem .35rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--panel));font-size:.8125rem;font-weight:600;min-width:0}.course-list-group-head--muted{background:var(--bg);font-weight:500;color:var(--muted)}.course-list-group-head--dragging{opacity:.65}.course-list-group-head--drop-target{outline:2px solid var(--accent);outline-offset:1px}.course-list-group-head--reordering .course-list-visibility-btn,.course-list-group-head--reordering .course-list-group-head-actions{display:none!important}.course-list-group-head--reordering .course-list-group-title-row{flex:1 1 100%;width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.course-list-group-head--reordering .course-list-group-title,.course-list-group-head--reordering .course-list-group-title--editable{display:block;-webkit-box-orient:unset;-webkit-line-clamp:unset;line-clamp:unset;white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere;word-break:break-word;line-height:1.3;max-width:100%}.course-list-group-outline--drag-source .course-list-group-collapse,.course-list-group-outline--reorder-hold .course-list-group-collapse{display:none}.course-list-group-head--editing-title .course-list-drag-handle,.course-list-group-head--editing-title .course-list-visibility-btn,.course-list-group-head--editing-title .course-list-group-head-actions{display:none!important}.course-list-group-head--editing-title .course-list-group-title-row{flex:1 1 100%;width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.course-list-group-head--editing-title .course-list-group-title-input{width:100%;min-width:0;box-sizing:border-box}.course-list-group-head:not(.course-list-group-head--editing-title) .course-list-drag-handle,.course-list-group-head:not(.course-list-group-head--editing-title) .course-list-group-head-actions{flex:0 0 auto;flex-shrink:0}.course-list-group-head:not(.course-list-group-head--editing-title) .course-list-group-title-row{flex:1 1 0%;width:auto;min-width:0;max-width:100%}.course-list-group-head:not(.course-list-group-head--editing-title) .course-list-group-title,.course-list-group-head:not(.course-list-group-head--editing-title) .course-list-group-title--editable{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.3;max-width:100%}.course-list-group-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-list-group-title--editable{cursor:pointer;text-align:left;border:none;background:transparent;font:inherit;font-weight:inherit;color:inherit;padding:.1rem .25rem;margin:-.1rem -.25rem;border-radius:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-list-group-title--editable:hover{color:var(--accent-hover);background:var(--hover-dim)}.course-list-group-title-input{font:inherit;font-weight:inherit;color:inherit}.course-list-group-add{flex:0 0 auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;padding:0}.course-list-group-add__icon{width:.95rem;height:.95rem;display:block}.course-list-group-remove{flex:0 0 auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;padding:0}.course-list-group-remove__icon{width:.95rem;height:.95rem;display:block}.course-list-group-empty{margin:.35rem 0 0;padding:0 .25rem;font-size:.75rem}.course-list-group-collapse{display:flex;justify-content:center;align-items:center;padding:.2rem .6rem .4rem;margin-top:.1rem}.course-list-group-collapse-btn{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;min-height:1.35rem;border:none;background:transparent;cursor:pointer;color:var(--muted);border-radius:6px;padding:.1rem .35rem}.course-list-group-collapse-btn:hover{color:var(--accent);background:var(--hover-dim-strong)}.course-list-group-collapse-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-list-group-collapse-chevron{display:block;width:0;height:0;border-style:solid;border-width:5px 4px 0 4px;border-color:currentColor transparent transparent transparent}.course-list-group-collapse-chevron--collapsed{border-width:4px 0 4px 6px;border-color:transparent transparent transparent currentColor}.course-list-drag-handle--group{flex-shrink:0;border-right:1px solid var(--border);touch-action:none;min-height:1.75rem}.course-list-actions--wrap{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.course-list-actions--wrap .btn{width:100%;justify-content:center}.course-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.course-list-row{display:flex;flex-direction:row;align-items:stretch;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.course-list-row--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.course-list-row--all .course-list-desc{font-style:italic;color:var(--muted)}.course-list-row--blocked{opacity:.88}.course-list-row--dragging{opacity:.65}.course-list-row--draggable{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.course-list-row--draggable:active{cursor:grabbing}.course-list-drag-handle{flex-shrink:0;width:1.75rem;display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;font-size:.65rem;letter-spacing:-.05em;color:var(--muted);border-right:1px solid var(--border);background:var(--hover-dim-faint)}.course-list-drag-handle:active{cursor:grabbing}.course-list-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.course-list-status{display:block;margin-top:.35rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.course-list-progress{display:block;margin-top:.25rem;height:4px;border-radius:4px;background:color-mix(in srgb,var(--muted) 22%,transparent);overflow:hidden}.course-list-progress-bar{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--mix-base)));transition:width .2s ease,background .2s ease}.course-list-status--passed{color:var(--success)}.course-list-status--failed{color:var(--danger)}.course-list-progress--passed .course-list-progress-bar{background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success) 75%,var(--mix-base)))}.course-list-progress--failed .course-list-progress-bar{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 75%,var(--mix-base)))}.course-list-badge{display:inline-block;margin-left:.35rem;padding:.1rem .35rem;border-radius:4px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.course-list-badge--off{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.course-list-badge--lock{background:color-mix(in srgb,var(--muted) 28%,transparent);color:var(--text)}.course-list-select{width:100%;text-align:left;border:none;background:transparent;padding:.45rem .5rem .65rem;cursor:pointer;font:inherit;color:inherit}.course-list-select:hover{background:var(--hover-dim-soft)}.course-list-select:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.course-list-title-row{min-width:0}.course-list-title-row .course-list-name--editable{width:100%;max-width:100%;margin:0;padding:.1rem .15rem;text-align:left}.course-list-group-head-actions{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;flex-shrink:0}.course-list-name{display:block;font-weight:500;font-size:.9375rem}.course-list-name--editable{cursor:pointer;border-radius:6px;margin:-.1rem -.15rem;padding:.1rem .15rem;max-width:100%}.course-list-name--editable:hover{color:var(--accent-hover);background:var(--hover-dim-medium)}.course-list-select--editing{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;padding:.45rem .5rem .65rem;cursor:default}.course-list-name-input{font:inherit;font-weight:500;font-size:.9375rem;color:inherit}.course-list-desc{display:block;font-size:.75rem;color:var(--muted);line-height:1.35;margin-top:.2rem}.course-list-meta{display:block;font-size:.75rem;color:var(--muted);margin-top:.15rem}.course-list-actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .5rem .65rem}.muted{color:var(--muted);font-size:.875rem;margin:0}.ui-state{border:1px solid var(--border);border-radius:10px;background:var(--ui-state-bg);padding:.8rem .9rem}.ui-state__title{margin:0;font-size:.92rem;font-weight:600}.ui-state__hint{margin:.25rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.35}.ui-state--loading{position:relative;overflow:hidden}.ui-state--loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,var(--shimmer) 50%,transparent 100%);animation:ui-shimmer 1.5s ease-in-out infinite;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.45rem .75rem;border-radius:8px;font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid transparent;text-decoration:none;color:inherit;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}.btn:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn--sm{padding:.3rem .5rem;font-size:.75rem}.btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.btn--secondary:hover{background:var(--bg)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn--ghost:hover{background:var(--bg)}.btn--danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.btn--danger:hover{background:var(--danger-hover-bg)}@keyframes ui-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.ui-state--loading:after{animation:none}.btn{transition:none}}.course-viewer--scroll-tracked{padding-bottom:max(5rem,min(35vh,18rem))}.course-viewer-title{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:600;line-height:1.25;margin:0 0 1.5rem;letter-spacing:-.02em}.course-viewer:has(.course-viewer-desc) .course-viewer-title{margin-bottom:.5rem}.course-viewer-desc{margin:0 0 1.25rem;font-size:.9375rem;color:var(--muted);line-height:1.5}.panel-empty{text-align:center;padding:3rem 1rem}.panel-empty-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.panel-empty-hint{margin:0;color:var(--muted);font-size:.9375rem}.calendar-panel{margin-bottom:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.calendar-panel--main{display:flex;flex-direction:column;min-height:0;height:100%;max-height:100%;margin-bottom:0;padding:.85rem}.calendar-panel--main.calendar-panel--with-summary{height:auto;max-height:none}.calendar-panel__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.45rem}.calendar-scope-picker.calendar-user-picker{position:relative;flex:0 1 auto;width:max-content;max-width:100%;min-width:0;min-height:2rem;padding:0;border:none;background:transparent;overflow:visible;z-index:1}.calendar-scope-picker__surface{display:flex;align-items:center;gap:.35rem;width:max-content;max-width:100%;min-height:2rem;padding:.12rem .35rem .12rem .2rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 92%,var(--accent));white-space:nowrap;transition:box-shadow .2s ease,border-color .15s ease}.calendar-scope-picker.calendar-user-picker:focus-within .calendar-scope-picker__surface{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.calendar-scope-picker.calendar-user-picker:has(.select-dropdown.is-open){z-index:40}.calendar-scope-picker.calendar-user-picker:has(.select-dropdown.is-open) .calendar-scope-picker__surface{border-color:var(--accent);box-shadow:var(--dropdown-shadow)}.calendar-month-nav__tools .calendar-scope-picker .select-dropdown__value{overflow:visible;text-overflow:clip}.calendar-scope-picker .calendar-user-picker__avatar,.calendar-scope-picker .calendar-user-picker__avatar--empty{width:1.875rem;height:1.875rem;font-size:.62rem}.calendar-user-picker__avatar--all{font-size:.58rem;font-weight:700;letter-spacing:.02em;color:var(--accent);background:var(--filter-active-bg)}.calendar-scope-picker .select-dropdown__trigger{font-size:.8125rem;padding-right:.1rem}.calendar-scope-picker .calendar-user-picker__select,.calendar-scope-picker .select-dropdown{flex:0 1 auto;width:auto;min-width:0}.calendar-layers-menu{position:relative}.calendar-layers-menu__trigger{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:var(--control-h-compact);min-height:var(--control-h-compact);padding:0}.calendar-layers-menu__icon{flex-shrink:0;display:block}.calendar-layers-menu--active .calendar-layers-menu__trigger:after{content:"";position:absolute;top:.2rem;right:.2rem;width:.35rem;height:.35rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 1px var(--panel)}.calendar-layers-menu__trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-layers-menu__chevron{flex-shrink:0;opacity:.72;transition:transform .15s ease}.calendar-layers-menu.is-open .calendar-layers-menu__chevron{transform:rotate(180deg)}.calendar-layers-menu__panel{position:absolute;top:calc(100% + 4px);right:0;z-index:40;min-width:13.5rem;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow)}.calendar-layers-menu__option{display:flex;align-items:center;gap:.55rem;padding:.45rem .5rem;border-radius:6px;font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none}.calendar-layers-menu__option:hover{background:var(--hover-dim-soft)}.calendar-layers-menu__option input{width:.95rem;height:.95rem;margin:0;accent-color:var(--accent);flex-shrink:0}.calendar-layers-menu__swatch{width:.72rem;height:.72rem;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.calendar-layers-menu__swatch[data-layer=deadline]{background:var(--deadline-test-bg)}.calendar-layers-menu__swatch[data-layer=medbook]{background:var(--calendar-event-medbook-bg)}.calendar-layers-menu__swatch[data-layer=birthday]{background:var(--calendar-event-birthday-bg)}.calendar-layers-menu__swatch[data-layer=shift-work]{background:var(--shift-work-bg)}.calendar-layers-menu__swatch[data-layer=note]{background:var(--warning-day-bg)}.calendar-month-nav{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:.35rem;align-items:center;margin-bottom:.45rem;padding-top:calc(var(--control-h-compact) + .55rem)}.calendar-month-nav__scope{position:absolute;left:0;top:0;min-width:0;max-width:calc(100% - 3rem);z-index:2}.calendar-month-nav__btn--prev{grid-column:1;justify-self:start}.calendar-month-nav__title-btn{grid-column:2}.calendar-month-nav__tools{position:absolute;right:0;top:0;display:flex;align-items:center;justify-content:flex-end;gap:.28rem;z-index:2}.calendar-month-nav__filter{flex-shrink:0;position:relative}.calendar-month-nav__filter .calendar-layers-menu__trigger{width:var(--control-h-compact);height:var(--control-h-compact);min-width:var(--control-h-compact);min-height:var(--control-h-compact);padding:0}.calendar-month-nav__btn--next{grid-column:3;justify-self:end}.calendar-month-nav__btn{flex:0 0 auto;width:var(--control-h-compact);height:var(--control-h-compact);min-width:var(--control-h-compact);min-height:var(--control-h-compact);padding:0}.calendar-month-nav__title{min-width:0;margin:0;text-align:center;text-transform:capitalize;font-size:.9375rem;font-weight:600;line-height:1.25}.calendar-month-nav__title-btn{border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:.2rem .45rem;transition:color .15s ease,background .15s ease}.calendar-month-nav__title-btn:hover{color:var(--accent);background:var(--hover-dim)}.calendar-month-nav__title-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.calendar-panel__title{margin:0;font-size:1rem}.calendar-panel__hint{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.cheatsheet-search{display:flex;flex-direction:column;min-height:0;margin:0 0 .55rem}.cheatsheet-search--open{flex:1 1 auto}.cheatsheet-search__input{width:100%;min-height:2.4rem;border-radius:12px;padding:.5rem .95rem;font-size:1rem;-moz-appearance:none;appearance:none;-webkit-appearance:none}.cheatsheet-search__results{flex:1 1 auto;min-height:0;overflow:auto;margin-top:.5rem;-webkit-overflow-scrolling:touch}.cheatsheet-search__status{margin:.35rem 0 0;color:var(--muted);font-size:.86rem}.cheatsheet-search__status--error{color:var(--danger)}.cheatsheet-search__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cheatsheet-search__hit{display:flex;gap:.7rem;width:100%;text-align:left;padding:.7rem;border:none;border-radius:14px;background:var(--bg);box-shadow:0 0 0 1px var(--border);color:inherit;font:inherit;cursor:pointer}.cheatsheet-search__hit:active{transform:scale(.99)}.cheatsheet-search__thumb{width:3.15rem;height:3.15rem;border-radius:10px;object-fit:cover;flex:0 0 auto;background:var(--panel)}.cheatsheet-search__body{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:.18rem}.cheatsheet-search__meta{display:flex;align-items:baseline;gap:.45rem;min-width:0}.cheatsheet-search__kind{flex:0 0 auto;font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent)}.cheatsheet-search__course{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--muted)}.cheatsheet-search__heading{font-size:.95rem;font-weight:600;line-height:1.3}.cheatsheet-search__snippet{font-size:.8rem;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cheatsheet-scroll-target{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:4px;border-radius:10px;scroll-margin-top:.75rem}.center-panel-back-btn{font-weight:600}.calendar-panel__nav{display:flex;align-items:center;gap:.35rem}.calendar-panel__month{min-width:9rem;text-align:center;text-transform:capitalize;font-size:.875rem}.calendar-panel__user,.calendar-scope{margin-bottom:.5rem}.calendar-scope__select{display:block;width:100%;margin-top:0;min-height:var(--control-h-compact);padding:0 2rem 0 .75rem;font:inherit;font-size:var(--text-subhead);font-weight:500;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--panel);box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:.75rem}.calendar-scope__select:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background-color:color-mix(in srgb,var(--panel) 88%,var(--accent))}.calendar-scope__select--all{border-color:var(--accent);color:var(--accent);background-color:var(--filter-active-bg)}.calendar-scope__select--all:hover{border-color:var(--accent);background-color:color-mix(in srgb,var(--filter-active-bg) 82%,var(--accent))}.calendar-scope__select:focus{outline:none}.calendar-scope__select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.calendar-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.calendar-filter{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:.3rem .7rem;font-size:.82rem;font-family:inherit;font-weight:500;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.calendar-filter--active{border-color:var(--accent);color:var(--accent);background:var(--filter-active-bg)}.calendar-staff-summary{width:100%;box-sizing:border-box;align-self:stretch;margin-top:var(--space-3);padding:0;border:none;border-radius:0;background:transparent;text-align:left}.calendar-staff-summary__title{margin:0 0 var(--space-2);padding:0;font-size:var(--text-subhead);font-weight:600;text-align:left}.calendar-staff-summary__empty{margin:0;padding:0;font-size:var(--text-footnote);text-align:left}.calendar-staff-summary__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;width:100%;max-height:none}.calendar-staff-summary__row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-width:0;box-sizing:border-box;padding:.45rem 0;border:none;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:0;background:transparent}.calendar-staff-summary__row:last-child{border-bottom:none}.calendar-staff-summary__name{flex:1 1 auto;font-weight:500;font-size:1rem;line-height:1.2;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-staff-summary__stats{flex:0 0 auto;display:inline-flex;align-items:center;gap:0;font-size:.875rem;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-staff-summary__stat{display:inline-flex;align-items:center}.calendar-staff-summary__stat--shifts{padding-right:.55rem}.calendar-staff-summary__stat--hours{padding-left:.55rem}.calendar-staff-summary__stat-divider{flex:0 0 1px;width:1px;height:1.05em;background-color:color-mix(in srgb,var(--muted) 45%,var(--border));pointer-events:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .calendar-staff-summary__stat-divider{background-color:color-mix(in srgb,var(--muted) 40%,rgb(255 255 255 / .55))}}:root[data-theme=dark] .calendar-staff-summary__stat-divider{background-color:color-mix(in srgb,var(--muted) 40%,rgb(255 255 255 / .55))}.calendar-hover-note{position:absolute;top:1.8rem;left:.5rem;right:.5rem;z-index:6;margin:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--warning-note-bg);box-shadow:0 10px 24px color-mix(in srgb,#0f172a 18%,transparent);pointer-events:none}.calendar-hover-note--cursor{position:fixed;top:auto;left:auto;right:auto;width:max-content;max-width:min(16rem,calc(100vw - 1.5rem));padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--dropdown-shadow);animation:calendar-note-tip-in .14s cubic-bezier(.22,1,.36,1)}.calendar-hover-note--cursor strong{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:capitalize}.calendar-hover-note--cursor p{margin:0;font-size:var(--text-sm);line-height:1.4;color:var(--text);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}@keyframes calendar-note-tip-in{0%{opacity:0}to{opacity:1}}.calendar-hover-note strong{display:block;margin-bottom:.25rem;font-size:.8rem}.calendar-hover-note p{margin:0;white-space:pre-wrap;font-size:.875rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.calendar-grid-wrap{position:relative}.calendar-grid--weekdays{margin-bottom:.2rem}.calendar-grid__weekday{text-align:center;font-size:.75rem;color:var(--muted);font-weight:600}.calendar-day{min-height:clamp(3.15rem,5.1vh,4rem);padding:.32rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:left;cursor:pointer}.calendar-day--outside{opacity:.45}.calendar-day--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--calendar-selected-ring)}.calendar-day--today{outline:2px dashed var(--calendar-today-outline);outline-offset:1px}.calendar-day--note{background:var(--warning-day-bg);box-shadow:var(--warning-day-glow)}.calendar-day--holiday{border-color:transparent;background:var(--holiday-day-bg);box-shadow:var(--holiday-day-glow)}.calendar-day__num{display:inline-flex;align-items:flex-start;gap:.12rem;font-weight:600;font-size:.82rem;line-height:1.1}.calendar-day__holiday{color:var(--danger-strong);font-size:.62rem;line-height:1;transform:translateY(-.05rem)}.calendar-day__markers{display:block;margin-top:.18rem;font-size:.6rem;color:var(--muted);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day__shift-time{display:block;margin-top:.14rem;font-size:.62rem;font-weight:650;color:var(--text);line-height:1.15;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-sidecard{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.calendar-sidecard__title{margin:0 0 .75rem;font-size:.95rem;text-transform:capitalize}.calendar-sidecard__section{margin-top:.75rem}.calendar-popup-section-heading{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin:0 0 .45rem;letter-spacing:-.01em}.calendar-sidecard__list{margin:.45rem 0 0;padding-left:1rem}.calendar-sidecard__list--shift-cards{list-style:none;padding-left:0;margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.calendar-sidecard__list--shift-cards>li.calendar-sidecard__item{margin:0;padding:.55rem .7rem;background:color-mix(in srgb,var(--bg) 72%,var(--panel));border:1px solid var(--border);border-radius:10px}.calendar-sidecard__item{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.calendar-sidecard__item-actions{display:flex;gap:.35rem;align-items:center}.calendar-sidecard__shift-summary{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:space-between}.calendar-sidecard__shift-meta{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.calendar-sidecard__shift-user{font-weight:600;font-size:.8125rem;color:var(--text);min-width:0;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-sidecard__shift-time{font-size:.8125rem;color:var(--text);white-space:nowrap}.calendar-sidecard__shift-input{min-width:10rem}.calendar-sidecard__kind-select{min-width:9rem}.calendar-sidecard__time-range{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.calendar-sidecard__field{margin:0;min-width:13rem}.calendar-sidecard__field--picker{flex:1 1 220px;min-width:min(100%,220px)}.calendar-shift-assign{margin-top:0;padding-top:0;border-top:none}.calendar-shift-assign__title{margin:0 0 .85rem;font-size:.875rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.calendar-shift-assign__body{display:flex;flex-direction:column;gap:.85rem}.calendar-shift-assign__employee{width:100%}.calendar-shift-assign__times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.45rem;width:100%}.calendar-shift-assign__kind-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.45rem;width:100%}.calendar-shift-assign__kind-presets--solo{grid-template-columns:1fr}.calendar-shift-assign__field{width:100%;min-width:0;box-sizing:border-box}.calendar-shift-assign__field.auth-input,.calendar-shift-assign__field.select-dropdown .select-dropdown__trigger{min-height:var(--control-h-compact);height:100%;margin:0;font:inherit;font-size:.9375rem;line-height:1.2;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:none}.calendar-shift-assign__field.select-dropdown{display:flex;flex-direction:column;max-width:none}.calendar-shift-assign__field.select-dropdown .select-dropdown__trigger:focus,.calendar-shift-assign__field.select-dropdown .select-dropdown__trigger:focus-visible{outline:none;border-color:var(--accent)}.calendar-shift-assign__field.auth-input:focus{outline:none;border-color:var(--accent);background:var(--panel)}.calendar-shift-assign__time-sep{color:var(--muted);font-weight:500;-webkit-user-select:none;user-select:none;line-height:1;padding-bottom:.2rem}.calendar-shift-assign__submit{width:100%}.calendar-user-picker{display:flex;align-items:center;gap:.5rem;width:100%;min-height:var(--control-h, 2.5rem);padding:.2rem .45rem .2rem .3rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.calendar-user-picker:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.calendar-user-picker__select{flex:1 1 0;min-width:0;border:none!important;padding:0!important;background:transparent!important;min-height:0!important;box-shadow:none!important}.calendar-user-picker .select-dropdown__trigger{border:none;background:transparent;padding:0 .15rem 0 0;min-height:0;box-shadow:none}.calendar-user-picker .select-dropdown__trigger:focus,.calendar-user-picker .select-dropdown__trigger:focus-visible{border:none;box-shadow:none;outline:none}.calendar-user-picker__avatar{width:2.4rem;height:2.4rem;border-radius:999px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.calendar-user-picker__avatar--empty{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--text);border:1px solid var(--border)}.calendar-user-picker__select{flex:1 1 0;min-width:0}.calendar-sidecard__shift-user--with-avatar{display:inline-flex;align-items:center;gap:.35rem}.calendar-shift-user-avatar{width:1.625rem;height:1.625rem;border-radius:999px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.calendar-shift-user-avatar--empty{display:inline-flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:999px;font-size:.62rem;font-weight:700;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border:1px solid var(--border)}.calendar-note-input{width:100%;min-height:5.5rem;resize:vertical;margin:.45rem 0}.calendar-note-preview{margin:.45rem 0 0;white-space:pre-wrap}.calendar-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:30}.calendar-popup{width:min(720px,100%);max-height:min(85vh,900px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--dialog-shadow);padding:1rem}.calendar-popup__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.calendar-popup__header-text{min-width:0}.calendar-popup__holiday{margin:.25rem 0 0;font-size:.8125rem;color:var(--holiday-text);line-height:1.35}.calendar-popup__holiday-mark{color:var(--danger-strong)}.calendar-shift-badge,.calendar-deadline-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);filter:saturate(1)}.calendar-shift-badge--work{background:var(--shift-work-bg);color:var(--shift-work-text);box-shadow:var(--shift-work-glow)}.calendar-shift-badge--training{background:var(--shift-training-bg);color:var(--shift-training-text);box-shadow:var(--shift-training-glow)}.calendar-shift-badge--day_off{background:var(--shift-dayoff-bg);color:var(--shift-dayoff-text);box-shadow:var(--shift-dayoff-glow)}.calendar-shift-badge--other{background:var(--shift-other-bg);color:var(--shift-other-text);box-shadow:var(--shift-other-glow)}.calendar-deadline-groups{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.calendar-deadline-groups--solo{gap:0}.calendar-deadline-group{margin:0;padding:.55rem .65rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 72%,var(--panel))}.calendar-deadline-group__head{font-size:.8125rem;font-weight:650;color:var(--text);margin-bottom:.4rem;padding-bottom:.35rem;border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.calendar-deadline-group__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.calendar-deadline-row{display:grid;grid-template-columns:4.85rem minmax(0,1fr);gap:.45rem;align-items:center}.calendar-deadline-row__title{font-size:.8125rem;line-height:1.35;color:var(--text);min-width:0}.calendar-deadline-badge--compact{justify-content:center;min-width:4.85rem;padding:.1rem .42rem;font-size:.68rem;font-weight:650}.calendar-deadline-badge--compact.calendar-deadline-badge--study{box-shadow:var(--deadline-study-glow)}.calendar-deadline-badge--compact.calendar-deadline-badge--test{box-shadow:var(--deadline-test-glow)}.calendar-deadline-badge--study{background:var(--deadline-study-bg);color:var(--deadline-study-text);box-shadow:var(--deadline-study-glow)}.calendar-deadline-badge--test{background:var(--deadline-test-bg);color:var(--deadline-test-text);box-shadow:var(--deadline-test-glow)}.calendar-link-button{border:none;background:transparent;padding:0;color:var(--accent);cursor:pointer;text-align:left;font:inherit;text-decoration:underline}.guidebook-prose{font-family:var(--font-sans);font-size:var(--text-lg);line-height:1.55;color:var(--text)}.guidebook-prose--editable{min-height:280px;outline:none}.guidebook-prose p{margin:0 0 1rem}.guidebook-prose mark{border-radius:.15em;padding:.05em 0;color:inherit}.guidebook-prose table,.guidebook-prose .guidebook-table{width:100%;max-width:100%;min-width:0;border-collapse:collapse;margin:0 0 1rem;table-layout:fixed;box-sizing:border-box}.guidebook-prose .tableWrapper{display:block;width:100%;max-width:100%;overflow-x:clip;margin:0 0 1rem;box-sizing:border-box;padding-inline:4px}.guidebook-prose .tableWrapper>.guidebook-table,.guidebook-prose .tableWrapper>table{margin:0;width:100%;max-width:100%;min-width:0}.guidebook-prose .tableWrapper.block-align-center>.guidebook-table,.guidebook-prose .tableWrapper.block-align-center>table{width:94%;margin-left:auto;margin-right:auto}.guidebook-prose .tableWrapper.block-align-right>.guidebook-table,.guidebook-prose .tableWrapper.block-align-right>table{width:94%;margin-left:auto;margin-right:0}.guidebook-prose th,.guidebook-prose td{border:1px solid var(--border);padding:.45rem .55rem;vertical-align:top;min-width:0;max-width:100%;position:relative;overflow-wrap:anywhere;word-break:break-word;overflow:hidden;box-sizing:border-box}.guidebook-prose th>p,.guidebook-prose td>p{margin:0}.guidebook-prose th[style*="text-align: center"],.guidebook-prose td[style*="text-align: center"],.guidebook-prose th[style*="text-align:center"],.guidebook-prose td[style*="text-align:center"]{text-align:center}.guidebook-prose th[style*="text-align: right"],.guidebook-prose td[style*="text-align: right"],.guidebook-prose th[style*="text-align:right"],.guidebook-prose td[style*="text-align:right"]{text-align:right}.guidebook-prose th[style*="text-align: left"],.guidebook-prose td[style*="text-align: left"],.guidebook-prose th[style*="text-align:left"],.guidebook-prose td[style*="text-align:left"]{text-align:left}.guidebook-prose th>p[style*="text-align: center"],.guidebook-prose td>p[style*="text-align: center"],.guidebook-prose th>p[style*="text-align:center"],.guidebook-prose td>p[style*="text-align:center"]{text-align:center}.guidebook-prose th>p[style*="text-align: right"],.guidebook-prose td>p[style*="text-align: right"],.guidebook-prose th>p[style*="text-align:right"],.guidebook-prose td>p[style*="text-align:right"]{text-align:right}.guidebook-prose--editable.resize-cursor{cursor:col-resize}.guidebook-prose--editable.row-resize-cursor{cursor:row-resize}.guidebook-prose--editable .column-resize-handle{position:absolute;top:0;right:-4px;bottom:0;width:8px;z-index:3;pointer-events:none;background:transparent}.guidebook-prose--editable.resize-cursor .column-resize-handle{background:color-mix(in srgb,var(--accent) 55%,transparent)}.guidebook-prose--editable .column-resize-dragging{background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.guidebook-prose--editable .row-resize-handle{position:relative;left:0;width:100%;height:8px;margin-top:-4px;margin-bottom:-4px;z-index:3;cursor:row-resize;background:transparent}.guidebook-prose--editable .row-resize-handle:after{content:"";position:absolute;left:0;right:0;top:3px;height:2px;border-radius:1px;background:transparent;transition:background .12s ease}.guidebook-prose--editable .row-resize-handle:hover:after,.guidebook-prose--editable.row-resize-cursor .row-resize-handle:after{background:color-mix(in srgb,var(--accent) 70%,transparent)}.guidebook-prose th{background:color-mix(in srgb,var(--border) 35%,var(--panel));font-weight:600;text-align:left}.guidebook-prose .selectedCell{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.guidebook-prose h2,.guidebook-prose h3{font-family:var(--font-sans);font-weight:600;line-height:1.3;margin:1.5rem 0 .75rem}.guidebook-prose h2{font-size:var(--text-2xl)}.guidebook-prose h3{font-size:var(--text-xl)}.guidebook-prose ul,.guidebook-prose ol{margin:0 0 1rem;padding-left:1.5rem}.guidebook-prose li[style*="text-align: center"],.guidebook-prose li[style*="text-align:center"],.guidebook-prose li:has(>p[style*="text-align: center"]),.guidebook-prose li:has(>p[style*="text-align:center"]){list-style-position:inside;text-align:center}.guidebook-prose li[style*="text-align: right"],.guidebook-prose li[style*="text-align:right"],.guidebook-prose li:has(>p[style*="text-align: right"]),.guidebook-prose li:has(>p[style*="text-align:right"]){direction:rtl;list-style-position:outside;text-align:right}.guidebook-prose ul:has(>li[style*="text-align: center"]),.guidebook-prose ul:has(>li[style*="text-align:center"]),.guidebook-prose ol:has(>li[style*="text-align: center"]),.guidebook-prose ol:has(>li[style*="text-align:center"]),.guidebook-prose ul:has(>li:has(>p[style*="text-align: center"])),.guidebook-prose ul:has(>li:has(>p[style*="text-align:center"])),.guidebook-prose ol:has(>li:has(>p[style*="text-align: center"])),.guidebook-prose ol:has(>li:has(>p[style*="text-align:center"])){padding-left:0}.guidebook-prose ul:has(>li[style*="text-align: right"]),.guidebook-prose ul:has(>li[style*="text-align:right"]),.guidebook-prose ol:has(>li[style*="text-align: right"]),.guidebook-prose ol:has(>li[style*="text-align:right"]),.guidebook-prose ul:has(>li:has(>p[style*="text-align: right"])),.guidebook-prose ul:has(>li:has(>p[style*="text-align:right"])),.guidebook-prose ol:has(>li:has(>p[style*="text-align: right"])),.guidebook-prose ol:has(>li:has(>p[style*="text-align:right"])){padding-left:0;padding-right:1.5rem}.guidebook-prose li[style*="text-align: center"]>p,.guidebook-prose li[style*="text-align:center"]>p{text-align:inherit}.guidebook-prose li[style*="text-align: right"]>p,.guidebook-prose li[style*="text-align:right"]>p,.guidebook-prose li:has(>p[style*="text-align: right"])>p,.guidebook-prose li:has(>p[style*="text-align:right"])>p{direction:ltr;text-align:inherit}.guidebook-prose blockquote[style*="text-align: center"],.guidebook-prose blockquote[style*="text-align:center"]{border-left:none;padding-left:0}.guidebook-prose blockquote[style*="text-align: right"],.guidebook-prose blockquote[style*="text-align:right"]{border-left:none;border-right:3px solid var(--border);padding-left:0;padding-right:1rem}.guidebook-prose blockquote{margin:0 0 1rem;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted);font-style:italic}.guidebook-prose hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0;cursor:pointer}.guidebook-prose hr.ProseMirror-selectednode,.tiptap-body .ProseMirror hr.ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:4px}.guidebook-prose img{max-width:100%;height:auto;border-radius:6px}.guidebook-prose .resizable-image img{display:block;width:100%;max-width:100%}.guidebook-prose:after,.tiptap-body .ProseMirror:after,.guidebook-prose-view .ProseMirror:after{content:"";display:table;clear:both}.guidebook-prose .react-renderer.node-image,.guidebook-prose .react-renderer.node-dishCard,.guidebook-prose .react-renderer.node-documentEmbed,.tiptap-body .ProseMirror .react-renderer.node-image,.tiptap-body .ProseMirror .react-renderer.node-dishCard,.tiptap-body .ProseMirror .react-renderer.node-documentEmbed{display:contents}.resizable-image-wrap.block-align-left,.document-embed-wrap.block-align-left,.guidebook-prose img.guidebook-prose-image.block-align-left{float:left;width:fit-content;max-width:100%;margin:.2rem 1rem .65rem 0;clear:none}.resizable-image-wrap.block-align-right,.document-embed-wrap.block-align-right,.guidebook-prose img.guidebook-prose-image.block-align-right{float:right;width:fit-content;max-width:100%;margin:.2rem 0 .65rem 1rem;clear:none}.resizable-image-wrap.block-align-center,.document-embed-wrap.block-align-center,.guidebook-prose img.guidebook-prose-image.block-align-center{float:left;clear:none;box-sizing:border-box;margin-top:.2rem;margin-bottom:.65rem}.resizable-image-wrap.block-align-center:not([style*=margin-right]),.document-embed-wrap.block-align-center:not([style*=margin-right]),.guidebook-prose img.guidebook-prose-image.block-align-center:not([style*=margin-right]){width:min(70%,26rem);max-width:100%;margin-left:calc(50% - min(35%,13rem));margin-right:calc(50% - min(35%,13rem))}.guidebook-prose img.guidebook-prose-image.block-align-center[style*=margin-right]{float:left;clear:none;box-sizing:border-box}.resizable-image-wrap{max-width:100%}.document-embed-wrap{max-width:100%;margin:.35rem 0 .75rem}.document-embed-wrap--compact{width:100%;margin-inline:0}.document-embed{position:relative;display:flex;flex-direction:column;max-width:100%;border:1px solid var(--border);border-radius:8px;background:var(--panel);overflow:hidden;box-sizing:border-box}.document-embed--compact{width:100%;border-radius:10px}.document-embed--selected{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.document-embed--has-height .document-embed__viewport{flex:1 1 auto;min-height:0}.document-embed__viewport{position:relative;display:flex;align-items:center;justify-content:center;min-height:12rem;padding:0;background:color-mix(in srgb,var(--bg) 88%,var(--panel));overflow:hidden;touch-action:pan-y pinch-zoom}.document-embed__canvas{display:block;max-width:100%;height:auto;margin:0 auto}.document-embed__status{margin:0;padding:1rem;text-align:center;font-size:.8125rem}.document-embed__status--error{color:var(--danger, #c0392b)}.document-embed__nav{position:absolute;left:50%;bottom:.55rem;transform:translate(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.2rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 10px #0000002e}.document-embed__nav-label{min-width:3rem;text-align:center;font-size:.72rem;font-weight:500;color:var(--text);-webkit-user-select:none;user-select:none}.document-embed__nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:1.85rem;min-height:1.85rem;padding:0;border:none;border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--text);font-size:1.05rem;line-height:1;cursor:pointer}.document-embed__nav-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--accent-hover)}.document-embed__nav-btn:disabled{opacity:.35;cursor:default}.document-embed__viewport--expandable{cursor:pointer}.document-embed__expand-hint{position:absolute;top:.55rem;right:.55rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);color:var(--text);font-size:.95rem;pointer-events:none;box-shadow:0 2px 8px #0003}.document-embed-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.document-embed-fullscreen__close{position:absolute;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--panel) 90%,transparent);color:var(--text);font-size:1.15rem;line-height:1;cursor:pointer;box-shadow:0 2px 12px #00000040}.document-embed-fullscreen__viewport{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;width:100%;padding:calc(max(3.5rem,env(safe-area-inset-top)) + .5rem) max(.75rem,env(safe-area-inset-right)) calc(max(4.5rem,env(safe-area-inset-bottom)) + .5rem) max(.75rem,env(safe-area-inset-left));overflow:hidden;touch-action:pan-y pinch-zoom;box-sizing:border-box}.document-embed-fullscreen__frame{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0}.document-embed-fullscreen__canvas{display:block;flex:0 0 auto;max-width:100%;max-height:100%;width:auto;height:auto;margin:0;object-fit:contain}.document-embed-fullscreen__nav{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:2}.document-embed-static{display:none}.dish-card-embed.block-align-left,div[data-type=dish-card].block-align-left{float:left;clear:none;box-sizing:border-box;width:min(28rem,50%);max-width:50%;min-width:min(14rem,42%);margin:.2rem 1rem .65rem 0}.dish-card-embed.block-align-right,div[data-type=dish-card].block-align-right{float:right;clear:none;box-sizing:border-box;width:min(28rem,50%);max-width:50%;min-width:min(14rem,42%);margin:.2rem 0 .65rem 1rem}.dish-card-embed.block-align-center,div[data-type=dish-card].block-align-center{float:none;clear:both;box-sizing:border-box;width:min(28rem,100%);max-width:min(28rem,100%);margin-left:auto;margin-right:auto}.dish-card-embed.block-align-left .dish-card-embed__row,.dish-card-embed.block-align-right .dish-card-embed__row,.resizable-image-wrap.block-align-center .resizable-image{width:100%}.resizable-image-wrap.block-align-left .resizable-image,.resizable-image-wrap.block-align-right .resizable-image{width:100%;max-width:none}.resizable-image{position:relative;display:inline-block;max-width:100%;line-height:0}.resizable-image img{width:100%;height:auto;border-radius:6px;display:block;margin:0}.resizable-image--has-height img{height:100%;object-fit:fill}.resizable-image--selected{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:6px}.resizable-image__handle{position:absolute;border:2px solid var(--handle-border);background:var(--accent);touch-action:none;box-shadow:0 1px 4px #00000040;z-index:2}.resizable-image__handle--width{top:50%;right:-5px;width:10px;height:22px;border-radius:4px;transform:translateY(-50%);cursor:ew-resize}.resizable-image__handle--height{left:50%;bottom:-5px;width:22px;height:10px;border-radius:4px;transform:translate(-50%);cursor:ns-resize}.guidebook-prose--readonly img.guidebook-prose-image[style*=width],.guidebook-prose--readonly img.guidebook-prose-image[style*=height]{max-width:100%}.guidebook-prose-view{box-sizing:border-box;width:min(100%,var(--course-prose-surface-width));max-width:var(--course-prose-surface-width);margin-inline:auto;padding:var(--course-prose-padding)}.guidebook-prose-view .ProseMirror.guidebook-prose{width:100%;max-width:var(--course-prose-column-max);margin-inline:auto}.page-editor--redesign .tiptap-shell{box-sizing:border-box;width:min(100%,var(--course-prose-surface-width));max-width:var(--course-prose-surface-width);margin-inline:auto}.center-panel .center-panel-toolbar,.center-panel .course-viewer-title,.center-panel .course-viewer-desc,.center-panel .course-test-cta,.center-panel .assignment-notices{box-sizing:border-box;width:min(100%,var(--course-prose-surface-width));max-width:var(--course-prose-surface-width);margin-inline:auto;padding-inline:var(--course-prose-padding)}.center-panel .center-panel-toolbar{padding-inline:var(--course-prose-padding)}.guidebook-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.guidebook-prose--readonly .guidebook-link{cursor:pointer}.tiptap-shell{position:relative;isolation:isolate;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:visible}.tiptap-toolbar{display:flex;flex-direction:column;gap:.4rem;padding:.45rem .55rem .5rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:var(--editor-toolbar-z);box-shadow:0 1px 0 var(--toolbar-shadow);overflow:visible}.tiptap-toolbar--flyout-open{z-index:var(--editor-toolbar-flyout-z)}.tiptap-toolbar__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35rem;width:100%}.tiptap-toolbar__row--primary{flex-wrap:wrap}.tiptap-toolbar__row--secondary{flex-wrap:nowrap;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tiptap-toolbar__cluster--insert{flex:1 0 auto;min-width:min-content}.tiptap-toolbar__cluster--insert .tiptap-toolbar__group{flex:1;flex-wrap:nowrap;align-items:center}.tiptap-toolbar__row--secondary .tiptap-toolbar__cluster--font .tiptap-toolbar__group{flex:1;align-items:center}.tiptap-toolbar__row--secondary .toolbar-select.select-dropdown .select-dropdown__trigger{min-height:1.85rem;height:1.85rem;font-size:.72rem;padding-inline:.4rem;border-radius:6px}.tiptap-toolbar__cluster--font .toolbar-select--font.select-dropdown{min-width:6.5rem}.tiptap-toolbar__cluster--font .toolbar-select--size.select-dropdown{min-width:5rem}.tiptap-toolbar__cluster{display:flex;flex-direction:column;align-items:stretch;gap:.18rem;flex:0 0 auto;min-width:min-content;padding:.22rem .3rem .28rem;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:9px;background:color-mix(in srgb,var(--panel) 88%,var(--bg))}.tiptap-toolbar__cluster-label{padding:0 .12rem;font-size:.625rem;font-weight:650;line-height:1.1;letter-spacing:.045em;text-transform:uppercase;color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.tiptap-toolbar__cluster .tiptap-toolbar__group{background:transparent;padding:0;border-radius:0}.tiptap-toolbar__main,.tiptap-toolbar__typography{display:flex;flex-wrap:nowrap;align-items:center;gap:.3rem}.tiptap-toolbar__typography{padding-top:0;border-top:none;overflow:visible}.tiptap-toolbar__group{display:inline-flex;align-items:center;flex-wrap:nowrap;flex-shrink:0;gap:.1rem;padding:.1rem;border-radius:8px;background:color-mix(in srgb,var(--border) 28%,transparent)}.tiptap-toolbar__typography .toolbar-color-wrap,.tiptap-toolbar__group .toolbar-color-wrap{padding:.08rem .3rem .08rem .35rem;border-radius:6px;background:transparent}.toolbar-btn{min-width:1.85rem;height:1.85rem;padding:0 .32rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;color:var(--text);flex-shrink:0}.toolbar-btn:hover{background:var(--surface)}.toolbar-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft-bg)}.toolbar-dish-menu{position:relative;display:inline-flex}.toolbar-dish-menu__panel{position:fixed;z-index:var(--editor-toolbar-flyout-z);min-width:12.5rem;padding:.35rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--dropdown-shadow)}.toolbar-dish-menu__item{display:block;width:100%;padding:.45rem .75rem;border:none;background:transparent;font:inherit;font-size:.8125rem;text-align:left;color:var(--text);cursor:pointer}.toolbar-dish-menu__item:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.toolbar-dish-menu__divider{height:1px;margin:.35rem 0;background:var(--border)}.toolbar-dish-menu__label{margin:0;padding:.25rem .75rem .15rem;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.toolbar-dish-menu__section-label{margin:0;padding:.35rem .75rem .2rem;font-size:.6875rem;font-weight:650;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.toolbar-dish-menu__empty{margin:0;padding:.35rem .75rem .5rem;font-size:.75rem;line-height:1.35}.toolbar-dish-menu__convert-list{list-style:none;margin:0;padding:0;max-height:12rem;overflow-y:auto}.toolbar-dish-menu__item--convert{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left}.toolbar-dish-menu__convert-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-dish-menu__convert-action{flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--accent)}.toolbar-dish-menu__groups{list-style:none;margin:0;padding:0;max-height:10rem;overflow-y:auto}.toolbar-dish-menu__group{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8125rem}.toolbar-dish-menu__group-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-dish-menu__group-remove{flex:0 0 auto;width:1.35rem;height:1.35rem;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:.75rem;line-height:1}.toolbar-dish-menu__group-remove:hover{background:#ef44441f;color:var(--holiday-text)}.toolbar-dish-menu__group-embed{flex:0 0 auto;width:1.35rem;height:1.35rem;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;line-height:1}.toolbar-dish-menu__group-embed:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.toolbar-dish-menu__group .toolbar-dish-menu__item.toolbar-dish-menu__group-name{flex:1 1 auto;min-width:0;width:auto;text-align:left;padding:.2rem .35rem;border-radius:6px}.toolbar-sep{width:1px;height:1.25rem;background:var(--border);margin:0 .15rem}.toolbar-highlight-menu,.toolbar-table-menu,.toolbar-dish-menu{position:relative;display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.toolbar-table-menu__sep{width:1px;height:1.25rem;flex-shrink:0;background:color-mix(in srgb,var(--border) 85%,transparent)}.toolbar-table-menu__align-label{flex-shrink:0;padding:0 .15rem;font-size:.58rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);-webkit-user-select:none;user-select:none}.toolbar-table-menu__delete{width:auto;min-width:0;padding-inline:.55rem;white-space:nowrap;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:var(--danger-bg)}.toolbar-table-menu__delete:hover:not(:disabled){color:var(--danger-hover-text);background:var(--danger-hover-bg);border-color:var(--danger-border)}.toolbar-table-menu__delete:disabled{opacity:.45;cursor:not-allowed}.toolbar-table-menu__delete--icon{width:1.85rem;min-width:1.85rem;padding:0;font-size:.82rem;line-height:1}.toolbar-highlight-menu--open,.toolbar-table-menu--open,.toolbar-dish-menu--open{z-index:1}.toolbar-highlight-menu__panel{position:fixed;z-index:var(--editor-toolbar-flyout-z);display:flex;align-items:center;gap:.25rem;padding:.35rem .45rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--dropdown-shadow)}.toolbar-highlight-menu__swatch{width:1.35rem;height:1.35rem;padding:0;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:4px;cursor:pointer}.toolbar-highlight-menu__swatch:hover{transform:scale(1.08)}.toolbar-highlight-menu__clear{margin-left:.15rem;padding:.2rem .45rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);font:inherit;font-size:.68rem;cursor:pointer;color:var(--text)}.toolbar-table-menu .toolbar-table-picker{position:fixed;z-index:var(--editor-toolbar-flyout-z)}.toolbar-table-picker{min-width:11rem;padding:.45rem .55rem .55rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--dropdown-shadow)}.toolbar-table-picker__label{margin:0 0 .35rem;font-size:.72rem;font-weight:600;color:var(--muted);min-height:1rem}.toolbar-table-picker__grid{display:flex;flex-direction:column;gap:2px}.toolbar-table-picker__row{display:flex;gap:2px}.toolbar-table-picker__cell{width:.95rem;height:.95rem;padding:0;border:1px solid var(--border);border-radius:2px;background:var(--surface);cursor:pointer}.toolbar-table-picker__cell--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.tiptap-body.guidebook-prose-view{position:relative;z-index:0;padding:var(--course-prose-padding)}.tiptap-body .ProseMirror{outline:none}.tiptap-body .ProseMirror p.is-editor-empty:first-child:before{color:var(--muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.dish-card-embed{margin:1rem 0;max-width:min(28rem,100%);min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden;container-type:inline-size;--dish-embed-photo-aspect: 3 / 2;--dish-embed-photo-max-h: 6rem}.dish-card-embed--editable{position:relative}.dish-card-embed .dish-card-face__photo,.dish-card-embed .dish-card-face__photo--empty{box-sizing:border-box;width:100%;max-width:100%;height:auto;aspect-ratio:var(--dish-embed-photo-aspect);max-height:var(--dish-embed-photo-max-h);min-height:0;object-fit:cover;object-position:center}.dish-card-embed .dish-card-face__photo--empty{display:flex;align-items:center;justify-content:center;min-height:min(3.25rem,var(--dish-embed-photo-max-h));font-size:.8125rem}@media(min-width:961px){.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center),.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center),.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center),.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center){float:left;box-sizing:border-box;width:calc(50% - .5rem);max-width:calc(50% - .5rem);margin-top:.75rem;margin-bottom:.75rem;--dish-embed-photo-max-h: min(4.75rem, 34cqi)}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center),.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center){clear:left;margin-right:1rem}.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center),.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center){clear:none}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-left,.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-left,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-left,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-left{float:left;clear:none;box-sizing:border-box;width:calc(50% - .5rem);max-width:calc(50% - .5rem);min-width:0;margin-top:.75rem;margin-bottom:.75rem;--dish-embed-photo-max-h: min(4.75rem, 34cqi)}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-left,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-left{clear:left;margin-right:1rem}.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-left,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-left{margin-right:0}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-right,.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-right,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-right,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-right{float:right;clear:none;box-sizing:border-box;width:calc(50% - .5rem);max-width:calc(50% - .5rem);min-width:0;margin-top:.75rem;margin-bottom:.75rem;--dish-embed-photo-max-h: min(4.75rem, 34cqi)}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-right,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed.block-align-right{clear:right;margin-left:1rem;margin-right:0}.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-right,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed.block-align-right{margin-left:0}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard)+.react-renderer.node-dishCard+*,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard)+.react-renderer.node-dishCard+*{clear:both}.guidebook-prose .react-renderer.node-dishCard:not(:has(+.react-renderer.node-dishCard)):not(.react-renderer.node-dishCard+.react-renderer.node-dishCard) .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center),.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:not(:has(+.react-renderer.node-dishCard)):not(.react-renderer.node-dishCard+.react-renderer.node-dishCard) .dish-card-embed:not(.block-align-left):not(.block-align-right):not(.block-align-center){float:none;clear:both;display:block;width:min(28rem,100%);max-width:min(28rem,100%);margin-left:auto;margin-right:auto}.guidebook-prose .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed--group-pair-first,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard:has(+.react-renderer.node-dishCard) .dish-card-embed--group-pair-first{width:50%;max-width:50%;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.guidebook-prose .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed--group-pair-second,.tiptap-body .ProseMirror.guidebook-prose--editable .react-renderer.node-dishCard+.react-renderer.node-dishCard .dish-card-embed--group-pair-second{width:50%;max-width:50%;border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.dish-card-embed--group-pair-first .dish-card-face{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:transparent}.dish-card-embed--group-pair-second .dish-card-face{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}}@media(max-width:960px){.guidebook-prose .dish-card-embed{max-width:100%;float:none!important;clear:both!important;width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}.guidebook-prose .resizable-image-wrap,.guidebook-prose .document-embed-wrap,.guidebook-prose img.guidebook-prose-image{float:none!important;clear:both!important;display:block!important;box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin-top:.85rem!important;margin-bottom:1rem!important;margin-left:0!important;margin-right:0!important}.guidebook-prose .resizable-image-wrap.block-align-left,.guidebook-prose img.guidebook-prose-image.block-align-left{margin-right:auto!important;margin-left:0!important}.guidebook-prose .resizable-image-wrap.block-align-right,.guidebook-prose img.guidebook-prose-image.block-align-right{margin-left:auto!important;margin-right:0!important}.guidebook-prose .resizable-image-wrap.block-align-center,.guidebook-prose img.guidebook-prose-image.block-align-center{margin-left:auto!important;margin-right:auto!important}.guidebook-prose .document-embed-wrap .document-embed{width:100%!important;max-width:100%!important;height:auto!important;min-height:0;margin-inline:0!important}.guidebook-prose .document-embed-wrap .document-embed__viewport{min-height:11rem}.guidebook-prose .document-embed-wrap .document-embed__viewport--expandable{min-height:12.5rem}.guidebook-prose .document-embed-wrap .document-embed__canvas{width:auto!important;max-width:100%!important;height:auto!important;max-height:none!important}.guidebook-prose .document-embed-wrap .document-embed__nav{display:none}.guidebook-prose .document-embed-wrap .document-embed__expand-hint{width:2.35rem;height:2.35rem;font-size:1rem}.guidebook-prose .document-embed-wrap .resizable-image__handle{display:none!important}.document-embed-fullscreen__nav .document-embed__nav-btn{min-width:2.85rem;min-height:2.85rem;font-size:1.25rem}.document-embed-fullscreen__nav .document-embed__nav-label{font-size:.875rem;min-width:3.5rem}@media(orientation:landscape){.document-embed-fullscreen__viewport{padding-top:calc(env(safe-area-inset-top) + .35rem);padding-bottom:calc(max(3.75rem,env(safe-area-inset-bottom)) + .35rem);padding-inline:max(.65rem,env(safe-area-inset-left)) max(.65rem,env(safe-area-inset-right))}}.guidebook-prose .resizable-image-wrap .resizable-image{width:100%!important;max-width:100%!important;height:auto!important}.guidebook-prose .resizable-image-wrap .resizable-image img,.guidebook-prose img.guidebook-prose-image{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}.guidebook-prose h2,.guidebook-prose h3,.guidebook-prose p,.guidebook-prose ul,.guidebook-prose ol,.guidebook-prose blockquote{clear:both;max-width:100%}.guidebook-prose h2,.guidebook-prose h3{overflow-wrap:break-word;text-wrap:pretty}.guidebook-prose ul,.guidebook-prose ol{padding-left:1.15rem!important;padding-right:0!important;list-style-position:outside}.guidebook-prose ul li,.guidebook-prose ol li,.guidebook-prose li[style*="text-align: center"],.guidebook-prose li[style*="text-align:center"],.guidebook-prose li[style*="text-align: right"],.guidebook-prose li[style*="text-align:right"],.guidebook-prose li:has(>p[style*="text-align: center"]),.guidebook-prose li:has(>p[style*="text-align:center"]),.guidebook-prose li:has(>p[style*="text-align: right"]),.guidebook-prose li:has(>p[style*="text-align:right"]){direction:ltr!important;list-style-position:outside!important;text-align:left!important}.guidebook-prose ul li>p,.guidebook-prose ol li>p,.guidebook-prose li[style*="text-align: center"]>p,.guidebook-prose li[style*="text-align:center"]>p,.guidebook-prose li[style*="text-align: right"]>p,.guidebook-prose li[style*="text-align:right"]>p,.guidebook-prose li:has(>p[style*="text-align: right"])>p,.guidebook-prose li:has(>p[style*="text-align:right"])>p{direction:ltr!important;text-align:left!important}}@media(max-width:719px){.guidebook-prose .dish-card-embed{max-width:100%}}.dish-card-embed--editable.dish-card-embed--selected,.dish-card-embed--editable.dish-card-embed--editing,.dish-card-embed--editable.dish-card-embed--actions-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.dish-card-embed--editable.dish-card-embed--selected.block-align-left,.dish-card-embed--editable.dish-card-embed--selected.block-align-right,.dish-card-embed--editable.dish-card-embed--actions-visible.block-align-left,.dish-card-embed--editable.dish-card-embed--actions-visible.block-align-right,.dish-card-embed--editable:has(.dish-card-embed__stick-quick:hover).block-align-left,.dish-card-embed--editable:has(.dish-card-embed__stick-quick:hover).block-align-right{position:relative;z-index:4}.dish-card-embed--editable:not(.dish-card-embed--selected):not(.dish-card-embed--editing):not(.dish-card-embed--actions-visible):not(:hover):not(:focus-within) .dish-card-embed__drag,.dish-card-embed--editable:not(.dish-card-embed--selected):not(.dish-card-embed--editing):not(.dish-card-embed--actions-visible):not(:hover):not(:focus-within) .dish-card-embed__hint,.dish-card-embed--editable:not(.dish-card-embed--selected):not(.dish-card-embed--editing):not(.dish-card-embed--actions-visible):not(:hover):not(:focus-within) .dish-card-embed__actions{display:none}.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__actions,.dish-card-embed--editable.dish-card-embed--actions-visible .dish-card-embed__actions,.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__drag,.dish-card-embed--editable.dish-card-embed--actions-visible .dish-card-embed__drag,.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__hint,.dish-card-embed--editable.dish-card-embed--actions-visible .dish-card-embed__hint{display:flex}.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__hint,.dish-card-embed--editable.dish-card-embed--actions-visible .dish-card-embed__hint{display:block}.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__actions,.dish-card-embed--editable.dish-card-embed--actions-visible .dish-card-embed__actions{display:flex}.dish-card-embed__stick-quick{position:absolute;top:.3rem;right:.3rem;z-index:5;display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:.2rem .45rem;font-size:.6875rem;line-height:1.2;border-radius:6px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));box-shadow:0 1px 4px #0000001f;cursor:pointer;-webkit-user-select:none;user-select:none}.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__stick-quick,.dish-card-embed--editable.dish-card-embed--editing .dish-card-embed__stick-quick{top:.35rem;right:.35rem}.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__row,.dish-card-embed--editable.dish-card-embed--editing .dish-card-embed__row{position:relative}.dish-card-embed__row{display:flex;align-items:stretch;gap:.35rem}.dish-card-embed__drag{flex:0 0 1.5rem;width:1.5rem;min-height:2.5rem;margin:0;padding:.15rem 0;align-self:stretch;border:1px dashed color-mix(in srgb,var(--border) 80%,var(--muted));border-radius:6px;background:color-mix(in srgb,var(--bg) 88%,var(--panel));color:var(--muted);font-size:.55rem;line-height:1.2;letter-spacing:-.06em;cursor:grab;-webkit-user-select:none;user-select:none}.dish-card-embed--editable.dish-card-embed--selected .dish-card-embed__drag,.dish-card-embed--editable.dish-card-embed--editing .dish-card-embed__drag{position:absolute;left:.3rem;top:.35rem;z-index:2;flex:none;align-self:auto;width:1.25rem;min-height:1.75rem;opacity:.92}.dish-card-embed__drag:active{cursor:grabbing}.dish-card-embed__main{flex:1;min-width:0}.dish-card-embed__preview--clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px;border-radius:8px}.dish-card-embed__hint{display:block;margin-top:.35rem;font-size:.68rem}.dish-card-editor-shell--embed{margin:0}.dish-card-embed__inner{padding:.35rem .5rem .5rem;min-width:0}.dish-card-embed__inner .dish-card-face{max-width:none;min-width:0}.dish-card-embed__actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .55rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 82%,var(--panel))}.dish-card-embed--broken .dish-card-embed__missing{margin:0;padding:.75rem;font-size:.875rem}.dish-inline-meta{margin-bottom:.75rem;padding:.75rem 1rem;border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.dish-inline-meta--compact{margin-bottom:.5rem;padding:.45rem .65rem}.dish-inline-meta__lead{margin:0 0 .65rem;font-size:.8125rem;line-height:1.45;color:var(--muted)}.dish-inline-meta--compact .dish-inline-meta__lead{margin:0;flex:1 1 12rem;font-size:.75rem;line-height:1.35}.dish-inline-meta__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.dish-inline-meta--compact .dish-inline-meta__row{gap:.65rem}.dish-inline-meta--compact .dish-inline-meta__chips{margin-top:.45rem}.dish-inline-meta__chips{margin:0;padding:0}.dish-inline-edit-shell{margin-bottom:1rem;padding:.75rem 1rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.dish-inline-edit-shell__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.dish-inline-edit-shell__title{font-size:.875rem;font-weight:600}.page-editor{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.page-editor--empty{align-items:center;justify-content:center;padding:2rem;text-align:center}.page-editor-header{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--panel)}@media(min-width:640px){.page-editor-header{flex-direction:row;align-items:center}}.page-editor-toolbar{flex-shrink:0;width:100%;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:var(--editor-toolbar-shadow)}.page-editor-toolbar-inner{width:100%;max-width:none;margin:0;padding:.85rem clamp(.75rem,2.5vw,2rem) 1.1rem;box-sizing:border-box}.page-editor-toolbar--compact .page-editor-toolbar-inner{padding:.55rem clamp(.75rem,2vw,1.5rem) .65rem}.page-editor-toolbar-top{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem}.page-editor-toolbar-title-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35rem .75rem}.page-editor-field--title{flex:1 1 14rem;min-width:0}.page-editor-toolbar--compact .page-editor-toolbar-grid{gap:.65rem 1rem}.page-editor-toolbar--compact .page-editor-toolbar-primary{gap:.55rem}.page-editor-toolbar--compact .page-editor-title-input{font-size:1.05rem;padding:.4rem .6rem}.page-editor-toolbar--compact .page-editor-description{min-height:2.75rem;font-size:.875rem;padding:.4rem .6rem;line-height:1.35}.page-editor-toolbar--compact .page-editor-field-label{font-size:.6875rem}.page-editor-toolbar--compact .page-editor-back{padding:.2rem .35rem .2rem 0;font-size:.8125rem;align-self:center;margin-bottom:.15rem}.page-editor-back{padding-left:.15rem}.page-editor-toolbar-grid{display:grid;grid-template-columns:1fr;gap:1rem 1.5rem;align-items:start}@media(min-width:960px){.page-editor-toolbar-grid{grid-template-columns:minmax(0,1fr) minmax(260px,400px)}}.page-editor-toolbar-primary{display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%}.page-editor-toolbar-aside{min-width:0}.page-editor-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.page-editor-field-label{font-size:.75rem;font-weight:500;color:var(--muted)}.page-editor-title-input{width:100%;font-family:inherit;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;background:var(--surface);color:var(--text)}.page-editor-title-input::placeholder{color:var(--muted);font-weight:500}.page-editor-description{width:100%;min-height:4.5rem;resize:vertical;font:inherit;font-size:.9375rem;line-height:1.45;border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;background:var(--surface);color:var(--text)}.page-editor-settings{margin:0;height:100%;border:1px solid var(--settings-border);border-radius:var(--radius);background:linear-gradient(180deg,var(--settings-gradient-start) 0%,var(--panel) 100%);box-shadow:inset 0 1px 0 var(--settings-inset);overflow:hidden}.course-unlock-section{padding:.85rem 1rem;margin:0;max-width:none;width:100%;border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.course-unlock-heading{margin:0 0 .35rem;font-size:1rem;font-weight:600}.course-unlock-lead{margin:0 0 .75rem;font-size:.875rem}.course-unlock-fields{display:flex;flex-direction:column;gap:.75rem;max-width:100%}.course-unlock-section--compact{padding:.55rem .75rem}.course-unlock-section--compact .course-unlock-heading{margin:0 0 .35rem;font-size:.8125rem}.course-unlock-section--compact .course-unlock-fields{gap:.45rem}.course-unlock-section--compact .auth-label{font-size:.75rem;gap:.25rem}.course-unlock-section--compact .auth-input{font-size:.8125rem;padding:.35rem .5rem}.page-editor-toolbar--compact .page-editor-panel-toggles{padding:.55rem .75rem .65rem;gap:.4rem}.page-editor-toolbar--compact .page-editor-toggles-row{gap:.75rem 1.25rem}.page-editor-toolbar--compact .page-editor-toggle{font-size:.8125rem}.page-editor-panel-toggles{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;padding:.85rem 1.1rem 1rem;margin:0;border:none;background:var(--bg)}.page-editor-toggles-label{font-size:.75rem;font-weight:500;color:var(--muted)}.page-editor-toggles-row{display:flex;flex-wrap:wrap;gap:1rem 1.75rem;align-items:center}.page-editor-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text)}.page-editor-toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.page-editor-workspace{flex:1 1 auto;min-height:0;width:100%;background:var(--bg)}.page-editor-workspace-inner{width:100%;max-width:var(--course-workspace-max-width);margin:0 auto;padding:var(--course-workspace-padding-block-start) var(--course-workspace-padding-inline) var(--course-workspace-padding-block-end);box-sizing:border-box}.page-editor--redesign .page-editor-workspace{display:flex;flex-direction:column}.page-editor-toolbar--compact+.page-editor-workspace .page-editor-workspace-inner{padding:1rem 1.25rem 1.5rem}.page-editor-body{flex:1;width:100%;max-width:none;margin:0;padding:var(--course-body-padding-block-start) var(--course-body-padding-inline) var(--course-body-padding-block-end);display:flex;flex-direction:column;gap:2rem;box-sizing:border-box}.page-editor-toolbar--compact+.page-editor-workspace .page-editor-body{gap:.85rem}.course-test-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1.5rem;margin-bottom:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.course-test-limit{margin:0}.course-test-last{margin:0;font-size:.875rem}.test-cooldown-timer{display:inline;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;color:var(--text)}.test-cooldown-unit{font-variant-numeric:tabular-nums}.test-cooldown-label{font-weight:400;color:var(--muted)}.test-editor{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:var(--bg)}.test-editor-heading{margin:0 0 .5rem;font-size:1rem;font-weight:600}.test-editor-lead{margin:0 0 1rem;font-size:.875rem;color:var(--muted)}.test-editor-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1rem;cursor:pointer}.test-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:520px){.test-editor-grid{grid-template-columns:1fr}}.test-editor-grid--settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;margin-bottom:1rem}.test-editor-settings-cell{min-width:0;display:flex;flex-direction:column;gap:.35rem}.test-editor-settings-cell--wide{grid-column:1 / -1}.test-editor-settings-input{width:100%;min-width:0;box-sizing:border-box}@media(max-width:520px){.test-editor-grid--settings{grid-template-columns:1fr}}.test-editor-hint{display:block;font-size:.6875rem;font-weight:400;color:var(--muted);margin-top:.25rem}.test-editor-field-error{display:block;font-size:.6875rem;font-weight:500;color:var(--danger);margin-top:.25rem;line-height:1.35}.test-editor-actions{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.test-editor-actions-label{font-size:.8125rem;color:var(--muted);margin-right:.25rem}.test-q-head-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.test-q-kind{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted)}.test-q-kind-select{width:auto;min-width:11rem;font-size:.8125rem;padding:.35rem .5rem}.test-im-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.test-im-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.test-im-url{flex:1 1 200px;display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--muted)}.test-im-pick{flex:1 1 160px;display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--muted)}.test-form-text-label{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.test-form-text-input{max-width:100%}.test-form-match{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.test-form-match-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.test-form-match-img-wrap{flex-shrink:0}.test-form-match-img{display:block;max-width:220px;max-height:160px;width:auto;height:auto;object-fit:contain;border-radius:6px;border:1px solid var(--border)}.test-form-match-img--placeholder{font-size:.75rem;color:var(--muted);padding:1.5rem;background:var(--panel)}.test-form-match-select{flex:1 1 200px;display:flex;flex-direction:column;gap:.35rem}.test-q-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.test-q-card{border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--panel)}.test-q-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.test-q-num{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.test-q-prompt{min-height:3rem;resize:vertical}.test-q-options-label{margin:.75rem 0 .35rem;font-size:.75rem;font-weight:600;color:var(--muted)}.test-opt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.test-opt-row{display:flex;align-items:center;gap:.5rem}.test-opt-input{flex:1}.page-test{min-height:100vh;background:var(--bg);padding:1.5rem 1rem 2rem}.page-test--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.page-test-inner{max-width:640px;margin:0 auto}.page-test-header{margin-bottom:1.5rem}.page-test-title{margin:.75rem 0 0;font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:600;line-height:1.3}.page-test-meta{margin:.35rem 0 0;font-size:.8125rem;color:var(--muted)}.test-form-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.test-form-q{padding-bottom:.5rem}.test-form-qtext{margin:0 0 .65rem;font-weight:500}.test-form-fieldset{margin:0;padding:0;border:none}.test-form-opt{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;font-size:.9375rem;cursor:pointer}.test-form-opt input{margin-top:.2rem}.test-form-submit{margin-top:1rem}.test-result-title{margin:0 0 .75rem;font-size:1.5rem}.test-result-score{margin:0 0 .5rem;font-size:1.125rem}.test-result-pass{color:var(--success-text);font-weight:600;margin:0 0 1rem}.test-result-fail{color:var(--danger);font-weight:600;margin:0 0 1rem}.test-result-actions{display:flex;flex-wrap:wrap;gap:.5rem}.text-link{color:var(--accent)}.notes-panel-header{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;margin-bottom:.75rem}.notes-panel-title{margin:0}.notes-panel-action{width:100%;justify-content:center}.notes-panel-hint{margin:.15rem 0 0;font-size:.8125rem;line-height:1.35}.notes-panel-add-explainer{margin:-.25rem 0 .75rem;font-size:.8125rem}.notes-panel-course-picker{display:flex;flex-direction:column;gap:.35rem}.notes-panel-course-picker__label{font-size:.75rem;font-weight:500;color:var(--muted)}.notes-panel-course-picker__select{width:100%}.notes-panel--mobile .notes-panel-header{margin-bottom:.65rem}.notes-panel--mobile .notes-panel-course-picker{order:-1}.notes-panel--mobile .notes-panel-course-picker__label{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.note-card{border:1px solid var(--border);border-radius:8px;padding:.5rem;background:var(--bg)}.note-card-course{margin-bottom:.35rem;font-size:.75rem;line-height:1.35}.note-card-course-label{color:var(--muted)}.note-card-course-link{display:inline;padding:0;margin:0;border:none;background:none;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.note-card-course-link:hover{color:var(--text)}.note-card-input{width:100%;border:1px solid transparent;border-radius:6px;padding:.4rem .5rem;font:inherit;font-size:.875rem;resize:vertical;min-height:4.5rem;background:var(--panel);color:var(--text)}.note-card-input:focus{outline:none;border-color:var(--accent)}.note-card-footer{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:.35rem;gap:.5rem}.note-card-delete{min-width:5.5rem;justify-content:center}.note-card-date{font-size:.6875rem;color:var(--muted)}.app-header--row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.app-header-brand{min-width:0}.app-header-brand-row{display:flex;align-items:center;gap:.7rem;min-width:0}.app-header-logo{display:block;width:4.5rem;height:4.5rem;object-fit:contain;flex-shrink:0}.app-header-brand-text{min-width:0;display:flex;flex-direction:column;justify-content:center}.app-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;overflow:visible;position:relative}.app-header-user-zone{display:inline-flex;align-items:stretch;gap:.35rem;flex-shrink:0;overflow:visible}.app-header-user-menu{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-self:stretch;overflow:visible}.app-header-user-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,var(--panel));text-decoration:none;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.app-header-icon-btn,.app-header-logout,.app-header-theme-toggle,.app-header-notifications-btn,.app-header-user-trigger.app-header-icon-btn{width:var(--control-h);min-width:var(--control-h);height:var(--control-h);padding:0}.app-header-icon-btn__icon{display:block;width:1.25rem;height:1.25rem;flex-shrink:0}.app-header-theme-toggle__icon--sun{color:#eab308;stroke:#eab308}button.app-header-user-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-header-user-trigger:hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}.app-user-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-role{color:var(--muted)}.app-header-user-dropdown__profile{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-2) var(--space-3) var(--space-1);min-width:0}.app-header-user-dropdown__profile .app-user-name{font-size:var(--text-md);font-weight:600}.app-header-user-dropdown__profile .app-user-role{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.app-header-user-dropdown__divider{height:1px;margin:0 var(--space-1) var(--space-1);background:var(--border);flex-shrink:0}.app-header-user-dropdown__item{display:block;width:100%;margin:0;padding:.48rem .65rem;font-size:.8125rem;font-weight:500;color:var(--text);text-decoration:none;text-align:left;border:none;border-radius:8px;background:color-mix(in srgb,var(--panel) 92%,transparent);cursor:pointer;transition:background .12s ease,color .12s ease}.app-header-user-dropdown__item:hover{background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--text)}.app-header-user-dropdown__item:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-2px}.app-header-user-dropdown__item--users{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.app-header-user-dropdown__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1;flex-shrink:0;background:var(--amber-badge-bg);color:var(--amber-badge-text);border:1px solid color-mix(in srgb,#d97706 42%,transparent)}.app-header-logout{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;flex-shrink:0;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger-bg) 92%,var(--panel));color:var(--danger);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-header-theme-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;flex-shrink:0;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,var(--panel));color:var(--text);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-header-theme-toggle:hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 38%,var(--border));color:var(--accent)}.app-header-theme-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.app-header-theme-toggle__icon{display:block}.app-header-logout:hover{background:var(--danger-badge-bg);border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger-hover-text)}.app-header-logout:focus-visible{outline:2px solid color-mix(in srgb,var(--danger) 45%,transparent);outline-offset:2px}.app-header-logout__icon{display:block}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(160deg,var(--auth-gradient-start) 0%,var(--bg) 45%)}.auth-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem 1.5rem}.auth-brand{display:flex;align-items:center;gap:.65rem}.auth-brand-logo{width:3.5rem;height:3.5rem;object-fit:contain;flex-shrink:0}.auth-brand .auth-title{margin:0}.auth-title{margin:0;font-size:1.375rem;font-weight:600}.auth-lead{margin:.35rem 0 1.25rem;font-size:.875rem;color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--text)}.auth-input{font:inherit;font-size:.9375rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.auth-input:focus{outline:none;border-color:var(--accent)}.auth-error{margin:0;font-size:.8125rem;color:var(--danger)}.auth-submit{width:100%;margin-top:.25rem}.auth-footer{margin:1.25rem 0 0;font-size:.875rem;color:var(--muted);text-align:center}.auth-footer a{color:var(--accent);font-weight:500}.auth-session-banner{margin:0 0 .5rem}.auth-session-text{margin:0 0 .75rem;font-size:.9375rem;color:var(--fg)}.auth-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;align-items:center}.admin-approved{color:var(--success-text);font-weight:600;font-size:.8125rem}.admin-pending{color:var(--muted);font-size:.8125rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--modal-z);background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow:auto;cursor:pointer}.modal-backdrop--stack{z-index:calc(var(--modal-z) + 10)}.modal-panel{cursor:default;background:var(--panel);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--modal-shadow);padding:1.25rem 1.25rem 1rem}.modal-panel:not(.modal-panel--admin-users){width:100%;max-width:560px}.modal-panel--dialog{max-width:420px}.modal-body{margin:0 0 .75rem;font-size:.9375rem;line-height:1.5;color:var(--text)}.modal-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.modal-field-label{font-size:.75rem;font-weight:500;color:var(--muted)}.modal-field-input{width:100%;font:inherit;font-size:.9375rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.modal-title{margin:0;font-size:1.125rem;font-weight:600}.modal-hint{margin:.5rem 0 1rem;font-size:.8125rem;color:var(--muted)}.modal-search{width:100%;margin-bottom:.75rem}.modal-footer{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.modal-footer--split{justify-content:flex-end}.modal-panel.modal-panel--admin-users{flex:0 0 auto;width:min(680px,calc(100vw - 2rem));max-width:min(680px,calc(100vw - 2rem));height:auto;max-height:min(640px,calc(100dvh - 3rem));display:flex;flex-direction:column;overflow:hidden;padding:0;box-sizing:border-box}.modal-backdrop--admin-users{align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:none}.au-modal{background:var(--panel);min-width:0;overflow:hidden}.au-modal__header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-height:0;padding:.85rem 1rem .7rem;box-sizing:border-box;border-bottom:1px solid var(--border)}.au-modal__title-wrap{min-width:0}.au-modal__title{margin:0;font-size:1.125rem;font-weight:600;line-height:1.25}.au-modal__subtitle{margin:.25rem 0 0;font-size:.8125rem;line-height:1.3}.au-modal__close{flex-shrink:0}.au-modal__toolbar{flex:0 0 auto;display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;box-sizing:border-box;border-bottom:1px solid var(--border)}.au-modal__search{flex:1 1 auto;min-width:0;margin:0;height:2.25rem}.au-modal__count{flex:0 0 2.25rem;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.au-modal__flash{flex:0 0 auto;display:flex;align-items:center;padding:0 1rem;box-sizing:border-box;font-size:.8125rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.au-modal__flash:empty{display:none}.au-modal__flash:not(:empty){padding:.35rem 1rem 0}.au-list{flex:0 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:.75rem 1rem 1rem;box-sizing:border-box}.au-list__head,.au-list__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(168px,200px) minmax(132px,168px);gap:.65rem;align-items:center;width:100%;max-width:100%;box-sizing:border-box}.au-list__head{flex:0 0 auto;height:32px;padding:0 .65rem;margin-bottom:.35rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.au-list__body{flex:0 1 auto;min-height:0;min-width:0;max-height:min(360px,42vh);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.au-list__row{min-height:52px;padding:.45rem .85rem;border-bottom:1px solid var(--border);background:var(--panel)}.au-list__row:last-child{border-bottom:none}.au-list__row:hover{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}.au-list__row--self{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.au-list__row--pending{background:color-mix(in srgb,var(--warning, #b45309) 5%,var(--panel))}.au-list__col{min-width:0;overflow:hidden}.au-list__col--login{display:flex;align-items:center;gap:.35rem;min-width:0}.au-list__identity{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.35rem;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;border-radius:6px}.au-list__identity:hover .au-list__login{color:var(--accent)}.au-list__identity:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.au-list__avatar{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.625rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg))}.au-list__avatar--img{object-fit:cover;font-size:0}.au-list__login{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600}.au-list__you{flex:0 0 auto;font-size:.5625rem;font-weight:700;text-transform:uppercase;color:var(--accent)}.au-list__profile{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--accent);font-size:.75rem;font-weight:600;line-height:1;text-decoration:none}.au-list__col--access{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.45rem;align-items:center}.au-list__access-btn{width:100%;max-width:100%;min-width:0;justify-self:stretch;font-size:.8125rem!important;white-space:nowrap}.au-list__dash{justify-self:center;font-size:.875rem}.au-list__col--role{display:flex;align-items:center}.au-list__role-select.select-dropdown .select-dropdown__trigger{box-sizing:border-box}.au-list__role-text{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;color:var(--muted)}.au-list__empty{margin:0;padding:2rem .75rem;text-align:center;font-size:.875rem}.au-pill{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:76px;height:28px;padding:0 .45rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;box-sizing:border-box}.au-pill--active{color:var(--success, #15803d);background:color-mix(in srgb,var(--success, #15803d) 14%,transparent)}.au-pill--pending{color:var(--warning, #b45309);background:color-mix(in srgb,var(--warning, #b45309) 14%,transparent)}.course-list-groups-only-hint{margin:0 0 .65rem;font-size:.875rem}.hover-hint-tip{position:fixed;z-index:80;padding:var(--space-2, .5rem) var(--space-3, .75rem);border-radius:var(--radius-md, 8px);background:var(--panel);box-shadow:var(--dropdown-shadow, 0 10px 24px color-mix(in srgb, #0f172a 18%, transparent));pointer-events:none;animation:calendar-note-tip-in .14s cubic-bezier(.22,1,.36,1)}.hover-hint-tip strong{display:block;margin-bottom:.2rem;font-size:.6875rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.hover-hint-tip p{margin:0;font-size:.8125rem;line-height:1.4;color:var(--text)}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th,.admin-table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg);position:sticky;top:0}.admin-login{font-weight:500}.admin-badge{margin-left:.35rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.admin-role-select{font:inherit;font-size:.8125rem;padding:.35rem 1.75rem .35rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--panel);min-width:0;max-width:100%}.reports-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.reports-page-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--panel)}.reports-page-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.reports-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.reports-page-title{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.reports-page-lead{margin:.35rem 0 0;font-size:.875rem}.reports-page-body{flex:1;padding:1rem 1.25rem;max-width:1280px;width:100%;margin:0 auto}.reports-page-error{margin:0;color:var(--danger);font-size:.9375rem}.reports-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.reports-table{width:100%;border-collapse:collapse;font-size:.875rem}.reports-table th,.reports-table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.reports-table th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg);position:sticky;top:0}.reports-table tr:last-child td{border-bottom:none}.reports-sort-btn{display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:0;border:none;background:transparent;font:inherit;font-weight:600;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left}.reports-sort-btn:hover{color:var(--accent)}.reports-sort-arrow{font-size:.65rem;font-weight:700;letter-spacing:0}.reports-table-col-actions{width:1%;white-space:nowrap;text-align:right;vertical-align:middle}.reports-cards{display:none}.reports-card{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:.7rem;margin-bottom:.55rem}.reports-card__head{display:flex;justify-content:space-between;gap:.55rem;align-items:start;font-size:.8rem}.reports-card__head strong{font-size:.9rem}.reports-card__course{margin:.35rem 0 0;font-size:.82rem}.reports-card__meta{display:grid;grid-template-columns:1fr;gap:.2rem;margin-top:.45rem;font-size:.77rem;color:var(--muted)}.reports-card__actions{margin-top:.55rem}html.layout-force-desktop .mobile-home-tabs{display:none!important}@media(max-width:960px){html.layout-force-desktop .three-col{grid-template-columns:minmax(0,280px) minmax(0,1fr) minmax(0,280px);grid-template-rows:minmax(0,1fr)}html.layout-force-desktop .col--left,html.layout-force-desktop .col--center,html.layout-force-desktop .col--right{display:block!important}html.layout-force-desktop .course-back-label--mobile{display:none}html.layout-force-desktop .course-back-label--desktop{display:inline}}@media(max-width:960px){.mobile-home-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.65rem calc(.75rem + env(safe-area-inset-right,0px)) .5rem calc(.75rem + env(safe-area-inset-left,0px));border-bottom:1px solid var(--border);background:var(--panel)}.mobile-home-tab{border:1px solid var(--border);border-radius:999px;padding:.45rem .6rem;font-size:.82rem;font-weight:600;background:var(--panel);color:var(--text)}.mobile-home-tab--active{border-color:var(--accent);color:var(--accent);background:var(--filter-active-bg)}.mobile-home-tabs--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.col--left{border-right:none;border-bottom:1px solid var(--border)}.col--right{border-left:none;border-top:1px solid var(--border)}.three-col.three-col--mobile-main .col--left,.three-col.three-col--mobile-main .col--right,.three-col.three-col--mobile-courses .col--center,.three-col.three-col--mobile-courses .col--right,.three-col.three-col--mobile-notes .col--left,.three-col.three-col--mobile-notes .col--center{display:none}.three-col.three-col--mobile-courses .col--left,.three-col.three-col--mobile-main .col--center,.three-col.three-col--mobile-notes .col--right{display:block;border:none;padding-top:.65rem}.three-col.three-col--mobile-courses-open .col--left{display:none}.three-col.three-col--mobile-courses-open .col--center{display:block}.center-panel{max-width:none}.course-back-label--desktop{display:none}.course-list{position:relative}.course-list-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cheatsheet-search{margin:0 0 .7rem}.course-list>.cheatsheet-search{position:sticky;top:0;z-index:3;padding-bottom:.2rem;background:var(--panel)}.auth-input.cheatsheet-search__input{min-height:44px;padding:.65rem .95rem;font-size:16px;border-radius:12px;background:var(--bg)}.calendar-panel--main .calendar-panel__header{display:none}.calendar-panel__header,.calendar-month-nav{margin-bottom:.35rem}.calendar-month-nav__scope{max-width:calc(100% - 2.75rem)}.calendar-month-nav__tools{gap:.22rem}.calendar-month-nav__title{font-size:.84rem}.calendar-panel__nav{flex-wrap:wrap;justify-content:space-between}.calendar-panel__month{min-width:0;flex:1 1 100%;order:-1;text-align:left}.calendar-grid{gap:.25rem}.calendar-day{min-height:3.6rem;padding:.35rem}.calendar-day__markers{font-size:.62rem}.calendar-sidecard__item{align-items:flex-start;flex-direction:column}.calendar-sidecard__item-actions{width:100%;flex-wrap:wrap}.calendar-sidecard__shift-input,.calendar-sidecard__kind-select{min-width:0;flex:1 1 10rem}}@media(min-width:961px){.course-back-label--mobile{display:none}}@media(max-width:640px){.app-shell{padding-bottom:env(safe-area-inset-bottom,0px)}.app-header{padding:calc(.58rem + env(safe-area-inset-top,0px)) calc(.75rem + env(safe-area-inset-right,0px)) .42rem calc(.75rem + env(safe-area-inset-left,0px))}.app-header--row{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.45rem}.app-header-brand{flex:1 1 auto;min-width:0}.app-header-brand-row{gap:.45rem}.app-logo{font-size:.95rem}.app-header-logo{width:2.65rem;height:2.65rem}.app-tagline{font-size:.68rem;line-height:1.25}.app-header-actions{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;align-items:stretch;gap:.3rem;overflow:visible;padding-bottom:0}.app-header-user-zone{gap:.28rem}.app-header-user-trigger.app-header-icon-btn{flex:0 0 auto;padding:0}.app-header-logout,.app-header-theme-toggle,.app-header-notifications-btn,.app-header-user-trigger.app-header-icon-btn{width:var(--control-h);min-width:var(--control-h);height:var(--control-h)}.app-header-flyout{max-width:min(calc(100vw - 1.5rem),18rem)}.app-header-actions .btn{flex:0 0 auto}.app-header-actions .btn--sm{padding:.4rem .6rem;font-size:.76rem}.auth-page{align-items:stretch;padding:calc(.9rem + env(safe-area-inset-top,0px)) calc(.75rem + env(safe-area-inset-right,0px)) calc(.9rem + env(safe-area-inset-bottom,0px)) calc(.75rem + env(safe-area-inset-left,0px));background:linear-gradient(160deg,var(--auth-gradient-start) 0%,var(--bg) 55%)}.auth-card{max-width:none;border-radius:12px;padding:1rem .85rem .9rem}.auth-title{font-size:1.16rem}.auth-brand-logo{width:3rem;height:3rem}.auth-lead{margin-top:.25rem;margin-bottom:.95rem;font-size:.8rem;line-height:1.35}.auth-form{gap:.72rem}.auth-label{font-size:.78rem;gap:.28rem}.auth-input{font-size:.86rem;padding:.46rem .56rem}.auth-footer{margin-top:.95rem;font-size:.8rem}.auth-actions-row{margin-top:.7rem;gap:.4rem}.auth-actions-row .btn{flex:1 1 auto;min-width:0}.modal-backdrop:not(.modal-backdrop--dialog):not(.modal-backdrop--admin-users){align-items:stretch}.modal-backdrop--admin-users{overflow:hidden}.modal-panel--admin-users{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:min(90dvh,calc(100dvh - 1rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}.au-list__head{display:none}.au-list__row{grid-template-columns:1fr 1fr;grid-template-areas:"login login" "access role";gap:.55rem .65rem;padding:.65rem .75rem;align-items:stretch}.au-list__col--login{grid-area:login}.au-list__col--access{grid-area:access}.au-list__col--role{grid-area:role}.au-list__identity{max-width:100%}.au-list__you{flex-shrink:0}.au-list__col--access{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.au-list__access-btn{padding-inline:.45rem!important;font-size:.75rem!important}.au-list__role-select.select-dropdown .select-dropdown__trigger{font-size:.8125rem;padding-inline:.45rem}.modal-panel:not(.modal-panel--dialog):not(.modal-panel--admin-users){max-width:none;min-height:calc(100dvh - 1.5rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:12px;padding:.9rem .8rem .75rem}.col--left{padding:.7rem calc(.65rem + env(safe-area-inset-right,0px)) calc(.8rem + env(safe-area-inset-bottom,0px)) calc(.65rem + env(safe-area-inset-left,0px))}.course-list-header{margin-bottom:.7rem;gap:.4rem}.course-list-header-actions{gap:.35rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem;scrollbar-width:none}.course-list-header-actions::-webkit-scrollbar{display:none}.course-list-header-actions .btn{flex:0 0 auto}.course-list-items{gap:.4rem}.course-list-group-outline{padding:.38rem .48rem .4rem;border-radius:9px}.course-list-group-head{padding:.35rem .45rem;font-size:.76rem}.course-list-row{border-radius:9px}.course-list-select,.course-list-select--editing{padding:.35rem .45rem .45rem}.course-list-actions{padding:0 .45rem .45rem;gap:.32rem}.course-list-name{font-size:.88rem;line-height:1.25}.course-list-status{margin-top:.2rem;font-size:.64rem}.course-list-desc{font-size:.71rem;margin-top:.14rem;line-height:1.28}.course-list-meta{font-size:.68rem;margin-top:.08rem}.course-list-actions .btn{min-height:1.95rem}.course-list-actions .btn--sm{padding:.32rem .48rem;font-size:.72rem}.course-list-actions .course-list-edit-desktop-only{min-height:1.95rem}.course-viewer--scroll-tracked{padding-bottom:max(3.25rem,min(22vh,9rem))}.course-viewer-title{font-size:1.26rem;line-height:1.28;margin-bottom:.8rem}.course-viewer:has(.course-viewer-desc) .course-viewer-title{margin-bottom:.4rem}.course-viewer-desc{margin-bottom:.85rem;font-size:.86rem;line-height:1.42}.guidebook-prose{font-size:.96rem;line-height:1.62}.guidebook-prose p{margin-bottom:.75rem}.guidebook-prose h2,.guidebook-prose h3{margin:1rem 0 .5rem}.guidebook-prose h2{font-size:1.1rem}.guidebook-prose h3{font-size:1rem}.guidebook-prose ul,.guidebook-prose ol{padding-left:1.15rem;margin-bottom:.75rem}.guidebook-prose img{margin:.65rem 0;border-radius:8px}.dish-card-embed .dish-card-face__photo,.dish-card-embed .dish-card-face__photo--empty{max-height:var(--dish-embed-photo-max-h, 4.75rem)}.dish-card-face__photo{height:calc(110px * var(--dish-scale-y, 1))}.dish-card-face__photo--empty{min-height:calc(110px * var(--dish-scale-y, 1))}.dish-card-embed .dish-card-face__photo,.dish-card-embed .dish-card-face__photo--empty{height:auto;max-height:var(--dish-embed-photo-max-h, 6rem);min-height:0}.dish-card-face{padding:.5rem}.dish-card-face__title{font-size:.88rem;line-height:1.25}.dish-card-face__ttk{font-size:.74rem}.dish-card-face__kbju{margin-top:.35rem;gap:.28rem}.dish-card-face__kbju dt,.dish-card-face__kbju dd{font-size:.67rem}.dish-card-face__meta{margin-top:.25rem;font-size:.68rem}.center-panel{padding:1rem calc(.75rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(.75rem + env(safe-area-inset-left,0px));border-radius:0;border-left:none;border-right:none}.calendar-panel{padding:.55rem .5rem;border-radius:12px}.calendar-panel--main{padding:.55rem .5rem}.calendar-panel__header{margin-bottom:.35rem}.calendar-panel__title{font-size:.92rem}.calendar-panel__hint{font-size:.72rem;margin-top:.12rem}.calendar-month-nav{gap:.28rem;margin-bottom:.32rem}.calendar-month-nav__title{font-size:.78rem}.calendar-panel__nav{gap:.28rem}.calendar-panel__month{font-size:.78rem;min-width:0}.calendar-scope{margin-bottom:.35rem}.calendar-scope__employee{max-width:100%}.calendar-scope__select{font-size:.82rem}.calendar-filters{gap:.28rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem;margin-bottom:.35rem}.calendar-filter{white-space:nowrap;flex:0 0 auto;padding:.22rem .55rem;font-size:.74rem}.calendar-grid--weekdays{display:grid;margin-bottom:.08rem;gap:.1rem}.calendar-grid__weekday{font-size:.58rem;font-weight:600;line-height:1.15;padding:.05rem 0}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.1rem}.calendar-day{min-height:2.35rem;padding:.14rem .06rem;border-radius:6px}.calendar-day__num{font-size:.68rem}.calendar-day__markers{margin-top:.1rem;font-size:.52rem;line-height:1.15}.calendar-staff-summary{margin-top:.55rem;padding:0}.calendar-staff-summary__title{margin-bottom:.35rem;font-size:.82rem}.calendar-staff-summary__stat--shifts{padding-right:.4rem}.calendar-staff-summary__stat--hours{padding-left:.4rem}.calendar-staff-summary__stat-divider{height:1em}.calendar-staff-summary__stats{font-size:.78rem}.calendar-staff-summary__row{padding:.38rem 0;gap:.28rem}.calendar-staff-summary__name{font-size:.875rem}.calendar-sidecard__shift-summary{gap:.35rem}.calendar-sidecard__shift-user{max-width:9rem;font-size:.78rem}.calendar-sidecard__shift-time{font-size:.72rem}.calendar-user-picker__avatar,.calendar-user-picker__avatar--empty{width:32px;height:32px}.calendar-user-picker .select-dropdown__trigger{font-size:.8rem}.calendar-hover-note{padding:.65rem .75rem}.calendar-popup-backdrop{align-items:flex-end;padding:0;background:#18181b80}.calendar-popup{width:100%;max-height:min(84dvh,780px);border-radius:14px 14px 0 0;border-left:none;border-right:none;border-bottom:none;padding:.8rem calc(.75rem + env(safe-area-inset-right,0px)) calc(.7rem + env(safe-area-inset-bottom,0px)) calc(.75rem + env(safe-area-inset-left,0px));box-shadow:var(--sheet-shadow)}.calendar-popup__header{position:sticky;top:0;z-index:1;margin:-.8rem -.75rem .55rem;padding:.75rem .75rem .55rem;background:var(--mobile-header-bg);border-bottom:1px solid var(--border)}.calendar-sidecard__section{margin-top:.55rem;padding:.6rem;border:1px solid var(--border);border-radius:10px;background:var(--mobile-section-bg)}.calendar-sidecard__list{margin-top:.35rem;padding-left:.85rem}.calendar-sidecard__list--shift-cards{padding-left:0;margin-top:.4rem}.calendar-sidecard__item-actions{width:100%}.calendar-sidecard__item-actions .btn{flex:1 1 auto;min-height:2rem}.calendar-shift-assign{margin-top:0;padding-top:0}.calendar-shift-assign__kind-presets,.calendar-shift-assign__times{gap:.5rem}.calendar-shift-assign__submit{width:100%}.calendar-note-input{min-height:6.2rem}.reports-page-header{padding:.75rem calc(.75rem + env(safe-area-inset-right,0px)) .7rem calc(.75rem + env(safe-area-inset-left,0px))}.reports-page-header-row{margin-bottom:.55rem}.reports-page-actions{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem}.reports-page-actions .btn{flex:0 0 auto}.reports-page-title{font-size:1.06rem}.reports-page-lead{font-size:.77rem;line-height:1.35}.reports-page-body{padding:.75rem calc(.75rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(.75rem + env(safe-area-inset-left,0px))}.reports-table-wrap{display:none}.reports-cards{display:block}.page-access{padding-bottom:calc(1.2rem + env(safe-area-inset-bottom,0px))}.page-access-title{font-size:1.06rem;margin-bottom:.35rem}.page-access-sub{font-size:.78rem;line-height:1.36}.page-access-error{margin-left:calc(.75rem + env(safe-area-inset-left,0px));margin-right:calc(.75rem + env(safe-area-inset-right,0px));margin-bottom:.65rem}.page-access-toolbar{padding:0 calc(.75rem + env(safe-area-inset-right,0px)) .7rem calc(.75rem + env(safe-area-inset-left,0px));gap:.6rem;align-items:stretch}.page-access-user-label{min-width:0;width:100%}.page-access-actions{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem}.page-access-actions .btn{flex:0 0 auto}.page-access-table-wrap{padding:0 calc(.75rem + env(safe-area-inset-right,0px)) 0 calc(.75rem + env(safe-area-inset-left,0px))}.page-access-table{min-width:740px;font-size:.77rem}.page-access-table th,.page-access-table td{padding:.45rem .5rem}.page-access-input{font-size:.72rem}.page-access-deadline-date{flex-basis:8.8rem}.page-access-deadline-time{flex-basis:5.1rem}.page-profile{padding:.85rem calc(.75rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(.75rem + env(safe-area-inset-left,0px))}.page-profile-header{margin-bottom:.8rem;gap:.65rem;flex-wrap:wrap}.page-profile-title{font-size:1.08rem}.page-profile-card,.page-profile-assignments{max-width:none;padding:.9rem .75rem;border-radius:12px}.page-profile-assignments{margin-bottom:.8rem}.page-profile-assignments-title{font-size:1rem}.page-profile-assignments-lead{font-size:.8rem;margin-bottom:.7rem}.page-profile-assignments-table{font-size:.78rem}.page-profile-assignments-table th,.page-profile-assignments-table td{padding:.42rem .48rem}.page-profile-avatar-wrap{width:92px;height:92px}.page-profile-avatar--empty{font-size:2rem}.page-profile-avatar-block{gap:.55rem;margin-bottom:.95rem;padding-bottom:.85rem}.page-profile-hint{font-size:.7rem}.page-profile-form{gap:.72rem}.page-profile-login{font-size:.8rem;margin-bottom:.1rem}.page-editor-toolbar-inner{padding:.65rem calc(.75rem + env(safe-area-inset-right,0px)) .75rem calc(.75rem + env(safe-area-inset-left,0px))}.page-editor-toolbar-top{margin-bottom:.45rem}.page-editor-back{width:100%;justify-content:flex-start}.page-editor-toolbar-grid{gap:.7rem}.page-editor-toolbar-primary{gap:.65rem}.page-editor-field-label{font-size:.72rem}.page-editor-title-input{font-size:1.02rem;padding:.45rem .6rem}.page-editor-description{min-height:3.6rem;font-size:.86rem;padding:.45rem .6rem}.course-unlock-section{padding:.65rem .7rem}.course-unlock-heading{font-size:.9rem;margin-bottom:.25rem}.course-unlock-lead{font-size:.78rem;margin-bottom:.55rem}.page-editor-panel-toggles{padding:.65rem .75rem .75rem;gap:.45rem}.page-editor-toggles-label{font-size:.72rem}.page-editor-toggles-row{gap:.65rem}.page-editor-toggle{font-size:.8rem}.page-editor-workspace{padding-bottom:calc(.65rem + env(safe-area-inset-bottom,0px))}.page-editor-workspace-inner{padding:.7rem calc(.75rem + env(safe-area-inset-right,0px)) 0 calc(.75rem + env(safe-area-inset-left,0px));max-width:none}.page-editor-body{gap:.8rem}.tiptap-toolbar{padding:.35rem .4rem .42rem;gap:.3rem;overflow:visible}.tiptap-toolbar__row{gap:.28rem}.tiptap-toolbar__cluster{padding:.18rem .24rem .22rem}.tiptap-toolbar__cluster-label{font-size:.58rem}.toolbar-btn{min-width:1.85rem;height:1.85rem;font-size:.68rem;padding:0 .3rem}.tiptap-body.guidebook-prose-view{width:100%;max-width:none;padding:var(--space-3) var(--space-4)}.tiptap-body.guidebook-prose-view .ProseMirror.guidebook-prose{max-width:none}.page-editor--redesign .tiptap-shell{width:100%;max-width:none}.center-panel .center-panel-toolbar,.center-panel .course-viewer-title,.center-panel .course-viewer-desc,.center-panel .course-test-cta,.center-panel .assignment-notices{width:100%;max-width:none;padding-inline:var(--space-3)}.tiptap-body:not(.guidebook-prose-view){padding:.75rem .7rem 1rem}.dish-editor{padding:.8rem}.dish-editor-heading{font-size:.9rem;margin-bottom:.35rem}.dish-editor-lead{font-size:.78rem;margin-bottom:.7rem}.dish-editor-actions--wrap{gap:.35rem}.dish-editor-actions--wrap .btn{flex:1 1 auto;min-width:0}.calendar-sidecard{margin-top:1rem;padding-top:1rem}.calendar-sidecard__title{font-size:.9rem}.calendar-sidecard__time-range{width:100%}.calendar-sidecard__shift-input,.calendar-sidecard__kind-select{width:100%;flex:1 1 100%}.calendar-shift-badge,.calendar-deadline-badge{font-size:.68rem}.toolbar-select.select-dropdown .select-dropdown__trigger{min-height:1.85rem;height:1.85rem;font-size:.68rem;padding:0 .35rem}.toolbar-select--font.select-dropdown{min-width:6.5rem}.toolbar-select--size.select-dropdown{min-width:5.5rem}.toolbar-color-wrap{height:1.85rem}.toolbar-sep-label{display:none}}.calendar-day--birthday{background:var(--calendar-event-birthday-bg);box-shadow:var(--calendar-event-birthday-glow)}.calendar-day--medbook{background:var(--calendar-event-medbook-bg);box-shadow:var(--calendar-event-medbook-glow)}.calendar-day--layer-multi,.calendar-day[class*=calendar-day--layer-]{position:relative;isolation:isolate;border-color:transparent;background:var(--surface);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.calendar-day--layer-multi:before,.calendar-day[class*=calendar-day--layer-]:not(.calendar-day--layer-multi):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:0;pointer-events:none}.calendar-day--layer-multi:before{background:var(--calendar-day-layer-gradient);filter:saturate(1.2) brightness(1)}.calendar-day[class*=calendar-day--layer-]:not(.calendar-day--layer-multi):before{background:var(--calendar-day-layer-gradient);filter:saturate(1.2) brightness(1)}.calendar-day--layer-multi .calendar-day__num,.calendar-day--layer-multi .calendar-day__markers,.calendar-day[class*=calendar-day--layer-] .calendar-day__num,.calendar-day[class*=calendar-day--layer-] .calendar-day__markers{position:relative;z-index:1}.calendar-birthday-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.calendar-birthday-badge--today{background:var(--calendar-event-birthday-bg);color:var(--calendar-event-birthday-border);box-shadow:var(--calendar-event-birthday-glow);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.calendar-sidecard__birthday-item{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.app-header-notifications-item--birthday{border-left:3px solid #ec4899}.page-profile-birthday-readonly{margin:.25rem 0 0;font-weight:500}.calendar-medbook-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--calendar-event-medbook-bg);color:var(--calendar-event-medbook-border);box-shadow:var(--calendar-event-medbook-glow);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.calendar-sidecard__medbook-item{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.app-header-notifications-item--medbook{border-left:3px solid #ea580c}.app-header-notifications-item--medbook-overdue{border-left-color:#dc2626}.page-test--no-copy{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;position:relative}.page-test--guarded{min-height:100vh}.page-test-inner--hidden{visibility:hidden;pointer-events:none;filter:blur(12px)}.test-screenshot-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600}@media print{.page-test--no-copy,.page-test--guarded{display:none!important}}.test-result-breakdown{margin:1rem 0 0;padding-left:1.25rem;font-size:.875rem;text-align:left}.test-result-q{margin-bottom:.75rem}.test-result-qtitle{margin:0 0 .35rem;font-weight:600}.test-result-tag-ok{color:var(--success-text);font-weight:600;font-size:.75rem}.test-result-tag-bad{color:var(--danger);font-weight:600;font-size:.75rem}.test-result-explain{font-size:.8125rem;line-height:1.45}.test-result-pairs{margin:.35rem 0 0;padding-left:1rem}.guidebook-prose h1{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:600;line-height:1.25;margin:1.75rem 0 .85rem}.toolbar-select.select-dropdown{display:inline-flex;align-items:stretch;box-sizing:border-box;width:auto;flex:0 0 auto;min-height:0;max-width:none;padding:0;border:none;border-radius:8px;background:color-mix(in srgb,var(--border) 28%,transparent);overflow:visible}.toolbar-select.select-dropdown.is-open{z-index:calc(var(--editor-toolbar-flyout-z) - 1)}.select-dropdown--toolbar.is-open,.tiptap-toolbar .select-dropdown__panel--fixed,.tiptap-toolbar .select-dropdown__panel--inline{z-index:var(--editor-toolbar-flyout-z)}.toolbar-select.select-dropdown .select-dropdown__panel--inline{min-width:100%;max-height:min(16rem,50vh)}.toolbar-select.select-dropdown .select-dropdown__trigger{flex:1 1 auto;width:100%;min-height:2rem;height:2rem;min-width:100%;padding:0 .55rem;font-size:.75rem;border:none;border-radius:8px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--border)}.toolbar-select.select-dropdown .select-dropdown__trigger:focus,.toolbar-select.select-dropdown .select-dropdown__trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.toolbar-select.select-dropdown .select-dropdown__value{overflow:visible;text-overflow:clip}.toolbar-select--font.select-dropdown{min-width:7.25rem}.toolbar-select--size.select-dropdown{min-width:5.75rem}.toolbar-select--font.select-dropdown .select-dropdown__panel--fixed{min-width:9rem}.toolbar-select--size.select-dropdown .select-dropdown__panel--fixed{min-width:5.75rem}.toolbar-color-wrap,.toolbar-color-trigger{display:inline-flex;align-items:center;gap:.35rem;height:2rem;flex-shrink:0}.toolbar-color-trigger{position:relative;padding:0 .35rem;border:none;border-radius:8px;background:color-mix(in srgb,var(--border) 28%,transparent);cursor:pointer;font:inherit;color:inherit}.toolbar-color-trigger:hover{background:color-mix(in srgb,var(--border) 42%,transparent)}.toolbar-color-preview{width:1.35rem;height:1.35rem;border:1px solid var(--border);border-radius:6px;box-sizing:border-box}.toolbar-color-input-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;border:0}.toolbar-color-input-hidden{position:fixed;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.toolbar-color-input{width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:transparent}.toolbar-sep-label{font-size:.65rem;color:var(--muted);white-space:nowrap}.page-profile{min-height:100vh;padding:1rem 1.25rem 2rem;background:var(--bg)}.page-profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.page-profile-title{margin:0;font-size:1.25rem}.page-profile-card{max-width:480px;margin:0 auto;padding:1.5rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.page-profile-assignments{max-width:720px;margin:0 auto 1.25rem;padding:1.5rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.page-profile-assignments-title{margin:0 0 .5rem;font-size:1.25rem}.page-profile-assignments-lead{margin:0 0 1rem;font-size:.875rem;line-height:1.45}.page-profile-assignments-table-wrap{overflow-x:auto}.page-profile-assignments-table{width:100%;border-collapse:collapse;font-size:.875rem}.page-profile-assignments-table th,.page-profile-assignments-table td{padding:.5rem .65rem;border:1px solid var(--border);text-align:left}.page-profile-assignments-table th{background:var(--bg);font-weight:600}.page-profile-assignments-badge{display:inline-block;margin-left:.35rem;padding:.1rem .5rem;border-radius:4px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));font-size:.75rem;font-weight:600}.page-profile-assignments-status{font-weight:600;font-size:.875rem}.page-profile-assignments-status--passed{color:var(--success-text)}.page-profile-assignments-status--failed{color:var(--danger)}.page-profile-avatar-block{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.page-profile-avatar-wrap{width:120px;height:120px;border-radius:50%;overflow:hidden;border:2px solid var(--border)}.page-profile-avatar{width:100%;height:100%;object-fit:cover}.page-profile-avatar--empty{display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:2.5rem;font-weight:700;color:var(--muted)}.page-profile-upload{position:relative;overflow:hidden;cursor:pointer}.page-profile-file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;font-size:0;width:100%;height:100%}.page-profile-hint{margin:0;font-size:.75rem;text-align:center}.page-profile-form{display:flex;flex-direction:column;gap:.85rem}.page-profile-login{margin:0 0 .25rem;font-size:.875rem}.page-profile--empty{display:flex;align-items:center;justify-content:center}.dish-editor{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:var(--bg)}.dish-editor-heading{margin:0 0 .5rem;font-size:1rem;font-weight:600}.dish-editor-lead{margin:0 0 1rem;font-size:.875rem;color:var(--muted)}.dish-editor-actions{margin-bottom:1rem}.dish-editor-actions--wrap{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dish-editor-group-chips{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.dish-editor-group-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.75rem;background:var(--panel)}.dish-editor-group-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.dish-editor-group-remove{padding:0 .15rem!important;min-height:0;line-height:1}.dish-editor-layout-row{display:flex;flex-direction:row;align-items:stretch;gap:.75rem;width:100%}.dish-editor-layout-main{flex:1;min-width:0}.dish-editor-board{display:block;min-height:var(--dish-board-min-h, min(56vh, 720px));border:1px dashed var(--border);border-radius:8px;overflow:visible;background:var(--bg)}.dish-editor-canvas{position:relative;min-width:0;min-height:var(--dish-board-min-h, min(56vh, 720px));width:100%;border:none;border-radius:0;background:color-mix(in srgb,var(--panel) 88%,transparent);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 0);background-size:18px 18px;overflow:auto}.dish-editor-side{display:flex;flex-direction:column;width:280px;flex-shrink:0;max-height:var(--dish-board-min-h, min(72vh, 880px));border:1px solid var(--border);border-radius:8px;background:var(--panel);box-sizing:border-box;align-self:stretch;min-height:0;overflow:hidden}.dish-editor-side-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;padding:0}.dish-editor-side-block{flex-shrink:0}.dish-editor-side-title--sub{margin-top:.25rem}.dish-editor-side-hint{margin:0;padding:0 .75rem .75rem;font-size:.8125rem;line-height:1.4}.dish-editor-side-form{border-top:1px solid var(--border);padding-bottom:.35rem}.dish-editor-side--edit .dish-editor-side-form{border-top:none;padding-bottom:0}.dish-editor-side--edit .dish-editor-side-hint,.dish-editor-side--edit .dish-editor-side-empty{padding:.75rem;margin:0}.dish-editor-side-scroll--list{flex:1;min-height:0}.dish-editor-side--list .dish-editor-side-list{flex:1;min-height:0;overflow-y:auto}.dish-editor-side--rail{border-radius:8px}.dish-editor-side-title{margin:0;padding:.65rem .75rem;font-size:.8125rem;font-weight:600;border-bottom:1px solid var(--border);flex-shrink:0}.dish-editor-side-empty{margin:0;padding:.75rem;font-size:.8125rem;line-height:1.35}.dish-editor-side-list{list-style:none;margin:0;padding:.35rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.2rem}.dish-editor-side-item{display:flex;align-items:center;gap:.45rem;width:100%;min-width:0;text-align:left;padding:.4rem .45rem;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font-size:.8125rem;line-height:1.25;transition:background .12s ease,border-color .12s ease}.dish-editor-side-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.dish-editor-side-item--active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 14%,transparent)}.dish-editor-side-thumb{flex-shrink:0;width:36px;height:36px;border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--border) 35%,transparent);display:flex;align-items:center;justify-content:center}.dish-editor-side-thumb img{width:100%;height:100%;object-fit:cover}.dish-editor-side-thumb-ph{display:block;width:14px;height:14px;border-radius:2px;border:1px dashed color-mix(in srgb,var(--muted) 55%,transparent)}.dish-editor-side-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.page-editor-workspace-inner,.center-panel{max-width:680px}.dish-editor-layout-row{flex-direction:column}.dish-editor-layout-main{order:-1}.dish-editor-board{min-height:0}.dish-editor-canvas{min-height:max(min(52vh,560px),var(--dish-board-min-h, 0px))}.dish-editor-side{width:100%;max-height:200px}}.dish-editor-canvas-inner{list-style:none;margin:0;padding:0;position:relative;min-height:var(--dish-board-min-h, min(56vh, 720px));width:100%;min-width:32rem;--dish-card-gap: .75rem;--dish-card-width: calc((100% - var(--dish-card-gap)) / 2);box-sizing:border-box}@media(max-width:720px){.dish-editor-canvas-inner{min-width:0;--dish-card-gap: .5rem}}.dish-card-placed{position:absolute;margin:0;--dish-scale-y: 1;width:var(--dish-card-width);max-width:var(--dish-card-width);min-width:0;box-sizing:border-box}.dish-card-placed--view,.dish-card-placed--editor{box-shadow:var(--card-shadow)}.dish-card-placed--editor{cursor:grab;touch-action:none}.dish-card-placed--dragging{box-shadow:var(--card-shadow-drag);cursor:grabbing}.dish-card-placed--list-focus{outline:2px solid color-mix(in srgb,var(--accent) 70%,var(--border));outline-offset:2px;z-index:30!important}.dish-card-placed--editor-actions{display:flex;flex-direction:column;gap:.4rem;padding:.35rem;background:var(--panel);border-radius:var(--radius)}.dish-card-placed__convert-btn{width:100%;justify-content:center}.dish-editor-board__editor-bar{padding:.5rem .75rem .25rem}.dish-editor-board__editor-bar-text{margin:0;font-size:.8125rem;line-height:1.4}.dish-card-face{display:block;width:100%;box-sizing:border-box;margin:0;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;background:var(--bg)}.dish-card-face__badge{margin:0 0 .4rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.dish-card-face__kind-badge{display:inline-flex;margin:0 0 .4rem;padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:650;background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.dish-card-face--semi-finished{border-style:dashed}.dish-card-face__ttk-item--linked{list-style:none;margin-left:-1.1rem}.dish-card-face__semi-link{font-weight:650;color:var(--accent)}.dish-card-face__ing-link-select{min-width:0}.dish-card-face__ing-linked-label{font-size:.8125rem;font-weight:650;color:var(--accent);padding:.2rem 0;flex:1;min-width:0}.semi-finished-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073}.semi-finished-modal__panel{width:min(100%,28rem);max-height:min(92vh,720px);overflow:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-lg, 0 12px 40px rgb(0 0 0 / .25));padding:.75rem}.semi-finished-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.semi-finished-modal__title{margin:0;font-size:.95rem;font-weight:650}.dish-card-face__photo{width:100%;height:calc(140px * var(--dish-scale-y, 1));object-fit:cover;border-radius:8px;margin-bottom:.5rem;display:block}.dish-card-face__photo--empty{display:flex;align-items:center;justify-content:center;min-height:calc(140px * var(--dish-scale-y, 1));font-size:.8125rem}.dish-card-face__title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.25}.dish-card-face__ttk{margin:0 0 .5rem;padding-left:1.1rem;font-size:.8125rem;color:var(--text);min-width:0;overflow-wrap:break-word}.dish-card-face__footer{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin:0}.dish-card-face__meta-block{flex:0 1 auto;min-width:0}.dish-card-face__footer .dish-card-face__kbju{flex:0 0 auto;margin:0;padding:0;min-width:5.25rem;max-width:11rem;font-size:.75rem;line-height:1.35}.dish-card-face__kbju-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin:0 0 .2rem}.dish-card-face__kbju-row:last-child{margin-bottom:0}.dish-card-face__kbju dt{margin:0;padding:0;font-weight:600;color:var(--muted)}.dish-card-face__kbju dd{margin:0;padding:0;text-align:right;font-weight:600}@media(max-width:960px){.dish-card-face__ttk:not(.dish-card-face__ttk--edit){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.75rem;row-gap:.2rem;padding-left:1rem;list-style-position:outside}.dish-card-face__ttk:not(.dish-card-face__ttk--edit) li{overflow-wrap:break-word;word-break:normal;line-height:1.35}.dish-card-face__footer{align-items:flex-end;gap:.5rem .65rem}.dish-card-face__footer .dish-card-face__kbju{min-width:4.75rem;max-width:9.5rem;font-size:.68rem}}.dish-card-face__meta{margin:0;font-size:.8125rem;font-weight:600}.dish-card-face__meta--line{margin:0 0 .2rem}.dish-card-face__meta--line:last-of-type{margin-bottom:0}.dish-card-editor-shell{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg);box-sizing:border-box}.dish-card-editor-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.4rem .6rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,transparent);gap:.5rem}.dish-card-editor-topbar-title.dish-card-face__title-input{flex:1;min-width:0;margin:0;text-align:left}.dish-card-editor-topbar-actions{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;gap:.35rem}.course-editor-dish-panel{margin-top:1.25rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 88%,var(--bg))}.course-editor-dish-panel__head{margin-bottom:.85rem}.course-editor-dish-panel__title{margin:0 0 .35rem;font-size:1rem;font-weight:650}.course-editor-dish-panel__lead{margin:0;font-size:.8125rem;line-height:1.45}.course-editor-dish-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.course-editor-dish-panel__item{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.55rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.course-editor-dish-panel__actions{display:flex;flex-wrap:wrap;gap:.35rem}.course-editor-dish-panel__empty{margin:0;font-size:.8125rem;line-height:1.45}.course-editor-dish-modal{width:min(100%,32rem);max-height:min(92vh,760px);overflow:auto}.course-editor-dish-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.dish-to-sf-trigger{font-weight:600;white-space:nowrap}.dish-to-sf-dialog{width:min(100%,26rem)}.dish-to-sf-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.dish-to-sf-dialog__lead{margin:.35rem 0 0;font-size:.8125rem;line-height:1.4}.dish-to-sf-dialog__empty{margin:0;font-size:.875rem}.dish-to-sf-dialog__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dish-to-sf-dialog__row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.45rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.dish-to-sf-dialog__name{flex:1;min-width:0;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dish-card-editor-groups{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem .65rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 55%,var(--bg))}.dish-card-editor-group-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.dish-card-editor-group-chip:hover{border-color:color-mix(in srgb,var(--group-chip-color, var(--accent)) 45%,var(--border))}.dish-card-editor-group-chip--active{color:var(--text);box-shadow:0 0 0 1px color-mix(in srgb,var(--group-chip-color, var(--accent)) 35%,transparent)}.dish-card-editor-group-chip__dot{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0}.dish-card-face--editing{border:none;border-radius:0;margin:0;padding:.5rem .35rem;min-width:0;box-sizing:border-box;--dish-ing-cols: minmax(0, 1fr) 2.65rem 2.85rem 1.45rem}.dish-card-embed--editing .dish-card-embed__inner{padding:.2rem .15rem .35rem}.dish-card-face__title-input{display:block;width:100%;box-sizing:border-box;margin:0 0 .5rem;padding:.15rem .25rem;font:inherit;font-size:1rem;font-weight:600;line-height:1.25;border:1px dashed transparent;border-radius:6px;background:transparent;color:inherit}.dish-card-face__title-input:hover{border-color:color-mix(in srgb,var(--border) 75%,transparent)}.dish-card-face__title-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.dish-card-editor-photo-wrap{position:relative;margin-bottom:.5rem}.dish-card-editor-photo-upload{position:absolute;right:.35rem;bottom:.35rem}.dish-card-face__ttk-label{margin:.75rem 0 .35rem;font-size:.75rem;font-weight:600;color:var(--muted)}.dish-card-face__ttk--edit{list-style:none;margin:0 0 .35rem;padding:0!important;display:flex;flex-direction:column;gap:.3rem}.dish-card-face__ing-head{display:grid;grid-template-columns:var(--dish-ing-cols);gap:.25rem;padding:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dish-card-face__ing-head span:last-child{visibility:hidden}.dish-card-face__ing-edit-row{display:grid;grid-template-columns:var(--dish-ing-cols);gap:.25rem;align-items:center;min-width:0}.dish-card-face__ing-edit-row--linked{grid-template-columns:var(--dish-ing-cols)}.dish-card-face__ing-pf-cell{display:flex;align-items:center;gap:.2rem;min-width:0}.dish-card-face__ing-linked-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem}.dish-card-face__ing-pf-tag{flex-shrink:0;padding:.08rem .35rem;border-radius:999px;font-size:.62rem;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.dish-card-face__ing-unlink{flex-shrink:0;margin:0;padding:0;border:none;background:none;font:inherit;font-size:.62rem;font-weight:600;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.dish-card-face__ing-unlink:hover{color:var(--accent)}.dish-card-face__ing-remove{width:1.45rem;min-width:1.45rem;padding:.15rem 0!important;justify-self:end}.dish-card-face__ing-input,.dish-card-face__ing-amount,.dish-card-face__ing-unit{min-width:0;font:inherit;font-size:.8125rem;padding:.28rem .4rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.dish-card-face__ing-amount{text-align:right;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.dish-card-face__ing-amount::-webkit-outer-spin-button,.dish-card-face__ing-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dish-card-face__ing-unit{padding:.28rem 1.15rem .28rem .35rem;cursor:pointer;text-align:left}.dish-card-face__ing-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-bottom:.35rem}.dish-card-face__ing-toolbar .btn{width:100%;justify-content:center}.dish-card-face__ing-toolbar .btn:only-child{grid-column:1 / -1}.dish-card-face__ing-add,.dish-card-face__ing-add-pf{margin-bottom:0}.dish-card-face__pf-picker{list-style:none;margin:0 0 .5rem;padding:.25rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:flex;flex-direction:column;gap:.15rem}.dish-card-face__pf-picker-item{width:100%;text-align:left;border:none;border-radius:6px;padding:.35rem .5rem;font:inherit;font-size:.8125rem;background:transparent;color:var(--text);cursor:pointer}.dish-card-face__pf-picker-item:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.dish-card-face__commercial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem;margin-top:.5rem;max-width:100%;min-width:0}.dish-card-face__commercial--solo{grid-template-columns:minmax(0,1fr);max-width:9rem}.dish-card-face__commercial-field{display:flex;flex-direction:column;gap:.12rem;padding:.28rem .4rem;min-width:0;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--panel) 40%,var(--surface))}.dish-card-face__commercial-label{font-size:.62rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dish-card-face__commercial-input-wrap{display:flex;align-items:baseline;gap:.2rem;min-width:0}.dish-card-face__commercial-input{flex:1;width:100%;min-width:0;max-width:100%;border:none;background:transparent;font:inherit;font-size:.8125rem;font-weight:600;color:var(--text);padding:0}.dish-card-face__commercial-input:focus{outline:none}.dish-card-face__commercial-unit{flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--muted)}.dish-card-face__ing-input{flex:1;min-width:0;font:inherit;font-size:.8125rem;padding:.25rem .4rem;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.dish-card-face__kbju-edit-label{margin:.75rem 0 .35rem;font-size:.75rem;font-weight:600;color:var(--muted)}.dish-card-face__kbju-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .5rem;margin-bottom:.25rem}.dish-card-face__kbju-edit-field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dish-card-face__kbju-edit-hint{font-size:.65rem;font-weight:600;color:var(--muted)}.dish-card-face__kbju-input{width:100%;max-width:100%}.dish-card-face__meta--edit{display:flex;flex-direction:column;gap:.4rem;margin:0;font-size:.8125rem;font-weight:600}.dish-card-face__meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .35rem}.dish-card-face__meta-bit{font-weight:600}.dish-card-face__meta-input{width:4.25rem;font:inherit;font-size:.8125rem;font-weight:600;padding:.15rem .35rem;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.dish-card-face__group-edit{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem}.dish-card-face__group-edit-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.dish-card-face__group-select.select-dropdown .select-dropdown__trigger{font-size:.8125rem;padding:.25rem .4rem;background:var(--surface)}.dish-card-placed--editor .dish-card-face__ing-input,.dish-card-placed--editor .dish-card-face__meta-input,.dish-card-placed--editor .dish-card-face__kbju-input,.dish-card-placed--editor .dish-card-face__group-select,.dish-editor-side-form .dish-card-face__ing-input,.dish-editor-side-form .dish-card-face__meta-input,.dish-editor-side-form .dish-card-face__kbju-input,.dish-editor-side-form .dish-card-face__group-select{font-size:1em}.dish-editor-resize-handle{position:absolute;z-index:41;margin:0;padding:0;border:none;touch-action:none;background:color-mix(in srgb,var(--border) 88%,transparent)}.dish-editor-resize-handle--y{bottom:0;left:50%;transform:translate(-50%);width:32px;height:9px;border-radius:0 0 6px 6px;cursor:ns-resize}.dish-editor-field{margin-bottom:.5rem}.dish-editor-num{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--muted)}.dish-editor-ttk-label{margin:.75rem 0 .35rem;font-size:.75rem;font-weight:600;color:var(--muted)}.dish-ing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.dish-ing-row{display:flex;gap:.35rem;align-items:center}.dish-editor-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.75rem}@media(max-width:480px){.dish-editor-grid2{grid-template-columns:1fr}}.course-viewer .dish-editor-board{margin-bottom:1.5rem}@media(min-width:720px){.course-viewer .dish-editor-board--legacy .dish-editor-canvas-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;min-width:0!important;min-height:min-content!important;align-items:start}.course-viewer .dish-editor-board--legacy .dish-card-placed--view{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important}}@media(max-width:719px){.course-viewer .dish-editor-board--legacy .dish-editor-canvas-inner{display:flex;flex-direction:column;gap:1rem;min-width:0!important;min-height:min-content!important;align-items:stretch}.course-viewer .dish-editor-board--legacy .dish-card-placed--view{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important}}.course-viewer-deadline-note{margin:0 0 1rem;font-size:.8125rem}.course-viewer-blocked{max-width:28rem;margin:0 auto}.page-access{padding-bottom:2rem}.page-access-header{flex-direction:column;align-items:flex-start!important;gap:1rem}.page-access-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.page-access-sub{max-width:56rem;margin:0;line-height:1.45}.page-access-error{margin:0 1.25rem 1rem}.page-access-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:0 1.25rem 1rem}.page-access-user-label{min-width:220px}.page-access-actions{display:flex;flex-wrap:wrap;gap:.5rem}.page-access-table-wrap{overflow-x:auto;padding:0 1.25rem}.page-access-table{width:100%;border-collapse:collapse;font-size:.8125rem;background:var(--panel);border-radius:8px;overflow:hidden}.page-access-table th,.page-access-table td{border:1px solid var(--border);padding:.5rem .65rem;text-align:left;vertical-align:middle}.page-access-table th{background:var(--bg);font-weight:600}.page-access-course-title{font-weight:500}.course-kind-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:650;line-height:1.2;white-space:nowrap}.course-kind-badge--text{background:var(--deadline-study-bg);color:var(--deadline-study-text);box-shadow:var(--deadline-study-glow)}.course-kind-badge--test{background:var(--deadline-test-bg);color:var(--deadline-test-text);box-shadow:var(--deadline-test-glow)}.page-access-input{min-width:0;max-width:100%;font-size:.75rem}.page-access-deadline-split{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;max-width:100%}.page-access-deadline-date{flex:1 1 9.5rem;min-width:0}.page-access-deadline-time{flex:0 1 5.5rem;min-width:0}.page-access-eod-hint{flex:1 1 100%;font-size:.7rem;line-height:1.3}.page-access-eod-reset{flex:1 1 100%;font-size:.7rem;text-align:left;padding:0;border:none;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.page-access-eod-reset:hover{color:var(--text)}body.tenant-branded{background:transparent;--tenant-shell-panel: color-mix(in srgb, var(--panel) 86%, transparent);--tenant-shell-bg: color-mix(in srgb, var(--bg) 78%, transparent);--tenant-shell-surface: color-mix(in srgb, var(--panel) 93%, transparent)}body.tenant-branded:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--tenant-bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;opacity:var(--tenant-bg-dim, .28)}body.tenant-branded #root{position:relative;z-index:1}body.tenant-branded .app-header,body.tenant-branded .app-shell>.app-header{background:var(--tenant-shell-panel)}body.tenant-branded .col--left,body.tenant-branded .col--right{background:var(--tenant-shell-panel)}body.tenant-branded .col--center{background:var(--tenant-shell-bg)}body.tenant-branded .center-panel,body.tenant-branded .calendar-panel{background:var(--tenant-shell-surface)}body.tenant-branded .page-editor{background:var(--tenant-shell-bg)}body.tenant-branded .page-editor-header,body.tenant-branded .page-tenant-settings-panel{background:var(--tenant-shell-surface)}body.tenant-branded .reports-page{background:var(--tenant-shell-bg)}body.tenant-branded .reports-page-header,body.tenant-branded .reports-table-wrap,body.tenant-branded .reports-card{background:var(--tenant-shell-surface)}body.tenant-branded .reports-table th{background:var(--tenant-shell-bg)}@media(max-width:960px){body.tenant-branded .mobile-home-tabs{background:var(--tenant-shell-panel)}body.tenant-branded .col--left,body.tenant-branded .col--center,body.tenant-branded .col--right{background:var(--tenant-shell-bg)}}.modal-panel--tenant-settings{width:min(720px,calc(100vw - 2rem));max-height:min(88vh,920px);display:flex;flex-direction:column}.tenant-settings-scroll{overflow:auto;min-height:0;padding-right:.15rem}.tenant-settings-section+.tenant-settings-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.tenant-settings-section__title{margin:0 0 var(--space-2);font-size:var(--text-headline)}.tenant-settings-section__hint{margin:0 0 var(--space-3)}.tenant-settings-presets{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3)}.tenant-settings-preset-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(2,minmax(88px,.8fr)) minmax(110px,.9fr) auto;gap:var(--space-2);align-items:end}.tenant-settings-preset-row__remove{align-self:end;min-width:2rem}.tenant-settings-background{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:var(--space-4);align-items:start}.tenant-settings-background__preview{display:flex;align-items:center;justify-content:center;min-height:120px;border-radius:var(--radius-lg);border:1px dashed var(--border);background:color-mix(in srgb,var(--muted) 8%,var(--panel));background-size:cover;background-position:center;text-align:center;padding:var(--space-2)}.tenant-settings-background__preview--filled{border-style:solid}.tenant-settings-background__controls{display:flex;flex-direction:column;gap:var(--space-3)}.tenant-settings-background__clear{display:inline-flex;align-items:center;gap:var(--space-2);min-height:1.5rem;margin:0;-webkit-user-select:none;user-select:none}.tenant-settings-background__clear input:disabled{cursor:not-allowed}@media(max-width:720px){.tenant-settings-preset-row{grid-template-columns:1fr 1fr}.tenant-settings-preset-row__label,.tenant-settings-preset-row__kind{grid-column:1 / -1}.tenant-settings-background{grid-template-columns:1fr}}.page-tenant-settings{padding:1.25rem clamp(.75rem,3vw,1.5rem) 2rem;max-width:920px;margin:0 auto}.page-tenant-settings-header{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}@media(min-width:640px){.page-tenant-settings-header.page-editor-header{flex-direction:column;align-items:flex-start}}.page-tenant-settings-title{margin:0;font-size:1.35rem;font-weight:600}.page-tenant-settings-lead,.page-tenant-settings-sub{margin:.35rem 0 0;font-size:.875rem;line-height:1.45}.page-tenant-settings-flash{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:8px;font-size:.875rem;color:var(--success, #15803d);background:color-mix(in srgb,var(--success, #15803d) 12%,transparent)}.page-tenant-settings-status{margin:0 0 .75rem;font-size:.875rem}.page-tenant-settings-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:1rem 1rem .85rem}.page-tenant-settings__body{max-height:none;overflow:visible}.page-tenant-settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.course-list-row--hidden,.course-list-group-outline--hidden{opacity:.62}.course-list-row--hidden .course-list-name,.course-list-group-outline--hidden .course-list-group-title{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 70%,transparent)}.course-list-visibility-btn{flex:0 0 var(--course-list-visibility-size);width:var(--course-list-visibility-size);height:var(--course-list-visibility-size);min-width:var(--course-list-visibility-size);min-height:var(--course-list-visibility-size);padding:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.course-list-title-row .course-list-visibility-btn{flex-shrink:0}.course-list-visibility-btn--off{color:var(--muted)}.course-list-badge--hidden{margin-left:.45rem;background:color-mix(in srgb,var(--muted) 18%,var(--panel));color:var(--muted)}.page-access-row--hidden .page-access-course-title{color:var(--muted)}.app-header{padding:var(--space-3) var(--inset-x);min-height:var(--control-h)}.app-header--row{gap:var(--space-4)}.app-header-logo{width:2.5rem;height:2.5rem}.app-logo{font-size:var(--text-title3);font-weight:600}.app-tagline{font-size:var(--text-footnote);margin-top:var(--space-1)}.app-header-actions,.app-header-user-zone{gap:var(--space-2)}.col{padding:var(--space-3) var(--inset-x) var(--space-4)}.col--left,.col--right{background:var(--bg)}.column-title{margin:0 0 var(--space-2);padding:0 var(--space-1);font-size:var(--text-footnote);font-weight:400;text-transform:none;letter-spacing:normal;color:var(--muted)}.muted{font-size:var(--text-footnote)}.btn{min-height:var(--control-h-compact);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-subhead);font-weight:500}.btn--sm{min-height:var(--control-h-chip);padding:0 var(--space-3);font-size:var(--text-footnote)}.btn:active{transform:scale(.98)}.app-header-user-trigger{border-radius:var(--radius-lg)}.app-header-logout,.app-header-theme-toggle,.app-header-user-trigger.app-header-icon-btn{width:var(--control-h);min-width:var(--control-h);height:var(--control-h);border-radius:var(--radius-lg)}.app-header-user-dropdown{border-radius:var(--radius-lg);padding:var(--space-2)}.app-header-user-dropdown__item{min-height:var(--control-h-compact);padding:0 var(--space-3);font-size:var(--text-subhead);border-radius:var(--radius-sm);display:flex;align-items:center}.auth-input,.modal-field input,.calendar-sidecard__kind-select,.admin-role-select,.page-editor-title-input,.page-editor-description,.dish-card-face__ing-input,.dish-card-face__meta-input,.dish-card-face__group-select,.course-list-group-title-input{min-height:var(--control-h);padding:0 var(--space-3);font-size:var(--text-body);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text)}.auth-input:focus,.modal-field input:focus,.page-editor-title-input:focus,.page-editor-description:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.auth-label,.modal-field-label{font-size:var(--text-footnote);font-weight:500}.auth-title{font-size:var(--text-title2)}.auth-lead{font-size:var(--text-subhead)}.auth-card{border-radius:var(--radius-xl);padding:var(--space-6) var(--space-5)}.course-list-header{gap:var(--space-3);margin-bottom:var(--space-4)}.course-list-header-actions,.course-list-items{gap:var(--space-2)}.course-list-row{min-height:var(--control-h);border-radius:var(--radius-lg);border:none;background:var(--panel);box-shadow:0 0 0 1px var(--border)}.course-list-row--active{box-shadow:0 0 0 1px var(--accent),0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.course-list-select,.course-list-select--editing{padding:var(--space-3) var(--space-4);min-height:var(--control-h)}.course-list-items{--course-list-row-pad-y: var(--space-2);--course-list-row-pad-x: var(--space-3);--course-list-outline-inset: var(--space-2)}.course-list-title-row,.course-list-group-title-row{display:grid;grid-template-columns:minmax(0,1fr) var(--course-list-visibility-size);column-gap:.35rem;align-items:center;width:100%;min-width:0}.course-list-group-title-row{flex:1 1 0%;min-width:0}.course-list-title-row .course-list-name,.course-list-title-row .course-list-name-input,.course-list-title-row .course-list-group-title,.course-list-title-row .course-list-group-title--editable,.course-list-title-row .course-list-group-title-input,.course-list-group-title-row .course-list-name,.course-list-group-title-row .course-list-name-input,.course-list-group-title-row .course-list-group-title,.course-list-group-title-row .course-list-group-title--editable,.course-list-group-title-row .course-list-group-title-input{grid-column:1;width:100%;min-width:0}.course-list-title-row .course-list-visibility-btn,.course-list-group-title-row .course-list-visibility-btn{grid-column:2;justify-self:end}.course-list-title-row .course-list-name-input,.course-list-title-row .course-list-group-title-input,.course-list-group-title-row .course-list-name-input,.course-list-group-title-row .course-list-group-title-input{margin:0;padding:.25rem .4rem;font:inherit;font-weight:500;font-size:var(--text-body);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--panel);box-sizing:border-box;color:inherit;min-height:0}.course-list-group-outline .course-list-group-head,.course-list-group-outline .course-list-select,.course-list-group-outline .course-list-select--editing{padding:var(--course-list-row-pad-y) var(--course-list-row-pad-x)}.course-list-items:not(.course-list-items--nested)>.course-list-li:not(.course-list-group-section):not(.course-list-li--group-head) .course-list-row{margin-inline:var(--course-list-outline-inset)}.course-list-items:not(.course-list-items--nested)>.course-list-li:not(.course-list-group-section):not(.course-list-li--group-head) .course-list-select,.course-list-items:not(.course-list-items--nested)>.course-list-li:not(.course-list-group-section):not(.course-list-li--group-head) .course-list-select--editing{padding:var(--course-list-row-pad-y) var(--course-list-row-pad-x)}.course-list-name{font-size:var(--text-body);font-weight:400}.course-list-desc{font-size:var(--text-footnote)}.course-list-status{font-size:var(--text-caption);letter-spacing:.02em}.course-list-drag-handle{width:2rem;min-height:var(--control-h)}.course-list-group-outline{border:none;border-radius:var(--radius-lg);padding:var(--space-2);background:transparent;box-shadow:none}.course-list-group-outline .course-list-group-head{min-height:var(--control-h-compact);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:none;box-shadow:0 0 0 1px var(--border);font-size:var(--text-subhead)}.course-list-group-title,.course-list-group-title--editable{font-size:var(--text-subhead)}.course-list-group-add.btn,.course-list-group-remove.btn{min-height:1.75rem;padding:0}.course-list-visibility-btn.btn{min-height:var(--course-list-visibility-size);min-width:var(--course-list-visibility-size);padding:0}.course-list-visibility-btn__icon{display:block;width:var(--course-list-visibility-icon-size);height:var(--course-list-visibility-icon-size);flex-shrink:0}.course-list-badge{font-size:var(--text-caption);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.calendar-panel{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--panel);border:none;box-shadow:0 0 0 1px var(--border)}.calendar-panel--main{padding:var(--space-4)}.calendar-panel__title{font-size:var(--text-headline);font-weight:600}.calendar-panel__hint{font-size:var(--text-footnote)}.calendar-panel__nav{gap:var(--space-2)}.calendar-panel__nav .btn{min-width:var(--control-h-compact);min-height:var(--control-h-compact);padding:0}.calendar-month-nav{gap:var(--space-2)}.calendar-month-nav__title,.calendar-panel__month{font-size:var(--text-subhead)}.calendar-filter{min-height:var(--control-h-chip);padding:0 var(--space-3);font-size:var(--text-footnote);border-radius:var(--radius-xl)}.calendar-day{min-height:3.25rem;border-radius:var(--radius-sm);border:none;box-shadow:0 0 0 1px var(--border);background:var(--panel)}.calendar-day.calendar-day--shift-work{background:var(--shift-work-bg);box-shadow:var(--shift-work-glow)}.calendar-day.calendar-day--shift-training{background:var(--shift-training-bg);box-shadow:var(--shift-training-glow)}.calendar-day.calendar-day--shift-day_off{background:var(--shift-dayoff-bg);box-shadow:var(--shift-dayoff-glow)}.calendar-day.calendar-day--shift-other{background:var(--shift-other-bg);box-shadow:var(--shift-other-glow)}.calendar-day.calendar-day--deadline{background:var(--deadline-test-bg);box-shadow:var(--deadline-test-glow)}.calendar-day.calendar-day--deadline-shift-work{background:linear-gradient(135deg,var(--shift-work-bg) 0 50%,var(--deadline-test-bg) 50% 100%);box-shadow:var(--shift-work-glow),var(--deadline-test-glow)}.calendar-day.calendar-day--deadline-shift-training{background:linear-gradient(135deg,var(--shift-training-bg) 0 50%,var(--deadline-test-bg) 50% 100%);box-shadow:var(--shift-training-glow),var(--deadline-test-glow)}.calendar-day.calendar-day--deadline-shift-day_off{background:linear-gradient(135deg,var(--shift-dayoff-bg) 0 50%,var(--deadline-test-bg) 50% 100%);box-shadow:var(--shift-dayoff-glow),var(--deadline-test-glow)}.calendar-day.calendar-day--deadline-shift-other{background:linear-gradient(135deg,var(--shift-other-bg) 0 50%,var(--deadline-test-bg) 50% 100%);box-shadow:var(--shift-other-glow),var(--deadline-test-glow)}.calendar-day__num{font-size:var(--text-footnote)}.calendar-grid__weekday{font-size:var(--text-caption)}.modal-panel{border-radius:var(--radius-xl);padding:var(--space-5)}.modal-body{font-size:var(--text-subhead)}.ui-state{border:none;border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:0 0 0 1px var(--border)}.ui-state__title{font-size:var(--text-body)}.ui-state__hint{font-size:var(--text-footnote)}.mobile-home-tabs{gap:var(--space-2);padding:var(--space-2) var(--inset-x);background:var(--bg)}.mobile-home-tab{min-height:var(--control-h-compact);padding:0 var(--space-4);font-size:var(--text-subhead);border-radius:var(--radius-sm);border:none;background:var(--panel);box-shadow:0 0 0 1px var(--border)}.mobile-home-tab--active{background:var(--accent);color:var(--on-accent);box-shadow:none}.toolbar-btn{min-width:var(--control-h-compact);height:var(--control-h-compact);font-size:var(--text-footnote);border-radius:var(--radius-sm)}.tiptap-toolbar{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.course-viewer-title{font-size:var(--text-title1)}.course-viewer-desc{font-size:var(--text-subhead)}.panel-empty-title{font-size:var(--text-title3)}.panel-empty-hint{font-size:var(--text-subhead)}.note-card{border-radius:var(--radius-lg);border:none;box-shadow:0 0 0 1px var(--border)}.note-card-date{font-size:var(--text-caption)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}.app-user-role,.course-list-status,.course-list-badge,.course-list-drag-handle,.note-card-date,.calendar-grid__weekday,.calendar-day__holiday,.calendar-shift-badge,.calendar-deadline-badge,.test-result-tag-ok,.test-result-tag-bad,.admin-pending,.admin-approved,.dish-card-face__badge,.dish-card-face__group-edit-label,.dish-card-face__ttk-label,.dish-card-face__kbju-edit-hint,.page-access-eod-reset,.test-cooldown-hint,.test-q-num,.test-q-options-label,.test-q-kind,.test-im-url,.test-im-pick,.assignment-notices-heading,.admin-badge{font-size:var(--text-xs)}.muted,.app-tagline,.column-title,.course-list-desc,.course-list-group-remove,.calendar-panel__hint,.calendar-filter,.calendar-hover-note strong,.auth-lead,.auth-label,.auth-error,.auth-footer,.modal-field-label,.ui-state__hint,.toolbar-btn,.toolbar-dish-menu__label,.toolbar-dish-menu__item,.toolbar-dish-menu__group,.dish-card-embed__hint,.dish-card-face__ttk,.dish-card-face__kbju dt,.dish-card-face__kbju dd,.note-card-course-label,.assignment-notices-meta,.course-unlock-lead,.test-q-hint,.test-form-hint,.profile-section-lead,.admin-user-card__label,.page-editor-meta-label,.calendar-sidecard__label,.calendar-popup__holiday,.page-profile-hint,.page-profile-login,.page-test-meta,.test-editor-lead,.test-editor-row,.test-editor-actions-label,.modal-hint,.page-access-sub,.page-profile-assignments-lead,.reports-page-lead,.reports-page-error,.auth-session-text{font-size:var(--text-sm)}.app-header-user-dropdown__item,.course-list-group-title,.course-list-group-title--editable,.course-list-group-head,.calendar-panel__month,.calendar-month-nav__title,.calendar-scope__select,.calendar-user-picker__select,.calendar-sidecard__kind-select,.mobile-home-tab,.panel-empty-hint,.course-viewer-desc,.assignment-notices-course,.assignment-notice-modal-lead,.course-unlock-heading,.test-q-title,.test-form-label,.profile-field-value,.admin-user-card__value,.admin-role-select,.page-editor-toolbar-label,.reports-table th,.reports-table td,.note-card-input,.note-card-course-link,.platform-tenant-row,.test-result-actions,.dish-card-face__title,.dish-card-face__meta,.dish-card-face__ing-input,.dish-card-face__meta-input,.dish-card-face__group-select,.dish-card-face__kbju-input,.test-form-qtext,.test-form-opt,.test-editor-settings-input,.test-q-prompt,.test-opt-input,.page-access-course-title,.page-access-input,.test-result-score,.test-result-explain{font-size:var(--text-md)}.btn,.course-list-name,.auth-input,.ui-state__title,.calendar-panel__title,.calendar-hover-note p,.modal-field input,.modal-field select,.modal-field textarea,.page-editor-title-input,.page-editor-description,.toolbar-select,.guidebook-prose,.guidebook-prose p,.test-result-qtitle,.test-result-answer,.page-test-lead{font-size:var(--text-lg)}.app-logo,.panel-empty-title,.guidebook-prose h3,.page-editor-toolbar-title,.profile-section-title,.reports-page-title,.course-access-title,.page-access-title,.page-profile-title,.page-profile-assignments-title,.calendar-popup__title,.test-editor-heading,.modal-title,.test-result-heading{font-size:var(--text-xl);font-weight:600}.auth-title,.guidebook-prose h2,.page-test-title,.modal-panel>h2,.modal-panel>h3,.test-page-title,.test-result-title{font-size:var(--text-2xl);font-weight:600}.course-viewer-title,.guidebook-prose h1{font-size:var(--text-3xl);font-weight:600}.guidebook-prose blockquote{font-size:var(--text-md)}.app-header-user-dropdown__badge{font-size:var(--text-xs)}.guidebook-prose ul,.guidebook-prose ol,.guidebook-prose blockquote{font-size:inherit}@media(max-width:960px){.app-logo{font-size:var(--text-xl)}.app-tagline,.app-user-name,.app-user-role{font-size:var(--text-sm)}.mobile-home-tab{font-size:var(--text-md)}.course-list-name{font-size:var(--text-lg)}.course-list-desc,.course-list-status{font-size:var(--text-sm)}.course-list-badge{font-size:var(--text-xs)}.calendar-panel__title{font-size:var(--text-lg)}.calendar-panel__hint,.calendar-panel__month,.calendar-filter,.calendar-day__num{font-size:var(--text-sm)}.calendar-day__markers{font-size:var(--text-xs)}.course-viewer-title{font-size:var(--text-2xl)}.auth-title{font-size:var(--text-xl)}.auth-lead,.auth-label,.auth-input{font-size:var(--text-md)}}@media(max-width:640px){.course-viewer-title{font-size:var(--text-xl)}.guidebook-prose h1{font-size:var(--text-2xl)}.guidebook-prose h2{font-size:var(--text-xl)}.guidebook-prose h3{font-size:var(--text-lg)}}.page-editor,.page-test,.page-profile,.page-access,.reports-page{background:var(--bg)}.page-editor-header,.page-access-header,.reports-page-header{padding:var(--space-3) var(--inset-x);border-bottom:none;box-shadow:0 1px 0 var(--border);background:var(--panel)}.page-access-title,.reports-page-title,.page-profile-title{margin:0;font-size:var(--text-xl);font-weight:600}.page-access-sub,.reports-page-lead{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--muted)}.page-access,.reports-page-body,.page-profile{padding:var(--space-4) var(--inset-x) var(--space-6)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--inset-x);background:var(--bg)}.auth-card{max-width:24rem;padding:var(--space-6) var(--space-5);border:none;border-radius:var(--radius-xl);box-shadow:0 0 0 1px var(--border)}.auth-brand-logo{width:3rem;height:3rem}.auth-title{font-size:var(--text-2xl);font-weight:600}.auth-lead{margin-bottom:var(--space-5)}.auth-form{gap:var(--space-3)}.auth-label{gap:var(--space-1)}.auth-input{min-height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}.auth-submit{width:100%;min-height:var(--control-h);margin-top:var(--space-1)}.auth-footer{margin-top:var(--space-4);font-size:var(--text-sm)}.auth-actions-row{gap:var(--space-2)}.col--center{background:var(--bg)}.center-panel{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.center-panel-toolbar{margin-bottom:var(--space-3)}.center-panel-back-btn{min-height:var(--control-h-chip)}.assignment-notices{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border)}.page-editor-toolbar{border-bottom:none;box-shadow:0 1px 0 var(--border)}.page-editor-toolbar-inner{padding:var(--space-3) var(--inset-x) var(--space-4)}.page-editor-toolbar--compact .page-editor-toolbar-inner{padding:var(--space-2) var(--inset-x) var(--space-3)}.page-editor-toolbar-grid{gap:var(--space-4)}.page-editor-field-label{font-size:var(--text-sm);font-weight:500;color:var(--muted)}.page-editor-title-input,.page-editor-description{min-height:var(--control-h)}.page-editor-toolbar--compact .page-editor-title-input,.page-editor-toolbar--compact .page-editor-description{min-height:var(--control-h-compact);font-size:var(--text-md);padding:0 var(--space-3)}.page-editor-toolbar--compact .page-editor-field-label{font-size:var(--text-xs)}.page-editor-back{min-height:var(--control-h-chip);font-size:var(--text-sm)}.page-editor-panel-toggles{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.page-editor-toggles-label{font-size:var(--text-sm);font-weight:500;color:var(--muted)}.page-editor-toggle{min-height:var(--control-h-chip);font-size:var(--text-sm)}.page-editor-body{padding:var(--course-body-padding-block-start) var(--course-body-padding-inline) var(--course-body-padding-block-end);box-sizing:border-box}.page-editor-workspace-inner{border-radius:var(--radius-lg)}.course-unlock-section{padding:var(--space-3) var(--space-4)}.course-unlock-heading{font-size:var(--text-md);font-weight:600}.course-unlock-section--compact .course-unlock-heading{font-size:var(--text-sm)}.course-unlock-section--compact .auth-input{min-height:var(--control-h-compact);font-size:var(--text-sm)}.tiptap-toolbar{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:none;box-shadow:0 0 0 1px var(--border),0 1px 0 var(--border)}.page-editor--redesign .btn{min-height:var(--control-h);padding:0 var(--space-4);font-size:var(--text-md)}.page-editor--redesign .page-editor-back{min-height:var(--control-h);font-size:var(--text-md);padding-left:var(--space-2);padding-right:var(--space-3)}.page-editor-toolbar--redesign .page-editor-toolbar-inner{padding:var(--space-3) var(--inset-x) var(--space-4)}.page-editor-toolbar-grid--redesign{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:var(--space-4);align-items:start}.page-editor-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.page-editor-undo-hint{font-size:var(--text-xs);margin-left:auto}.page-editor-meta-fields{display:grid;grid-template-columns:minmax(10rem,16rem) minmax(12rem,1fr);gap:var(--space-3);align-items:end}.page-editor-field--title,.page-editor-field--description{min-width:0}.page-editor-title-input--compact,.page-editor-description--compact{min-height:var(--control-h-compact);padding:0 var(--space-3);font-size:var(--text-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);width:100%}.page-editor-title-input--compact{font-weight:600}.page-editor-description--compact{font-weight:400}.page-editor--redesign .course-unlock-section{padding:var(--space-3) var(--space-4)}.page-editor--redesign .course-unlock-section--compact .auth-input,.page-editor--redesign .course-unlock-section .auth-input{min-height:var(--control-h);font-size:var(--text-md)}.page-editor--redesign .course-unlock-heading{font-size:var(--text-md);margin-bottom:var(--space-2)}.page-editor--redesign .course-unlock-section .auth-label{font-size:var(--text-sm);gap:var(--space-1)}.course-unlock-field .select-dropdown{width:100%}.course-unlock-field .select-dropdown__trigger{min-height:var(--control-h);font-size:var(--text-md)}.course-unlock-section--compact .course-unlock-field .select-dropdown__trigger{min-height:var(--control-h)}.course-mode-switch{flex-shrink:0}.course-mode-switch__track{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:var(--control-h);padding:var(--space-1);border:none;border-radius:var(--radius-lg);background:var(--bg);box-shadow:0 0 0 1px var(--border)}.course-mode-switch__thumb{position:absolute;top:var(--space-1);left:var(--space-1);width:calc(50% - var(--space-1));height:calc(100% - var(--space-2));border-radius:var(--radius-sm);background:var(--accent);box-shadow:0 1px 2px #0000001f;transition:transform .22s cubic-bezier(.22,1,.36,1);pointer-events:none}.course-mode-switch__option{position:relative;z-index:1;min-height:calc(var(--control-h) - var(--space-2));padding:0 var(--space-4);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--text-md);font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .15s ease}.course-mode-switch__option--active{color:var(--on-accent)}.course-mode-switch__option:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.course-mode-switch--disabled{opacity:.65;pointer-events:none}.page-editor--redesign .toolbar-btn{min-width:var(--control-h);height:var(--control-h);padding:0 var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-sm)}.page-editor--redesign .toolbar-select.select-dropdown .select-dropdown__trigger{min-height:var(--control-h);height:var(--control-h);font-size:var(--text-md)}.page-editor--redesign .toolbar-color-trigger{height:var(--control-h-compact)}.page-editor--redesign .toolbar-color-preview{width:1.5rem;height:1.5rem}.page-editor--redesign .toolbar-color-input{width:2.5rem;height:var(--control-h-compact)}.page-editor--redesign .tiptap-toolbar{padding:var(--space-2) var(--space-3);gap:var(--space-2);position:sticky;top:0;z-index:var(--editor-toolbar-z);overflow:visible}.page-editor--redesign .tiptap-toolbar__row{gap:var(--space-2)}.page-editor--redesign .tiptap-toolbar__cluster{padding:var(--space-1) var(--space-2) var(--space-2);border-radius:var(--radius-sm)}.page-editor--redesign .tiptap-toolbar__cluster-label{font-size:var(--text-xs);letter-spacing:.04em}.page-editor--redesign .tiptap-body.guidebook-prose-view{min-height:20rem;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.page-editor--redesign .tiptap-body .ProseMirror{font-size:var(--text-lg);line-height:1.55}@media(min-width:961px){.page-editor--redesign .page-editor-workspace-inner{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-width:none;width:100%}.page-editor--redesign .page-editor-body,.page-editor--redesign .tiptap-shell{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.page-editor--redesign .tiptap-body.guidebook-prose-view{display:flex;flex:1 1 auto;flex-direction:column;min-height:20rem}.page-editor--redesign .tiptap-body.guidebook-prose-view .ProseMirror.guidebook-prose--editable{flex:1 1 auto;min-height:12rem}.page-editor--redesign .test-intro-editor,.page-editor--redesign .test-editor{flex-shrink:0;max-width:var(--course-prose-surface-width);margin-inline:auto;width:min(100%,var(--course-prose-surface-width))}}.page-editor--redesign .test-intro-editor{padding:var(--space-5);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.page-editor--redesign .test-intro-editor__title{margin:0 0 var(--space-1);font-size:var(--text-xl);font-weight:600}.page-editor--redesign .test-intro-editor__lead{margin:0 0 var(--space-4);font-size:var(--text-sm)}.page-editor--redesign .test-editor{padding:var(--space-5)}.page-editor--redesign .test-editor-row,.page-editor--redesign .test-editor-actions-label{min-height:var(--control-h);font-size:var(--text-md)}.page-editor--redesign .test-editor-row input[type=checkbox]{width:1.25rem;height:1.25rem}.page-editor--redesign .test-editor-settings-input,.page-editor--redesign .test-q-prompt,.page-editor--redesign .test-opt-input,.page-editor--redesign .test-q-kind-select,.page-editor--redesign .auth-input{min-height:var(--control-h);font-size:var(--text-md)}.page-editor--redesign .test-q-card{padding:var(--space-5)}.page-editor--redesign .test-editor-actions .btn,.page-editor--redesign .test-q-head-actions .btn{min-height:var(--control-h)}.page-editor--redesign .toolbar-dish-menu__item{min-height:var(--control-h-compact);padding:0 var(--space-4);font-size:var(--text-md)}@media(max-width:960px){.page-editor-toolbar-grid--redesign,.page-editor-meta-fields{grid-template-columns:1fr}.page-editor-toolbar-head{flex-wrap:wrap}.course-mode-switch,.course-mode-switch__track{width:100%}}@media(max-width:640px){.page-editor--redesign .tiptap-toolbar{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.page-editor--redesign .toolbar-btn{min-width:var(--control-h-compact);height:var(--control-h-compact)}}.modal-backdrop{padding:var(--space-6) var(--inset-x);background:var(--backdrop)}.modal-panel{padding:var(--space-5);border:none;border-radius:var(--radius-xl);box-shadow:var(--dialog-shadow)}.modal-panel:not(.modal-panel--admin-users){max-width:32rem}.modal-panel--dialog{max-width:24rem}.modal-title{font-size:var(--text-xl);font-weight:600}.modal-hint{font-size:var(--text-sm)}.modal-field-input{min-height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}.modal-footer{margin-top:var(--space-4);gap:var(--space-2)}.modal-footer .btn{min-height:var(--control-h-compact)}.page-profile-header{max-width:40rem;margin:0 auto var(--space-4);gap:var(--space-3)}.page-profile-card,.page-profile-assignments{max-width:40rem;margin-left:auto;margin-right:auto;padding:var(--space-5);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border)}.page-profile-assignments{margin-bottom:var(--space-4)}.page-profile-assignments-title{font-size:var(--text-xl);font-weight:600}.page-profile-avatar-block{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--bg)}.page-profile-form{gap:var(--space-3)}.page-profile-assignments-table th,.page-profile-assignments-table td{padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--border)}.page-profile-assignments-table th{background:transparent;font-size:var(--text-sm);color:var(--muted)}.test-editor{padding:var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.test-editor-heading{font-size:var(--text-xl);font-weight:600}.test-editor-grid,.test-editor-row{gap:var(--space-3)}.test-q-card{padding:var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border)}.test-q-num{font-size:var(--text-xs)}.test-opt-row{gap:var(--space-2)}.test-form-list{padding-left:0;list-style:none;gap:var(--space-3)}.test-form-q{padding:var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.test-form-qtext{font-size:var(--text-md);font-weight:500}.test-result-breakdown{padding:var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.test-form-match-row{padding:var(--space-3);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.page-test{padding:var(--space-4) var(--inset-x) var(--space-6)}.reports-page-header-row{gap:var(--space-3)}.reports-table-wrap,.admin-table-wrap,.page-access-table-wrap{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel);overflow:hidden}.reports-table th,.reports-table td,.admin-table th,.admin-table td,.page-access-table th,.page-access-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-md);border:none;border-bottom:1px solid var(--border)}.reports-table th,.admin-table th,.page-access-table th{background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--muted)}.reports-table tr:last-child td,.admin-table tr:last-child td,.page-access-table tr:last-child td{border-bottom:none}.reports-card{padding:var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.reports-sort-btn{min-height:var(--control-h-chip);font-size:var(--text-sm)}.admin-role-select,.au-list__role-select{min-height:var(--control-h-compact)}.page-access-toolbar{gap:var(--space-2);margin-bottom:var(--space-3)}.page-access-input{min-height:var(--control-h-compact)}.dish-card-face{padding:var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.dish-card-face--editing{box-shadow:0 0 0 1px var(--accent),0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.dish-card-face__title{font-size:var(--text-md);font-weight:600}.dish-card-embed{border-radius:var(--radius-lg)}.dish-card-embed--editable.dish-card-embed--selected,.dish-card-embed--editable.dish-card-embed--editing{box-shadow:0 0 0 1px var(--accent),0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.calendar-popup{padding:var(--space-4);border:none;border-radius:var(--radius-xl);box-shadow:var(--dialog-shadow)}.calendar-sidecard__item{padding:var(--space-3);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border);background:var(--bg)}.calendar-sidecard__shift-input,.calendar-sidecard__kind-select,.calendar-note-input{min-height:var(--control-h-compact)}.calendar-hover-note{border:none;border-radius:var(--radius-md);box-shadow:var(--dropdown-shadow)}.center-panel{min-height:20rem;border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.assignment-notices{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.assignment-notices-heading{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.assignment-notices-subheading{font-size:var(--text-sm);font-weight:600}.course-viewer-blocked,.course-viewer-deadline-note{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel);padding:var(--space-4)}.course-viewer-title{margin-bottom:var(--space-4)}.course-deadline-banner{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-5)}.course-deadline-banner__item{display:flex;flex-direction:column;gap:.35rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.course-deadline-banner__item--overdue{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--panel))}.course-deadline-banner__label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.course-deadline-banner__item--overdue .course-deadline-banner__label{color:var(--danger)}.course-deadline-banner__date{font-size:var(--text-md);font-weight:600;color:var(--text)}.course-deadline-banner__countdown{font-size:var(--text-sm);font-weight:600;color:color-mix(in srgb,var(--accent) 85%,var(--text))}.course-deadline-banner__item--overdue .course-deadline-banner__countdown{color:var(--danger)}.course-test-cta{margin-top:var(--space-5);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.page-editor-toolbar{box-shadow:0 1px 0 var(--border);background:var(--panel)}.page-editor-settings{border:none;border-radius:var(--radius-lg);background:var(--panel);box-shadow:0 0 0 1px var(--border)}.page-editor-workspace{background:var(--bg)}.page-editor-workspace-inner{padding:var(--course-workspace-padding-block-start) var(--course-workspace-padding-inline) var(--course-workspace-padding-block-end);box-sizing:border-box}.page-editor-toolbar--compact+.page-editor-workspace .page-editor-workspace-inner{padding:var(--space-3) var(--inset-x) var(--space-5)}.page-editor-body{gap:var(--space-5)}.page-editor-toolbar--compact+.page-editor-workspace .page-editor-body{gap:var(--space-3)}.tiptap-shell{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel);overflow:visible}.tiptap-toolbar{top:0;position:sticky;z-index:var(--editor-toolbar-z);border:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);box-shadow:0 1px 0 var(--border);overflow:visible}.tiptap-body{padding:0}.tiptap-body.guidebook-prose-view{padding:var(--course-prose-padding)}.toolbar-dish-menu__panel{border:none;border-radius:var(--radius-lg);box-shadow:var(--dropdown-shadow)}.toolbar-dish-menu__label{text-transform:none;letter-spacing:normal;font-size:var(--text-xs)}.course-unlock-section{border-bottom:1px solid var(--border);border-radius:0;background:transparent}.modal-backdrop{align-items:center;background:var(--backdrop)}.modal-panel{border:none;box-shadow:var(--dialog-shadow)}.modal-header{gap:var(--space-3);margin-bottom:var(--space-2)}.modal-search{margin-bottom:var(--space-3)}.modal-search .auth-input,.modal-field-input{min-height:var(--control-h-compact)}.page-profile{min-height:100vh}.page-profile-card+.page-profile-card{margin-top:var(--space-4)}.page-profile-assignments-table{font-size:var(--text-md)}.page-profile-assignments-table th,.page-profile-assignments-table td{border:none;border-bottom:1px solid var(--border)}.page-profile-assignments-table tr:last-child td{border-bottom:none}.page-profile-assignments-badge{font-size:var(--text-xs);border-radius:var(--radius-sm)}.test-editor{background:var(--panel)}.test-editor-heading{margin:0 0 var(--space-2)}.test-editor-lead{margin:0 0 var(--space-4)}.test-editor-row,.test-editor-actions-label{font-size:var(--text-sm)}.test-editor-hint,.test-editor-field-error{font-size:var(--text-xs)}.test-editor-settings-input,.test-q-prompt,.test-opt-input,.test-q-kind-select,.test-form-text-input,.test-form-match-select{min-height:var(--control-h-compact);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:var(--text-md)}.test-q-head{margin-bottom:var(--space-3)}.test-q-num{text-transform:none;letter-spacing:normal}.test-q-options-label,.test-q-kind,.test-im-url,.test-im-pick{font-size:var(--text-xs);font-weight:500}.test-im-list{gap:var(--space-3)}.page-test{min-height:100vh}.page-test-header{margin-bottom:var(--space-5)}.page-test-inner{max-width:40rem}.test-form-fieldset{display:flex;flex-direction:column;gap:var(--space-2)}.test-form-opt{font-size:var(--text-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg);box-shadow:0 0 0 1px var(--border)}.test-form-opt:hover{background:color-mix(in srgb,var(--accent) 4%,var(--bg))}.test-form-submit{margin-top:var(--space-4);width:100%}.test-result-title{font-size:var(--text-2xl);font-weight:600}.test-result-score{font-size:var(--text-lg)}.test-result-heading{font-size:var(--text-xl);font-weight:600}.test-result-q{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.test-result-q:last-child{border-bottom:none}.test-cooldown-hint{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.reports-page{min-height:100vh}.reports-page-body{max-width:80rem;margin:0 auto}.reports-page-error{font-size:var(--text-md);color:var(--danger)}.reports-table{font-size:var(--text-md)}.reports-table th{text-transform:none;letter-spacing:normal;position:sticky;top:0;background:var(--panel);z-index:1}.reports-card{margin-bottom:var(--space-3)}.admin-table-wrap{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.admin-table{font-size:var(--text-md)}.admin-table th{background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--muted);border:none;border-bottom:1px solid var(--border)}.admin-table td{border:none;border-bottom:1px solid var(--border)}.admin-table tr:last-child td{border-bottom:none}.admin-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.page-access{min-height:100vh}.page-access-header{align-items:flex-start;gap:var(--space-3)}.page-access-error{margin:0 var(--inset-x) var(--space-3);font-size:var(--text-sm);color:var(--danger)}.page-access-toolbar{padding:0 var(--inset-x) var(--space-4)}.page-access-table-wrap{margin:0 var(--inset-x);padding:0;border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel);overflow:hidden}.page-access-table{font-size:var(--text-md);border-radius:0}.page-access-table th,.page-access-table td{border:none;border-bottom:1px solid var(--border)}.page-access-table th{background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--muted)}.page-access-table tr:last-child td{border-bottom:none}.page-access-deadline-date,.page-access-deadline-time{min-height:var(--control-h-compact)}.page-access-eod-hint{font-size:var(--text-xs);color:var(--muted)}.select-dropdown{position:relative;width:100%}.select-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;text-align:left;cursor:pointer}.select-dropdown__trigger:disabled{opacity:.55;cursor:not-allowed}.select-dropdown__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-dropdown__chevron{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.select-dropdown.is-open .select-dropdown__chevron{transform:rotate(180deg)}.select-dropdown__panel{margin:0;padding:var(--space-2);list-style:none;max-height:min(16rem,50vh);overflow-y:auto;border:none;border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--dropdown-shadow)}.select-dropdown__panel--fixed{position:fixed;z-index:200}.select-dropdown__panel--inline{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:100%;width:max-content;max-width:min(22rem,calc(100vw - 1.5rem))}.select-dropdown__option{display:block;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--text-md);text-align:left;color:var(--text);cursor:pointer}.select-dropdown__option:hover{background:var(--hover-dim)}.select-dropdown__option:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.select-dropdown__option--selected{background:var(--filter-active-bg);color:var(--accent);font-weight:500}.page-access-user-label .select-dropdown{min-width:14rem}.calendar-scope .select-dropdown{width:100%}.calendar-scope .select-dropdown__trigger{min-height:var(--control-h-compact);font-size:var(--text-md);font-weight:500}.select-dropdown--accent .select-dropdown__trigger{border-color:var(--accent);color:var(--accent);background:var(--filter-active-bg)}.select-dropdown--accent .select-dropdown__trigger:hover{border-color:var(--accent);background:color-mix(in srgb,var(--filter-active-bg) 82%,var(--accent))}.calendar-user-picker .select-dropdown{flex:1 1 0;min-width:0}.calendar-user-picker .select-dropdown__trigger{min-height:0;font-size:var(--text-md);font-weight:500}.auth-label>.select-dropdown{width:100%}.toolbar-select.select-dropdown{width:auto;max-width:none;padding:0;border:none;min-height:0}.toolbar-select.select-dropdown .select-dropdown__trigger{min-height:auto;padding:0 .55rem;font-size:.8125rem;border-radius:0}.toolbar-select--size.select-dropdown{min-width:5.75rem;max-width:none}.au-list__role-select.select-dropdown{width:100%;max-width:100%;min-width:0}.au-list__role-select.select-dropdown .select-dropdown__trigger{min-height:34px;height:34px;padding:0 .55rem;font-size:.8125rem}.test-q-kind-select.select-dropdown{min-width:12rem}.calendar-shift-presets--inline.select-dropdown{margin-top:var(--space-2);width:100%;max-width:12rem}.dish-card-face__group-select.select-dropdown{width:100%}.dish-card-face__group-select.select-dropdown .select-dropdown__trigger{min-height:var(--control-h-compact);font-size:var(--text-sm)}.calendar-sidecard__time-range .select-dropdown{flex:0 1 auto;min-width:9rem}.test-form-match-select .select-dropdown,.test-form-match-select__dropdown,.test-im-pick .select-dropdown,.test-im-pick__dropdown{width:100%}.test-im-pick .select-dropdown__trigger,.test-form-match-select .select-dropdown__trigger,.test-form-match-select__dropdown .select-dropdown__trigger{width:100%;box-shadow:none}.test-im-pick .select-dropdown,.test-form-match-select__dropdown.select-dropdown{border:none;background:transparent;box-shadow:none;padding:0}.tenant-settings-preset-row__kind .select-dropdown{width:100%}.dish-card-placed{border-radius:var(--radius-lg)}.dish-card-face__photo{border-radius:var(--radius-sm)}.dish-card-editor-shell{border:none;border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);background:var(--panel)}.dish-card-editor-topbar{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg)}.dish-card-embed{border:none;box-shadow:0 0 0 1px var(--border)}.calendar-popup__title{font-size:var(--text-xl);font-weight:600}.calendar-sidecard,.calendar-sidecard__shift-row{gap:var(--space-2)}.page-editor--empty,.page-test--empty,.page-profile--empty{padding:var(--space-6) var(--inset-x)}.page-editor--empty .ui-state,.page-test--empty .ui-state,.page-profile--empty .ui-state{max-width:24rem;margin:0 auto}@media(max-width:960px){:root{--course-workspace-padding-block-start: var(--space-3);--course-workspace-padding-inline: var(--space-3);--course-workspace-padding-block-end: var(--space-5)}.center-panel{border-radius:var(--radius-md)}.auth-card{padding:var(--space-5) var(--space-4)}.page-editor-toolbar-inner{padding:var(--space-2) var(--space-3) var(--space-3)}.tiptap-body.guidebook-prose-view{padding:var(--space-3) var(--space-4)}.page-profile-card,.page-profile-assignments,.modal-panel{padding:var(--space-4)}.page-access-toolbar,.page-access-table-wrap{padding-left:var(--space-3);padding-right:var(--space-3)}.page-access-table-wrap{margin-left:var(--space-3);margin-right:var(--space-3)}.mobile-home-tab{border:1px solid var(--border);border-radius:999px;padding:.45rem .6rem;font-size:.82rem;font-weight:600;background:var(--panel);color:var(--text)}.mobile-home-tab--active{border-color:var(--accent);color:var(--accent);background:var(--filter-active-bg);box-shadow:none}.mobile-home-tabs--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.auth-page{align-items:stretch;padding:calc(.9rem + env(safe-area-inset-top,0px)) calc(.75rem + env(safe-area-inset-right,0px)) calc(.9rem + env(safe-area-inset-bottom,0px)) calc(.75rem + env(safe-area-inset-left,0px))}.auth-card{max-width:none;width:100%;border-radius:12px}.calendar-popup-backdrop{align-items:flex-end;padding:0}.calendar-popup{width:100%;max-height:min(84dvh,780px);border-radius:14px 14px 0 0;border-left:none;border-right:none;border-bottom:none}.tiptap-toolbar{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tiptap-toolbar::-webkit-scrollbar{display:none}.page-editor-undo-hint{display:none}.modal-backdrop:not(.modal-backdrop--dialog):not(.modal-backdrop--admin-users){align-items:flex-end;padding:0}.modal-panel:not(.modal-panel--dialog):not(.modal-panel--admin-users){width:100%;max-height:min(90dvh,720px);border-bottom-left-radius:0;border-bottom-right-radius:0}}.modal-backdrop--dialog{align-items:center;justify-content:center}.modal-backdrop--dialog .modal-panel.modal-panel--dialog{width:min(24rem,calc(100vw - 2rem));max-width:min(24rem,calc(100vw - 2rem));height:auto;min-height:0;flex:0 0 auto}@media(max-width:640px){.modal-backdrop--dialog{align-items:center!important;justify-content:center!important;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px))!important}.modal-backdrop--dialog .modal-panel.modal-panel--dialog{width:min(24rem,calc(100vw - 2rem))!important;max-width:min(24rem,calc(100vw - 2rem))!important;min-height:0!important;height:auto!important;max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;border-radius:var(--radius-xl)!important}}.modal-backdrop--admin-users .modal-panel.modal-panel--admin-users{width:min(680px,calc(100vw - 2rem))!important;max-width:min(680px,calc(100vw - 2rem))!important;max-height:min(640px,calc(100dvh - 3rem))!important;height:auto!important;padding:0!important}@media(max-width:640px){.modal-backdrop--admin-users .modal-panel.modal-panel--admin-users{width:100%!important;max-width:100%!important}}.theme-transition-overlay{--theme-origin-x: 92%;--theme-origin-y: 8%;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;pointer-events:none;opacity:0;overflow:hidden;transform-origin:var(--theme-origin-x) var(--theme-origin-y)}.theme-transition-overlay--sunset{background:radial-gradient(circle at var(--theme-origin-x) var(--theme-origin-y),rgb(254 215 170 / .55) 0%,rgb(251 146 60 / .72) 18%,rgb(244 114 182 / .58) 36%,rgb(129 140 248 / .62) 54%,rgb(30 27 75 / .78) 72%,rgb(9 9 11 / .92) 88%,transparent 100%),radial-gradient(ellipse 120% 90% at 50% 100%,rgb(0 0 0 / .35) 0%,transparent 68%)}.theme-transition-overlay--sunrise{background:radial-gradient(circle at var(--theme-origin-x) var(--theme-origin-y),rgb(254 249 195 / .95) 0%,rgb(253 186 116 / .82) 22%,rgb(251 113 133 / .48) 42%,rgb(226 232 240 / .28) 62%,rgb(242 242 247 / .08) 82%,transparent 100%),radial-gradient(ellipse 110% 80% at 50% 0%,rgb(224 242 254 / .45) 0%,transparent 70%)}.theme-transition-overlay.is-active.theme-transition-overlay--sunset{animation:theme-sunset 1.1s cubic-bezier(.33,1,.38,1) forwards}.theme-transition-overlay.is-active.theme-transition-overlay--sunrise{animation:theme-sunrise 1.1s cubic-bezier(.33,1,.38,1) forwards}@keyframes theme-sunset{0%{opacity:0;transform:scale(.35);filter:blur(12px)}24%{opacity:1;transform:scale(1);filter:blur(0)}52%{opacity:.96;transform:scale(1.08);filter:blur(0)}to{opacity:0;transform:scale(1.65);filter:blur(10px)}}@keyframes theme-sunrise{0%{opacity:0;transform:scale(.4);filter:blur(10px)}26%{opacity:1;transform:scale(1);filter:blur(0)}54%{opacity:.88;transform:scale(1.06);filter:blur(0)}to{opacity:0;transform:scale(1.55);filter:blur(8px)}}html.theme-transition,html.theme-transition body,html.theme-transition .app-shell,html.theme-transition .app-header,html.theme-transition .col,html.theme-transition .calendar-panel,html.theme-transition .calendar-day,html.theme-transition .note-card,html.theme-transition .course-list-row,html.theme-transition .course-list-group-outline,html.theme-transition .center-panel,html.theme-transition .auth-page{transition:background-color 1s cubic-bezier(.4,0,.2,1),color .85s cubic-bezier(.4,0,.2,1),border-color .85s cubic-bezier(.4,0,.2,1),box-shadow .85s cubic-bezier(.4,0,.2,1)}.app-header-user-dropdown{transform:translateY(-6px) scale(.97);transform-origin:top right;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),visibility .22s}.app-header-user-dropdown.is-open{transform:translateY(0) scale(1)}.app-header-user-dropdown.is-open .app-header-user-dropdown__profile,.app-header-user-dropdown.is-open .app-header-user-dropdown__divider,.app-header-user-dropdown.is-open .app-header-user-dropdown__item{animation:dropdown-item-in .24s cubic-bezier(.22,1,.36,1) backwards}.app-header-user-dropdown.is-open .app-header-user-dropdown__profile{animation-delay:.02s}.app-header-user-dropdown.is-open .app-header-user-dropdown__divider{animation-delay:.05s}.app-header-user-dropdown.is-open .app-header-user-dropdown__item:nth-of-type(1){animation-delay:.07s}.app-header-user-dropdown.is-open .app-header-user-dropdown__item:nth-of-type(2){animation-delay:.1s}.app-header-user-dropdown.is-open .app-header-user-dropdown__item:nth-of-type(3){animation-delay:.13s}.app-header-user-dropdown.is-open .app-header-user-dropdown__item:nth-of-type(4){animation-delay:.16s}@keyframes dropdown-item-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.course-list-group-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1)}.course-list-group-body.is-open{grid-template-rows:1fr}.course-list-group-body-inner{overflow:hidden;min-height:0}.calendar-grid-wrap--slide-next{animation:calendar-slide-next .34s cubic-bezier(.22,1,.36,1)}.calendar-grid-wrap--slide-prev{animation:calendar-slide-prev .34s cubic-bezier(.22,1,.36,1)}.calendar-grid-wrap--slide-fade{animation:calendar-slide-fade .28s ease}.calendar-panel__month--animating,.calendar-month-nav--animating{animation:calendar-month-pulse .34s cubic-bezier(.22,1,.36,1)}@keyframes calendar-slide-next{0%{opacity:0;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}@keyframes calendar-slide-prev{0%{opacity:0;transform:translate(-1.25rem)}to{opacity:1;transform:translate(0)}}@keyframes calendar-slide-fade{0%{opacity:.45}to{opacity:1}}@keyframes calendar-month-pulse{0%{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.calendar-popup-backdrop{animation:backdrop-in .22s ease}.calendar-popup{animation:popup-in .28s cubic-bezier(.22,1,.36,1)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes popup-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-scope__select:focus-visible{animation:select-focus-pulse .32s ease}@keyframes select-focus-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 35%,transparent)}to{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 0%,transparent)}}.course-list-li--removing{pointer-events:none;animation:course-row-fade-out .32s ease forwards}.course-list-li--entering{opacity:0;animation:course-row-fade-in .32s ease forwards}@keyframes course-row-fade-out{0%{opacity:1}to{opacity:0}}@keyframes course-row-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.theme-transition-overlay,.app-header-user-dropdown,.app-header-user-dropdown.is-open .app-header-user-dropdown__profile,.app-header-user-dropdown.is-open .app-header-user-dropdown__divider,.app-header-user-dropdown.is-open .app-header-user-dropdown__item,.course-list-group-body,.course-list-group-collapse-chevron,.calendar-grid-wrap--slide-next,.calendar-grid-wrap--slide-prev,.calendar-grid-wrap--slide-fade,.calendar-panel__month--animating,.calendar-month-nav--animating,.calendar-popup-backdrop,.calendar-popup,.course-list-li--removing,.course-list-li--entering,html.theme-transition,html.theme-transition body,html.theme-transition .app-shell,html.theme-transition .app-header,html.theme-transition .col,html.theme-transition .calendar-panel,html.theme-transition .calendar-day,html.theme-transition .note-card,html.theme-transition .course-list-row,html.theme-transition .course-list-group-outline,html.theme-transition .center-panel,html.theme-transition .auth-page{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}
