:root,html[data-theme=light]{--background:#f5f5f7;--foreground:#202126;--theme-page:#f5f5f7;--portal-dashboard-surface:#fafafa;--theme-surface:#fff;--theme-surface-elevated:#fff;--theme-surface-muted:#f0eef7;--theme-surface-subtle:#f5f5f7;--theme-text:#202126;--theme-text-muted:#62636e;--theme-text-soft:#70717d;--theme-border:#e4e4ea;--theme-border-strong:#ccccd5;--portal-frame-border:#ffffffd9;--theme-accent:#6941c6;--theme-primary:var(--theme-accent);--theme-accent-hover:#5630af;--theme-accent-soft:#f0ebfa;--theme-accent-border:#b19bdc;--ui-action:#7046cf;--ui-danger-action:#b23936;--ui-action-hover:#6137bd;--ui-on-action:#fff;--theme-warning-surface:#fff7e6;--theme-warning-text:#8a5c0c;--theme-warning-border:#e3c78b;--theme-info-surface:#eef5fc;--theme-info-text:#28629e;--theme-info-border:#b1cce8;--theme-danger-surface:#fdf0ef;--theme-danger-text:#b23936;--theme-danger-border:#e4b4b1;--theme-success-surface:#edf7f0;--theme-success-text:#327346;--theme-success-border:#b4d6be;--theme-neutral-surface:#f1f2f5;--theme-neutral-text:#62636e;--theme-neutral-border:#d9dbe2;--theme-shadow-soft:0 2px 8px #1a1a2608, 0 8px 24px #1a1a2608;--theme-shadow-strong:0 0 0 1px #1a1a260a, 0 12px 28px #1a1a261a, 0 36px 90px #1a1a2624;--theme-overlay:#19192352;--theme-input:#f5f5f7;--theme-pill:#efeff3;--theme-header:#fafafce0;--theme-header-strong:#fafafcf5;--theme-editor-page:#ececf0;--theme-skeleton:#e4e4ea;--theme-login-panel:#fff;--theme-login-border:#e4e4ea;--theme-login-heading:#202126;--theme-login-copy:#62636e;--theme-control-surface:#ffffffeb;--theme-control-surface-strong:#fff;--theme-context-menu-surface:#fff;--theme-control-text:#30313a;--theme-control-border:#e4e4ea;--theme-control-divider:#e4e4ea;--theme-canvas:#f5f5f7;--ui-sidebar:#f1f1f6eb;--ui-chrome:#fafafce0;--ui-focus:#8862d6;--ui-radius-control:.75rem;--ui-radius-card:1.125rem;--ui-radius-dialog:1.5rem;--ui-duration:.16s;--ui-ease:cubic-bezier(.2, .8, .2, 1)}html[data-theme=dark]{--background:#17171b;--foreground:#f3f3f6;--theme-page:#17171b;--portal-dashboard-surface:#1c1c21;--theme-surface:#25252c;--theme-surface-elevated:#2b2b33;--theme-surface-muted:#302c3c;--theme-surface-subtle:#202026;--theme-text:#f3f3f6;--theme-text-muted:#b7b7c4;--theme-text-soft:#aaaab9;--theme-border:#3b3b46;--theme-border-strong:#555561;--portal-frame-border:#3b3b46;--theme-accent:#c6afff;--theme-primary:var(--theme-accent);--theme-accent-hover:#d7c6ff;--theme-accent-soft:#352c48;--theme-accent-border:#8871ac;--ui-action:#7951d8;--ui-danger-action:#b23936;--ui-action-hover:#8961e6;--ui-on-action:#fff;--theme-warning-surface:#342c1e;--theme-warning-text:#edca84;--theme-warning-border:#76613a;--theme-info-surface:#202d3b;--theme-info-text:#9dc8f2;--theme-info-border:#43607b;--theme-danger-surface:#382526;--theme-danger-text:#ffb1aa;--theme-danger-border:#82514f;--theme-success-surface:#233328;--theme-success-text:#a0d8b0;--theme-success-border:#487454;--theme-neutral-surface:#303038;--theme-neutral-text:#b7b7c4;--theme-neutral-border:#494953;--theme-shadow-soft:0 2px 12px #0000001f;--theme-shadow-strong:0 0 0 1px #ffffff0f, 0 16px 40px #0000003d, 0 36px 90px #00000047;--theme-overlay:#0000008a;--theme-input:#202026;--theme-pill:#33333c;--theme-header:#1c1c21e6;--theme-header-strong:#1c1c21;--theme-editor-page:#17171b;--theme-skeleton:#303038;--theme-login-panel:#25252c;--theme-login-border:#3b3b46;--theme-login-heading:#f3f3f6;--theme-login-copy:#b7b7c4;--theme-control-surface:#2b2b33f5;--theme-control-surface-strong:#2b2b33;--theme-context-menu-surface:#2b2b33;--theme-control-text:#f3f3f6;--theme-control-border:#3b3b46;--theme-control-divider:#3b3b46;--theme-canvas:#202026;--ui-sidebar:#212127f5;--ui-chrome:#1c1c21e6;--ui-focus:#c6afff}@media (prefers-color-scheme:dark){:root:where(:not([data-theme])){--background:#17171b;--foreground:#f3f3f6;--theme-page:#17171b;--portal-dashboard-surface:#1c1c21;--theme-surface:#25252c;--theme-surface-elevated:#2b2b33;--theme-surface-muted:#302c3c;--theme-surface-subtle:#202026;--theme-text:#f3f3f6;--theme-text-muted:#b7b7c4;--theme-text-soft:#aaaab9;--theme-border:#3b3b46;--theme-border-strong:#555561;--portal-frame-border:#3b3b46;--theme-accent:#c6afff;--theme-primary:var(--theme-accent);--theme-accent-hover:#d7c6ff;--theme-accent-soft:#352c48;--theme-accent-border:#8871ac;--ui-action:#7951d8;--ui-danger-action:#b23936;--ui-action-hover:#8961e6;--ui-on-action:#fff;--theme-warning-surface:#342c1e;--theme-warning-text:#edca84;--theme-warning-border:#76613a;--theme-info-surface:#202d3b;--theme-info-text:#9dc8f2;--theme-info-border:#43607b;--theme-danger-surface:#382526;--theme-danger-text:#ffb1aa;--theme-danger-border:#82514f;--theme-success-surface:#233328;--theme-success-text:#a0d8b0;--theme-success-border:#487454;--theme-neutral-surface:#303038;--theme-neutral-text:#b7b7c4;--theme-neutral-border:#494953;--theme-shadow-soft:0 2px 12px #0000001f;--theme-shadow-strong:0 0 0 1px #ffffff0f, 0 16px 40px #0000003d, 0 36px 90px #00000047;--theme-overlay:#0000008a;--theme-input:#202026;--theme-pill:#33333c;--theme-header:#1c1c21e6;--theme-header-strong:#1c1c21;--theme-editor-page:#17171b;--theme-skeleton:#303038;--theme-login-panel:#25252c;--theme-login-border:#3b3b46;--theme-login-heading:#f3f3f6;--theme-login-copy:#b7b7c4;--theme-control-surface:#2b2b33f5;--theme-control-surface-strong:#2b2b33;--theme-context-menu-surface:#2b2b33;--theme-control-text:#f3f3f6;--theme-control-border:#3b3b46;--theme-control-divider:#3b3b46;--theme-canvas:#202026;--ui-sidebar:#212127f5;--ui-chrome:#1c1c21e6;--ui-focus:#c6afff}}body.elementry-web{font-optical-sizing:auto;color:var(--theme-text);background:var(--theme-page);-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.elementry-web :where(button,a,input,textarea,select,[role=button],[tabindex]):not(:where([data-ui-paper],[data-ui-paper] *)){touch-action:manipulation;transition:background-color var(--ui-duration) ease, border-color var(--ui-duration) ease, color var(--ui-duration) ease, box-shadow var(--ui-duration) ease, opacity var(--ui-duration) ease}.elementry-web :where(button,[role=button]):not(:disabled){cursor:pointer}.elementry-web :where(button,input,textarea,select):disabled{cursor:not-allowed}.elementry-web :where(button,a,input,textarea,select,[role=button],[tabindex]):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.elementry-web :where(button,[role=button]):active:not(:disabled):not(:where([data-ui-paper] *)){opacity:.76;transition-duration:0s}.elementry-web :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),textarea,select):not(:where([data-ui-paper] *,math-field *)){color:var(--theme-text);background-color:var(--theme-input);border-color:var(--theme-border-strong);border-radius:var(--ui-radius-control);accent-color:var(--ui-action);box-shadow:none}.elementry-web :where(input,textarea)::placeholder{color:var(--theme-text-soft);opacity:1}.elementry-web :where(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--ui-action)}.elementry-web :where(h1,h2,h3):not(:where([data-ui-paper] *)){text-wrap:balance}.elementry-web :where(h1):not(:where([data-ui-paper] *)){letter-spacing:-.035em;line-height:1.16}.elementry-web :where(h2,h3):not(:where([data-ui-paper] *)){letter-spacing:-.018em;line-height:1.3}.elementry-web :where(th){color:var(--theme-text-muted);font-weight:600}.elementry-web :where(td,th){font-variant-numeric:tabular-nums}.elementry-web :where([class*=overflow-y-auto]){scrollbar-width:thin;scrollbar-color:var(--theme-border-strong) transparent;overscroll-behavior-y:contain}.portal-dashboard-shell{background:var(--theme-page);padding:0}.portal-dashboard-shell>.ui-ambient-background{display:none}.portal-dashboard-shell>.portal-dashboard-frame{background:var(--portal-dashboard-surface);width:100%;max-width:none;height:100dvh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0}.portal-dashboard-frame>.ui-sidebar{background:var(--ui-sidebar);border-color:var(--theme-border);-webkit-backdrop-filter:blur(24px)saturate(130%);backdrop-filter:blur(24px)saturate(130%);padding:1.5rem .875rem 1rem}.ui-sidebar>:first-child{padding-inline:.5rem}.ui-sidebar nav{margin-top:1.75rem}.ui-nav-link{text-align:left;min-width:0;min-height:2.625rem;color:var(--theme-text-muted);box-shadow:none;border-radius:.625rem;align-items:center;gap:.5rem;padding:.375rem .625rem;font-weight:500;display:flex}.ui-nav-link:hover{background:var(--theme-surface)}.ui-nav-link[aria-current=page]{color:var(--theme-accent);background:var(--theme-accent-soft);font-weight:600;box-shadow:0 1px 4px #14141e0d}.ui-nav-icon{flex:0 0 2rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;position:relative}.ui-nav-icon>svg{stroke:currentColor;flex:none;width:1.125rem;height:1.125rem}.ui-nav-icon>.ui-nav-pending{margin:auto;position:absolute;inset:0}.ui-nav-icon:has(>[data-pending=true])>svg{opacity:0}.ui-nav-label{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0;font-size:.875rem}.ui-nav-label[data-collapsed=true]{flex:none}.ui-nav-link:has(>.ui-nav-label[data-collapsed=true]){gap:0}.ui-workspace{padding:1.5rem 2rem 0}.ui-workspace-header{padding-bottom:1.25rem}.ui-workspace-header h1{font-size:clamp(1.5rem,2.5vw,2rem)}.ui-workspace-header p{font-size:.875rem}.ui-workspace-body{padding-top:.5rem;padding-bottom:1.5rem;scroll-padding-block:1rem}.ui-workspace-body>:first-child{min-width:0}.ui-workspace-body :where(section[class*=rounded-]):not(:where([data-ui-paper] *)){border-radius:var(--ui-radius-card)}.ui-workspace-body :where(section[class*=shadow-]):not(:where([data-ui-paper] *)){box-shadow:var(--theme-shadow-soft)}.ui-workspace-body :where(section[class*=border-l-4]){border-left-width:3px}.ui-workspace-body :where(button[class*=rounded-\[]):not(:where([data-ui-paper] *)){border-radius:var(--ui-radius-control)}[data-ui-overlay]{-webkit-backdrop-filter:blur(8px);padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:var(--theme-overlay)!important}[data-ui-dialog],[data-ui-overlay]>:is(section,div,form,aside):not([aria-hidden=true]):not([data-ui-popover]){max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--theme-text);border:1px solid var(--theme-border);overscroll-behavior:contain;background-color:var(--theme-surface-elevated)!important;border-radius:var(--ui-radius-dialog)!important;box-shadow:var(--theme-shadow-strong)!important}[data-ui-dialog]>:is(header,footer){border-color:var(--theme-border)}[data-ui-dialog]>header{background:var(--theme-surface-elevated);padding-block:1.25rem}[data-ui-dialog]>footer{background:var(--theme-surface-subtle)}[data-ui-overlay]>:where(div,form):not([class*=overflow-hidden]){overflow-y:auto}[data-ui-popover],.elementry-web [role=menu],.elementry-web [role=listbox]{color:var(--theme-text);background:var(--theme-context-menu-surface);border:1px solid var(--theme-border);box-shadow:var(--theme-shadow-strong);transform-origin:100% 0;border-radius:1rem}.ui-button-primary{border-radius:var(--ui-radius-control);min-height:2.75rem;color:var(--ui-on-action);background:var(--ui-action);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;display:inline-flex}.ui-button-primary:hover{background:var(--ui-action-hover)}.ui-button-secondary{border:1px solid var(--theme-border);border-radius:var(--ui-radius-control);min-height:2.75rem;color:var(--theme-text);background:var(--theme-surface);justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;display:inline-flex}.ui-button-secondary:hover{background:var(--theme-surface-subtle)}.ui-button-primary:disabled,.ui-button-secondary:disabled{opacity:.5}.ui-button-danger{background:var(--ui-danger-action);color:var(--ui-on-action)}.ui-button-danger:hover{background:var(--ui-danger-action);filter:brightness(.94)}.ui-confirm-panel{width:28rem;padding:1.75rem}.ui-confirm-panel h2{font-size:1.25rem;font-weight:650}.ui-confirm-panel p{color:var(--theme-text-muted);white-space:pre-line;overflow-wrap:anywhere;margin-top:.75rem;font-size:.9375rem;line-height:1.65}.ui-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.625rem;margin-top:1.75rem;display:flex}.ui-auth-page{background:var(--theme-page);color:var(--theme-text)}.ui-auth-page>.ui-ambient-background{opacity:.5}.ui-auth-page section{box-shadow:var(--theme-shadow-soft)!important}.ui-ambient-background{background:radial-gradient(ellipse at 20% 0%, color-mix(in srgb, var(--theme-accent) 6%, transparent), transparent 55%), var(--theme-page)}@media (max-width:1023px){.ui-workspace{padding:1rem 1rem 0}.ui-workspace-header{padding-bottom:1rem}.ui-workspace-body{padding-bottom:max(1.25rem, env(safe-area-inset-bottom))}.ui-navigation{background:var(--ui-sidebar)}}@media (pointer:coarse){.elementry-web :where(button,a[role=button],[role=menuitem]):not(:where([data-ui-paper] *)){min-height:2.75rem}.elementry-web :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea):not(:where([data-ui-paper] *)){font-size:max(1rem,1em)}}@media (max-width:639px){.ui-workspace{padding-inline:.75rem}[data-ui-dialog],[data-ui-overlay]>:is(section,div,form,aside):not([aria-hidden=true]):not([data-ui-popover]){border-radius:1.125rem!important}.ui-confirm-panel{padding:1.25rem}.ui-confirm-actions>button{flex:1}}@media (prefers-reduced-motion:reduce){.elementry-web *,.elementry-web :before,.elementry-web :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){:root,html[data-theme]{--ui-sidebar:var(--theme-surface-subtle);--ui-chrome:var(--portal-dashboard-surface);--theme-header:var(--portal-dashboard-surface);--theme-control-surface:var(--theme-surface)}.elementry-web [data-ui-overlay],.elementry-web [data-ui-popover],.elementry-web [role=menu],.elementry-web .ui-sidebar{-webkit-backdrop-filter:none!important}}@media (prefers-contrast:more){:root,html[data-theme=light]{--theme-border:#858590;--theme-border-strong:#62626e;--theme-text-muted:#41414c;--theme-text-soft:#52525e;--ui-sidebar:#ededf1}html[data-theme=dark]{--theme-border:#9999a8;--theme-border-strong:#b9b9c6;--theme-text-muted:#e0e0e9;--theme-text-soft:#d0d0dc;--ui-sidebar:#212127}.elementry-web [data-ui-overlay],.elementry-web [data-ui-popover],.elementry-web .ui-sidebar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (forced-colors:active){.ui-button-primary,.ui-button-secondary,[data-ui-dialog],.ui-sidebar a[aria-current=page]{border:1px solid buttontext}}@media print{[data-ui-overlay],[data-ui-popover]{display:none!important}}.elementry-web :is([data-ui-paper],.worksheet-pdf-export-surface){font-family:var(--font-geist-sans), sans-serif}.elementry-web :is([data-ui-paper],.worksheet-pdf-export-surface) .font-mono{font-family:var(--font-geist-mono), monospace}.ui-page-loading{color:var(--theme-text-muted)}.ui-skeleton{background:var(--theme-skeleton);animation:1.8s ease-in-out infinite ui-skeleton-pulse}@keyframes ui-skeleton-pulse{50%{opacity:.65}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-proposal-notice{background:var(--theme-surface);color:var(--theme-text-muted)}html[data-theme=dark] [data-ui-paper]:not(.worksheet-pdf-export-surface *){--worksheet-subject-ink:color-mix(in srgb, var(--worksheet-subject-color) 40%, white)}.worksheet-pdf-export-surface [data-ui-paper]{--worksheet-subject-ink:var(--worksheet-subject-color);--worksheet-header-ink:#fff!important;--worksheet-header-icon-filter:none!important}.student-marking-input{--marking-yellow:#fff3a3;--marking-green:#c8f7d4;--marking-blue:#cfe5ff;--marking-pink:#ffd5ec;--marking-purple:#e4d7ff;--marking-ink:#202126}html[data-theme=dark] .student-marking-input{--marking-yellow:#594d20;--marking-green:#214c32;--marking-blue:#24445f;--marking-pink:#542b46;--marking-purple:#44305e;--marking-ink:#f3f3f6}
