:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-teal:#29d5cf;--brand-blue:#2e83d8;--brand-violet:#5a2abf;--brand-ink:#0d1b47;--brand-glow:#2e83d824;--ink:#162148;--muted:#5e6988;--line:#d9e1ee;--surface:#fff;--surface-2:#f5f8fc;--surface-3:#eef4fb;--accent:#247fd6;--accent-strong:#0d1b47;--danger:#b42318;--focus:#2e83d8;--shadow-soft:0 18px 36px #0d1b4714;--shadow-card:0 14px 30px #0d1b4712;--section-heading-size:clamp(1.0125rem, 1.5vw, 1.425rem);--button-background:#fff;--button-hover-background:#f2f7fd;--button-active-background:#e8f1fc;--button-border:color-mix(in srgb, var(--brand-blue), white 72%);--button-hover-border:color-mix(in srgb, var(--brand-blue), white 42%);--button-radius:10px;--button-font-size:.875rem;--button-line-height:1.4;--button-height:38px;--button-padding:8px 12px;--button-icon-size:18px;--button-gap:8px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at top left, #29d5cf24, transparent 22%), radial-gradient(circle at top right, #5a2abf1a, transparent 22%), linear-gradient(180deg, #fbfdff 0%, var(--surface-2) 100%);color:var(--ink);letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3{color:var(--brand-ink);margin:0;line-height:1.05}h1{font-size:clamp(1.75rem,2.4vw,2.5rem)}h2{font-size:var(--section-heading-size)}p{margin:0;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{appearance:none;background:var(--button-background);border:1px solid var(--button-border);box-shadow:none;border-radius:var(--button-radius);color:var(--ink);cursor:pointer;font-size:var(--button-font-size);align-items:center;gap:var(--button-gap);font-weight:700;line-height:var(--button-line-height);min-height:var(--button-height);padding:var(--button-padding);justify-content:center;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex}:where(button,.button):where(:not(:disabled):not(.is-disabled):not([aria-disabled=true])):hover{background-color:var(--button-hover-background);border-color:var(--button-hover-border)}:where(button,.button):where(:not(:disabled):not(.is-disabled):not([aria-disabled=true])):active{background-color:var(--button-active-background)}button.danger,.button.danger{--button-border:color-mix(in srgb, var(--danger), white 60%);--button-hover-border:var(--danger);--button-hover-background:#fff1f0;--button-active-background:#ffe2df;color:var(--danger)}button:disabled,.button.is-disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55}button>svg,.button>svg{height:var(--button-icon-size);width:var(--button-icon-size);flex-shrink:0}@media (pointer:coarse){:root{--button-height:44px}}input,textarea,select{border:1px solid var(--line);color:var(--ink);background:#ffffffeb;border-radius:8px;width:100%;min-height:42px;padding:10px 12px;transition:border-color .14s,box-shadow .14s,background .14s}textarea{resize:vertical;min-height:110px}.activity-solution .markdown-renderer ul:has(>li>input[type=checkbox]){padding-left:0}.activity-solution .markdown-renderer li:has(>input[type=checkbox]){border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:10px;margin-block:8px;padding:12px;list-style:none;display:flex}.activity-solution .markdown-renderer li:has(>input[type=checkbox]:checked){background:#22c55e14;border-color:#16a34a4d}.activity-solution input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:3px 0 0;padding:0}.activity-solution-item+.activity-solution-item{border-top:1px solid var(--line);padding-top:20px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--focus), transparent 70%);outline-offset:2px}input:hover,textarea:hover,select:hover{border-color:color-mix(in srgb, var(--brand-blue), white 55%)}input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb, var(--brand-blue), white 20%);box-shadow:0 0 0 4px #2e83d814}.app-shell{--test-countdown-right:24px;--test-countdown-top:86px;min-height:100vh}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:1px solid #d9e1eee6;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:0 24px;display:flex;box-shadow:0 6px 24px #0d1b470a}.topbar-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.session-connection-warning{color:var(--brand-ink);background:#fff7df;border-bottom:1px solid #e4c568;justify-content:center;align-items:center;gap:12px;padding:10px 24px;display:flex}.session-unavailable-page{max-width:680px;margin-inline:auto}.session-unavailable-page button{width:fit-content}.brand-link{align-items:center;min-width:0;display:inline-flex}.brand-logo{min-width:0;display:inline-flex}.brand-logo-image{width:100%;height:auto;display:block}.brand-logo-header,.brand-logo-hero{width:fit-content}.brand-logo-header .brand-logo-image{width:auto;max-width:min(100%,100vw - 48px);height:48px}.brand-logo-hero .brand-logo-image{width:auto;max-width:min(100%,100vw - 48px);height:90px}.nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav-primary{justify-content:flex-end}.nav a{color:var(--muted);border-radius:8px;padding:8px 10px;font-weight:700;transition:background .14s,color .14s,box-shadow .14s}.nav a:hover{color:var(--brand-ink);background:#29d5cf1a}.nav a.is-active{color:var(--brand-ink);background:linear-gradient(135deg,#29d5cf24,#2e83d81f);box-shadow:inset 0 0 0 1px #2e83d81f}.tab-strip{background:#eef4fbb8;border:1px solid #d9e1eef2;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}.workspace-tab-toolbar{justify-content:space-between;align-items:stretch;gap:12px;display:flex}.workspace-tab-toolbar .tab-strip{flex:auto}.workspace-tab-trailing{flex:none;align-items:center;display:flex}.course-view-selector{background:#eef4fbb8;border:1px solid #d9e1eef2;border-radius:999px;align-items:stretch;min-height:46px;padding:4px;display:inline-flex;overflow:hidden}.course-view-option{color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;max-width:42px;min-height:36px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,max-width .22s;display:inline-flex;overflow:hidden}.course-view-course-option{gap:7px;padding:0 9px;text-decoration:none}.course-view-course-option.is-active{max-width:180px;padding-inline:12px}.course-view-option:hover,.course-view-option.is-active{background:var(--surface);border-color:color-mix(in srgb, var(--brand-blue), white 64%);color:var(--brand-ink);box-shadow:0 1px 2px #0d1b470f}.course-view-option-label{opacity:0;white-space:nowrap;max-width:0;transition:max-width .22s,opacity .14s;overflow:hidden}.course-view-option.is-active .course-view-option-label{opacity:1;max-width:120px}.course-view-group-option.is-active{max-width:280px}.course-view-option-trigger{box-shadow:none;color:inherit;background:0 0;border:0;border-radius:999px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:34px;min-height:34px;padding:0;display:inline-flex}.course-view-option-trigger:hover{background:color-mix(in srgb, var(--brand-blue), transparent 92%);box-shadow:none;transform:none}.course-view-option-trigger:disabled{cursor:not-allowed;opacity:.45}.course-view-option-control{opacity:0;max-width:0;transition:max-width .22s,opacity .16s;display:inline-flex;overflow:hidden}.course-view-option.is-active .course-view-option-control{opacity:1;max-width:220px}.course-view-option-control select{box-shadow:none;color:inherit;font:inherit;background:0 0;border:0;border-radius:999px;min-width:132px;min-height:34px;padding:0 30px 0 2px}.participant-group-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.participant-group-card{min-width:0}.participant-group-card+.participant-group-card{border-top:1px solid var(--line)}.participant-group-heading{align-items:center;gap:8px;padding:12px 16px;transition:background .14s;display:flex}.participant-group-heading:hover,.participant-group-card.is-open .participant-group-heading{background:var(--surface-2)}.participant-group-summary{flex:1;min-width:0;margin:0}.participant-group-labels{flex:1;gap:5px;min-width:0;display:grid}.participant-group-toggle{box-shadow:none;color:inherit;font:inherit;text-align:start;background:0 0;border:0;justify-content:flex-start;gap:10px;width:100%;padding:4px 0}.participant-group-toggle:hover{box-shadow:none;transform:none}.participant-group-title-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.participant-group-name{overflow-wrap:anywhere;min-width:0;font-size:1rem;font-weight:700;line-height:1.3}.participant-group-icon{background:var(--surface-3);color:var(--accent);border-radius:9px;flex:0 0 38px;justify-content:center;align-items:center;height:38px;display:flex}.participant-group-status{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:5px;font-size:.65rem;font-weight:650;line-height:1.4;display:inline-flex}.participant-group-status:before{content:"";background:#c69a3d;border-radius:50%;width:5px;height:5px}.participant-group-status.is-published:before{background:#299586}.participant-group-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:.8125rem;font-weight:400;line-height:1.5;display:flex}.participant-group-count{align-items:center;gap:5px;display:inline-flex}.participant-group-menu-button{flex:0 0 var(--button-height);min-height:var(--button-height);padding:0}.participant-group-menu-button[aria-expanded=true]{background:var(--button-active-background);border-color:var(--button-hover-border)}.participant-group-panel{border-top:1px solid var(--line);padding:16px}.participant-editor-dialog,.participant-import-dialog{width:min(100%,720px);max-width:720px}.participant-import-template{background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:10px 12px;display:block;overflow-x:auto}.participant-import-ready,.participant-import-result{background:#eefaf7;border:1px solid #b9ded2;border-radius:8px;padding:12px}.participant-import-issues,.participant-import-result{gap:8px;display:grid}.participant-import-issues p,.participant-import-result p{margin:0}.participant-import-issues ul,.participant-import-result ul{margin:0;padding-inline-start:22px}[role=tablist]:has(>button[role=tab]){background:#eef4fbb8;border:1px solid #d9e1eef2;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}[role=tablist]>button[role=tab],.tab-button{box-shadow:none;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-weight:700;display:inline-flex;position:relative}.tab-button:hover,[role=tablist]>button[role=tab]:hover{box-shadow:none;color:var(--brand-ink);background:#ffffffb8;border-color:#d9e1eeeb;transform:none}.tab-button.is-active,.tab-button[aria-selected=true],[role=tablist]>button[role=tab][aria-selected=true]{background:var(--surface);border-color:color-mix(in srgb, var(--brand-blue), white 64%);color:var(--brand-ink);box-shadow:0 1px 2px #0d1b470f}.tab-button.is-active:after,.tab-button[aria-selected=true]:after,[role=tablist]>button[role=tab][aria-selected=true]:after{background:linear-gradient(90deg, var(--brand-teal), var(--brand-blue));content:"";border-radius:999px;height:3px;position:absolute;bottom:-5px;left:12px;right:12px}.tab-button:hover{box-shadow:none}.account-menu{position:relative}.account-trigger{align-items:center;gap:10px;max-width:min(320px,42vw);min-height:44px;padding:0 12px}.account-trigger-label{text-align:left;min-width:0;display:grid}.account-trigger-title{color:var(--muted);font-size:12px;font-weight:700;line-height:1.1}.account-trigger-email{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.account-trigger-chevron{color:var(--muted);flex:none;transition:transform .14s;display:inline-flex}.account-trigger-chevron.is-open{transform:rotate(180deg)}.account-popover{background:var(--surface);border:1px solid var(--line);z-index:20;border-radius:8px;gap:12px;min-width:240px;padding:14px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 42px #0d1b4724}.account-popover-header{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:grid}.account-popover-section{gap:8px;display:grid}.account-popover .locale-switcher{align-items:stretch;gap:6px;display:grid}.account-popover .locale-switcher select,.account-settings-link,.account-logout{width:100%}.account-version{color:var(--muted);text-align:center;padding-top:2px;font-size:11px;line-height:1.2}.activity-live-controls{opacity:1;max-width:calc(100vw - 32px);right:var(--test-countdown-right);top:var(--test-countdown-top);visibility:visible;z-index:19;border-radius:999px;transition:opacity .12s,visibility .12s;display:flex;position:fixed;overflow:visible;box-shadow:0 12px 28px #0d1b473d}.activity-live-controls:empty{display:none}.activity-live-controls>*{border-radius:0}.activity-live-controls>:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px}.activity-live-controls>:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px}.test-countdown{background:var(--brand-ink);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;order:1;padding:12px 16px;font-weight:800;line-height:1;transition:background .18s}.test-countdown--warning{background:#9a4b00}.test-countdown--critical{background:#991b1b}.activity-messenger-trigger{color:#fff;white-space:nowrap;background:#2e8de1;border:0;order:2;align-items:center;gap:7px;min-height:40px;padding:9px 15px;display:inline-flex;position:relative}.activity-messenger-trigger:hover,.activity-messenger-trigger:focus-visible{background:#1d73c4}.activity-live-controls:has(.test-countdown){background:#2e8de1}.activity-live-controls:has(.test-countdown) .activity-messenger-trigger{border-radius:999px;justify-content:center;min-width:78px;margin-left:-20px;padding:9px 15px 9px 35px}.activity-live-controls:has(.test-countdown) .activity-messenger-label{display:none}.activity-live-controls:has(.test-countdown) .test-countdown{z-index:1;border-radius:999px;padding-right:20px;position:relative}.activity-messenger-unread-dot{background:#ef3131;border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;top:5px;right:7px}.activity-messenger-trigger.has-unread svg{transform-origin:50% 20%;animation:.9s ease-in-out infinite alternate activity-message-attention}@keyframes activity-message-attention{0%,to{box-shadow:0 0 #2e83d81a}50%{box-shadow:0 0 0 5px #2e83d838}}.app-shell.has-open-account-menu .activity-live-controls{opacity:0;pointer-events:none;visibility:hidden}.activity-messenger-dialog,.activity-broadcast-dialog{gap:18px;width:min(100%,680px);max-width:680px;display:grid;overflow:hidden}.activity-messenger-thread{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;gap:12px;min-height:220px;max-height:min(56dvh,520px);padding:16px;display:grid;overflow-y:auto}.activity-message,.activity-broadcast-history-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:7px;padding:12px 14px;display:grid}.activity-message--staff{border-left:4px solid var(--brand-blue)}.activity-message p,.activity-broadcast-history-item p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.activity-message-meta,.field-hint-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.activity-message-meta time{color:var(--muted);font-size:.82rem}.activity-messenger-empty{text-align:center;margin:auto}.activity-messenger-one-way{margin:0}.activity-broadcast-composer{border-bottom:1px solid var(--line);padding-bottom:18px}.activity-broadcast-presence{align-items:center;gap:8px;font-weight:700;display:flex}.activity-presence-dot{background:var(--muted);border-radius:50%;width:9px;height:9px}.activity-presence-dot.is-active{background:#178a45;box-shadow:0 0 0 4px #178a4524}.activity-broadcast-history{gap:12px;max-height:min(34dvh,320px);display:grid;overflow-y:auto}.activity-broadcast-history h3{margin:0}@media (prefers-reduced-motion:reduce){.activity-messenger-trigger.has-unread svg{animation:none}}.page{width:100%;max-width:none;margin:0 auto;padding:28px max(16px,2.5vw) 52px}.stack{gap:16px;display:grid}.split{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:20px;display:grid}.knowledge-graph-section{min-height:620px}.subject-details-section,.knowledge-graph-section{box-shadow:0 12px 34px #0f172a12}.subject-details-section .section-heading{border-bottom:1px solid var(--line);padding-bottom:16px}.subject-details-form{gap:22px}.subject-details-form textarea{min-height:180px}.subject-editor-tab-panel[hidden]{display:none!important}.activity-concept-selector{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);height:clamp(430px,64vh,720px);min-height:430px;display:grid;overflow:hidden}.activity-concept-list{border-inline-end:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, var(--surface-3));min-height:0;padding:10px;overflow-y:auto}.activity-concept-row{border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:4px 8px;display:grid}.activity-concept-row+.activity-concept-row{margin-top:3px}.activity-concept-row.is-active{background:color-mix(in srgb, var(--brand-blue) 11%, var(--surface));box-shadow:inset 3px 0 0 var(--brand-blue)}.activity-concept-row>button{min-width:0;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 4px;font-weight:700;display:flex}.activity-concept-count{background:color-mix(in srgb, var(--brand-blue) 16%, var(--surface));color:var(--brand-ink);border-radius:999px;flex:none;padding:3px 8px;font-size:.76rem;font-weight:800}.activity-concept-skills{align-content:start;gap:8px;min-height:0;padding:24px;display:grid;overflow-y:auto}.activity-skill-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:9px 12px;display:grid}.activity-skill-row span{line-height:1.35}.activity-skill-row:has(input:checked){border-color:color-mix(in srgb, var(--brand-blue) 52%, var(--line));background:color-mix(in srgb, var(--brand-blue) 7%, var(--surface))}.activity-concept-row input[type=checkbox],.activity-skill-row input[type=checkbox]{appearance:auto;border:initial;width:20px;height:20px;min-height:20px;box-shadow:none;accent-color:var(--brand-blue);border-radius:4px;margin:0;padding:0}@media (max-width:760px){.activity-concept-selector{grid-template-columns:1fr;height:auto}.activity-concept-list{border-inline-end:0;border-bottom:1px solid var(--line);max-height:320px}}.subject-language-field{border:1px solid color-mix(in srgb, var(--brand-blue), white 76%);background:color-mix(in srgb, var(--surface-3), white 68%);border-radius:12px;max-width:680px;padding:16px}.edit-action-bar{z-index:20;border:1px solid color-mix(in srgb, var(--brand-blue), white 65%);background:color-mix(in srgb, var(--surface), transparent 4%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:14px 18px;display:flex;position:sticky;bottom:16px;box-shadow:0 14px 38px #0f172a2e}.edit-action-bar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.subject-description-text{white-space:pre-wrap;max-width:1100px}.knowledge-graph-heading{align-items:flex-end;gap:1rem}.knowledge-graph-heading .muted{max-width:760px}.knowledge-graph-add{gap:.6rem;min-width:min(100%,430px);display:flex}.knowledge-graph-add input{flex:1}.knowledge-graph-ai{border:1px solid color-mix(in srgb, var(--brand-blue), white 75%);background:color-mix(in srgb, var(--surface-3), white 55%);border-radius:12px;padding:14px 16px}.knowledge-graph-ai summary{cursor:pointer;font-weight:800}.knowledge-graph-ai-content{margin-top:16px}.knowledge-graph-ai-limit{max-width:260px}.knowledge-generation-warning{color:#674d00;background:#fff7df;border:1px solid #e7c66a;border-radius:8px;padding:12px;font-weight:700}.knowledge-generation-summary-dialog{gap:18px;width:min(100%,720px);max-width:720px;display:grid}.knowledge-generation-change-list{gap:8px;display:grid}.knowledge-generation-change-list h3,.knowledge-generation-change-list ul{margin:0}.knowledge-generation-change-list ul{padding-inline-start:24px}.knowledge-graph-layout-controls{align-items:flex-end;gap:12px;display:flex}.knowledge-graph-layout-controls .field{min-width:240px}.knowledge-graph-workspace{grid-template-columns:minmax(320px, 1fr) 10px minmax(280px, var(--knowledge-inspector-width,360px));border:1px solid var(--line);background:var(--surface);border-radius:16px;min-height:500px;display:grid;overflow:hidden}.knowledge-graph-canvas{background:color-mix(in srgb, var(--surface) 92%, var(--surface-3));min-height:500px}.knowledge-graph-section:not(.knowledge-graph-preview) .knowledge-graph-workspace{resize:vertical;height:500px;max-height:1200px}.knowledge-graph-section:not(.knowledge-graph-preview) .knowledge-graph-inspector{overflow-y:auto}.knowledge-graph-preview{min-height:690px}.knowledge-graph-preview .knowledge-graph-workspace{height:600px;min-height:600px;display:block}.knowledge-graph-preview .knowledge-graph-canvas{height:600px;min-height:600px}.knowledge-graph-preview .react-flow__handle{opacity:0;pointer-events:none}.knowledge-graph-preview .react-flow__pane,.knowledge-graph-preview .react-flow__node{cursor:default}.knowledge-graph-canvas .react-flow__node-concept{width:180px}.knowledge-concept-node{border:1px solid var(--brand-blue);background:var(--surface);text-align:center;border-radius:10px;width:100%;padding:12px;font-weight:700;position:relative;box-shadow:0 5px 18px #0f172a14}.knowledge-concept-node .react-flow__handle{border:2px solid var(--surface);background:var(--brand-blue);width:10px;height:10px}.knowledge-graph-canvas .react-flow__node.selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 24%, transparent)}.knowledge-graph-canvas .react-flow__node.knowledge-node-selected .knowledge-concept-node{background:color-mix(in srgb, var(--brand-blue), white 87%);box-shadow:0 7px 22px #2e83d833}.knowledge-graph-canvas .react-flow__node.knowledge-node-direct-outgoing .knowledge-concept-node{background:#dbefef;border-color:#008f8b}.knowledge-graph-canvas .react-flow__node.knowledge-node-direct-incoming .knowledge-concept-node{background:#ede5fa;border-color:#6d28d9}.knowledge-graph-canvas .react-flow__node.knowledge-node-direct-outgoing.knowledge-node-direct-incoming .knowledge-concept-node{border-color:var(--brand-blue);background:linear-gradient(135deg,#d9eeee,#ece3fa)}.knowledge-graph-canvas .react-flow__node.knowledge-node-not-prerequisite{filter:grayscale(.65);opacity:.48}.knowledge-graph-canvas .react-flow__edge-path{stroke:var(--brand-blue);stroke-width:2px}.knowledge-graph-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--brand-ink);stroke-width:3px}.knowledge-graph-canvas .react-flow__edge.knowledge-edge-unconnected{opacity:.16}.knowledge-graph-canvas .react-flow__edge.knowledge-edge-outgoing .react-flow__edge-path{stroke:#008f8b;stroke-width:4px;filter:drop-shadow(0 0 3px #008f8b59)}.knowledge-graph-canvas .react-flow__edge.knowledge-edge-incoming .react-flow__edge-path{stroke:#6d28d9;stroke-width:4px;filter:drop-shadow(0 0 3px #6d28d959)}.knowledge-graph-edge-legend{flex-wrap:wrap;gap:16px;font-size:.88rem;font-weight:700;display:flex}.knowledge-graph-edge-legend span{align-items:center;gap:7px;display:inline-flex}.knowledge-edge-swatch{border-radius:999px;width:22px;height:4px}.knowledge-edge-swatch-outgoing{background:#008f8b}.knowledge-edge-swatch-incoming{background:#6d28d9}.knowledge-graph-inspector{background:var(--surface);min-width:0;padding:1rem}.knowledge-skill-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.knowledge-skill-add{border-radius:999px;width:30px;height:30px;padding:0;font-size:1.25rem;line-height:1}.knowledge-skill-list{flex-wrap:wrap;gap:8px;display:flex}.knowledge-skill-chip{border:1px solid color-mix(in srgb, var(--brand-blue), white 62%);background:color-mix(in srgb, var(--brand-blue), white 91%);border-radius:999px;align-items:center;gap:7px;max-width:100%;padding:7px 9px 7px 11px;font-size:.9rem;display:inline-flex}.knowledge-skill-chip>span:first-child{overflow-wrap:anywhere;min-width:0}.knowledge-skill-actions{opacity:0;gap:3px;transition:opacity .12s;display:inline-flex}.knowledge-skill-chip:hover .knowledge-skill-actions,.knowledge-skill-chip:focus-within .knowledge-skill-actions{opacity:1}.knowledge-skill-actions button{width:24px;height:24px;color:var(--brand-ink);background:0 0;border-radius:999px;padding:0;font-size:.85rem}.knowledge-skill-actions button:last-child{color:var(--danger)}.knowledge-delete-option{align-items:flex-start;gap:8px;font-weight:700;display:flex}.knowledge-delete-option input{width:auto;margin-top:3px}.knowledge-graph-splitter{z-index:5;background:color-mix(in srgb, var(--line) 72%, transparent);cursor:col-resize;touch-action:none;position:relative}.knowledge-graph-splitter:after{content:"";background:0 0;border-radius:999px;transition:background .12s;position:absolute;inset:0 3px}.knowledge-graph-splitter:hover:after,.knowledge-graph-splitter:focus-visible:after{background:var(--brand-blue)}.knowledge-graph-splitter:focus-visible{outline:2px solid color-mix(in srgb, var(--brand-blue) 45%, transparent);outline-offset:-2px}.knowledge-graph-empty{align-content:center;min-height:100%}@media (max-width:800px){.edit-action-bar{bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.edit-action-bar-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.edit-action-bar-actions>*{width:100%}.knowledge-graph-heading,.knowledge-graph-add{flex-direction:column;align-items:stretch;width:100%}.knowledge-graph-workspace{grid-template-columns:1fr}.knowledge-graph-splitter{display:none}.knowledge-graph-layout-controls{flex-direction:column;align-items:stretch}.knowledge-graph-layout-controls .field{min-width:0}.knowledge-graph-inspector{border-top:1px solid var(--line);border-left:0}}.span-all{grid-column:1/-1}.section{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(#fffffff5,#ffffffeb);border-radius:8px;padding:18px}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.compact-list{gap:6px;margin:0;padding-inline-start:18px;display:grid}.card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:linear-gradient(#fffffffa,#f8fbfff5);border-radius:8px;gap:10px;min-height:132px;padding:16px;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid}.card-compact{gap:8px;min-height:0;padding:14px}.card-compact h3,.card-compact p{margin:0}a.card:hover,.card:hover{border-color:color-mix(in srgb, var(--brand-blue), white 68%);transform:translateY(-2px);box-shadow:0 18px 36px #0d1b471a}.eyebrow{color:color-mix(in srgb, var(--brand-violet), var(--brand-blue) 55%);text-transform:uppercase;font-size:13px;font-weight:800}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.locale-switcher{align-items:center;gap:8px;display:inline-flex}.locale-switcher span{color:var(--muted);font-size:13px;font-weight:700}.locale-switcher select{width:auto;min-height:36px;padding:6px 30px 6px 10px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.section-actions .secondary{align-items:center;gap:8px;display:inline-flex}.activity-report-heading{flex-wrap:wrap;gap:16px 24px}.activity-report-heading .workspace-context{flex:260px}.activity-report-actions{gap:8px}@media (max-width:780px){.activity-report-heading .workspace-context{flex:0 auto;width:100%}.activity-report-actions{justify-content:flex-start;width:100%}.activity-report-actions .activity-report-back{flex-basis:100%;justify-content:center}}.test-submission-review{overflow-wrap:anywhere;min-width:0}.test-review-summary{background:var(--surface-2);border-radius:12px;margin:0;padding:16px 20px;font-weight:700}.test-review-list{margin:0;padding:0;list-style:none}.test-review-item{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:18px 0;display:flex}.test-review-number{background:var(--surface-2);border-radius:50%;justify-content:center;align-items:center;min-width:32px;height:32px;font-weight:700;display:inline-flex}.test-review-title{overflow-wrap:anywhere;flex:160px}.test-review-item .metadata-badge{text-transform:none;font-size:13px}.section-actions .section-action-icon-button{height:var(--button-height);min-height:var(--button-height);width:var(--button-height)}.content-header-menu{min-width:210px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content-title{font-size:var(--section-heading-size);overflow-wrap:anywhere}.content-context,.workspace-context{overflow-wrap:anywhere;min-width:0}.content-context p,.workspace-context p{margin:4px 0 0}.workspace-context,.workspace-context h1{font-size:1rem;line-height:1.35}.course-workspace-header{background:linear-gradient(105deg, color-mix(in srgb, var(--brand-teal), white 95%), color-mix(in srgb, var(--brand-blue), white 96%));border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:6px 18px;display:flex}.course-workspace-header h1{font-size:var(--section-heading-size);overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.3}.course-workspace-subject{color:color-mix(in srgb, var(--brand-violet), var(--brand-blue) 55%)}.workspace-tab-trailing{flex-shrink:1;gap:12px;min-width:0}.activity-editor-context{justify-content:flex-end}.activity-navigation{flex-wrap:wrap;align-items:center}.activity-navigation .workspace-context{flex:220px}.form{gap:14px;display:grid}.field{gap:7px;display:grid}.date-time-minute-input{grid-template-columns:minmax(0,1.25fr) 110px;gap:10px;display:grid}.date-time-minute-input input[type=date],.date-time-minute-input input[type=text]{width:100%}.date-time-minute-input input[type=text]{font-variant-numeric:tabular-nums}.field label,.field-label{font-weight:700}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.grading-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.settings-layout{grid-template-columns:minmax(210px,.28fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-nav{border:1px solid var(--line);background:#eef4fbbd;border-radius:8px;gap:4px;padding:6px;display:grid}.settings-nav a,.settings-nav button{box-shadow:none;color:inherit;text-align:start;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:stretch;align-items:start;gap:3px;width:100%;min-height:0;padding:10px 12px;display:grid;transform:none}.settings-nav a:hover,.settings-nav a.is-active,.settings-nav button:hover,.settings-nav button.is-active{background:var(--surface);border-color:color-mix(in srgb, var(--brand-blue), white 70%);box-shadow:none;transform:none}.settings-nav a span,.settings-nav button span{font-weight:800}.settings-nav a small,.settings-nav button small{color:var(--muted);line-height:1.35}.coding-exercise-grading-layout>[role=tabpanel][hidden]{display:none!important}.coding-exercise-criterion-title-row{justify-content:space-between;align-items:center}.coding-exercise-criterion-remove.button{justify-content:center;align-items:center;width:auto;min-width:30px;height:30px;min-height:30px;padding:0 8px;font-size:1.2rem;display:inline-flex}.maintenance-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.maintenance-metric{align-content:start;gap:6px;display:grid}.maintenance-metric>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.maintenance-metric>strong{font-variant-numeric:tabular-nums;font-size:clamp(1.45rem,2.4vw,2.15rem)}.maintenance-card{padding:18px}.maintenance-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.maintenance-detail-grid>div{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid}.maintenance-detail-grid dt{color:var(--muted);font-size:.82rem}.maintenance-detail-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:800}.maintenance-storage-path{align-items:start;gap:6px;display:grid}.maintenance-storage-path>span{font-weight:800}.maintenance-storage-path code{background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;padding:8px 10px}.maintenance-policy-list{margin:0;padding-inline-start:22px}.ai-agent-list{align-content:start}.ai-agent-row{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.ai-agent-row:first-child{border-top:0;padding-top:0}.status-pill{border:1px solid var(--line);text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-pill.is-enabled{background:color-mix(in srgb, var(--brand-teal), white 84%);color:var(--accent-strong)}.status-pill.is-disabled{background:color-mix(in srgb, var(--danger), white 88%);color:var(--danger)}.status-pill.is-neutral{background:color-mix(in srgb, var(--surface-2), white 18%);color:var(--muted)}.plugin-settings-list{gap:12px;display:grid}.plugin-settings-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.plugin-settings-state{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.plugin-activation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.plugin-activation-actions .field{min-width:220px}.switch-control{width:50px;height:28px;display:inline-flex;position:relative}.switch-control input{opacity:0;width:1px;height:1px;position:absolute}.switch-control span{background:var(--line);cursor:pointer;border-radius:999px;transition:background .16s;position:absolute;inset:0}.switch-control span:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #0d1b4733}.switch-control input:checked+span{background:var(--brand-teal)}.switch-control input:checked+span:before{transform:translate(22px)}.switch-control input:disabled+span{cursor:wait;opacity:.62}.editor-section-label{font-weight:700;display:inline-block}.markdown-renderer{color:inherit;gap:12px;line-height:1.6;display:grid}.markdown-renderer.is-compact{gap:8px}.markdown-renderer>:first-child{margin-top:0}.markdown-renderer>:last-child{margin-bottom:0}.markdown-renderer h1,.markdown-renderer h2,.markdown-renderer h3,.markdown-renderer h4,.markdown-renderer h5,.markdown-renderer h6{margin:0;line-height:1.15}.markdown-renderer p,.markdown-renderer ul,.markdown-renderer ol,.markdown-renderer pre,.markdown-renderer blockquote{margin:0}.markdown-renderer ul,.markdown-renderer ol{gap:4px;padding-left:22px;display:grid}.markdown-renderer.is-compact ul,.markdown-renderer.is-compact ol{gap:2px}.markdown-renderer li>p{margin:0}.markdown-renderer li>ul,.markdown-renderer li>ol{margin-top:4px}.markdown-renderer code{background:#0d1b470f;border-radius:6px;padding:.12rem .35rem;font-family:SFMono-Regular,ui-monospace,Consolas,Liberation Mono,Menlo,monospace;font-size:.95em}.markdown-renderer pre{background:#eef4fbf5;border:1px solid #0d1b4714;border-radius:12px;padding:14px 16px;overflow-x:auto}.markdown-renderer pre code{background:0 0;border-radius:0;padding:0}.markdown-renderer a{color:var(--accent);text-decoration:underline}.markdown-renderer blockquote{color:var(--muted);border-left:3px solid #2e83d838;padding-left:12px}.markdown-renderer table{border-collapse:collapse;width:100%;margin:0}.markdown-renderer img{max-width:100%;height:auto;display:block}.markdown-renderer th,.markdown-renderer td{border:1px solid color-mix(in srgb, var(--brand-blue), white 68%);text-align:left;vertical-align:top;min-width:84px;padding:8px 10px}.markdown-renderer th{background:color-mix(in srgb, var(--brand-blue), white 92%);color:var(--brand-ink);font-weight:800}.rich-text-editor-visual td,.rich-text-editor-visual th{height:42px;position:relative}.rich-text-editor-visual [data-rte-table-active=true]{background:color-mix(in srgb, var(--brand-teal), white 90%);box-shadow:inset 0 0 0 2px var(--focus);outline:none}.markdown-renderer .markdown-math-display{max-width:100%;padding:.2rem 0;overflow:auto hidden}.markdown-renderer .markdown-math-display .katex-display{margin:.4rem 0}.markdown-renderer .markdown-math-inline{max-width:100%}.rich-text-editor-visual [data-markdown-math-source]{cursor:pointer;-webkit-user-select:all;user-select:all;border:1px solid #0000}.rich-text-editor-visual [data-markdown-math-source]:hover,.rich-text-editor-visual [data-markdown-math-source]:focus-visible{background:color-mix(in srgb, var(--brand-blue), white 94%);border-color:color-mix(in srgb, var(--brand-blue), white 70%);outline:none}.rich-text-editor.is-disabled .rich-text-editor-visual [data-markdown-math-source]{cursor:default}.rich-text-editor-visual .markdown-math-inline[data-markdown-math-source]{display:inline-block}.rich-text-editor-visual .markdown-math-display[data-markdown-math-source]{border-radius:8px;padding:.35rem .5rem}.rich-text-editor-visual img[role=button]{cursor:pointer;border:2px solid #0000;border-radius:8px}.rich-text-editor-visual img[role=button]:hover,.rich-text-editor-visual img[role=button]:focus-visible{border-color:color-mix(in srgb, var(--brand-blue), white 35%);outline:none}.dialog-backdrop.equation-editor-backdrop{padding:8px}.dialog-panel.equation-editor-dialog{gap:10px;width:min(100%,860px);max-width:860px;max-height:calc(100dvh - 16px);padding:18px;display:grid}.equation-editor-heading{align-items:flex-start}.equation-editor-heading .muted{margin:4px 0 0}.equation-editor-style{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;justify-self:start;padding:3px;display:inline-flex}.equation-editor-style button{box-shadow:none;color:var(--ink);background:0 0;border:1px solid #0000;min-height:36px;padding:7px 12px}.equation-editor-style button.is-active{background:var(--surface);border-color:color-mix(in srgb, var(--brand-blue), white 70%);box-shadow:0 1px 3px #0d1b471a}.equation-editor-field,.equation-editor-section{gap:8px;display:grid}.equation-editor-field .field-label,.equation-editor-section .field-label{color:var(--brand-ink);margin:0;font-weight:800}.equation-editor-mathfield-host{min-height:64px}.equation-editor-mathfield{border:1px solid color-mix(in srgb, var(--brand-blue), white 68%);--caret-color:var(--brand-blue);--contains-highlight-background-color:#2e83d81f;--selection-background-color:#2e83d833;background:#fff;border-radius:8px;width:100%;min-height:64px;padding:10px 16px;font-size:clamp(1.25rem,2vw,1.7rem);display:block}.equation-editor-mathfield:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #2e83d821}.equation-editor-shortcuts{grid-template-columns:repeat(12,minmax(46px,1fr));gap:7px;display:grid}.equation-editor-shortcuts button{background:var(--surface-2);border:1px solid var(--line);box-shadow:none;color:var(--brand-ink);border-radius:7px;min-height:38px;padding:6px;font-family:KaTeX_Main,serif;font-size:1.05rem}.equation-editor-shortcuts button:hover:not(:disabled){background:color-mix(in srgb, var(--brand-blue), white 92%);border-color:color-mix(in srgb, var(--brand-blue), white 64%)}.equation-editor-keyboard-host{--keyboard-padding-bottom:0;--keyboard-padding-horizontal:8px;--keyboard-padding-top:0;--keycap-font-size:15px;--keycap-gap:2px;--keycap-height:30px;min-height:190px;position:relative;overflow:hidden}.equation-editor-keyboard-host .MLK__shift{display:none}.equation-editor-actions{background:var(--surface);border-top:1px solid var(--line);align-items:center;margin:2px -18px -18px;padding:12px 18px 18px}.equation-editor-action-spacer{flex:1}.dialog-backdrop.table-editor-backdrop{padding:12px}.dialog-panel.table-editor-dialog{gap:20px;width:min(100%,480px);max-width:480px;display:grid}.table-editor-heading{align-items:flex-start}.table-editor-heading .muted{margin:6px 0 0}.table-editor-size-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.table-editor-size-fields input{min-height:46px;font-size:1.1rem}.table-editor-actions{border-top:1px solid var(--line);padding-top:16px}.dialog-backdrop.image-editor-backdrop{padding:12px}.dialog-panel.image-editor-dialog{gap:20px;width:min(100%,820px);max-width:820px;max-height:calc(100dvh - 24px);display:grid;overflow:auto}.image-editor-heading{align-items:flex-start}.image-editor-heading .muted{margin:6px 0 0}.image-editor-layout{grid-template-columns:minmax(280px,1fr) minmax(240px,.9fr);align-items:start;gap:20px;display:grid}.image-editor-preview{background:var(--surface-2);border:1px dashed color-mix(in srgb, var(--brand-blue), white 62%);border-radius:10px;justify-content:center;align-items:center;min-height:220px;padding:12px;display:flex;overflow:hidden}.image-editor-preview img{object-fit:contain;max-width:100%;height:auto;max-height:360px;display:block}.image-editor-size-fields{grid-template-columns:minmax(0,1.35fr) minmax(130px,.65fr);gap:12px;display:grid}.image-editor-actions{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto auto;padding-top:16px;display:grid}@media (max-width:680px){.image-editor-layout{grid-template-columns:1fr}.image-editor-preview{min-height:160px}.image-editor-size-fields{grid-template-columns:1fr}.image-editor-actions{grid-template-columns:1fr 1fr}.image-editor-actions>span{display:none}}@media (max-width:720px){.equation-editor-backdrop{align-items:stretch;padding:8px}.dialog-panel.equation-editor-dialog{max-height:calc(100dvh - 16px);padding:16px}.equation-editor-shortcuts{grid-template-columns:repeat(6,minmax(42px,1fr))}.equation-editor-keyboard-host{min-height:180px}.equation-editor-actions{align-items:stretch;margin:0 -16px -16px;padding:10px 16px 16px}.equation-editor-action-spacer{display:none}.table-editor-size-fields{grid-template-columns:1fr}}.field-readonly input[readonly]{border-color:color-mix(in srgb, var(--brand-blue), white 72%);color:var(--muted);cursor:default;background:linear-gradient(#eef4fbf5,#f5f8fcf5)}.field-readonly select:disabled{border-color:color-mix(in srgb, var(--brand-blue), white 72%);color:var(--muted);cursor:default;opacity:1;background:linear-gradient(#eef4fbf5,#f5f8fcf5)}.field-locked input[readonly]{border-color:color-mix(in srgb, var(--brand-blue), white 72%);color:var(--muted);cursor:default;background:linear-gradient(#eef4fbf5,#f5f8fcf5)}.field-readonly label:after{color:var(--muted);content:" (Locked)";font-weight:600}.error{color:var(--danger);font-weight:700}.success-message{color:var(--accent-strong);font-weight:700}.checkbox-row{align-items:center;gap:10px;min-height:42px;display:flex}.checkbox-row input{width:auto;min-height:0}.table-list{border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:8px;width:100%;overflow:hidden}.activity-bank-activities-table{overflow:visible}.activity-bank-tree-actions{flex-wrap:wrap;align-items:center}.activity-bank-tree-actions button{align-items:center;gap:7px;display:inline-flex}.activity-bank-tree-row{min-height:68px}.activity-bank-tree-row:not(.is-folder-row):hover{background:color-mix(in srgb, var(--accent), white 88%)}.activity-bank-filter-dialog{max-width:640px;max-height:min(760px,100vh - 40px);overflow:hidden}.activity-bank-concept-filter-list{border:1px solid var(--line);border-radius:8px;max-height:min(480px,100vh - 280px);overflow:auto}.activity-bank-concept-filter-row{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:grid}.activity-bank-concept-filter-row:first-child{border-top:0}.activity-bank-concept-filter-row:hover{background:color-mix(in srgb, var(--accent), white 91%)}.activity-bank-concept-filter-row input{width:auto;min-height:0}.activity-bank-activity-row{cursor:pointer;position:relative}.activity-bank-activity-row:hover{background:color-mix(in srgb, var(--accent), white 88%)}.activity-bank-activity-row-link{z-index:1;position:absolute;inset:0}.activity-bank-activity-row .table-actions{z-index:2;position:relative}.table-row{background:var(--surface);border-top:1px solid var(--line);grid-template-columns:minmax(180px,1.1fr) 130px minmax(0,1.4fr) max-content;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.table-row-button{color:inherit;cursor:pointer;font:inherit;text-align:left;border:0;width:100%}.table-row-link{color:inherit;text-decoration:none}.activity-bank-list-row{grid-template-columns:minmax(0,1fr) max-content;padding:0 12px 0 0}.activity-bank-row-link{color:inherit;grid-template-columns:minmax(180px,1.1fr) 130px minmax(0,1.4fr);align-items:center;gap:12px;min-height:58px;padding:10px 12px;text-decoration:none;display:grid}.activity-bank-list-row:hover{background:color-mix(in srgb, var(--accent), white 88%)}.table-row-subject{grid-template-columns:minmax(220px,1fr) max-content}.table-row-button:hover,.table-row-button.is-selected,.table-row-link:hover{background:color-mix(in srgb, var(--accent), white 88%)}.table-row-groups{grid-template-columns:minmax(240px,1.6fr) minmax(190px,.95fr) 110px max-content}.table-row-activities{grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) 110px max-content}.table-row-content-tree{grid-template-columns:minmax(0,1fr) max-content}.table-row-content-tree .table-main-stack{grid-template-columns:28px 58px minmax(0,1fr);align-items:center;column-gap:8px}.table-row-content-tree .drag-handle{grid-row:1/span 2}.table-row-content-tree .content-tree-student-spacer{grid-row:1/span 2;width:28px}.table-row-content-tree .content-item-icon,.table-row-content-tree .content-item-icon-button{grid-row:1/span 2;justify-content:center;align-items:center;display:inline-flex}.table-row-content-tree .content-item-icon .activity-type-icon,.table-row-content-tree .content-item-icon-button .activity-type-icon{width:44px;height:44px}.table-row-content-tree .content-item-icon-button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0}.table-row-content-tree .content-item-icon-button:hover{background:color-mix(in srgb, var(--brand-teal), transparent 86%)}.table-row-content-tree strong,.table-row-content-tree .content-title-input,.table-row-content-tree .content-resource-description,.table-row-content-tree .metadata-badges{grid-column:3}.table-row-content-tree .content-title-input{max-width:min(100%,360px);min-height:34px}.table-row-content-tree .metadata-badges{grid-row:2}.content-resource-description{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.875rem}.table-main-stack:has(.content-resource-description) .metadata-badges{grid-row:3}.folder-content-icon{border-color:color-mix(in srgb, #f5b84b, var(--accent) 28%);color:color-mix(in srgb, #b56a00, var(--ink) 35%);background:#fbe1b3}.activity-content-icon{background:color-mix(in srgb, var(--brand-teal), white 84%);border-color:color-mix(in srgb, var(--brand-blue), white 58%);color:color-mix(in srgb, var(--brand-blue), var(--ink) 26%)}.table-row-content-tree.is-folder-row{background:linear-gradient(90deg, transparent 0 var(--content-tree-indent,0px), #fef9ef var(--content-tree-indent,0px), color-mix(in srgb, var(--surface), white 2%) calc(var(--content-tree-indent,0px) + 360px))}.student-accordion-section+.student-accordion-section{margin-top:10px}.table-row-content-tree.is-student-accordion-root{background:linear-gradient(90deg, var(--brand-violet), color-mix(in srgb, var(--brand-blue), var(--brand-violet) 45%));color:#fff;border:0;min-height:48px;padding:0}.table-row-content-tree.is-student-accordion-root .table-main-stack{grid-template-columns:minmax(0,1fr);width:100%}.table-row-content-tree.is-student-accordion-root strong,.table-row-content-tree.is-student-accordion-root .metadata-badges{grid-column:1}.student-accordion-section.is-open{border:1px solid color-mix(in srgb, var(--brand-violet), white 48%)}.student-accordion-section.is-open .table-row-content-tree.is-student-accordion-root{border-radius:0}.student-accordion-panel{background:color-mix(in srgb, var(--brand-violet), white 94%);gap:8px;padding:14px 18px 18px;display:grid}.student-accordion-panel .table-row-content-tree{border:1px solid color-mix(in srgb, var(--brand-blue), white 74%);margin-left:var(--student-content-row-indent,0)}.student-accordion-title-button{box-shadow:none;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 20px 0 24px;display:flex}.student-accordion-title-button:after{content:"›";flex:none;font-size:28px;font-weight:500;line-height:1;transform:translateY(-1px)}.student-accordion-title-button[aria-expanded=true]:after{content:"⌄";font-size:24px;transform:translateY(-4px)}.student-accordion-title-button:hover{box-shadow:none;text-decoration:none;transform:none}.student-content-folder-tabs{grid-template-columns:minmax(220px,.24fr) minmax(0,1fr)}.student-folder-tab-panel{min-width:0}.student-folder-tab-panel>h3{margin:0}.student-folder-tab-panel .table-row-content-tree{margin-left:var(--student-content-row-indent,0)}.student-folder-tab-panel .table-row-content-tree .table-main-stack{grid-template-columns:58px minmax(0,1fr)}.student-folder-tab-panel .content-tree-student-spacer{display:none}.student-folder-tab-panel .table-row-content-tree strong,.student-folder-tab-panel .table-row-content-tree .content-resource-description,.student-folder-tab-panel .table-row-content-tree .metadata-badges{grid-column:2}.table-row-content-tree.is-folder-row strong{font-weight:900}.table-row-content-tree.is-hidden-content{background:color-mix(in srgb, var(--surface-2), white 18%);color:color-mix(in srgb, var(--ink), white 42%)}.table-row-content-tree.is-content-locked{background:color-mix(in srgb, var(--surface-2), white 14%)}.table-row-content-tree.is-hidden-content a,.table-row-content-tree.is-hidden-content strong,.table-row-content-tree.is-hidden-content .activity-type-icon,.table-row-content-tree.is-hidden-content .drag-handle,.table-row-content-tree.is-hidden-content .icon-button,.table-row-content-tree.is-hidden-content .metadata-badge{color:color-mix(in srgb, var(--ink), white 42%)}.table-row-content-tree.is-hidden-content .activity-type-icon,.table-row-content-tree.is-hidden-content .metadata-badge,.table-row-content-tree.is-hidden-content .drag-handle{opacity:.62}.table-row-activities .table-inline-form{grid-column:1/-1}.table-row-assignments{grid-template-columns:28px minmax(220px,1.2fr) minmax(210px,.9fr) minmax(210px,.9fr) max-content}.table-row-participants{grid-template-columns:minmax(180px,1fr) 110px minmax(220px,1.1fr) minmax(140px,.8fr) 140px max-content}.table-row-gradebook{grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(220px,1fr) minmax(180px,.9fr) max-content max-content}.table-row-gradebook-activity{grid-template-columns:minmax(300px,1.45fr) minmax(96px,.42fr) minmax(86px,.36fr) minmax(128px,.5fr) minmax(128px,max-content) minmax(176px,max-content);min-height:78px}.table-row-gradebook-group{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(180px,.9fr) max-content max-content}.table-row-gradebook-group-activity{grid-template-columns:minmax(300px,1.45fr) minmax(96px,.42fr) minmax(86px,.36fr) minmax(128px,.5fr) minmax(128px,max-content) minmax(176px,max-content);min-height:78px}.table-row-gradebook-group-summary{background:color-mix(in srgb, var(--brand-blue), white 96%);grid-template-columns:minmax(300px,1.45fr) minmax(96px,.42fr) minmax(86px,.36fr) minmax(128px,.5fr) minmax(128px,max-content) minmax(176px,max-content);min-height:66px;padding-left:58px}.gradebook-subtable{background:linear-gradient(180deg, color-mix(in srgb, var(--brand-blue), white 96%), #fff);border-top:1px solid var(--line)}.gradebook-table{box-shadow:0 18px 48px #0d1b4714}.gradebook-table .table-head{background:linear-gradient(180deg, color-mix(in srgb, var(--brand-blue), white 93%), color-mix(in srgb, var(--brand-teal), white 94%))}.gradebook-table .table-row:not(.table-head):hover{background:color-mix(in srgb, var(--brand-teal), white 95%)}.gradebook-summary-bar{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:4px 0 10px;display:grid}.gradebook-summary-card{background:linear-gradient(#fff,#f4f8fc);border:1px solid #d7e4f2;border-radius:8px;gap:4px;padding:14px 16px;display:grid;box-shadow:0 10px 28px #0d1b470f}.gradebook-summary-bar strong{font-size:24px;line-height:1.1}.gradebook-activity-cell{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.gradebook-activity-cell.is-static{grid-template-columns:minmax(0,1fr)}.gradebook-activity-cell .table-main{min-width:0}.gradebook-activity-cell strong{overflow-wrap:anywhere}.gradebook-expander{box-shadow:none;background:0 0;border:0;border-radius:999px;width:30px;height:30px;min-height:30px;padding:0}.gradebook-expander:hover{box-shadow:none;background:0 0;transform:none}.disclosure-indicator{background:color-mix(in srgb, var(--brand-blue), white 92%);border:1px solid color-mix(in srgb, var(--brand-blue), white 72%);color:var(--accent-strong);border-radius:999px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;min-height:30px;padding:0;font-size:18px;font-weight:900;line-height:1;display:inline-flex}button:hover>.disclosure-indicator{background:color-mix(in srgb, var(--brand-teal), white 82%);border-color:color-mix(in srgb, var(--brand-teal), white 54%)}[dir=rtl] .disclosure-indicator{transform:scaleX(-1)}.gradebook-number{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;justify-self:end;width:100%}.gradebook-grade-cell{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.grade-completion-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.grade-completion-badge-partial{color:#92400e;background:#fef1dd;border-color:#efc696}.gradebook-attempt-in-progress{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.gradebook-attempt-in-progress-badge{background:color-mix(in srgb, var(--brand-teal), white 87%);border:1px solid color-mix(in srgb, var(--brand-teal), white 52%);color:color-mix(in srgb, var(--brand-teal), #052f38 42%);border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.grade-release-blocked-note{color:#92400e;font-size:12px;font-weight:700;line-height:1.25}.table-row-gradebook-activity .table-actions,.table-row-gradebook-group-summary .table-actions{justify-content:flex-end;width:100%}.table-row-gradebook-activity .button,.table-row-gradebook-group-summary .button{white-space:nowrap}.table-row-student-grades{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) max-content}.student-grade-report-cell{border-top:1px solid var(--line);grid-column:1/-1;min-width:0;padding-top:18px}.coding-exercise-grade-recap{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.coding-exercise-grade-report>h3,.coding-exercise-grade-report h4{margin:0}.table-list-gradebook-detail{grid-template-columns:minmax(180px,1fr) minmax(130px,.55fr) minmax(120px,.45fr) 110px max-content;gap:0 12px;display:grid;overflow:hidden}.table-list-gradebook-detail .table-row-gradebook-detail{grid-column:1/-1;grid-template-columns:subgrid;min-width:0}.table-row-gradebook-detail.table-head>span:last-child{justify-self:center}.table-row-gradebook-detail .button{white-space:nowrap}.table-row-simple{grid-template-columns:minmax(160px,1fr) minmax(180px,.8fr)}.user-filter-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;display:grid}.table-row-users{grid-template-columns:minmax(150px,1fr) minmax(210px,1.4fr) minmax(220px,1.4fr) auto}.role-fieldset{border:1px solid var(--line);border-radius:8px;padding:14px}.pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.pagination-controls,.pagination-size{align-items:center;gap:8px;display:flex}.pagination-page{min-width:40px}.pagination-controls{flex-wrap:wrap}.pagination-page.is-active{cursor:default}.pagination-ellipsis{color:var(--muted);padding:0 2px}.pagination-size{color:var(--muted);font-size:14px;font-weight:700}.pagination-size select{width:auto;min-height:38px}@media (max-width:980px){.user-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.table-row-users{grid-template-columns:1fr}.table-row-users.table-head{display:none}}.answer-overlay{gap:16px;width:min(100%,920px);max-width:920px;max-height:min(86dvh,860px);display:grid;overflow:auto}.answer-overlay.test-review-overlay{width:min(100%,1840px);max-width:1840px}.test-activity-step{min-width:var(--button-height);font-variant-numeric:tabular-nums}.test-activity-step[aria-current=step]{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.test-report-summary{background:linear-gradient(145deg, color-mix(in srgb, var(--brand-blue), white 96%), #fff 58%, color-mix(in srgb, var(--brand-teal), white 96%));border:1px solid color-mix(in srgb, var(--brand-blue), white 78%);border-radius:12px;padding:20px}.test-report-metrics{grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;display:grid}.test-report-metric{border:1px solid var(--line);background:#ffffffe6;border-radius:10px;gap:5px;min-width:0;padding:14px 16px;display:grid}.test-report-metric>span,.test-report-metric>small{color:var(--muted)}.test-report-metric>span{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.test-report-metric>strong{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.1}.test-report-activity-table{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.test-report-activity-row{background:#ffffffd1;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(100px,.25fr));align-items:center;gap:14px;min-width:680px;padding:12px 14px;display:grid}.test-report-activity-row+.test-report-activity-row{border-top:1px solid var(--line)}.test-report-activity-head{background:color-mix(in srgb, var(--brand-blue), white 94%);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.test-plugin-report{background:color-mix(in srgb, var(--brand-teal), white 95%);border:1px solid color-mix(in srgb, var(--brand-teal), white 72%);border-radius:10px;padding:16px}.test-report-plugin-metrics{grid-template-columns:repeat(6,minmax(120px,1fr))}.test-report-question{border:1px solid #0d1b471a;border-radius:12px;padding:18px}.test-report-question-heading{align-items:flex-start}.test-report-question-stats{flex:none;justify-content:flex-end}.test-report-choice{border:1px solid #0d1b471f;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.test-report-choice.is-correct{background:#22c55e14;border-color:#16a34a47}.test-review-choice-count{background:var(--brand-blue);color:#fff;cursor:help;border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;min-width:30px;min-height:30px;padding:4px 9px;font-size:.85rem;font-weight:800;display:inline-flex}.test-review-choice-count.is-incorrect{background:#dc2626}.test-review-choice-students{color:#fff;pointer-events:none;white-space:normal;z-index:120;background:#0f1b46;border-radius:8px;gap:4px;min-width:0;max-width:320px;max-height:min(240px,100dvh - 32px);padding:10px 12px;font-size:.82rem;font-weight:600;display:grid;position:fixed;overflow:auto;box-shadow:0 10px 30px #0d1b4742}.aggregate-stacked-bar{border-radius:10px;min-height:54px;display:flex;overflow:hidden}.aggregate-stacked-segment{color:#fff;cursor:help;justify-content:center;align-items:center;min-width:90px;padding:12px;font-weight:800;display:flex}.aggregate-stacked-segment.is-pass{background:#15803d}.aggregate-stacked-segment.is-fail{background:#dc2626}.rubric-overview-criterion+.rubric-overview-criterion{border-top:1px solid var(--line);padding-top:18px}.rubric-overview-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;display:flex}.rubric-score-band-1{background:#b91c1c}.rubric-score-band-2{background:#c2410c}.rubric-score-band-3{background:#a16207}.rubric-score-band-4{background:#2563eb}.rubric-score-band-5{background:#15803d}.aggregate-bars{align-items:end;gap:14px;min-height:190px;padding:12px 4px 0;display:flex;overflow-x:auto}.aggregate-bar-column{flex:1 0 72px;place-items:center;gap:6px;display:grid}.aggregate-bar{background:var(--brand-blue);cursor:help;border-radius:7px 7px 2px 2px;width:70%;min-width:38px;max-width:90px}.aggregate-bar-value{font-weight:800}.answer-meta{align-items:center;gap:14px;display:flex}.parsons-answer-lines{color:#e8eef8;background:#101827;border-radius:8px;gap:2px;padding:16px;display:grid;overflow:auto}.parsons-answer-lines pre{font-family:var(--font-mono);white-space:pre-wrap;margin-top:0;margin-bottom:0}.code-block{color:#e8eef8;font-family:var(--font-mono);white-space:pre-wrap;background:#101827;border-radius:8px;margin:0;padding:16px;overflow:auto}.table-row:first-child{border-top:0}.table-row.is-dragging{opacity:.55}.table-row.is-drop-target{background:color-mix(in srgb, var(--accent), transparent 90%);box-shadow:inset 4px 0 0 var(--accent)}.table-row-content-tree.is-drop-before,.table-row-content-tree.is-drop-after{position:relative}.table-row-content-tree.is-drop-before:before,.table-row-content-tree.is-drop-after:after{background:var(--accent);content:"";pointer-events:none;border-radius:999px;height:3px;position:absolute;left:12px;right:12px}.table-row-content-tree.is-drop-before:before{top:-2px}.table-row-content-tree.is-drop-after:after{bottom:-2px}.table-row-content-tree.is-drop-inside{background:color-mix(in srgb, var(--brand-teal), transparent 88%);box-shadow:inset 4px 0 0 var(--brand-teal)}.table-row.is-hidden-material{background:color-mix(in srgb, var(--surface-2), white 22%);color:color-mix(in srgb, var(--ink), white 26%)}.table-row.is-hidden-material strong,.table-row.is-hidden-material .eyebrow,.table-row.is-hidden-material .table-meta,.table-row.is-hidden-material .material-glyph,.table-row.is-hidden-material .icon-button,.table-row.is-hidden-material .drag-handle{opacity:.72}.table-row .table-main,.table-row .table-meta,.table-row .eyebrow{-webkit-user-select:none;user-select:none}.table-head{color:var(--muted);text-transform:uppercase;background:linear-gradient(#eef4fbf5,#f5f8fcf5);min-height:44px;font-size:13px;font-weight:800}.root-drop-zone{background:color-mix(in srgb, var(--brand-teal), transparent 90%);border-top:1px solid var(--line);color:var(--accent-strong);opacity:0;pointer-events:none;text-align:center;max-height:0;padding:0 12px;font-size:14px;font-weight:800;transition:opacity .12s;overflow:hidden}.root-drop-zone.is-active{opacity:1;pointer-events:auto;max-height:none;padding:12px}.root-drop-zone.is-drop-target{background:color-mix(in srgb, var(--brand-teal), transparent 80%);box-shadow:inset 0 0 0 2px var(--brand-blue)}.table-main{align-items:center;gap:6px;min-width:0;display:flex}.table-main-stack{align-items:flex-start;gap:2px;display:grid}.assignment-date-field{gap:4px;min-width:0}.assignment-main{gap:0}.assignment-date-field .date-time-minute-input{grid-template-columns:minmax(0,1fr) 78px;gap:8px}.table-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-meta{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.table-meta-note{white-space:normal;margin-top:2px;font-size:12px;display:block}.metadata-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.metadata-badge{background:color-mix(in srgb, var(--surface-2), white 18%);border:1px solid var(--line);color:color-mix(in srgb, var(--ink), var(--muted) 42%);text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.metadata-badge.is-course-wide{background:color-mix(in srgb, var(--brand-teal), white 84%);border-color:color-mix(in srgb, var(--brand-teal), white 54%);color:var(--accent-strong)}.metadata-badge.is-activity-type{background:color-mix(in srgb, var(--brand-blue), white 84%);border-color:color-mix(in srgb, var(--brand-blue), white 48%);color:color-mix(in srgb, var(--brand-blue), var(--ink) 30%)}.metadata-badge.is-warning{color:color-mix(in srgb, #b7791f, var(--ink) 35%);background:#f2e7d7;border-color:#d5b17d}.material-glyph{color:var(--accent-strong);background:0 0;border:0;border-radius:4px;flex:none;width:32px;height:28px;min-height:28px;padding:0;font-size:12px;font-weight:800}.material-glyph:hover{background:var(--surface-2)}.material-glyph-static{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.drag-handle:active{cursor:grabbing}.drag-handle:hover{background:var(--surface-2);color:var(--ink)}.drag-preview{background:linear-gradient(135deg, var(--brand-ink), var(--brand-violet));box-shadow:0 12px 30px color-mix(in srgb, var(--ink), transparent 75%);color:#fff;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:50;border-radius:8px;max-width:280px;padding:10px 12px;font-weight:800;position:fixed;top:0;left:0;overflow:hidden}.dialog-backdrop{overscroll-behavior:contain;z-index:90;background:#0d1b4757;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-panel{background:var(--surface);border:1px solid color-mix(in srgb, var(--brand-blue), white 74%);border-radius:8px;width:min(100%,560px);max-width:560px;max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #0d1b473d}.progress-dialog-backdrop{z-index:1100}.dialog-panel.activity-settings-dialog{grid-template-rows:auto minmax(0,1fr);width:min(100%,1180px);max-width:1180px;height:min(82dvh,820px);padding:0;display:grid;overflow:hidden}.activity-settings-dialog>.section-heading{border-bottom:1px solid var(--line);padding:20px 24px}.activity-settings-form{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.activity-settings-layout{grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.activity-settings-nav{background:var(--surface-2);border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:16px 12px;display:flex;overflow-y:auto}.activity-settings-nav button{color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;padding:11px 13px}.activity-settings-nav button:hover,.activity-settings-nav button.is-active{background:var(--surface);border-color:color-mix(in srgb, var(--brand-blue), white 72%);color:var(--brand-ink)}.activity-settings-content{min-width:0;padding:24px 28px;overflow-y:auto}.activity-settings-panel{min-height:100%}.activity-settings-placeholder{place-items:center;min-height:260px;display:grid}.activity-settings-actions{border-top:1px solid var(--line);padding:14px 24px}.activity-settings-error{margin-top:18px}.activity-summative-settings{border-top:1px solid var(--line);padding-top:18px}.activity-group-tabs-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin:-4px -4px 22px;padding:4px 4px 12px;display:flex}.activity-group-tabs{flex:1;gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.activity-group-tabs button{background:var(--surface-2);color:var(--muted);border-color:#0000;flex:none;padding:9px 14px}.activity-group-tabs button.is-active{background:var(--surface);border-color:var(--brand-blue);color:var(--brand-ink)}.activity-assign-all-button{flex:none}.activity-assigned-toggle{border-bottom:1px solid var(--line);padding-bottom:18px;font-weight:800}.activity-group-overrides{gap:10px}.activity-override-field{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);align-items:start;gap:18px;padding:14px 16px;display:grid}.activity-override-field:not(.is-enabled){grid-template-columns:1fr}.activity-override-field.is-enabled{border-color:color-mix(in srgb, var(--brand-blue), white 62%);background:color-mix(in srgb, var(--surface-2), white 42%)}.activity-override-toggle{cursor:pointer;align-items:center;gap:9px;min-height:42px;font-weight:750;display:flex}.activity-override-toggle input[type=checkbox]{flex:none;width:auto;min-height:0}.activity-override-toggle span{overflow-wrap:anywhere;min-width:0}.activity-override-control{min-width:0}.activity-group-gradebook-fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:780px){.dialog-backdrop:has(.activity-settings-dialog){padding:8px}.dialog-panel.activity-settings-dialog{height:calc(100dvh - 16px)}.activity-settings-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.activity-settings-nav{border-bottom:1px solid var(--line);border-right:0;flex-direction:row;padding:10px 12px;overflow-x:auto}.activity-settings-nav button{flex:none}.activity-settings-content{padding:18px}.activity-group-tabs-header{flex-direction:column-reverse;align-items:stretch}.activity-override-field,.activity-override-field.is-enabled,.activity-group-gradebook-fields{grid-template-columns:1fr}}.activity-picker-dialog{grid-template-rows:auto minmax(0,1fr);gap:18px;width:min(100%,920px);max-width:920px;height:min(66dvh,100dvh - 40px);display:grid}.activity-picker-layout{border:1px solid var(--line);border-radius:8px;grid-template-columns:220px 1fr;min-height:0;display:grid;overflow:hidden}.activity-category-tabs{background:var(--surface-2);border-right:1px solid var(--line);flex-direction:column;padding:12px;display:flex;overflow-y:auto}.activity-category-tab{box-shadow:none;color:var(--ink);background:0 0;border:1px solid #0000;justify-content:flex-start;width:100%;min-height:44px}.activity-category-tab:hover{box-shadow:none}.activity-category-tab.is-active{border-color:color-mix(in srgb, var(--brand-blue), white 74%);background:#fff;box-shadow:0 8px 20px #0d1b470f}.activity-type-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-content:start;gap:12px;padding:16px;display:grid;overflow-y:auto}.activity-picker-placement{grid-column:1/-1;grid-template-columns:1fr;margin-bottom:16px}.folder-picker{position:relative}.folder-picker-trigger{border:1px solid color-mix(in srgb, var(--line), var(--brand-blue) 12%);color:var(--ink);font:inherit;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:40px;padding:7px 11px;font-weight:650;display:flex;box-shadow:inset 0 1px #fffffff2,0 1px 2px #0d1b470a}.folder-picker-trigger:hover,.folder-picker-trigger:focus-visible{border-color:color-mix(in srgb, var(--brand-blue), white 54%);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue), transparent 86%);outline:none}.folder-picker-current{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-picker-menu{border:1px solid color-mix(in srgb, var(--line), var(--brand-blue) 14%);z-index:85;background:#fff;border-radius:8px;gap:0;max-height:min(320px,42dvh);padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 18px 44px #0d1b4724,0 2px 8px #0d1b470f}.folder-picker-option{--folder-picker-depth:0;color:var(--ink);cursor:pointer;font:inherit;grid-template-columns:calc(var(--folder-picker-depth) * 16px) 18px minmax(0, 1fr);text-align:start;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;min-height:32px;padding:5px 8px;font-size:.95rem;font-weight:650;display:grid;position:relative}.folder-picker-option:hover,.folder-picker-option:focus-visible{background:color-mix(in srgb, var(--brand-blue), white 94%);outline:none}.folder-picker-option.is-selected{background:color-mix(in srgb, var(--brand-blue), white 92%)}.folder-picker-option.is-selected:after{background:var(--brand-blue);content:"";border-radius:999px;width:3px;height:16px;position:absolute;right:8px}.folder-picker-tree-rails{background-image:repeating-linear-gradient(to right, transparent 0, transparent 7px, color-mix(in srgb, var(--line), var(--brand-blue) 20%) 7px, color-mix(in srgb, var(--line), var(--brand-blue) 20%) 8px, transparent 8px, transparent 16px);opacity:.85;width:calc(var(--folder-picker-depth) * 16px);align-self:stretch}.folder-picker-folder-icon{color:color-mix(in srgb, var(--ink), white 18%);justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.folder-picker-folder-icon svg{width:17px;height:17px}.folder-picker-option-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-bank-picker-panel{grid-column:1/-1;grid-template-columns:1fr;gap:12px;display:grid}.activity-bank-picker-panel .field{max-width:none}.activity-type-picker-grid{display:contents}.activity-type-option{border:1px solid var(--line);box-shadow:none;color:var(--ink);text-align:left;background:#fff;grid-template-columns:54px minmax(0,1fr);justify-content:start;align-items:start;gap:12px;height:auto;min-height:132px;padding:14px;display:grid;overflow:visible}.activity-type-option>span{min-width:0}.activity-type-option:hover{border-color:color-mix(in srgb, var(--brand-blue), white 54%);box-shadow:0 12px 28px #0d1b4714}.activity-type-option strong,.activity-type-option small{display:block}.activity-type-option small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-weight:600;line-height:1.35}.activity-type-icon{background:var(--surface-3);border:1px solid color-mix(in srgb, var(--brand-blue), white 78%);color:var(--brand-ink);border-radius:8px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.grade-export-file-name{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.grade-export-file-name input{border-top-right-radius:0;border-bottom-right-radius:0}.grade-export-file-name span{background:var(--surface-3);border:1px solid var(--line);color:var(--muted);border-left:0;border-radius:0 8px 8px 0;align-self:stretch;align-items:center;padding:0 12px;font-weight:700;display:flex}.progress-dialog-body{gap:14px;display:grid}.progress-dialog-body progress{accent-color:var(--brand-blue);width:100%;height:16px}.progress-dialog-summary{color:var(--muted);justify-content:space-between;font-size:13px;font-weight:700;display:flex}.table-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.content-row-actions{justify-content:end;gap:6px;display:flex}.content-context-menu{border:1px solid color-mix(in srgb, var(--line), var(--brand-blue) 12%);z-index:80;background:#fff;border-radius:8px;gap:1px;min-width:180px;padding:5px;display:grid;position:fixed;box-shadow:0 16px 38px #0d1b4721,0 2px 8px #0d1b470d}.content-context-menu-item{color:var(--ink);cursor:pointer;font:inherit;text-align:start;background:0 0;border:0;border-radius:5px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:31px;padding:6px 8px;font-size:.92rem;font-weight:620;text-decoration:none;display:grid}.content-context-menu-item svg{color:color-mix(in srgb, var(--ink), white 18%);justify-self:center;width:16px;height:16px}.content-context-menu-item:hover,.content-context-menu-item:focus-visible{background:color-mix(in srgb, var(--brand-blue), white 94%);outline:none}.content-context-menu-item:disabled{cursor:not-allowed;opacity:.55}.content-context-menu-item.is-danger,.content-context-menu-item.is-danger svg{color:#9f1239}.content-context-menu .content-context-menu-item,.content-context-menu .content-context-menu-item:hover,.content-context-menu .content-context-menu-item:focus-visible{box-shadow:none;width:100%;transform:none}.version-comparison-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-version-diff-dialog{width:min(1100px,100vw - 2rem);max-width:1100px;max-height:calc(100vh - 2rem);overflow:auto}.activity-version-diff-section{border:1px solid var(--line);border-radius:14px;padding:1rem}.activity-version-diff-section h3,.activity-version-diff-field h4{margin:0}.activity-version-diff-field+.activity-version-diff-field{border-top:1px solid var(--line);padding-top:1rem}.activity-version-diff-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.activity-version-diff-side{border:1px solid var(--line);border-radius:10px;min-width:0;overflow:hidden}.activity-version-diff-side>strong{border-bottom:1px solid var(--line);padding:.45rem .7rem;display:block}.activity-version-diff-side>div{padding:.7rem}.activity-version-diff-side.is-before{background:color-mix(in srgb, #b91c1c 6%, var(--surface))}.activity-version-diff-side.is-after{background:color-mix(in srgb, #15803d 7%, var(--surface))}.activity-version-diff-side pre,.activity-version-diff-side ul{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.activity-version-diff-structured{gap:.75rem;display:grid}.activity-version-diff-change{gap:.4rem;display:grid}.activity-version-diff-path{align-items:center;gap:.5rem;min-width:0;display:flex}.activity-version-diff-path code{overflow-wrap:anywhere}.activity-version-text-diff{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.activity-version-text-hunk+.activity-version-text-hunk{border-top:1px solid var(--line)}.activity-version-text-line{grid-template-columns:2rem minmax(0,1fr);min-height:1.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;display:grid}.activity-version-text-line.is-removed{background:color-mix(in srgb, #dc2626 10%, var(--surface))}.activity-version-text-line.is-added{background:color-mix(in srgb, #16a34a 11%, var(--surface))}.activity-version-text-marker{color:var(--muted);-webkit-user-select:none;user-select:none;place-items:start center;padding-top:.25rem;display:grid}.activity-version-text-line code{border-left:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;padding:.25rem .6rem;display:block}.activity-version-text-line mark{color:inherit;background:#facc1594;border-radius:2px}.activity-version-text-line.is-removed mark{background:#f8af72}.activity-version-text-line.is-added mark{background:#b1e17b}.activity-version-text-gap{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);color:var(--muted);text-align:center;letter-spacing:.2em;padding:.2rem .75rem}@media (max-width:720px){.workspace-tab-toolbar{flex-direction:column;align-items:stretch}.workspace-tab-trailing,.course-view-selector{width:100%}.course-view-option{flex:0 0 42px}.course-view-option.is-active{flex:auto}.course-view-option-control,.course-view-option-control select{width:100%;min-width:0}.participant-group-heading{gap:4px;padding:10px}.participant-group-toggle{gap:8px}.participant-group-icon{flex-basis:32px;height:32px}.participant-group-panel{padding:12px}.version-comparison-controls,.activity-version-diff-columns{grid-template-columns:1fr}}.icon-button{height:var(--button-height);min-height:var(--button-height);width:var(--button-height);padding:0}.icon-button svg{flex:none}.inline-edit{border-top:1px solid var(--line);background:linear-gradient(#eef4fbdb,#f5f8fce0);gap:12px;padding:14px 12px;display:grid}.inline-panel{border:1px solid var(--line);background:linear-gradient(#eef4fbd1,#ffffffe6);border-radius:8px;padding:16px}.grade-challenge-list{border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:8px;overflow:hidden}.grade-challenge-filter{flex:none}.grade-challenge-item+.grade-challenge-item{border-top:1px solid var(--line)}.grade-challenge-item>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) minmax(120px,auto) auto;align-items:center;gap:12px;padding:16px 18px;list-style:none;display:grid}.grade-challenge-item>summary::-webkit-details-marker{display:none}.grade-challenge-item>summary:before{color:var(--muted);content:"›";font-size:1.3rem;line-height:1;transition:transform .12s}.grade-challenge-item[open]>summary:before{transform:rotate(90deg)}.grade-challenge-item[open]>summary{border-bottom:1px solid var(--line)}.grade-challenge-title{align-items:center;gap:10px;min-width:0;display:flex}.grade-challenge-content{padding:18px}.participant-status{border:1px solid var(--line);text-transform:uppercase;border-radius:999px;justify-self:start;padding:6px 10px;font-size:12px;font-weight:800}.participant-status.is-linked{background:color-mix(in srgb, var(--brand-teal), white 84%);color:var(--accent-strong)}.participant-status.is-pending{background:color-mix(in srgb, var(--brand-gold), white 82%);color:color-mix(in srgb, var(--brand-ink), black 10%)}.participant-status.is-missing{background:color-mix(in srgb, var(--line), white 65%);color:var(--muted)}.participant-status.is-late,.participant-status.is-needs-grading{background:color-mix(in srgb, var(--brand-gold), white 78%);color:color-mix(in srgb, var(--brand-ink), black 10%)}.participant-status.is-graded,.participant-status.is-submitted{background:color-mix(in srgb, var(--brand-teal), white 84%);color:var(--accent-strong)}.gradebook-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.course-gradebook-overview .gradebook-filters{grid-template-columns:minmax(140px,1fr) minmax(180px,1.5fr) minmax(140px,1fr) auto;align-items:end;gap:12px}.course-gradebook-overview .gradebook-filters label{color:var(--muted);font-size:.8rem}.course-gradebook-overview .gradebook-filters select{min-height:38px;font-size:.875rem}.gradebook-csv-export{white-space:nowrap;gap:6px;min-height:38px;font-size:.85rem}.gradebook-compact-stats{flex-wrap:wrap;gap:8px 24px;padding-block:2px;display:flex}.gradebook-compact-stat{align-items:baseline;gap:6px;font-size:.85rem;display:flex}.gradebook-compact-stat strong{color:var(--ink);font-variant-numeric:tabular-nums}.course-gradebook-overview .gradebook-table{box-shadow:none}.course-gradebook-overview .table-row-gradebook-activity,.course-gradebook-overview .table-row-gradebook-group-summary{grid-template-columns:minmax(220px,1fr) minmax(350px,.85fr) 36px;align-items:center;gap:20px;min-height:72px;padding:14px 16px}.course-gradebook-overview .table-head{background:var(--surface-2);min-height:38px;padding-block:10px;font-size:.7rem}.course-gradebook-overview .table-row-gradebook-group-summary{background:var(--surface-2);padding-inline-start:58px}.gradebook-row-metrics{grid-template-columns:minmax(130px,1fr) minmax(95px,.85fr) minmax(105px,.85fr);align-items:center;gap:16px;min-width:0;display:grid}.gradebook-results-link{overflow-wrap:anywhere;font-weight:700;line-height:1.35;text-decoration:none}.gradebook-results-link:hover{color:var(--accent);text-decoration:underline}.gradebook-grading-progress{font-variant-numeric:tabular-nums;gap:4px;font-size:.875rem;display:grid}.gradebook-incomplete-note{color:#805719;font-size:.75rem}.gradebook-mean{font-variant-numeric:tabular-nums;font-size:.875rem}.gradebook-metric-label{display:none}.gradebook-release-state{color:var(--muted);background:var(--surface-3);border-radius:5px;width:fit-content;padding:3px 8px;font-size:.75rem;line-height:1.5}.gradebook-release-state.is-released{color:#247865;background:#e9f6f2}.gradebook-release-state.is-partial{color:#805719;background:#fff4df}@media (max-width:1000px){.course-gradebook-overview .gradebook-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.gradebook-csv-export{justify-self:end}.course-gradebook-overview .table-head{display:none}.course-gradebook-overview .table-row-gradebook-activity,.course-gradebook-overview .table-row-gradebook-group-summary{grid-template-columns:minmax(0,1fr) 36px;gap:12px}.course-gradebook-overview .table-row-gradebook-group-summary{padding-inline-start:28px}.gradebook-row-metrics{flex-wrap:wrap;grid-area:2/1/auto/-1;gap:8px 20px;display:flex}.gradebook-row-menu{grid-area:1/2}.gradebook-metric-label{display:inline}}.participant-role{border:1px solid var(--line);text-transform:uppercase;border-radius:999px;justify-self:start;padding:6px 10px;font-size:12px;font-weight:800}.participant-role-teacher{background:color-mix(in srgb, var(--brand-blue), white 85%);color:var(--brand-ink)}.participant-role-ta{background:color-mix(in srgb, var(--brand-violet), white 86%);color:var(--brand-ink)}.participant-role-student{background:color-mix(in srgb, var(--surface-2), white 18%);color:var(--muted)}.parsons-authoring-grid{grid-template-columns:minmax(0,.9fr) minmax(220px,.7fr)}.parsons-toolbar{justify-content:flex-start}.parsons-group-toolbar{justify-content:space-between;align-items:start}.parsons-group-card{border:1px solid color-mix(in srgb, var(--brand-blue), white 76%);background:#f8fbffeb;border-radius:8px;padding:14px}.parsons-precedence-editor{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.parsons-precedence-list{gap:8px;display:grid}.parsons-precedence-item{border:1px solid color-mix(in srgb, var(--brand-blue), white 76%);background:#f8fbffeb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.parsons-precedence-arrow{color:var(--brand-blue);font-size:18px;font-weight:800}.parsons-feedback{color:var(--brand-ink);font-weight:700}.parsons-board{gap:8px;display:grid}.parsons-board-preview{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.parsons-block{border:1px solid color-mix(in srgb, var(--brand-blue), white 72%);box-shadow:var(--shadow-card);background:linear-gradient(#fffffffa,#f4f9fff0);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:10px;padding:12px;display:grid}.parsons-block-row{grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:0;padding:8px 10px;transition:border-color .14s,box-shadow .14s,background .14s}.parsons-block-row.is-selected{border-color:color-mix(in srgb, var(--brand-blue), white 48%);background:linear-gradient(#e3f0fff5,#f0f7fff0);box-shadow:inset 0 0 0 1px #2e83d82e,0 12px 24px #0d1b4714}.parsons-block-index{color:var(--brand-ink);background:linear-gradient(135deg,#29d5cf1f,#5a2abf1f);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:inline-flex}.parsons-block code,.parsons-code-line code{color:var(--brand-ink);white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:14px}.code-renderer{width:100%;min-width:0}.code-renderer-pre{margin:0;padding:0;overflow:visible;background:0 0!important}.code-renderer-line{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.code-renderer-line-number{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;min-width:2ch;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:12px}.code-renderer-line-content{white-space:pre-wrap;word-break:break-word;min-width:0}.code-editor{--code-editor-gap:12px;--code-editor-gutter:30px;--code-editor-pad-x:14px;--code-editor-pad-y:12px;--code-editor-left-rail:0px;--code-editor-right-rail:0px;border:1px solid color-mix(in srgb, var(--brand-blue), white 72%);background:#f8fbfff0;border-radius:8px;position:relative;overflow:hidden}.code-editor-overlay{pointer-events:none;position:absolute;inset:0;overflow:auto}.code-editor-overlay .code-renderer-pre{min-height:100%;padding:var(--code-editor-pad-y) calc(var(--code-editor-pad-x) + var(--code-editor-right-rail)) var(--code-editor-pad-y) calc(var(--code-editor-pad-x) + var(--code-editor-left-rail))}.code-editor-overlay .code-renderer-line{gap:var(--code-editor-gap);grid-template-columns:var(--code-editor-gutter) minmax(0, 1fr)}.code-editor-overlay .code-renderer-line-number,.code-editor-overlay .code-renderer-line-content,.code-editor-input{letter-spacing:0;tab-size:2;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:14px;line-height:1.5}.code-editor-input{caret-color:var(--brand-ink);color:#0000;-webkit-text-fill-color:transparent;padding:var(--code-editor-pad-y) var(--code-editor-pad-x);padding-left:calc(var(--code-editor-pad-x) + var(--code-editor-left-rail) + var(--code-editor-gutter) + var(--code-editor-gap));padding-right:calc(var(--code-editor-pad-x) + var(--code-editor-right-rail));resize:none;text-shadow:none;white-space:pre-wrap;word-break:normal;background:0 0;border:0;border-radius:0;position:absolute;inset:0;overflow:auto}.code-editor-rail{pointer-events:none;z-index:2;position:absolute;inset:0 auto 0 0}.code-editor-rail-left{width:var(--code-editor-left-rail);left:0}.code-editor-rail-right{width:var(--code-editor-right-rail);left:auto;right:0}.parsons-editor-rail{min-height:100%;padding-bottom:var(--code-editor-pad-y);padding-top:var(--code-editor-pad-y);pointer-events:auto}.parsons-editor-selection-rail{grid-auto-rows:21px;align-content:start;align-items:stretch;gap:0;padding-left:6px;padding-right:6px;display:grid}.parsons-line-marker{cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:4px;width:14px;min-width:14px;height:21px;min-height:21px;margin:0;padding:0;position:relative}.parsons-line-marker:before{content:"";background:#2e83d81f;border:1px solid #2e83d833;border-radius:4px;position:absolute;inset:2px 0}.parsons-line-marker.is-grouped:before{background:#6a4cc924;border-color:#6a4cc947}.parsons-line-marker.is-selected:before{background:#29d5cf3d;border-color:#29d5cf73}.parsons-line-marker.is-disabled{cursor:default;opacity:.32}.parsons-editor-group-rail{padding-left:12px;padding-right:8px}.coding-exercise-template-line{transition:background-color .12s}.coding-exercise-template-line.is-visible{background:#29d5cf14;box-shadow:inset 3px 0 #29d5cf8c}.coding-exercise-workspace-shell{gap:12px;min-height:0;display:grid}.coding-exercise-workspace-shell.is-full-screen{z-index:70;background:#f8fbff;grid-template-rows:auto minmax(0,1fr);padding:16px;position:fixed;inset:0;overflow:hidden}.coding-exercise-workspace-toolbar{justify-content:flex-end;display:flex}.coding-exercise-student-workspace{grid-template-areas:"editor divider runner";grid-template-columns:minmax(360px, var(--coding-exercise-editor-width,2fr)) 12px minmax(280px, 1fr);align-items:stretch;min-width:0;display:grid}.coding-exercise-student-workspace.has-actions{grid-template-areas:"editor divider runner""actions. .";row-gap:16px}.coding-exercise-workspace-shell.is-full-screen .coding-exercise-student-workspace{height:100%;min-height:0}.coding-exercise-workspace-shell.is-full-screen .coding-exercise-student-workspace.has-actions{grid-template-rows:minmax(0,1fr) auto}.coding-exercise-workspace-shell.is-full-screen .coding-exercise-editor-pane{min-height:0}.coding-exercise-workspace-shell.is-full-screen .coding-exercise-test-runner{overflow:auto}.coding-exercise-editor-pane{grid-area:editor;min-width:0;min-height:520px}.coding-exercise-editor-pane>.monaco-code-editor{height:100%}.coding-exercise-editor-actions{grid-area:actions}.coding-exercise-test-runner{flex-direction:column;grid-area:runner;align-items:stretch;min-width:0;min-height:0;display:flex}.coding-exercise-test-information{gap:14px;display:grid}.coding-exercise-test-information-item{gap:7px;display:grid}.coding-exercise-test-information-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.coding-exercise-test-information-item pre{overflow-wrap:anywhere;white-space:pre-wrap;background:#0d1b4709;border-radius:8px;min-width:0;max-width:100%;max-height:132px;margin:0;padding:10px 12px;overflow:auto}.coding-exercise-test-match-mode{background:color-mix(in srgb, var(--brand-blue), white 92%);color:var(--brand-ink);border-radius:999px;padding:4px 9px;font-size:.82rem;font-weight:700}.coding-exercise-test-order-note{margin:0;font-size:.88rem}.coding-exercise-test-output{flex:128px;grid-template-rows:auto minmax(128px,1fr);min-width:0;min-height:0}.coding-exercise-test-output>pre{min-width:0;max-width:100%;height:100%}.coding-exercise-output-text{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.coding-exercise-workspace-divider{cursor:col-resize;touch-action:none;z-index:2;grid-area:divider;align-self:stretch;min-height:100%;position:relative}.coding-exercise-workspace-divider:after{background:color-mix(in srgb, var(--line) 80%, transparent);content:"";border-radius:999px;transition:background .12s,inset .12s;position:absolute;inset:0 5px}.coding-exercise-workspace-divider:hover:after,.coding-exercise-workspace-divider:focus-visible:after{background:var(--brand-blue);inset-inline:4px}.coding-exercise-workspace-divider:focus-visible{outline:2px solid color-mix(in srgb, var(--brand-blue) 45%, transparent);outline-offset:-2px}.coding-exercise-attempt-history{gap:12px}.coding-exercise-run-history{border-block-start:1px solid var(--line);padding-block-start:20px}.coding-exercise-history-toggle{box-shadow:none;color:var(--accent);text-align:start;text-underline-offset:3px;background:0 0;border:0;place-self:start;min-height:32px;padding:4px 0;text-decoration:underline}.coding-exercise-history-toggle:hover{box-shadow:none;color:var(--brand-ink);transform:none}.coding-exercise-attempt-accordion{border:1px solid #0d1b471a;border-radius:12px;overflow:hidden}.coding-exercise-attempt-accordion>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px 18px;font-weight:750;list-style:none;display:grid}.coding-exercise-attempt-accordion>summary::-webkit-details-marker{display:none}.coding-exercise-attempt-accordion>summary:before{color:var(--muted);content:"›";transform-origin:50%;font-size:1.3rem;line-height:1;transition:transform .12s}.coding-exercise-attempt-accordion[open]>summary:before{transform:rotate(90deg)}.coding-exercise-attempt-accordion>summary time{color:var(--muted);font-size:.9rem;font-weight:550}.coding-exercise-attempt-accordion[open]>summary{border-bottom:1px solid #0d1b4714}.coding-exercise-attempt-content{padding:18px}.coding-exercise-attempt-content .code-renderer{max-height:520px;overflow:auto}.coding-exercise-test-selector,.coding-exercise-test-selector:hover,.coding-exercise-test-selector:focus-visible{border:1px solid var(--line);box-shadow:none;color:var(--ink);text-align:start;background:#ffffffeb;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;gap:10px;width:100%;height:auto;min-height:42px;display:grid;transform:none}.coding-exercise-test-selector>span:first-child,.coding-exercise-test-menu-option>span:last-child{overflow-wrap:anywhere;white-space:normal;min-width:0}.coding-exercise-test-selector-chevron{align-self:center;transition:transform .12s}.coding-exercise-test-selector[aria-expanded=true] .coding-exercise-test-selector-chevron{transform:rotate(180deg)}.coding-exercise-test-menu{border:1px solid color-mix(in srgb, var(--line), var(--brand-blue) 12%);background:#fff;border-radius:8px;width:max-content;min-width:min(360px,100vw - 16px);max-width:min(560px,100vw - 16px);max-height:min(420px,100vh - 16px);padding:5px;overflow-y:auto;box-shadow:0 16px 38px #0d1b4721,0 2px 8px #0d1b470d}.coding-exercise-test-menu-option,.coding-exercise-test-menu-option:hover,.coding-exercise-test-menu-option:focus-visible{box-shadow:none;color:var(--ink);text-align:start;background:0 0;border:0;grid-template-columns:20px minmax(0,1fr);justify-content:stretch;gap:8px;width:100%;min-height:36px;padding:7px 9px;font-weight:620;display:grid;transform:none}.coding-exercise-test-menu-option:hover,.coding-exercise-test-menu-option:focus-visible,.coding-exercise-test-menu-option[aria-checked=true]{background:color-mix(in srgb, var(--brand-blue), white 94%);outline:none}@media (max-width:900px){.coding-exercise-workspace-shell.is-full-screen{overflow:auto}.coding-exercise-student-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""runner";gap:20px}.coding-exercise-student-workspace.has-actions{grid-template-areas:"editor""actions""runner"}.coding-exercise-workspace-divider{display:none}.coding-exercise-workspace-shell.is-full-screen .coding-exercise-student-workspace{height:auto}.coding-exercise-workspace-shell.is-full-screen .coding-exercise-editor-pane{min-height:520px}.coding-exercise-attempt-accordion>summary{grid-template-columns:auto minmax(0,1fr) auto}.coding-exercise-attempt-accordion>summary time{grid-column:2/-1}}.parsons-editor-group-rail-inner{position:relative}.parsons-group-box{color:var(--brand-ink);cursor:pointer;text-align:left;background:#e9f2ffc7;border:1px solid #2e83d838;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid;position:absolute;left:0;right:0}.parsons-group-box.is-flex{background:#f0e9ffcc;border-color:#6a4cc93d}.parsons-group-box.is-selected{box-shadow:inset 0 0 0 1px #2e83d83d}.parsons-group-box-line{background:linear-gradient(#2e83d8e6,#29d5cfe6);border-radius:999px;align-self:stretch;width:3px}.parsons-group-box.is-flex .parsons-group-box-line{background:linear-gradient(#6a4cc9eb,#2e83d8e0)}.parsons-group-box-label{text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.code-editor-input:focus{outline:none;box-shadow:inset 0 0 0 1px #2e83d847}.code-editor-input::selection{background:#2e83d838}.rich-text-editor{border:1px solid color-mix(in srgb, var(--brand-blue), white 72%);background:#f8fbfff0;border-radius:10px;overflow:hidden}.rich-text-editor-mode-bar{background:#e9f2ffb8;border-bottom:1px solid #2e83d829;align-items:center;padding:6px 8px;display:flex}.rich-text-editor-mode-tabs{align-items:center;gap:4px;display:flex}.rich-text-editor-mode-tabs button{color:var(--brand-ink);background:0 0;border:1px solid #0000;border-radius:6px;min-height:34px;padding:6px 10px}.rich-text-editor-mode-tabs button:hover{background:#fffc;border-color:#2e83d833}.rich-text-editor-mode-tabs button.is-active{background:#fff;border-color:#2e83d842;box-shadow:0 1px 2px #0d1b4714}.rich-text-editor-fullscreen-toggle{align-items:center;gap:7px;margin-inline-start:auto;display:inline-flex}.rich-text-editor-toolbar{border-bottom:1px solid #2e83d824;flex-wrap:wrap;align-items:center;gap:4px;padding:7px 8px;display:flex}.rich-text-editor-toolbar select{width:auto;min-height:34px;padding:5px 28px 5px 8px}.rich-text-editor-table-toolbar{background:color-mix(in srgb, var(--brand-teal), white 94%);border-bottom:1px solid #2e83d829;flex-wrap:wrap;align-items:center;gap:4px;padding:7px 8px;display:flex}.rich-text-editor-table-toolbar button span{margin-inline-end:4px;display:inline-block}.rich-text-editor-table-toolbar button:nth-last-child(-n+2){color:var(--danger)}.rich-text-editor-visual-panel,.rich-text-editor-markdown-source{height:var(--rich-text-editor-body-height);min-height:0}.rich-text-editor-visual-panel[hidden],.rich-text-editor-markdown-source[hidden]{display:none}.rich-text-editor-visual-panel{flex-direction:column;display:flex;overflow:hidden}.rich-text-editor-visual{box-sizing:border-box;cursor:text;overflow-wrap:anywhere;background:#fff;flex:1;min-height:0;padding:14px 16px;line-height:1.6;display:block;overflow:auto}.rich-text-editor-visual.markdown-renderer>*+*{margin-top:16px}.rich-text-editor-visual:focus{outline:none;box-shadow:inset 0 0 0 1px #2e83d847}.rich-text-editor-markdown-source .code-editor{border:0;border-radius:0}.rich-text-editor-resize-handle{cursor:ns-resize;touch-action:none;background:#e9f2ffb8;border-top:1px solid #2e83d829;justify-content:center;align-items:center;height:12px;display:flex}.rich-text-editor-resize-handle span{background:color-mix(in srgb, var(--brand-blue), white 52%);border-radius:999px;width:42px;height:3px;transition:background .12s,width .12s}.rich-text-editor-resize-handle:hover span,.rich-text-editor-resize-handle:focus-visible span{background:var(--focus);width:58px}.rich-text-editor-resize-handle:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.rich-text-editor.is-full-screen{background:var(--surface);z-index:80;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.rich-text-editor.is-full-screen .rich-text-editor-visual-panel,.rich-text-editor.is-full-screen .rich-text-editor-markdown-source{height:auto;min-height:0}.rich-text-editor.is-full-screen .rich-text-editor-markdown-source .code-editor{height:100%!important;min-height:0!important}.rich-text-editor.is-full-screen .rich-text-editor-resize-handle{display:none}.rich-text-editor.is-disabled{opacity:.72}@media (max-width:520px){.rich-text-editor-fullscreen-toggle>span:last-child{display:none}}.rich-text-editor.is-disabled .rich-text-editor-visual{cursor:default}.mcq-authoring-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);grid-template-areas:".prompt""source questions";align-items:start;gap:20px;display:grid}.mcq-student-preview-placeholder{color:var(--muted);text-align:center;background:#eef4fbb3;border:1px dashed #2e83d857;border-radius:10px;place-items:center;min-height:96px;padding:18px;display:grid}.mcq-authoring-source{grid-area:source;min-width:0}.mcq-authoring-preview-prompt{grid-area:prompt;min-width:0}.coding-homework-authoring-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);align-items:start;gap:22px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.section-subheading{justify-content:space-between;align-items:center;gap:12px;display:flex}.inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.preview-panel{border:1px solid var(--line);border-radius:8px;min-height:120px;padding:16px}.documentation-resource-list{border:1px solid var(--line);border-radius:8px;gap:0;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.documentation-resource-list li{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.documentation-resource-list li+li{border-top:1px solid var(--line)}.documentation-resource-list .muted{text-align:right;font-size:.88rem}.preflight-summary{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.preflight-summary>div{padding:12px}.preflight-summary>div+div{border-left:1px solid var(--line)}.preflight-issue-list{border:1px solid var(--line);border-radius:8px;margin:0;padding:0;list-style:none}.preflight-issue-list li{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.preflight-issue-list li+li{border-top:1px solid var(--line)}.challenge-question{border:1px solid var(--line);border-radius:8px;gap:10px;padding:14px;display:grid}.challenge-question textarea{resize:vertical;min-height:120px}.button.is-disabled{opacity:.58}.mcq-authoring-preview{grid-area:questions;min-width:0}.mcq-preview-alignment-heading{visibility:hidden}.mcq-preview-editor-inset{padding-top:12px}.parsons-inline-code .code-renderer-line{gap:10px}.parsons-inline-code .code-renderer-line-content{font-size:13px;line-height:1.35}.parsons-block-controls{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.parsons-block-controls-left{flex-flow:row;grid-column:auto;justify-content:center;gap:4px}.parsons-block-controls-left .icon-button{color:var(--muted);border-color:#0000;width:24px;height:24px;min-height:24px}.parsons-block-controls-left .icon-button:hover{color:var(--brand-ink);background:#29d5cf14;border-color:#2e83d81f}.parsons-code-line{background:#eef4fbb8;border-radius:8px;align-items:center;min-height:48px;padding:10px 14px;display:flex}.parsons-code-line-compact{min-height:0;padding-top:6px;padding-bottom:6px}.login-page{align-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid color-mix(in srgb, var(--brand-blue), white 76%);background:linear-gradient(#fffffffa,#f6f9fff2);border-radius:8px;width:100%;max-width:430px;margin:0 auto;padding:28px;box-shadow:0 28px 48px #0d1b471a}.login-brand-block{justify-items:start;gap:12px;display:grid}.login-brand-block h1{margin-top:6px}.login-mode-toggle{border:1px solid var(--line);background:#eef4fbe6;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;display:grid}.login-mode-toggle button{color:var(--muted);background:0 0;border:0;border-radius:999px;min-height:40px;font-weight:800}.login-mode-toggle button.is-active{background:var(--button-background);border:1px solid var(--button-border);color:var(--ink)}.login-panel .login-submit-button,.login-panel .login-submit-button:focus,.login-panel .login-submit-button:disabled{background-color:var(--button-background);color:var(--ink);background-image:none;width:100%}.login-panel .login-submit-button:not(:disabled):hover{background-color:var(--button-hover-background)}.login-panel .login-submit-button:not(:disabled):active{background-color:var(--button-active-background)}@media (max-width:1200px){.maintenance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.test-report-plugin-metrics{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (max-width:780px){.maintenance-metric-grid,.maintenance-detail-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;padding:16px 18px}.topbar-actions{flex-direction:column;align-items:stretch;width:100%}.nav-primary{justify-content:flex-start}.account-trigger{width:100%;max-width:none}.account-popover{min-width:0;left:0;right:0}.section-heading{flex-direction:column;align-items:flex-start}.test-report-metrics,.test-report-plugin-metrics{grid-template-columns:1fr}.test-report-question-stats{justify-content:flex-start}.split,.form-grid-two,.grading-breakdown-grid,.settings-layout{grid-template-columns:1fr}.mcq-authoring-grid{grid-template-columns:1fr;grid-template-areas:"prompt""source""questions"}.mcq-preview-alignment-heading{display:none}.mcq-preview-editor-inset{padding-top:0}.coding-homework-authoring-grid,.settings-grid,.parsons-authoring-grid,.parsons-precedence-editor,.parsons-precedence-item{grid-template-columns:1fr}.table-head{display:none}.table-row{grid-template-columns:1fr;align-items:start}.activity-bank-list-row{grid-template-columns:minmax(0,1fr) max-content;align-items:center}.activity-bank-row-link{grid-template-columns:1fr}.table-list-gradebook-detail{display:block}.table-list-gradebook-detail .table-row-gradebook-detail{grid-column:auto;grid-template-columns:1fr;display:grid}.table-row-participants{grid-template-columns:1fr}.table-actions{justify-content:flex-start}.grade-challenge-item>summary{grid-template-columns:auto minmax(0,1fr) auto}.grade-challenge-item>summary>.muted{display:none}.grade-challenge-title{flex-direction:column;align-items:flex-start;gap:2px}.grade-challenge-title>[aria-hidden=true]{display:none}.plugin-settings-row{grid-template-columns:1fr;align-items:start}.plugin-settings-state{justify-content:space-between}.activity-picker-layout{grid-template-columns:1fr}.activity-category-tabs{border-bottom:1px solid var(--line);border-right:0;flex-direction:row;overflow-x:auto}.activity-category-tab{flex:none;width:auto}.activity-type-options,.parsons-block,.parsons-block-row{grid-template-columns:1fr}.parsons-block-controls-left{flex-direction:row;grid-column:1;justify-content:flex-start}}.student-groupings-workspace{gap:1.5rem}.student-groupings-section-picker{width:min(100%,24rem)}.student-groupings-section-picker select{min-height:2.75rem}.student-groupings-heading{align-items:flex-end;gap:1rem}.student-groupings-heading>button{flex:none;margin-inline-start:auto}.student-grouping-details{border-block-start:1px solid var(--line)}.student-grouping-fields{border:0;min-width:0;margin:0;padding:0}.student-team-editor{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.student-team-editor .field{flex:12rem}.student-team-editor>.muted{padding-block:.65rem}.student-grouping-roster{gap:.75rem;max-height:32rem;display:grid;overflow:auto}.student-grouping-student{grid-template-columns:minmax(0,1fr) minmax(10rem,1fr);align-items:center;gap:1rem;display:grid}.student-grouping-student label{overflow-wrap:anywhere;display:grid}.student-grouping-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;overflow:hidden}.student-grouping-card-header{border-block-end:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.student-grouping-card-title{overflow-wrap:anywhere;min-width:0}.student-grouping-card-title h3{margin:0;font-size:1.1rem}.student-grouping-card-title p{margin:.35rem 0 0;font-size:.9rem;line-height:1.5}.student-grouping-card-actions{flex:none;align-items:center;gap:.5rem;display:flex}.student-team-cards{background:var(--surface-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:start;gap:1rem;padding:1.25rem;display:grid}.student-team-cards:empty{display:none}.student-team-card{--team-color:#2774b7;border:1px solid var(--line);border-block-start:3px solid color-mix(in srgb, var(--team-color) 65%, white);background:var(--surface);border-radius:10px;min-width:0;padding:1rem}.student-team-card:nth-child(4n+2){--team-color:#237e78}.student-team-card:nth-child(4n+3){--team-color:#7951a8}.student-team-card:nth-child(4n+4){--team-color:#936122}.student-team-card h4{overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:.75rem;margin:0 0 .9rem;font-size:.95rem;line-height:1.5;display:flex}.student-team-count{background:color-mix(in srgb, var(--team-color) 9%, white);min-width:1.8rem;color:var(--team-color);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;flex:none;padding:.1rem .4rem;font-size:.75rem}.student-team-members{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.student-team-members li{align-items:center;gap:.6rem;min-width:0;font-size:.875rem;line-height:1.4;display:flex}.student-team-members li>:last-child{overflow-wrap:anywhere;min-width:0}.student-team-avatar{background:color-mix(in srgb, var(--team-color) 8%, white);width:1.6rem;height:1.6rem;color:var(--team-color);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.6rem;font-weight:700;display:inline-flex}.student-team-empty{margin:0;font-size:.875rem;line-height:1.5}.student-grouping-no-teams{margin:0;padding:1.25rem}.student-grouping-card-footer{border-block-start:1px solid var(--line);padding:.85rem 1.25rem;display:flex}.student-grouping-unassigned{color:var(--muted);align-items:center;gap:.45rem;font-size:.8rem;line-height:1.5;display:inline-flex}.student-groupings .checkbox-row{align-items:center;gap:.5rem;display:flex}.student-groupings .checkbox-row input{width:auto}@media (max-width:600px){.student-grouping-student{grid-template-columns:minmax(0,1fr);gap:.25rem}.student-groupings .section-heading{flex-wrap:wrap}.student-grouping-card-header{flex-wrap:wrap;padding:1rem}.student-grouping-card-actions{margin-inline-start:auto}.student-team-cards{padding:1rem}.student-grouping-card-footer{padding-inline:1rem}}.student-team-editor .student-team-capacity{flex:0 7rem}.student-grouping-card-footer{flex-wrap:wrap;gap:1rem}.dialog-panel:has(.student-assignment-dialog){width:min(44rem,100%);max-width:44rem;max-height:calc(100dvh - 2rem);overflow-y:auto}.student-assignment-dialog{color:var(--ink);gap:1.25rem;margin-block-start:1rem}.student-assignment-methods{border:1px solid var(--line);border-radius:10px;gap:.65rem;min-width:0;margin:0;padding:1rem;display:grid}.student-assignment-methods legend{padding-inline:.3rem;font-weight:650}.student-assignment-methods label,.student-assignment-dialog .checkbox-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.student-assignment-methods input,.student-assignment-dialog input[type=checkbox],.student-team-select input{flex:none;width:auto}.student-assignment-dialog .checkbox-row{flex-wrap:nowrap;align-items:flex-start}.student-assignment-methods small{font-size:.8rem}.student-assignment-dialog p{margin:0;font-size:.875rem;line-height:1.5}.student-assignment-dialog .row{flex-wrap:wrap;align-items:end;gap:.75rem}.student-assignment-dialog .row .field{flex:10rem}.student-assignment-capacities{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.75rem;display:grid}.student-assignment-dialog .form-grid-two{gap:.75rem}.student-team-card.is-selected{outline:2px solid var(--team-color);outline-offset:2px}.student-team-current{color:var(--team-color);margin-block:-.35rem .8rem;font-size:.8rem;font-weight:650}.student-team-open-slot .student-team-avatar{border:1px dashed var(--line);color:var(--muted);background:0 0}.student-team-select{border-block-start:1px solid var(--line);cursor:pointer;align-items:center;gap:.5rem;margin-block-start:1rem;padding-block-start:.75rem;font-size:.875rem;display:flex}.student-team-select:has(input:disabled){cursor:default;color:var(--muted)}.student-choice-dates{flex-wrap:wrap;gap:.3rem 1.25rem;display:flex}.student-choice-footer{justify-content:space-between;align-items:center}.student-choice-footer:empty{display:none}.student-choice-footer p{margin:0;font-size:.875rem}.student-choice-footer [role=alert],.student-choice-footer [role=status]{flex-basis:100%}.student-grouping-settings{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1rem;display:grid}.student-grouping-setting{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;align-content:start;gap:.75rem;min-width:0;padding:1rem;display:grid}.student-grouping-setting h3{color:var(--muted);margin:0;font-size:.85rem}.student-grouping-setting p{margin:0;font-size:.875rem;line-height:1.5}.student-grouping-setting .checkbox-row input{flex:none}.student-grouping-method{font-size:1rem}.student-grouping-setting-actions,.student-grouping-badges{flex-wrap:wrap;gap:.5rem;display:flex}.student-grouping-policy{border-block-end:1px solid var(--line);padding:.85rem 1.25rem}.student-grouping-badge{background:var(--surface-3);color:var(--ink);border-radius:6px;padding:.25rem .65rem;font-size:.8rem;line-height:1.5;display:inline-flex}.student-grouping-badge.is-hidden{color:#805719;background:#fff4df}.student-grouping-choice-summary{color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;font-size:.825rem;line-height:1.5;display:flex}.student-grouping-choice-summary>:nth-child(n+3){flex-basis:100%}.student-grouping-policy .student-grouping-choice-summary{margin-block-start:.65rem}.student-grouping-hidden-note{color:#805719}.activity-exception-list,.activity-exception-editor{border:1px solid var(--line);border-radius:10px;min-width:0;padding:1rem}.activity-exception-list h4,.activity-exception-editor h4,.activity-exception-list p{margin:0}.activity-exception-add,.activity-exception-row{align-items:end;gap:.5rem;min-width:0;display:flex}.activity-exception-add .field,.activity-exception-select{flex:1;min-width:0}.activity-exception-select{text-align:start;overflow-wrap:anywhere}.activity-exception-select.is-active{background:var(--surface-3);border-color:var(--accent)}.activity-exception-row-actions{gap:.25rem;display:flex}@media (max-width:600px){.activity-exception-row{flex-wrap:wrap;align-items:start}.activity-exception-select{flex-basis:100%}.activity-exception-row-actions{margin-inline-start:auto}.student-grouping-settings{grid-template-columns:minmax(0,1fr)}.student-grouping-policy{padding-inline:1rem}}.text-material-editor-fields{border:0;gap:24px;min-width:0;margin:0;padding:0;display:grid}.text-material-settings{border-top:1px solid var(--border);padding-top:16px}.text-material-settings summary{cursor:pointer;margin-bottom:16px;font-weight:700}.content-resource-body{grid-column:3/-1;min-width:0;margin-top:12px;font-weight:400}.student-folder-tab-panel .content-resource-body{grid-column:2/-1}.content-resource-body .markdown-renderer>:first-child{margin-top:0}.content-resource-title-button{box-shadow:none;color:inherit;font:inherit;text-align:start;background:0 0;border:0;border-radius:0;padding:0}.content-resource-title-button:hover{background:0 0;text-decoration:underline;transform:none}.content-resource-dialog{box-sizing:border-box;border:1px solid var(--border);width:80vw;max-width:80vw;max-height:85dvh;color:var(--text);background:var(--surface,white);border-radius:16px;margin:auto;padding:24px;overflow:auto}.content-resource-dialog::backdrop{background:#0f172a73}.content-resource-dialog-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px}.content-resource-dialog-header h2{overflow-wrap:anywhere;margin:0}.content-resource-dialog-header button{flex-shrink:0}.content-resource-body .markdown-renderer,.text-material-page .markdown-renderer,.content-resource-dialog .markdown-renderer{overflow-wrap:anywhere;min-width:0}@media (max-width:600px){.content-resource-dialog{padding:16px}}.date-time-zone-label{grid-column:1/-1}.dialog-panel.activity-chat-dialog{color:var(--ink);flex-direction:column;width:calc(100vw - 40px);max-width:700px;height:min(740px,100dvh - 40px);margin:auto;padding:0;display:flex;overflow:hidden}.dialog-panel.activity-chat-dialog:not([open]){display:none}.dialog-panel.activity-chat-dialog--wide{max-width:1040px}.activity-chat-dialog::backdrop{background:#0d1b4757}.activity-chat-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.activity-chat-heading h2{align-items:center;gap:10px;margin:0;font-size:1.15rem;display:flex}.activity-chat-workspace{flex:1;grid-template-columns:240px minmax(0,1fr);min-height:0;display:grid}.activity-chat-tabs{background:var(--surface-2);border-inline-end:1px solid var(--line);padding:12px;overflow-y:auto}.activity-chat-tabs button{text-align:start;background:0 0;border-color:#0000;justify-content:start;align-items:center;gap:10px;width:100%;min-height:48px;margin-bottom:4px;padding:10px;display:flex}.activity-chat-tabs button[aria-selected=true]{background:var(--surface);border-color:var(--line);color:var(--brand-blue)}.activity-chat-tabs button strong{overflow-wrap:anywhere;font-size:.9rem;display:block}.activity-chat-tabs button small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.activity-chat-avatar{background:color-mix(in srgb, var(--brand-blue), white 92%);color:var(--brand-blue);border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;height:30px;display:flex}.activity-chat-sidebar-hint{padding:12px 6px;font-size:.85rem;line-height:1.5}.activity-chat-unread{background:var(--brand-blue);border-radius:50%;flex:0 0 8px;height:8px;margin-inline-start:auto}.activity-chat-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.activity-chat-context{border-bottom:1px solid var(--line);gap:3px;padding:12px 20px;display:grid}.activity-chat-thread{background:color-mix(in srgb, var(--surface-2), white 40%);overscroll-behavior:contain;flex-direction:column;flex:1;align-content:start;gap:12px;min-height:80px;padding:20px;display:flex;overflow-y:auto}.activity-chat-bubble{background:var(--surface);border:1px solid var(--line);border-radius:12px 12px 12px 3px;align-self:flex-start;max-width:88%;padding:10px 14px}.activity-chat-bubble--own{background:color-mix(in srgb, var(--brand-blue), white 92%);border-color:color-mix(in srgb, var(--brand-blue), white 78%);border-radius:12px 12px 3px;align-self:flex-end}.activity-chat-bubble--broadcast{border-inline-start:3px solid var(--brand-blue);align-self:stretch;max-width:100%}.activity-chat-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:7px 0;line-height:1.5}.activity-chat-bubble .activity-message-meta{font-size:.85rem}.activity-chat-badge{color:var(--brand-blue);font-size:.75rem}.activity-chat-message-footer{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:.72rem;display:flex}.activity-chat-older{align-self:center}.activity-chat-composer{border-top:1px solid var(--line);gap:8px;padding:12px 20px;display:grid}.activity-chat-composer textarea{resize:vertical;width:100%;min-height:68px;max-height:180px}.activity-chat-composer-actions{justify-content:space-between;align-items:center;display:flex}.activity-chat-notice,.activity-chat-delivery{border-top:1px solid var(--line);margin:0;padding:10px 20px;font-size:.85rem}.review-chat-workspace{flex-direction:column;width:100%;max-width:920px;max-height:calc(100dvh - 40px);display:flex}.review-chat-workspace:has(.test-review-overlay){max-width:1840px}.review-chat-workspace>.dialog-panel{min-height:0}.review-chat-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:8px 8px 0 0;align-self:flex-end;padding:6px}@media (max-width:640px){.activity-chat-workspace{grid-template-columns:150px minmax(0,1fr)}.activity-chat-tabs{padding:6px}.activity-chat-avatar{display:none}.activity-chat-thread{padding:12px}.activity-chat-context,.activity-chat-composer{padding:10px 12px}.activity-chat-bubble{max-width:100%}}.activity-chat-tabs[role=tablist]:has(>button[role=tab]){border:0;border-inline-end:1px solid var(--line);border-radius:0;flex-flow:column;align-content:flex-start;align-items:stretch;padding:12px}.activity-chat-tabs[role=tablist]>button[role=tab]{flex:none;justify-content:flex-start;padding:10px}.activity-chat-message-footer{align-items:center}.activity-chat-deleted{margin-inline-end:auto;font-weight:700}.activity-chat-bubble del{text-decoration-thickness:1.5px}.activity-chat-bubble .activity-chat-exercise{color:var(--muted);margin:6px 0;font-size:.8rem;font-weight:600}.activity-message-count{background:var(--danger);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:24px;padding:3px 7px;font-size:.75rem;font-weight:800;line-height:1.4;display:inline-flex}.activity-report-message-trigger.has-unread{border-color:var(--brand-blue);color:var(--brand-ink);background:#e4f1ff;animation:2.4s ease-in-out infinite activity-message-attention}.activity-message-alert{border:1px solid var(--brand-blue);color:var(--brand-ink);z-index:25;background:#e4f1ff;border-inline-start-width:5px;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:12px;box-shadow:0 4px 20px #2e83d81f}.activity-message-alert>div{flex:1;gap:3px;min-width:150px;display:grid}.activity-message-alert small{color:var(--muted)}.activity-chat-heading-actions{flex:none;align-items:center;gap:6px;display:flex}.activity-chat-heading-actions .activity-chat-sound-toggle{color:var(--muted);background:0 0;border-color:#0000}.activity-chat-heading-actions .activity-chat-sound-toggle:hover{background:var(--surface-2);border-color:var(--line)}.activity-chat-tabs[role=tablist]>button[role=tab][data-unread=true]{border-color:color-mix(in srgb, var(--brand-blue), white 45%);color:var(--brand-ink);background:#e4f1ff}.activity-chat-unread-badge{background:var(--brand-ink);color:#fff;border-radius:6px;margin-inline-start:auto;padding:2px 5px;font-size:.65rem;font-weight:800}@media (prefers-reduced-motion:reduce){.activity-report-message-trigger.has-unread{animation:none}}@media (max-width:480px){.activity-chat-heading{flex-wrap:wrap;gap:8px;padding:12px}.activity-chat-heading-actions{margin-inline-start:auto}}.answer-export-options{color:var(--ink)}.answer-export-students{border:1px solid var(--line);border-radius:10px;max-height:260px;overflow:auto}.answer-export-student{cursor:pointer;align-items:center;gap:12px;padding:10px 12px;display:flex}.answer-export-student+.answer-export-student{border-top:1px solid var(--line)}.answer-export-student span{overflow-wrap:anywhere;gap:3px;min-width:0;display:grid}.answer-export-student small{color:var(--muted)}.answer-export-student input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0}.answer-export-student span{flex:1}
