.materials-ai{display:flex;flex-direction:column;gap:10px;min-height:0;padding:14px}.materials-ai-expanded{flex:1;box-sizing:border-box}.materials-ai-header,.materials-ai-heading,.materials-ai-controls{display:flex;align-items:center;gap:10px}.materials-ai-heading{min-width:0}.materials-ai-pin{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px}.materials-ai-pin[aria-pressed=true]{color:var(--accent);background:var(--button-selected)}.materials-ai-header{justify-content:space-between;flex-wrap:wrap}.materials-ai-header strong{font-size:13px;overflow-wrap:anywhere}.materials-ai-controls{font-size:12px}.materials-ai-controls label{display:flex;align-items:center;gap:6px}.materials-ai-controls select{padding:4px;max-width:115px;background:var(--field);border:1px solid var(--border);border-radius:6px;color:inherit}.materials-ai-menu{position:relative}.materials-ai-menu summary{cursor:pointer;list-style:none;padding:4px 8px}.materials-ai-menu>div{position:absolute;right:0;top:100%;background:var(--panel);border:1px solid var(--border);padding:6px;z-index:30;white-space:nowrap}.materials-ai-messages{overflow:auto;min-height:0;overflow-wrap:anywhere}.materials-ai-expanded .materials-ai-messages{flex:1}.materials-ai-compact .materials-ai-messages{max-height:220px}.materials-ai-text{white-space:pre-wrap;line-height:1.5;font-size:14px}.materials-ai-markdown{white-space:normal}.materials-ai-markdown :is(p,ul,ol,pre,blockquote,.materials-ai-table){margin:0 0 10px}.materials-ai-markdown>:last-child{margin-bottom:0}.materials-ai-markdown :is(h1,h2,h3,h4,h5,h6){margin:16px 0 8px;font-size:15px;line-height:1.4}.materials-ai-markdown :is(h1,h2){font-size:17px}.materials-ai-markdown>:first-child{margin-top:0}.materials-ai-markdown :is(ul,ol){padding-left:24px}.materials-ai-markdown li+li{margin-top:4px}.materials-ai-markdown li>:is(p,ul,ol){margin:4px 0}.materials-ai-markdown blockquote{border-left:3px solid var(--border);padding-left:12px;color:var(--muted)}.materials-ai-markdown code{background:var(--field);border-radius:4px;padding:1px 4px;font-size:.9em}.materials-ai-markdown pre{overflow:auto;padding:10px;background:var(--field);border-radius:6px;white-space:pre}.materials-ai-markdown pre code{padding:0}.materials-ai-markdown a{color:var(--accent);text-decoration:underline}.materials-ai-table{overflow-x:auto}.materials-ai-table table{width:auto;border-collapse:collapse;font-size:inherit}.materials-ai-table :is(th,td){border:1px solid var(--border);padding:6px 10px;text-align:left}.materials-ai-markdown hr{border:0;border-top:1px solid var(--border);margin:14px 0}.materials-ai-turn+.materials-ai-turn{margin-top:24px}.materials-ai-question{width:fit-content;max-width:85%;box-sizing:border-box;margin:0 0 16px auto;padding:10px 12px;background:var(--button-selected);border:1px solid var(--border);border-radius:10px 10px 2px}.materials-ai-question>span,.materials-ai-status,.materials-ai-placeholder{color:var(--muted);font-size:12px}.materials-ai-question>span{display:block;margin-bottom:5px}.materials-ai-composer{display:flex;align-items:flex-end;gap:8px}.materials-ai-composer textarea{flex:1;min-width:0;resize:none;max-height:160px;overflow:auto}.materials-ai-link{display:inline;padding:0;border:0;text-decoration:underline;font:inherit;color:var(--accent)}.materials-ai-error{font-size:12px;margin:0}.materials-ai-placeholder{margin:8px 0}.lesson-schedule-form,.lesson-schedule-form label,.lesson-weekly-slot label{display:grid;gap:.5rem}.lesson-schedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-schedule-form input{min-width:0;width:100%}.lesson-schedule-form>:not(label){grid-column:1 / -1}.lesson-weekly-slot>label{flex:1 1 6rem}@container (max-width: 600px){.lesson-schedule-form{grid-template-columns:1fr}}.lesson-weekly-slot,.lesson-actions,.lesson-completion{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.material-lesson-date .lesson-completion{margin-top:.5rem;font-size:.8rem}.lesson-schedule-form textarea{resize:none}.student-scheduling{width:100%;margin:0}.student-scheduling h1{margin:0 0 8px;font:600 30px/1.2 var(--font-display);letter-spacing:-.03em}.student-scheduling h2{font:550 18px var(--font-display);margin:0 0 16px}.schedule-muted{color:var(--muted)}.student-scheduling>.schedule-muted{margin:10px 0 0;font-size:13px}.schedule-timing-note{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0 0;color:var(--text);font-size:15px;font-weight:500;line-height:1.6}.schedule-timing-led{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 5px color-mix(in srgb,var(--green) 90%,transparent),0 0 12px color-mix(in srgb,var(--green) 60%,transparent)}.schedule-home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);align-items:start;gap:24px;margin-top:28px}.schedule-upcoming-section,.schedule-regular-summary{min-width:0;padding:24px;background:var(--portal-panel);border:1px solid var(--portal-border);border-radius:16px;box-shadow:var(--portal-shadow)}.schedule-upcoming{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:1px solid var(--portal-border)}.schedule-upcoming:last-child{border-bottom:0}.schedule-upcoming strong,.schedule-weekly-slot{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.schedule-rescheduled{display:block;font-size:12px;margin-top:3px;color:#c4acd9}.schedule-appointment{display:flex;gap:18px;align-items:center;min-width:0}.schedule-date{display:flex;flex-direction:column;gap:3px;min-width:32px}.schedule-date b{font:500 25px/1.1 var(--font-display);letter-spacing:-.03em}.schedule-date span{font-size:12px;color:var(--muted)}.student-scheduling .schedule-upcoming button,.schedule-time-buttons button,.schedule-week-grid button,.schedule-regular-current button{background:var(--portal-control);border:1px solid var(--accent);color:var(--text);box-shadow:inset 0 1px #ffffff05}.student-scheduling :is(.schedule-upcoming,.schedule-time-buttons,.schedule-week-grid,.schedule-regular-current) button:not([aria-pressed=true]):hover:not(:disabled){background:var(--button-hover)}.student-scheduling .schedule-upcoming button{flex-shrink:0;padding:8px 12px;font-size:13px;min-height:38px}.schedule-weekly-slot{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:22px 0;margin:0}.schedule-weekly-slot time{color:#ddcdec;font-variant-numeric:tabular-nums}.schedule-regular-summary button{width:100%;margin-top:24px;font-size:13px;white-space:normal}.schedule-show-more{margin-top:16px;color:var(--accent);font-size:13px}.schedule-back{margin:0 0 24px -10px}.schedule-picker{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:32px;margin-top:28px;padding:24px;background:var(--portal-panel);border:1px solid var(--portal-border);border-radius:16px;box-shadow:var(--portal-shadow)}.schedule-month-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.schedule-month-heading h2{margin:0;font-size:18px}.schedule-month{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.schedule-month button{aspect-ratio:1;padding:4px;min-width:0}.schedule-month button:disabled{opacity:.25}.schedule-weekday{font-size:12px;color:var(--muted);padding:8px 0}.student-scheduling button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#1b1522}.student-scheduling button[aria-pressed=true]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,white)}.schedule-times{padding-top:12px}.schedule-times h2{font-size:18px}.schedule-time-buttons{display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:10px}.schedule-time-buttons button,.schedule-week-grid button{min-height:42px;font-family:var(--font-mono);overflow-wrap:anywhere}.schedule-submit{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-soft)}.schedule-primary{border:1px solid var(--accent);background:var(--button-selected);padding:10px 18px}.student-scheduling .schedule-primary{background:var(--accent);color:#1b1522;border-color:color-mix(in srgb,var(--accent) 80%,white);font-weight:600;box-shadow:inset 0 1px #ffffff20}.student-scheduling .schedule-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,white)}.schedule-regular-current{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 36px}.schedule-regular-current button{padding:12px 16px}.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;padding:24px;background:var(--portal-panel);border:1px solid var(--portal-border);border-radius:16px;box-shadow:var(--portal-shadow)}.schedule-week-grid>div{display:flex;flex-direction:column;gap:10px;text-align:center}.schedule-week-grid h3{margin:0 0 6px;font-size:14px;font-weight:500}.schedule-week-grid button{padding:8px 4px;min-width:0}.schedule-start-week,.schedule-timezone{display:flex;flex-direction:column;align-items:start;gap:8px;margin:16px 0 20px}.schedule-start-week select,.schedule-timezone-picker input{width:min(100%,360px);min-width:0;padding:10px;color:var(--text);background:var(--portal-control);border:1px solid var(--portal-control-border);border-radius:9px}.schedule-timezone-picker{position:relative;width:min(100%,360px)}.schedule-timezone-picker input{width:100%;font:inherit}.schedule-timezone-options{position:absolute;z-index:10;top:calc(100% + 4px);width:100%;max-height:min(280px,40vh);overflow-y:auto;padding:4px;border:1px solid var(--portal-control-border);border-radius:9px;background:var(--portal-control);box-shadow:var(--popover-shadow)}.schedule-timezone-options button{display:block;width:100%;padding:9px;text-align:left;white-space:normal}.schedule-timezone-options button[data-active=true]{background:var(--button-selected)}.schedule-timezone-options p{margin:8px;font-size:13px;color:var(--muted)}.schedule-confirmation{text-align:center;padding:64px 0}.schedule-check{display:inline-grid;place-items:center;width:48px;height:48px;margin-bottom:24px;color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border-radius:50%;font-size:26px}.schedule-confirmation button{margin-top:20px}.schedule-confirmation .schedule-timing-note{justify-content:center}.scheduling-controls{display:flex;align-items:center;gap:8px}.schedule-unread-dot{display:inline-block;width:7px;height:7px;background:#64a8ff;border-radius:50%;margin-left:7px;vertical-align:middle}.scheduling-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);color:var(--text);padding:24px;box-shadow:var(--popover-shadow)}.scheduling-dialog::backdrop{background:#0008}.scheduling-dialog>header,.scheduling-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.scheduling-dialog header h2{margin:0;font:600 22px var(--font-display)}.scheduling-dialog footer{justify-content:end;margin-top:24px}.schedule-hours{margin-top:24px}.schedule-hours-day{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border-soft)}.schedule-hours-day strong{font-weight:500}.schedule-hours-range{display:flex;align-items:center;gap:8px;margin:4px 0}.schedule-hours-range input{min-width:0;width:105px}.schedule-request{padding:20px 0;border-top:1px solid var(--border-soft)}.schedule-request h3{margin:0;font-size:17px}.schedule-request dl{display:grid;grid-template-columns:100px 1fr;gap:12px}.schedule-request dt{color:var(--muted)}.schedule-request dd{margin:0}.schedule-request footer{margin-top:16px}@media(max-width:900px){.schedule-home-grid{grid-template-columns:1fr}.schedule-regular-summary button{width:auto}}@media(max-width:700px){.student-scheduling h1{font-size:28px}.schedule-upcoming-section,.schedule-regular-summary{padding:20px 16px}.schedule-appointment{gap:12px}.schedule-picker{grid-template-columns:1fr;gap:24px;padding:18px 14px}.schedule-month{max-width:380px;margin:auto}.schedule-week-grid{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px;padding:18px 14px}.schedule-upcoming{font-size:14px}.schedule-hours-day{grid-template-columns:1fr auto}.schedule-hours-day>div{grid-column:1 / -1;grid-row:2}.schedule-hours-range input{flex:1}}.document-bot-tasks{margin-bottom:24px;border:1px solid var(--border-soft);border-radius:8px;padding:16px}.hw-publication{margin-top:16px}.document-bot-tasks-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.document-bot-tasks-heading>h2{font-size:16px;margin:0}.hw-items{min-width:0}.hw-actions,.hw-item-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hw-item{border-bottom:1px solid var(--border-soft)}.hw-item-heading{flex-wrap:nowrap}.hw-item-toggle{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;flex:1;min-width:0;padding:12px 8px;text-align:left}.hw-item-caption{display:grid;gap:5px;min-width:0}.hw-task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.hw-item-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.hw-expand-arrow{transition:transform .17s}.hw-item-toggle[aria-expanded=true] .hw-expand-arrow{transform:rotate(90deg)}.hw-item-heading>.icon-button{flex-shrink:0}.hw-item-content{padding:0 8px 16px 32px}.hw-item-content p{white-space:pre-wrap;overflow-wrap:anywhere}.hw-responses{padding-left:20px}.hw-responses>li{padding:4px 0}.hw-responses p{margin:6px 0}.hw-answer{border-left:2px solid var(--accent);padding-left:12px}.hw-editor{display:grid;gap:16px;padding-bottom:24px}.hw-editor h3{margin:0}.hw-editor label{display:grid;gap:6px}.hw-editor textarea{resize:none;overflow-y:auto;width:100%;min-width:0;font-family:var(--font-mono)}.hw-json-heading{display:flex;align-items:center;gap:8px}.hw-copy-format{padding:4px}.hw-copy-format svg{width:16px;height:16px}@container (max-width: 650px){.hw-item-content{padding-left:8px}}@media(prefers-reduced-motion:reduce){.hw-expand-arrow{transition:none}}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:300 700;src:url(/materials/fonts/space-grotesk.woff2) format("woff2")}@font-face{font-family:Cascadia Mono;font-style:normal;font-display:swap;font-weight:200 700;src:url(/materials/fonts/cascadia-mono-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cascadia Mono;font-style:normal;font-display:swap;font-weight:200 700;src:url(/materials/fonts/cascadia-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-mono: "Cascadia Mono", monospace;--font-content: "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-display: "Space Grotesk", var(--font-content);--heading-size: 28px;font-family:var(--font-content);font-size:13px;color:var(--text);background:var(--canvas);font-synthesis:style;color-scheme:dark;--app-canvas: #101010;--canvas: var(--app-canvas);--background: #030404;--chrome: var(--background);--surface: #141414;--panel: #181818;--field: #101010;--text: #eef0f5;--muted: #b3b3b3;--accent: #b19ed1;--green: #3fc19f;--danger: #e36c78;--warning: #efb588;--border: rgba(160, 160, 160, .34);--border-soft: rgba(160, 160, 160, .16);--accent-border: color-mix(in srgb, var(--accent) 55%, transparent);--button-hover: color-mix(in srgb, var(--accent) 10%, var(--canvas));--button-selected: color-mix(in srgb, var(--accent) 14%, var(--canvas));--button-pressed: color-mix(in srgb, var(--accent) 22%, var(--canvas));--button-radius: 9px;--card-radius: 16px;--surface-glow: inset 0 0 12px rgba(180, 180, 180, .06);--popover-shadow: var(--surface-glow), 0 8px 28px rgba(0, 0, 0, .45);accent-color:var(--accent);-webkit-tap-highlight-color:color-mix(in srgb,var(--accent) 18%,transparent)}*{box-sizing:border-box}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text)}html,body,#root{width:100%;height:100%;margin:0}dialog{scrollbar-gutter:stable}button,input,select,textarea{font:inherit;font-family:var(--font-content)}textarea{font-family:var(--font-content);resize:none;overflow-y:auto;scrollbar-gutter:stable}.composition-input{width:100%;min-width:0;min-height:60px;padding:8px 10px;background:var(--field);color:inherit;border:1px solid var(--border);border-radius:var(--button-radius);font:inherit;line-height:1.5}button,.button{cursor:pointer;border:0;background:transparent;box-shadow:none;color:inherit;border-radius:var(--button-radius);padding:7px 10px;text-decoration:none;transition:background-color .17s,color .17s}button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:default}button:hover:not(:disabled),.button:hover:not([aria-disabled=true]),.section-sidebar-row:hover{background:var(--button-hover)}:is(button,.button):is([aria-pressed=true],[aria-selected=true],[aria-current=true],[aria-current=page]),.section-sidebar-row[data-selected]{background:var(--button-selected);color:inherit}:is(button,.button):active:not(:disabled,[aria-disabled=true]){background:var(--button-pressed)}button:focus-visible,.button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select):focus{outline:none;box-shadow:none;border-bottom-color:var(--accent)}.ui-icon{width:18px;height:18px;flex-shrink:0;vertical-align:middle}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0}.button-with-icon{display:inline-flex;align-items:center;gap:6px}.section-sidebar-row{position:relative}.section-sidebar-row:is([aria-current=page],[aria-pressed=true],[data-selected]):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-left:2px solid var(--accent);border-radius:inherit;pointer-events:none}.section-sidebar-row>button:is([aria-current],:hover,:active){background:transparent}.button-tabs>button,button[role=tab]{position:relative;color:var(--muted)}.button-tabs>button:is([aria-pressed=true],[aria-selected=true]),button[role=tab][aria-selected=true]{color:inherit;background:transparent}.button-tabs>button:is([aria-pressed=true],[aria-selected=true]):after,button[role=tab][aria-selected=true]:after{content:"";position:absolute;inset:auto 10px 0;height:2px;background:var(--accent);border-radius:1px}.button-tabs>button:hover:not(:disabled),button[role=tab]:hover:not(:disabled){background:var(--button-hover)}.button-tabs>button:active:not(:disabled),button[role=tab]:active:not(:disabled){background:var(--button-pressed)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1{overflow-wrap:anywhere;margin:0;color:var(--text);font-family:var(--font-display);letter-spacing:-.035em;font-size:var(--heading-size);line-height:1.2;font-weight:600}h2{margin:0;font-size:13px;font-weight:550}label{font-family:var(--font-content);display:grid;gap:7px;font-size:12px;color:var(--muted)}input{min-width:0;width:100%;height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--button-radius);color:var(--text);background:var(--field)}input::placeholder,textarea::placeholder{color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.primary{justify-self:end;min-height:34px;color:var(--accent);font-weight:600}.empty-state{padding:26px 0;color:var(--muted);font-size:12px;text-align:left}.empty-state>span{display:none}.empty-state p{margin:0;line-height:1.5}.segmented{display:flex;gap:2px}.segmented button{padding:7px 9px;color:var(--muted);font-size:11px}.error,.error-panel{color:var(--danger);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.error-panel{padding:14px;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);border-radius:var(--button-radius)}.error-panel p{margin-top:0}.loading{padding:24px 0;color:var(--muted);font-size:13px}.help-text{margin:0;color:var(--muted);font-size:12px;line-height:1.5}@media(prefers-reduced-motion:reduce){button,.button{transition:none}}[hidden]{display:none}.control-popover.match-trigger-width{box-sizing:border-box;scrollbar-gutter:auto}legend{font-family:var(--font-content)}.action-menu{z-index:10000;min-width:120px;padding:4px;border:1px solid var(--border);border-radius:var(--button-radius);background:var(--panel);box-shadow:var(--popover-shadow)}.action-menu button{width:100%;text-align:left}:root:has(>body.student-portal-page){--canvas: var(--background)}:root:has(>body.student-portal-page .materials-shared-document){--canvas: var(--app-canvas)}.student-portal-page{--font-content: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--portal-panel: linear-gradient(125deg, #1c1a1e, #18171a 45%, #171619);--portal-border: #39353f;--portal-control: #242127;--portal-control-border: #4b4354;--portal-shadow: inset 0 1px 0 #ffffff06, 0 5px 18px #00000012;background:var(--canvas);color:var(--text);font-family:var(--font-content);font-size:15px;line-height:1.5}.student-portal-page .materials-document-back,.student-portal-page .schedule-back{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:18px;font-weight:500;line-height:1.5;min-height:44px}.student-portal-page .materials-header-title:has(>.materials-document-back){display:flex}.student-portal-nav{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;align-items:center;gap:8px;height:100dvh;min-height:260px;padding:24px 10px 16px;border-right:1px solid #333;background:#1b1b1b}.student-portal-brand{padding:2px 0 20px;color:var(--text);font:650 26px var(--font-display);letter-spacing:-.08em;line-height:1.2}.student-portal-brand>span{color:var(--accent)}.student-portal-brand>.student-portal-brand-dot{color:var(--green)}.student-portal-nav a,.student-portal-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:8px 4px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:550}.student-portal-nav a:hover,.student-portal-nav a:focus-visible{background:var(--button-hover);color:var(--text)}.student-portal-nav a[aria-current=page]{color:#d6bfea;background:linear-gradient(140deg,#44384f,#2c2732);box-shadow:inset 0 0 0 1px #7c658f80,inset 0 1px #ffffff0b}.student-portal-nav .ui-icon{width:22px;height:22px}.student-portal-nav-footer{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:auto}.student-updates .popover-control{width:100%}.student-updates .popover-control>button{position:relative}.student-portal-updates-dot{position:absolute;top:7px;right:5px;width:7px;height:7px;border-radius:50%;background:#64a8ff}.student-portal-nav a>span,.student-portal-nav button>span,.student-portal-mobile-menu{display:none}.student-portal-menu-links{display:flex;flex-direction:column;min-height:100%;gap:8px}.student-portal-menu-links a,.student-portal-menu-links button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;border-radius:var(--button-radius);color:var(--text);font-size:16px;text-decoration:none}.student-portal-menu-links .student-portal-updates-dot{top:calc(50% - 3.5px);right:12px}.student-portal-menu-links a[aria-current=page]{background:#303030;box-shadow:inset 0 0 0 1px #484848}.student-portal-menu-links a:hover,.student-portal-menu-links button:hover:not(:disabled),.student-portal-menu-toggle:hover:not(:disabled){background:#363636}.student-portal-menu-links :is(a,button):focus-visible,.student-portal-menu-toggle:focus-visible{outline-color:var(--text)}.student-updates .control-popover{--button-hover: #303030;--button-pressed: #3d3d3d;padding:20px;border:1px solid #353535;border-radius:16px;background:#181818;color:var(--text);font-size:14px;scrollbar-gutter:auto}.student-updates .control-popover::-webkit-scrollbar{width:8px}.student-updates .control-popover::-webkit-scrollbar-track{margin-block:12px;background:transparent}.student-updates .control-popover::-webkit-scrollbar-thumb{border:1px solid transparent;border-radius:8px;background:#555;background-clip:padding-box}.student-updates .control-popover::-webkit-scrollbar-thumb:hover{background-color:#707070}.student-updates .control-popover::-webkit-scrollbar-button{display:none;width:0;height:0}@supports not selector(::-webkit-scrollbar){.student-updates .control-popover{scrollbar-width:thin;scrollbar-color:#555 transparent}}.student-updates h2{margin:0 0 20px;font:600 20px/1.2 var(--font-display)}.student-updates article+article{margin-top:20px;padding-top:20px;border-top:1px solid #353535}.student-updates time{color:var(--muted);font-size:12px}.student-updates h3{margin:8px 0 12px;font-size:16px;font-weight:550}.student-updates ul{margin:0;padding-left:20px;line-height:1.6}.student-updates li+li{margin-top:8px}.student-portal-content{min-width:0;width:100%;max-width:1120px;margin:0 auto;padding:36px 40px 64px 0}.student-portal-page .material-browser{width:min(1320px,calc(100% - 80px));min-height:100svh;padding:24px 0}.student-portal-page .material-browser.student-portal-shell{display:grid;grid-template-columns:68px minmax(0,1fr);gap:32px;width:100%;margin:0;padding:0;position:relative}.student-portal-page .student-login{display:grid;place-items:center;padding-block:40px}.student-login-card{width:min(100%,460px);padding:32px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);box-shadow:var(--popover-shadow)}.student-login-heading{display:flex;align-items:center;gap:16px}.student-login-heading img{flex-shrink:0}.student-login-heading h1{color:var(--text);font-size:28px;font-weight:650;letter-spacing:-.04em}.student-login-card p{margin:24px 0 0;color:var(--muted)}.student-login-card [role=alert]{color:var(--danger)}.student-login-actions{display:grid;gap:12px;margin-top:28px}.student-login-button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 20px;border:1px solid var(--accent);border-radius:var(--button-radius);background:transparent;color:var(--text);font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.025em;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease}.student-login-button:hover,.student-login-button:focus-visible{background:var(--button-selected);border-color:color-mix(in srgb,var(--accent) 65%,white)}.student-login-button:active{background:color-mix(in srgb,var(--accent) 20%,var(--background));border-color:var(--accent)}@media(max-width:700px){.student-portal-page .material-browser{width:calc(100% - 32px)}.student-portal-page .material-browser:has(.material-editor){width:calc(100% - 16px)}.student-portal-page .material-browser.student-portal-shell{display:block;width:100%;padding:0}.student-portal-nav{display:none}.student-portal-mobile-menu{--button-hover: #363636;--button-pressed: #3d3d3d;--button-selected: #303030;display:block;position:absolute;top:18px;right:16px;z-index:10;-webkit-tap-highlight-color:#ffffff18}.student-portal-menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #3a3a3a;background:#1b1b1b;color:var(--text);border-radius:11px}.student-portal-mobile-menu .student-portal-menu-toggle .ui-icon{width:24px;height:24px;stroke-width:2}.student-portal-menu-panel{position:fixed;inset:0 0 0 auto;width:min(320px,calc(100vw - 48px));max-width:none;height:100dvh;max-height:none;margin:0;padding:80px 16px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom));border:0;border-left:1px solid #353535;background:#181818;color:var(--text);scrollbar-gutter:auto;transform:translate(100%);transition:transform .2s ease,display .2s allow-discrete,overlay .2s allow-discrete}.student-portal-menu-panel[open]{transform:translate(0)}.student-portal-menu-panel::backdrop{background:#0008;opacity:0;transition:opacity .2s ease,display .2s allow-discrete,overlay .2s allow-discrete}.student-portal-menu-panel[open]::backdrop{opacity:1}@starting-style{.student-portal-menu-panel[open]{transform:translate(100%)}.student-portal-menu-panel[open]::backdrop{opacity:0}}.student-portal-menu-close{position:absolute;top:18px;right:16px}body:has(.student-portal-menu-panel[open]){overflow:hidden}.student-portal-mobile-menu .ui-icon{width:22px;height:22px}.student-portal-content{padding:24px 16px 36px}.student-portal-content:has(.student-scheduling>.schedule-back){padding-top:18px}.student-portal-content .student-scheduling h1,.student-portal-content .materials-workspace>.materials-header{padding-right:54px}.student-portal-content:has(.material-editor){padding-inline:8px;padding-top:18px}.student-portal-content .material-document-view .materials-header-heading{min-height:44px;padding-right:62px}.student-portal-page .material-blocks .bn-editor{padding-inline:0}.student-portal-page .material-drawing{min-height:min(400px,50svh)}.student-portal-page .material-canvas[data-expanded=false]{height:min(400px,50svh)}.student-login-card{padding:24px}.student-login-heading{gap:12px}.student-login-heading h1{font-size:24px}}@media(prefers-reduced-motion:reduce){.student-portal-menu-panel,.student-portal-menu-panel::backdrop{transition:none}}
