@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.stroke-1{stroke-width:1px}.stroke-2{stroke-width:2px}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f3f5f1;--surface:#fff;--soft:#f8faf7;--ink:#202521;--muted:#687169;--line:#dfe5df;--line-strong:#c9d2ca;--state-neutral-fg:#3f4741;--state-neutral-bg:#eef1ee;--blue:#155e75;--blue-soft:#cffafe;--sage:#276749;--sage-deep:#276749;--sage-soft:#ddf5e7;--amber:#8a4b08;--amber-soft:#fff0c2;--coral:#9f2d20;--coral-deep:#9f2d20;--coral-soft:#ffe3de;--danger:#9f2d20;--danger-soft:#ffe3de;--shadow:0 18px 55px #20252117;--radius-xl:26px;--radius-lg:20px;--radius-md:14px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:is(html:has(.workspace-page),body:has(.workspace-page)){overscroll-behavior:none;height:100%;overflow:hidden}button,input,select{font:inherit}button,a{touch-action:manipulation}.canvas-mount{touch-action:none}.canvas-mount button,.canvas-mount .excalidraw-button{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #356c8d}.field select{border:1px solid var(--line-strong);background:#fff;border-radius:13px;width:100%;height:52px;padding:0 15px}.session-wizard{gap:20px;max-width:1120px;display:grid}.wizard-eyebrow{margin-top:20px}.wizard-choice{gap:20px;margin-top:18px;display:flex}.wizard-choice label{align-items:center;gap:8px;font-weight:700;display:flex}.field-hint{color:var(--muted);margin:14px 0 0;font-size:13px}.date-time-group{border:0;margin:18px 0 0;padding:0}.date-time-group legend{font-size:13px;font-weight:750}.date-time-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.date-time-fields .field{margin-top:8px}.field-error{color:var(--danger);margin:8px 0 0;font-size:13px;font-weight:700}.check-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.check-list label{border:1px solid var(--line);cursor:pointer;border-radius:13px;gap:10px;padding:12px;display:flex}.check-list span{gap:3px;display:grid}.check-list small{color:var(--muted)}.wizard-questions{gap:16px;display:grid}.question-editor{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:16px}.file-picker{border:1px dashed var(--line-strong);cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:10px;padding:16px;display:flex}.image-drop-zone{outline:none}.image-drop-zone:focus-visible,.image-drop-zone.drag-active{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral)}@supports (color:color-mix(in lab, red, red)){.image-drop-zone:focus-visible,.image-drop-zone.drag-active{box-shadow:0 0 0 3px color-mix(in srgb, var(--coral) 20%, transparent)}}.image-drop-zone.invalid{border-color:var(--coral)}.question-image-preview .button{margin-top:8px}.multi-image-input{border:0;margin:0;padding:0}.multi-image-input>legend{margin-bottom:.6rem;font-weight:650}.multi-image-item{border:1px solid var(--line);border-radius:.8rem;margin-bottom:.75rem;padding:.75rem}.multi-image-order{align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.multi-image-order strong{margin-right:auto}.side-panel-backdrop{z-index:60;background:#161b1861;justify-content:flex-end;display:flex;position:fixed;inset:0}.side-panel{background:var(--surface);width:min(100%,34rem);max-width:34rem;height:100%;padding:1.5rem;overflow-y:auto;box-shadow:-12px 0 40px #161b182e}.table-card{overflow-x:auto}.table-card table{border-collapse:collapse;width:100%}.table-card th,.table-card td{border-bottom:1px solid var(--line);text-align:left;padding:.8rem}.past-review-layout{grid-template-columns:minmax(220px,280px) 1fr;gap:20px;min-height:calc(100vh - 76px);padding:20px;display:grid}.past-review-layout.nav-collapsed{grid-template-columns:auto 1fr}.past-review-nav-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.past-review-nav-head h2{margin:0;font-size:15px}.past-review-nav-toggle{flex:none}.past-review-nav.collapsed{background:0 0;border-color:#0000;place-items:start center;padding:0;display:grid}.past-review-nav-rail{border:1px solid var(--line);color:var(--muted);cursor:pointer;writing-mode:vertical-rl;letter-spacing:.06em;text-transform:uppercase;background:#fff;border-radius:12px;align-items:center;gap:8px;padding:12px 10px;font-size:12px;font-weight:750;display:inline-flex}.past-review-nav-rail:hover{color:var(--blue);border-color:var(--blue)}.past-review-page,.workspace-page.past-review-page{overflow-y:auto}.past-review-page .past-review-layout{min-height:calc(100vh - 76px)}.markscheme-sidebar{border-left:1px solid var(--line);background:var(--bg);flex-direction:column;width:min(40vw,540px);min-width:320px;display:flex;overflow:hidden}.markscheme-sidebar.collapsed{border-left:0;flex:none;width:auto;min-width:0}.markscheme-sidebar-rail{color:var(--muted);cursor:pointer;writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;align-self:stretch;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:750;display:inline-flex}.markscheme-sidebar-rail:hover{color:var(--blue);background:var(--soft)}.markscheme-sidebar.open{min-height:0}.markscheme-sidebar-head{border-bottom:1px solid var(--line);background:#fff;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 18px;display:flex}.markscheme-sidebar-head h2{margin:0;font-size:14px}.markscheme-sidebar-actions{align-items:center;gap:12px;display:inline-flex}.markscheme-sidebar-body{flex:auto;min-height:0;padding:14px;overflow-y:auto}.markscheme-sidebar-body img{border:1px solid var(--line);border-radius:10px;width:100%;margin-bottom:12px;display:block}.tutor-observation-layout .markscheme-sidebar{height:100%;transition:width .2s}.past-review-page .markscheme-sidebar{z-index:30;height:100dvh;position:fixed;top:0;right:0}.past-review-page .markscheme-sidebar.open{box-shadow:var(--shadow)}.past-review-page .markscheme-sidebar.collapsed{border-left:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px 0 0 12px;top:76px;transform:none}.past-review-page .workspace-topbar{padding-right:72px}.past-review-nav{overflow:auto}.past-review-evaluation-pill{justify-self:start}.past-review-nav>div:not(.past-review-nav-head){gap:8px;margin-top:18px;display:grid}.past-review-empty{text-align:center;justify-items:center;gap:18px;margin:22px;padding:48px 32px;display:grid}.past-review-empty h1{margin:0;font-size:22px}.past-review-empty p{max-width:460px;margin:0;line-height:1.55}.past-review-empty .button{margin-top:6px}.recent-sessions{margin-top:22px}.audio-panel{margin-top:20px}.audio-panel h2{align-items:center;gap:8px;display:inline-flex}.audio-recorder,.audio-message-list{gap:12px;display:grid}.audio-recorder .field{margin-top:0}.recording-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.recording-status{color:var(--muted);font-size:.9rem;font-weight:700}.recording-preview{border:1px solid var(--line);background:var(--soft);border-radius:12px;gap:8px;padding:12px;display:grid}.recording-preview audio{width:100%}.audio-message{border:1px solid var(--line);border-radius:12px;gap:8px;padding:12px;display:grid}.audio-message>div{justify-content:space-between;gap:12px;display:flex}.audio-message span{color:var(--muted);font-size:.85rem}.audio-message audio{width:100%}.tutor-observation-layout{flex:auto;grid-template-columns:minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.tutor-markscheme-column{flex-direction:column;min-width:0;display:flex;overflow:hidden}.tutor-markscheme-column .markscheme-sidebar{flex:auto;height:100%}.tutor-markscheme-column .markscheme-sidebar.collapsed{flex:none}.tutor-audio-shell{width:clamp(320px,26vw,380px);min-width:0;transition:width .18s;position:relative}.tutor-audio-shell.is-collapsed{width:0}.tutor-audio-shell.has-new-recordings .tutor-audio-panel,.tutor-audio-shell.has-new-recordings .audio-panel-launcher{border-color:var(--coral);animation:1.1s ease-in-out infinite alternate audio-pulse;box-shadow:0 0 0 4px #ea5a4624,0 10px 28px #ea5a4633}.tutor-audio-panel{border-left:1px solid var(--line);background:#fff;align-content:start;gap:16px;width:100%;height:100%;padding:18px;display:grid;overflow-y:auto}.tutor-audio-panel[hidden]{display:none}.tutor-audio-panel-header{align-items:flex-start;margin-bottom:0}.tutor-audio-panel-header>div{gap:3px;display:grid}.tutor-audio-panel-header .icon-button{border-radius:11px;flex:none;width:38px;height:38px}.audio-panel-launcher{z-index:10;border:1px solid var(--line);min-height:42px;box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-weight:800;display:inline-flex;position:absolute;top:14px;right:14px}.tutor-recording-count{top:-7px;right:-7px}.audio-drawer-backdrop{display:none}.tutor-audio-panel h2,.tutor-audio-panel h3{margin:0}.new-student-recording-alert{border:1px solid var(--coral);background:var(--coral-soft);width:100%;color:var(--coral-deep);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:850;display:flex}.contextual-audio-form,.tutor-audio-history{gap:14px;display:grid}.tutor-recording-history:focus{outline-offset:5px;border-radius:8px;outline:3px solid #ea5a4647}.student-recording{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:10px;display:grid}.student-recording.is-new{border-color:var(--coral);background:var(--coral-soft)}.student-recording>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-recording>div span{background:var(--coral);color:#fff;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900}.student-recording audio{width:100%}.audio-choice-group,.audio-target-list{border:1px solid var(--line);border-radius:12px;gap:8px;min-width:0;margin:0;padding:10px 12px 12px;display:grid}.audio-choice-group{grid-template-columns:1fr 1fr}.audio-choice-group legend,.audio-target-list legend{color:var(--muted);padding:0 5px;font-size:12px;font-weight:800}.audio-choice-group label,.audio-target-list label{cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;display:flex}.audio-target-list{max-height:210px;overflow-y:auto}.audio-target-list label span{min-width:0;display:grid}.audio-target-list small{color:var(--muted)}.tutor-audio-history>audio,.attempt-recording-list audio{width:100%}.student-audio-bubble{z-index:8;position:absolute;top:14px;right:14px}.audio-bubble-button{border:1px solid var(--line);width:48px;height:48px;color:var(--ink);box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:999px;place-items:center;display:grid;position:relative}.student-audio-bubble.is-playing .audio-bubble-button{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-deep);animation:1.1s ease-in-out infinite alternate audio-pulse}.audio-unread-count{background:var(--coral);color:#fff;text-align:center;border:2px solid #fff;border-radius:999px;min-width:20px;height:20px;font-size:11px;font-weight:900;line-height:16px;position:absolute;top:-5px;right:-4px}.audio-bubble-popover{border:1px solid var(--line);width:min(340px,100vw - 36px);max-height:min(520px,100vh - 150px);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:12px;padding:14px;display:grid;position:absolute;top:56px;right:0;overflow-y:auto}.audio-bubble-popover h2,.attempt-recorder-popover h2{margin:0;font-size:16px}.audio-bubble-popover .audio-message.active{border-color:var(--coral);background:var(--coral-soft)}.audio-permission-backdrop{z-index:100;background:#161b1f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.audio-permission-dialog{width:min(420px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:20px;gap:14px;padding:26px;display:grid}.audio-permission-dialog>svg{color:var(--coral);margin:auto}.audio-permission-dialog h2,.audio-permission-dialog p{margin:0}.attempt-recorder{bottom:14px;right:14px}.attempt-recorder-popover{border:1px solid var(--line);width:min(360px,100vw - 36px);max-height:min(560px,100vh - 120px);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:12px;padding:14px;display:grid;position:absolute;bottom:0;right:0;overflow-y:auto}.attempt-recording-list{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}@keyframes audio-pulse{0%{box-shadow:0 0 0 0 #e7664e47, var(--shadow)}to{box-shadow:0 0 0 9px #e7664e00, var(--shadow)}}.classroom-layout{flex:auto;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:20px;min-height:0;padding:20px;display:grid;overflow:hidden}.classroom-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.classroom-sidebar,.participant-list{align-content:start;gap:12px;display:grid}.classroom-sidebar{overscroll-behavior:contain;min-height:0;overflow-y:auto}.classroom-sidebar[hidden]{display:none}.classroom-sidebar .audio-panel{margin-top:0}.classroom-sidebar .audio-panel .section-title{flex-wrap:wrap;align-items:flex-start;gap:6px 12px}.classroom-sidebar .recording-controls{align-items:stretch;display:grid}.classroom-sidebar .recording-controls .button{width:100%}.classroom-sidebar .audio-panel>p.muted{margin:4px 0 0}.classroom-sidebar h2{align-items:center;gap:8px;display:flex}.participant-row{border:1px solid var(--line);border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.participant-details{min-width:0}.participant-details strong{overflow-wrap:anywhere}.participant-details p{color:var(--muted);margin:3px 0 0;font-size:12px}.participant-row .button{white-space:nowrap;min-height:42px;padding-inline:14px}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.question-image-preview{border:1px solid var(--line);background:#fff;border-radius:13px;place-items:center;min-height:180px;margin-top:12px;padding:12px;display:grid;overflow:hidden}.question-image-preview img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:260px;display:block}.question-fields{grid-template-columns:2fr 1fr .7fr .9fr;gap:12px;display:grid}.wizard-actions{justify-content:flex-end;gap:10px;display:flex}.toggle-tabs{border:1px solid var(--line);background:var(--soft);border-radius:15px;gap:6px;margin-bottom:18px;padding:5px;display:inline-flex}.toggle-tabs button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:8px;padding:0 16px;font-weight:750;display:inline-flex}.toggle-tabs button[aria-selected=true],.toggle-tabs button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 4px 14px #20252114}.dashboard-mode-toggle{margin-bottom:22px}.dashboard-mode-empty{text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.session-tab-panel{max-width:1040px}.session-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.session-filter-bar select,.session-filter-bar input{border:1px solid var(--line-strong);min-height:42px;color:var(--ink);background:#fff;border-radius:11px;padding:0 12px;font-size:14px}.session-filter-search{border:1px solid var(--line-strong);min-width:200px;color:var(--muted);background:#fff;border-radius:11px;flex:220px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.session-filter-search input{min-height:42px;color:var(--ink);background:0 0;border:0;flex:1;padding:0}.session-filter-search input:focus,.session-filter-bar select:focus,.session-filter-date input:focus{outline:none}.session-filter-search:focus-within,.session-filter-bar select:focus,.session-filter-date input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #356c8d2e}.session-filter-date{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.session-filter-date input{min-height:42px}.session-filter-reset{white-space:nowrap;min-height:42px}.session-filter-pending{color:var(--muted);align-items:center;display:inline-flex}.empty-list{text-align:center;padding:34px}.muted{color:var(--muted)}.eyebrow{color:var(--sage-deep);letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.button{border:1px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--ink);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-weight:750;display:inline-flex}.button:hover{border-color:#aeb9b0}.button.primary{border-color:var(--ink);background:var(--ink);color:#fff}.button.coral{border-color:var(--coral);background:var(--coral);color:#fff}.button.ghost{background:0 0}.button:disabled{cursor:not-allowed;opacity:.55}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.status-pill{background:var(--sage-soft);min-height:30px;color:var(--sage-deep);border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:12px;font-weight:750;display:inline-flex}.status-pill.coral{background:var(--coral-soft);color:var(--coral-deep)}.status-pill.amber{background:var(--amber-soft);color:var(--amber)}.status-pill.blue{background:var(--blue-soft);color:var(--blue)}.status-pill.neutral{background:var(--state-neutral-bg);color:var(--state-neutral-fg)}.login-page{grid-template-columns:minmax(390px,530px) 1fr;min-height:100vh;padding:24px;display:grid}.login-page.single-card{grid-template-columns:minmax(390px,620px);justify-content:center}.login-card{box-shadow:var(--shadow);background:#fff;border-radius:30px;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,72px);display:flex}.brand{align-items:center;gap:11px;font-weight:850;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.login-card h1{max-width:410px;margin:46px 0 10px;font-size:clamp(34px,4vw,48px);line-height:1.04}.login-copy{max-width:410px;color:var(--muted);margin:0 0 28px;line-height:1.6}.role-selector{border:1px solid var(--line);background:var(--soft);border-radius:16px;grid-template-columns:1fr 1fr;gap:8px;padding:6px;display:grid}.role-option{cursor:pointer;background:0 0;border:0;border-radius:11px;min-height:48px;font-weight:750}.role-option[aria-pressed=true]{background:#fff;box-shadow:0 5px 18px #20252117}.field{gap:8px;margin-top:18px;display:grid}.field label{font-size:13px;font-weight:750}.field input{border:1px solid var(--line-strong);background:#fff;border-radius:13px;width:100%;height:52px;padding:0 15px}.password-wrap{position:relative}.password-wrap input{padding-right:54px}.password-toggle{cursor:pointer;background:0 0;border:0;width:46px;height:46px;position:absolute;top:3px;right:3px}.password-criteria{color:var(--muted);margin:-.25rem 0 1rem;padding:0;font-size:.875rem;list-style:none}.password-criteria li{align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.password-criteria .is-met{color:var(--sage-strong)}.mission-recording{gap:.4rem;padding:.65rem 0;display:grid}.mission-recording.is-new{border-left:3px solid var(--coral);padding-left:.65rem}.participant-avatar{background:var(--blue-pale);min-width:2rem;height:2rem;color:var(--blue-strong);border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.75rem;font-weight:700;display:inline-flex}.participant-avatar svg{flex:none}.participant-avatar-initials{font-size:.7rem}.participant-avatar-student{background:var(--sage-soft);color:var(--sage-deep)}.login-submit{width:100%;margin-top:24px}.auth-error{background:var(--danger-soft);color:#7e302f;border:1px solid #efc2c0;border-radius:13px;margin:18px 0 0;padding:12px 14px;font-size:14px}.forgot{text-align:center;color:var(--muted);margin-top:16px;font-size:13px}.login-art{background:linear-gradient(145deg,#e9f1ec 5%,#f8eee7 55%,#e9f2f7);border-radius:30px;align-items:flex-end;padding:56px;display:flex;position:relative;overflow:hidden}.login-art:before,.login-art:after{content:"";border-radius:999px;position:absolute}.login-art:before{background:#df705933;width:460px;height:460px;top:-110px;right:-100px}.login-art:after{background:#547f9d2e;width:360px;height:360px;bottom:-100px;left:-100px}.art-copy{max-width:580px;position:relative}.art-copy blockquote{margin:0;font-size:clamp(28px,3.6vw,52px);font-weight:720;line-height:1.12}.art-copy p{font-weight:700}.app-shell{isolation:auto;grid-template-columns:82px minmax(0,1fr);min-height:100vh;display:grid}.app-shell:has(.workspace-page){height:100dvh;min-height:0;overflow:hidden}.app-rail{border-right:1px solid var(--line);z-index:100;background:#fff;flex-direction:column;align-items:center;height:100vh;padding:20px 10px;display:flex;position:sticky;top:0;overflow:visible}.rail-brand{background:var(--ink);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.rail-nav{gap:9px;margin-top:42px;display:grid}.rail-link{color:#778078;cursor:pointer;background:0 0;border:0;border-radius:15px;place-items:center;width:52px;height:52px;display:grid}.rail-link:hover{background:var(--soft);color:var(--ink)}.rail-link:disabled{cursor:wait;opacity:.6}.rail-link.active{background:var(--sage-soft);color:var(--sage-deep)}.rail-footer{gap:10px;margin-top:auto;display:grid}.student-notifications,.student-notifications .rail-link{position:relative}.rail-badge{background:var(--coral-deep);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:6px;right:6px}.notification-panel{border:1px solid var(--line);z-index:1200;background:#fff;border-radius:14px;width:min(360px,100vw - 92px);max-height:min(440px,100dvh - 120px);padding:12px;position:fixed;bottom:96px;left:76px;overflow:auto;box-shadow:0 18px 48px #0000002e}.notification-panel-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.notification-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notification-panel li a{color:inherit;border-radius:10px;gap:2px;padding:8px;text-decoration:none;display:grid}.notification-panel li.unseen a{background:var(--soft)}.feedback-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.feedback-search{flex:260px;min-width:0}.feedback-table-card{padding:18px 20px 20px}.feedback-table-card .feedback-filters{margin-bottom:14px}.feedback-table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.feedback-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.feedback-table thead th{z-index:1;background:var(--state-neutral-bg);color:var(--state-neutral-fg);text-align:left;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:800;position:sticky;top:0}.feedback-table tbody td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.feedback-table tbody tr:nth-child(2n){background:var(--soft)}.feedback-table tbody tr:hover{background:var(--blue-soft)}.feedback-table tbody tr:last-child td{border-bottom:0}.feedback-cell-when{white-space:nowrap;font-weight:650}.feedback-cell-sub{color:var(--muted);font-size:11px;font-weight:500;display:block}.feedback-kind-pill{border-radius:999px;padding:2px 9px;font-size:11px;font-weight:750;display:inline-block}.feedback-kind-pill.manual{background:var(--blue-soft);color:var(--blue)}.feedback-kind-pill.auto{background:var(--state-neutral-bg);color:var(--state-neutral-fg)}.feedback-cell-details{min-width:0;max-width:420px}.feedback-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.feedback-cell-environment{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:12px;overflow:hidden}.feedback-cell-request code{background:var(--state-neutral-bg);border-radius:6px;padding:2px 6px;font-size:11px}.feedback-status-code{color:var(--muted)}.feedback-screenshot-button{min-height:32px;padding:0 10px;font-size:12px}.feedback-lightbox{border-radius:var(--radius-lg);width:min(92vw,960px);max-height:90vh;box-shadow:var(--shadow);background:#fff;gap:12px;padding:18px 20px;display:grid}.feedback-lightbox-body{place-items:center;min-height:120px;display:grid;overflow:auto}.feedback-lightbox-body img{border:1px solid var(--line);border-radius:10px;max-width:100%;max-height:68vh}.preview-banner{background:var(--amber-soft,#fdf3e3);border:1px solid var(--amber,#e8b34b);border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.page{min-width:0;padding:28px clamp(24px,4vw,58px) 54px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px;display:flex}.page-header h1{margin:4px 0 7px;font-size:clamp(30px,3vw,42px);line-height:1.1}.directory-grid{grid-template-columns:minmax(280px,.7fr) minmax(440px,1.3fr);align-items:start}.directory-grid .card>.button{width:100%;margin-top:20px}.student-row-actions,.header-actions{align-items:center;gap:10px;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:22px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:22px}.card h2,.card h3{margin-top:0}.session-hero{border-radius:var(--radius-xl);background:#fffaf5;min-height:310px;padding:34px;position:relative;overflow:hidden}.hero-pills{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.parts-breakdown{border:1px solid var(--line);border-radius:12px;gap:8px;margin:0;padding:12px;display:grid}.parts-breakdown legend{padding:0 6px;font-weight:700}.parts-row{grid-template-columns:1fr 110px auto;align-items:center;gap:8px;display:grid}.parts-row-authoring{grid-template-columns:1fr 110px auto auto auto}@media (max-width:640px){.parts-row-authoring{grid-template-columns:1fr 90px}}.question-readiness-dialog{max-width:560px}.question-readiness-list{gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.question-readiness-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding-bottom:8px;display:flex}.question-readiness-list li:last-child{border-bottom:0;padding-bottom:0}.parts-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.parts-footer .over-max{color:var(--coral-deep)}.grading-parts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grading-canvas-scene{border:1px solid var(--line);border-radius:12px;height:420px;position:relative;overflow:hidden}.attempt-dock-nav{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.session-hero:after{background:var(--coral-soft);content:"";border-radius:999px;width:240px;height:240px;position:absolute;bottom:-70px;right:-40px}.session-hero>*{z-index:1;position:relative}.session-hero h2{max-width:520px;margin:14px 0 10px;font-size:clamp(30px,4vw,48px);line-height:1.04}.session-hero p{color:#5f665f;max-width:520px;line-height:1.6}.hero-actions{gap:10px;margin-top:25px;display:flex}.metric-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;display:grid}.metric{border:1px solid var(--line);background:#ffffffbf;border-radius:15px;padding:15px}.metric strong{font-size:23px;display:block}.metric span{color:var(--muted);font-size:12px}.stack{gap:16px;display:grid}.attention-item{border:1px solid var(--line);border-radius:15px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.attention-item.help{background:#fffaf8;border-color:#f1c5ba}.attention-icon{background:var(--coral-soft);width:42px;height:42px;color:var(--coral-deep);border-radius:13px;place-items:center;display:grid}.attention-item p{color:var(--muted);margin:3px 0 0;font-size:12px}.text-link{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:750}.section{margin-top:24px}.section-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.session-list{gap:10px;display:grid}.session-list-load-more{text-align:center;color:var(--muted);padding:18px 0 4px;font-size:13px}.session-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px;display:grid}.session-row h3{margin:0 0 5px;font-size:15px}.session-row.has-tutor-comments{border-color:var(--coral);background:var(--coral-soft)}.session-row-attention{color:var(--coral-deep);align-items:center;gap:8px;margin-right:8px;font-size:13px;font-weight:750;display:inline-flex}.home-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.home-mode-toggle{margin-bottom:0}.home-search{border:1px solid var(--line);width:min(300px,100%);min-height:40px;color:var(--muted);background:#fff;border-radius:12px;flex:none;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.home-controls .home-search{flex:none}.home-search input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:none}.home-search:focus-within{border-color:var(--blue)}.home-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:4px;display:grid}.home-session-groups{gap:22px;display:grid}.home-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin:6px 0 16px;display:flex}.home-controls-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.home-controls-select{position:relative}.home-controls select{appearance:none;border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:0 30px 0 34px;font-size:13px;font-weight:650}.home-controls-select>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.home-date-filter input{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:0 10px;font-size:13px}.home-date-filter{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.home-question-group-title{color:var(--muted)}.home-mode-legend{flex-wrap:wrap;gap:16px;margin:0;padding:0 2px;display:flex}.home-mode-legend-item{align-items:center;gap:7px;font-size:12px;font-weight:750;display:inline-flex}.home-mode-legend-item.mode-live-learning{color:var(--coral-deep)}.home-mode-legend-item.mode-practice{color:var(--sage-deep)}.home-mode-legend-item.mode-assessment{color:var(--amber)}.home-mode-dot{background:currentColor;border-radius:999px;flex:none;width:10px;height:10px}.home-session-group-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:800}.home-session-group-title.mode-live-learning{color:var(--coral-deep)}.home-session-group-title.mode-practice{color:var(--sage-deep)}.home-session-group-title.mode-assessment{color:var(--amber)}.home-session-main{min-width:0}.home-session-main .muted{align-items:center;gap:6px;display:inline-flex}.home-session-pills{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-right:10px;display:inline-flex}.home-session-row,.home-question-row,.home-whiteboard-row{grid-template-columns:minmax(0,1fr) auto auto}.home-whiteboard-row h3{align-items:center;gap:8px;margin-bottom:2px;display:flex}.attempt-number-pill{border:1px solid var(--line);background:var(--soft);min-width:30px;min-height:30px;color:var(--ink);border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.home-empty{padding:28px 20px}.home-paged-sentinel{text-align:center;padding:14px 0 4px}.home-attention{margin-bottom:20px}.upcoming-banner{align-content:start;gap:12px;display:grid}.upcoming-banner-toggle{justify-self:start;margin-bottom:0}.upcoming-banner h2{margin:0}.home-status-panes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:18px 0;display:grid}.home-status-pane{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;justify-items:start;gap:2px;padding:16px 18px;transition:box-shadow .14s,border-color .14s,transform .14s;display:grid}.home-status-pane:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.home-status-pane[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.home-status-pane strong{font-size:28px;line-height:1.1}.home-status-pane-label{font-size:14px;font-weight:800}.home-status-pane .muted{font-size:12px}.home-status-pane-icon{background:var(--soft);border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:6px;display:grid}.home-status-pane.tone-coral .home-status-pane-icon{background:var(--coral-soft);color:var(--coral-deep)}.home-status-pane.tone-blue .home-status-pane-icon{background:var(--blue-soft);color:var(--blue)}.home-status-pane.tone-sage .home-status-pane-icon{background:var(--sage-soft);color:var(--sage-deep)}.home-question-card{color:inherit;text-decoration:none}.home-question-card .question-bank-meta-pills{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.tutor-table-card{padding:0}.tutor-table-expander{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:750;display:inline-flex}.tutor-table-expander:hover{color:var(--blue)}.tutor-table-percent{align-items:baseline;gap:6px;display:inline-flex}.tutor-table-percent .muted{font-size:11px}.tutor-table-detail>td{background:var(--soft);padding:16px 18px}.session-mode-pill{background:var(--soft);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:12px;font-weight:750;display:inline-flex}.session-mode-pill.mode-live-learning{background:var(--coral-soft);color:var(--coral-deep)}.session-mode-pill.mode-practice{background:var(--sage-soft);color:var(--sage-deep)}.session-mode-pill.mode-assessment{background:var(--amber-soft);color:var(--amber)}.tutor-table-detail .pulse-matrix{min-width:0}.tutor-table-detail .pulse-matrix-scroll{max-height:420px}.tutor-students-table .pulse-matrix th:first-child{width:220px;max-width:220px}.pulse-ai-indicators i.reviewed{background:var(--blue)}.pulse-ai-indicators i.corrected{background:var(--sage-deep)}.pulse-cell.priority-help{box-shadow:0 0 0 2px var(--coral-deep)}.tutor-comments-card{gap:14px;margin:16px 20px;padding:18px 20px;display:grid}.tutor-comments-card h2{align-items:center;gap:8px;margin:0;font-size:15px;display:inline-flex}.tutor-comments-card p{white-space:pre-wrap;margin:0;line-height:1.55}.progress-track{background:#e8ece8;border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--sage);height:100%}.empty-state,.error-state,.skeleton{text-align:center;place-items:center;min-height:240px;display:grid}.state-icon{background:var(--sage-soft);width:54px;height:54px;color:var(--sage-deep);border-radius:18px;place-items:center;margin:0 auto 16px;display:grid}.skeleton-block{background:#e6ebe6;border-radius:8px;height:18px}.skeleton-block.large{height:180px}.inline-notice{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.inline-notice.amber{background:var(--amber-soft);color:#725016;border-color:#edd39b}.placeholder{text-align:center;place-items:center;min-height:60vh;display:grid}.access-denied{place-items:center;min-height:100vh;padding:30px;display:grid}.access-card{text-align:center;max-width:520px}.portrait-guard{place-items:center;min-height:100dvh;padding:30px;display:grid}@media (max-width:1179px){.app-shell{grid-template-columns:1fr}.app-rail{z-index:20;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;height:60px;padding:6px 14px;position:sticky;top:0}.rail-nav{margin:0 auto;display:flex}.rail-nav .rail-link,.rail-footer .rail-link{width:44px;height:44px}.rail-footer{margin:0;display:flex}.page{padding:25px}.dashboard-grid,.login-page{grid-template-columns:1fr}.login-art{display:none}}@media (max-width:800px){.login-page{padding:0}.login-card{border-radius:0;min-height:100vh}.rail-link{width:44px;height:44px}.app-rail .rail-nav a:nth-child(n+4){display:none}.page-header{display:grid}.metric-row{grid-template-columns:1fr}.page{padding:18px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:1100px){.tutor-audio-shell{width:clamp(290px,30vw,330px)}.tutor-audio-shell.is-collapsed{width:0}}@media (max-width:880px){.tutor-observation-layout{display:block;position:relative}.tutor-observation-layout>.workspace-body{height:100%}.tutor-audio-shell,.tutor-audio-shell.is-collapsed{z-index:9;pointer-events:none;width:auto;position:absolute;inset:0}.audio-panel-launcher{pointer-events:auto;top:12px;right:12px}.audio-panel-launcher span{display:none}.audio-drawer-backdrop{z-index:8;pointer-events:auto;background:#1418173d;border:0;display:block;position:absolute;inset:0}.tutor-audio-panel{z-index:9;border:1px solid var(--line);width:min(360px,100vw - 24px);box-shadow:var(--shadow);pointer-events:auto;border-radius:16px;position:absolute;top:12px;bottom:12px;right:12px}}.workspace-page{overflow-anchor:none;overscroll-behavior:none;background:var(--bg);flex-direction:column;width:100%;min-width:0;height:100dvh;min-height:0;display:flex;overflow:hidden}.workspace-topbar{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:center;gap:14px;min-width:0;min-height:56px;padding:8px 18px;display:flex}.workspace-context{min-width:0}.workspace-context strong{font-size:14px;display:block}.workspace-context span{color:var(--muted);font-size:12px}.workspace-status{overscroll-behavior-inline:contain;scrollbar-width:none;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.workspace-status::-webkit-scrollbar{display:none}.workspace-status .canvas-sync-status{white-space:nowrap;justify-content:center;min-width:184px}.workspace-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.question-header-image .empty-state{display:none}.canvas-stage{overflow-anchor:none;overscroll-behavior:none;background:#fff;border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.canvas-stage-mount{overflow-anchor:none;overscroll-behavior:none;flex:1;min-height:0;position:relative;overflow:hidden}.canvas-stage-mount .canvas-mount{position:absolute;inset:0}.canvas-watcher-badge{z-index:8;border:1px solid var(--line);box-shadow:var(--shadow);color:var(--muted);pointer-events:none;background:#ffffffeb;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 8px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:12px;right:12px}.canvas-watcher-badge .participant-avatar{min-width:1.6rem;height:1.6rem;padding:0 .3rem;font-size:.65rem}.speech-control{z-index:5;box-shadow:var(--shadow);position:absolute;bottom:14px;right:14px}.attempt-dock{border-top:1px solid var(--line);scrollbar-width:thin;background:#fff;justify-content:space-between;align-items:center;gap:10px;min-height:78px;padding:12px 22px;display:flex;overflow-x:auto}.attempt-dock-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}@media (max-height:700px){.attempt-dock{min-height:64px;padding:8px 14px}.workspace-topbar{padding-top:8px;padding-bottom:8px}.canvas-zoom-controls{bottom:8px}}@media (max-width:640px){.notification-panel{width:auto;bottom:96px;left:12px;right:12px}}.help-needed-button.help-requested,.help-needed-button.help-requested:disabled{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-deep);opacity:1}.skip-reason-backdrop{z-index:110;background:#161b1f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.skip-reason-dialog{width:min(480px,100%);box-shadow:var(--shadow);background:#fff;border-radius:20px;gap:18px;padding:24px;display:grid}.skip-reason-dialog h2,.skip-reason-dialog p{margin:0}.skip-reason-options{border:0;gap:10px;padding:0;display:grid}.skip-reason-options label{border:1px solid var(--line);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.skip-reason-options label:has(input:checked){border-color:var(--coral);background:var(--coral-soft)}.skip-reason-options span{gap:3px;display:grid}.skip-reason-options small{color:var(--muted)}.skip-reason-actions{justify-content:flex-end;gap:10px;display:flex}.attempt-status-symbols{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attempt-status-details{min-width:0;color:var(--muted);scrollbar-width:thin;white-space:nowrap;flex:auto;align-items:center;gap:0;font-size:12px;font-weight:650;line-height:1;display:flex;overflow-x:auto}.attempt-detail{flex:none;align-items:center;display:inline-flex}.attempt-detail+.attempt-detail:before{color:var(--line-strong);content:"·";margin:0 7px}.attempt-detail-status{color:var(--ink);font-weight:800}.attempt-detail.blue{color:var(--blue)}.attempt-detail.sage{color:var(--sage-deep)}.attempt-detail.amber{color:var(--amber)}.attempt-detail.coral{color:var(--coral-deep)}.status-symbol{background:var(--sage-soft);width:36px;height:36px;color:var(--sage-deep);border-radius:999px;place-items:center;display:inline-grid}.status-symbol.neutral{background:var(--state-neutral-bg);color:var(--state-neutral-fg)}.status-symbol.blue{background:var(--blue-soft);color:var(--blue)}.status-symbol.sage{background:var(--sage-soft);color:var(--sage-deep)}.status-symbol.amber{background:var(--amber-soft);color:var(--amber)}.status-symbol.coral{background:var(--coral-soft);color:var(--coral-deep)}.canvas-toolbar{z-index:6;border:1px solid var(--line);scrollbar-width:thin;background:#fffffff5;border-radius:11px;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 24px);padding:4px 6px;display:flex;position:absolute;top:68px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 6px 18px #161f191f}.canvas-toolbar-section{flex:none;align-items:center;gap:6px;display:flex}.canvas-toolbar-label{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:650;display:inline-flex}.canvas-toolbar-divider{background:var(--line);flex:0 0 1px;width:1px;height:20px}.canvas-toolbar-group{align-items:center;gap:4px;display:flex}.canvas-toolbar-swatch,.canvas-toolbar-thickness{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:inline-grid}.canvas-toolbar-swatch{background:var(--swatch-color,#fff)}.canvas-toolbar-swatch.active,.canvas-toolbar-thickness.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}.canvas-mount .main-menu-trigger,.canvas-mount .default-sidebar-trigger,.canvas-mount .App-toolbar__extra-tools-trigger,.canvas-mount .App-toolbar__extra-tools-dropdown,.canvas-mount .selected-shape-actions,.canvas-mount .properties-trigger,.canvas-mount .panelColumn,.canvas-mount .App-menu_top__left{display:none!important}.canvas-zoom-controls{z-index:6;border:1px solid var(--line);background:#fffffff5;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 6px 18px #161f191f}.canvas-zoom-controls .icon-button{width:44px;height:44px}.canvas-zoom-label{text-align:center;font-variant-numeric:tabular-nums;min-width:52px;color:var(--ink);font-size:13px;font-weight:650}.canvas-mount .App-menu_top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}.canvas-mount .App-menu_top .shapes-section{grid-column:2;justify-self:center;width:max-content}.canvas-mount .layer-ui__wrapper__top-right .default-sidebar-trigger,.canvas-mount .layer-ui__wrapper__top-right .main-menu-trigger{display:none!important}.presence-chip{background:var(--sage-soft);color:var(--sage-deep);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:750;display:inline-flex}.conflict-card{z-index:9;width:min(480px,100% - 30px);box-shadow:var(--shadow);background:#fffaf0;border:1px solid #e7bf77;border-radius:18px;padding:22px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.conflict-card-actions{flex-wrap:wrap;gap:10px;display:flex}.live-room-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.live-session-workspace{min-width:0}.live-session-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:14px;display:flex}.live-session-toolbar h2{margin:2px 0 0;font-size:24px}.live-session-toolbar-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.live-session-updated{white-space:nowrap}.live-session-group-toggle{margin-bottom:18px}.monitor-feedback{border:1px solid var(--line);border-radius:11px;margin:-2px 0 14px;padding:9px 12px;font-size:13px;font-weight:700}.monitor-feedback.is-success{color:#285c32;background:#eef8f0;border-color:#9bc7a3}.monitor-feedback.is-error{color:#8e3028;background:#fff1ef;border-color:#e5b0aa}.attempt-groups{gap:14px;display:grid}.attempt-group{padding:0}.attempt-group-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:56px;padding:14px 18px;display:flex}.attempt-group-header h3,.attempt-group-header p{margin:0}.attempt-group-header h3{font-size:15px}.attempt-group-header p{color:var(--muted);margin-top:3px;font-size:12px}.attempt-group-header>span{color:var(--muted);white-space:nowrap;font-size:12px}.attempt-group-grid{grid-template-columns:repeat(auto-fill,minmax(220px,270px));gap:12px;padding:16px 18px 18px;display:grid}.attempt-tile{min-width:0;position:relative}.attempt-tile-actions{gap:8px;padding-top:10px;display:flex}.attempt-tile-actions .button{width:100%;min-height:40px}.attempt-tile-surface{border:1px solid var(--line-strong);min-height:286px;color:var(--ink);background:#fff;border-radius:15px;align-content:start;gap:9px;padding:14px;text-decoration:none;transition:transform .14s,box-shadow .14s;display:grid;box-shadow:0 7px 18px #2025210f}.attempt-tile-surface:hover,.attempt-tile-surface:focus-visible{outline:3px solid}@supports (color:color-mix(in lab, red, red)){.attempt-tile-surface:hover,.attempt-tile-surface:focus-visible{outline:3px solid color-mix(in srgb, currentColor 72%, transparent)}}.attempt-tile-surface:hover,.attempt-tile-surface:focus-visible{outline-offset:2px;transform:translateY(-2px);box-shadow:0 12px 28px #20252126}.attempt-tile-surface.signal-wrong{color:#fff;background:#c83f3f;border-color:#a82727}.attempt-tile-surface.signal-stuck{color:#fff;background:#b96816;border-color:#94500c}.attempt-tile-surface.signal-inactive{color:#fff;background:#707772;border-color:#565c58}.attempt-tile-surface.signal-progress{color:#fff;background:#43844e;border-color:#326a3d}.attempt-tile-surface.occupied{cursor:not-allowed;filter:grayscale(.75);opacity:.72}.attempt-tile-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.attempt-tile-heading strong{font-size:14px;line-height:1.3}.attempt-tile-surface>p{opacity:.82;margin:0;font-size:12px}.attempt-question-image{height:124px;color:var(--muted);background:#fff;border:1px solid #ffffff70;border-radius:11px;place-items:center;padding:6px;display:grid;overflow:hidden}.attempt-question-image img{object-fit:contain;width:100%;height:100%;display:block}.attempt-question-image.is-empty{color:inherit;opacity:.78;text-align:center;background:#ffffff2e;border-style:dashed;font-size:11px;font-weight:700}.signal-normal .attempt-question-image{border-color:var(--line)}.signal-normal .attempt-question-image.is-empty{color:var(--muted);background:#fff}.attempt-status-chip,.attempt-signal-label,.attempt-help-badge{border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:4px 7px;font-size:11px;font-weight:800;display:inline-flex}.attempt-status-chip{background:#ffffff3b;flex:none}.signal-normal .attempt-status-chip{background:var(--state-neutral-bg);color:var(--state-neutral-fg)}.attempt-tile-meta{opacity:.82;align-items:center;gap:8px;min-height:18px;font-size:11px;display:flex}.attempt-tile-meta span+span:before{content:"·";margin-right:8px}.attempt-signal-label{background:#ffffff2e;margin-top:auto}.signal-normal .attempt-signal-label{background:var(--soft);color:var(--muted)}.attempt-help-badge{color:var(--coral-deep);background:#fff;position:absolute;bottom:11px;right:11px;box-shadow:0 3px 10px #20252124}.attempt-tile-empty{color:var(--muted);margin-top:auto;font-size:12px;font-weight:700}.attempt-tile.is-unassigned .attempt-tile-surface{background:var(--soft);box-shadow:none;border-style:dashed}.attempt-tile:before{z-index:79;content:"";pointer-events:none;background:#1419155c;display:none;position:fixed;inset:0}.attempt-canvas-overlay{z-index:90;border:1px solid var(--line);max-width:1180px;max-height:760px;color:var(--ink);background:#fff;border-radius:22px;margin:auto;display:none;position:fixed;inset:clamp(72px,9vh,112px) clamp(24px,9vw,150px);overflow:hidden;box-shadow:0 30px 90px #1419154d}.attempt-tile:has(.attempt-tile-surface:hover,.attempt-canvas-overlay:hover):before{display:block}.attempt-tile:has(.attempt-tile-surface:focus-visible,.attempt-canvas-overlay:focus-within):before{display:block}:is(.attempt-tile:has(.attempt-tile-surface:hover,.attempt-canvas-overlay:hover) .attempt-canvas-overlay,.attempt-tile:has(.attempt-tile-surface:focus-visible,.attempt-canvas-overlay:focus-within) .attempt-canvas-overlay){grid-template-rows:auto minmax(0,1fr);display:grid}.attempt-canvas-overlay-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;display:flex}.attempt-canvas-overlay-header h3,.attempt-canvas-overlay-header p{margin:0}.attempt-canvas-overlay-header h3{margin-top:3px}.attempt-canvas-overlay-header div>p:last-child:not(.eyebrow){color:var(--muted);margin-top:3px;font-size:12px}.attempt-overlay-signal{white-space:nowrap;border:1px solid;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.attempt-overlay-signal.signal-wrong{color:#8d2020;background:#ffdfdf;border-color:#a82727}.attempt-overlay-signal.signal-stuck{color:#7d4309;background:#ffebd1;border-color:#b96816}.attempt-overlay-signal.signal-inactive{color:#4b514d;background:#ecefed;border-color:#707772}.attempt-overlay-signal.signal-progress{color:#2d6537;background:#e2f4e5;border-color:#43844e}.attempt-overlay-signal.signal-normal{border-color:var(--line-strong);background:var(--soft);color:var(--muted)}.attempt-canvas-overlay-body{grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:18px;min-height:0;padding:18px;display:grid}.attempt-canvas-open-link{min-width:0;min-height:0;color:inherit;border-radius:14px;text-decoration:none;display:grid;position:relative;overflow:hidden}.attempt-canvas-open-link:focus-visible{outline-offset:3px}.attempt-canvas-open-link.is-occupied{cursor:not-allowed}.attempt-canvas-open-label{z-index:4;background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 20px #14191533}.attempt-canvas-overlay .canvas-preview{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.attempt-canvas-overlay .canvas-preview img,.attempt-canvas-overlay .canvas-preview-empty{object-fit:contain;width:100%;height:100%;min-height:330px}.attempt-live-canvas-preview{border:1px solid var(--line);pointer-events:none;background:#fff;border-radius:14px;min-height:330px;position:relative;overflow:hidden}.attempt-live-canvas-preview .canvas-mount{position:absolute;inset:0}.attempt-no-saved-work{z-index:4;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750;position:absolute;top:14px;left:50%;translate:-50%;box-shadow:0 6px 18px #1419151a}.attempt-preview-loading,.attempt-preview-unavailable{border:1px dashed var(--line-strong);background:var(--soft);min-height:330px;color:var(--muted);border-radius:14px;place-items:center;display:grid}.attempt-preview-loading p,.attempt-preview-unavailable p{margin:0}.attempt-canvas-details{align-content:start;gap:12px;min-height:0;display:grid;overflow:auto}.attempt-canvas-detail-row{flex-wrap:wrap;align-items:center;gap:8px;min-height:32px;display:flex}.attempt-canvas-detail-row .attempt-status-chip{background:var(--state-neutral-bg);color:var(--state-neutral-fg)}.attempt-overlay-hint{margin:0;font-size:12px}.signal-legend{flex-wrap:wrap;gap:8px;display:flex}.signal-legend span{border:0;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750}.signal-legend .wrong{color:#fff;background:#c83f3f}.signal-legend .stuck{color:#fff;background:#b96816}.signal-legend .inactive{color:#fff;background:#707772}.signal-legend .progress{color:#fff;background:#43844e}@media (max-width:980px){.live-session-toolbar,.live-session-toolbar-actions{flex-direction:column;align-items:flex-start}.attempt-canvas-overlay{inset:42px 24px}}@media (max-width:700px){.live-session-group-toggle{display:grid}.attempt-group-grid{grid-template-columns:1fr}.attempt-canvas-overlay{inset:16px}.attempt-canvas-overlay-body{grid-template-columns:1fr;overflow:auto}.attempt-canvas-overlay .canvas-preview img,.attempt-canvas-overlay .canvas-preview-empty,.attempt-live-canvas-preview,.attempt-preview-loading,.attempt-preview-unavailable{min-height:260px}}.live-room-tree{gap:12px;display:grid}.live-room-question-panel{max-height:calc(100vh - 36px);position:sticky;top:18px;overflow:auto}.student-tree-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.student-tree-header{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:16px 20px;font-size:15px;display:flex}.student-tree-header:hover{background:var(--soft)}.student-tree-header strong{flex:1}.student-tree-header .muted{font-size:13px}.student-tree-questions{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:0 20px 20px;display:grid}.attempt-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:13px;padding:18px;display:grid}.question-status-box.signal-wrong{background:#fff0f0;border-color:#d64545}.question-status-box.signal-stuck{background:#fff5e8;border-color:#e18b28}.question-status-box.signal-inactive{background:#f0f1f2;border-color:#84888c}.question-status-box.signal-progress{background:#edf9ee;border-color:#4c9a5a}.question-status-box .canvas-preview{display:none}.question-status-box:hover .canvas-preview,.question-status-box:focus-within .canvas-preview{display:block}.attempt-card.ai-glow-inactive{border-color:#3283e8;box-shadow:0 0 0 3px #3283e83d,0 0 22px #3283e84d}.attempt-card.ai-glow-wrong{border-color:#d64545;box-shadow:0 0 0 3px #d645453d,0 0 22px #d645454d}.ai-signal-list{gap:8px;display:grid}.ai-correctness-banner{border:1px solid var(--line);background:var(--soft);border-radius:14px;align-items:center;gap:14px;margin:12px 20px;padding:14px 16px;display:flex}.ai-correctness-banner.correct{background:#edf9ee;border-color:#4c9a5a}.ai-correctness-banner.incorrect{background:#fff0f0;border-color:#d64545}.ai-correctness-banner.unavailable{background:#f0f1f2;border-color:#84888c}.ai-correctness-banner p{margin:4px 0}.ai-correctness-banner .button{margin-left:auto}.ai-review-summary{margin:0;font-weight:700}.ai-review-summary.correct{color:#2f7540}.ai-review-summary.incorrect{color:#a13030}.ai-signal-item{border:1px solid;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px;display:grid}.ai-signal-item.inactive{color:#4e5752;background:#f0f2f1;border-color:#c5cac7}.ai-signal-item.wrong-path{color:#8e2929;background:#fff0f0;border-color:#efb0b0}.ai-signal-item.stuck{color:#80520d;background:#fff5df;border-color:#efbf74}.ai-signal-item.progress{color:#2f7540;background:#edf8ef;border-color:#9fcea8}.ai-signal-item p,.ai-signal-item small{margin:3px 0 0;display:block}.ai-signal-icon{place-items:center;margin-top:2px;display:grid}.icon-button.small{width:28px;height:28px}.attempt-card img{border:1px solid var(--line);object-fit:contain;border-radius:12px;width:100%;height:140px}.canvas-preview{border:1px solid var(--line);background:#f7f8f6;border-radius:12px;margin:0;position:relative;overflow:hidden}.canvas-preview img,.attempt-card .canvas-preview img{object-fit:contain;border:0;border-radius:0;width:100%;height:140px;display:block}.canvas-preview-empty{height:140px;color:var(--muted);place-items:center;display:grid}.canvas-preview figcaption{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:700;display:flex}.canvas-preview figcaption span{align-items:center;gap:5px;display:inline-flex}.preview-current figcaption{color:var(--sage-deep)}.preview-stale{border-color:#d89a32}.preview-stale figcaption{background:var(--amber-soft);color:#725016}.preview-offline,.preview-unavailable{filter:saturate(.55)}.observation-layout{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 74px);display:grid}.session-change-banner{color:#174f7a;background:#edf7ff;border:1px solid #b9d8ee;border-radius:14px;align-items:center;gap:10px;max-width:1180px;margin:0 auto 16px;padding:10px 12px;display:flex}.session-change-banner .icon-button{margin-left:auto}.icon-button.compact{border-radius:9px;width:32px;height:32px;min-height:32px}.session-controls{max-width:1180px;margin:0 auto 22px;position:relative}.session-control-buttons{flex-wrap:wrap;gap:10px;display:flex}.button.secondary{background:#fff}.button.danger{color:#8e2929;background:#fff3f3;border-color:#c83e3e}.session-control-panel{border:1px solid var(--line-strong);background:#fff;border-radius:16px;gap:14px;width:min(520px,100%);margin-top:12px;padding:18px;display:grid;box-shadow:0 18px 50px #20252121}.question-reorder-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.question-reorder-list li{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:6px 8px 6px 13px;display:flex}.form-error{color:#9b2c2c;margin:0}.control-room-attention{flex-wrap:wrap;gap:9px;margin:0 0 20px;display:flex}.control-session-hero{justify-content:space-between;align-items:flex-end;gap:24px;min-height:0;padding:28px 32px;display:flex}.control-session-hero h2{font-size:clamp(27px,3vw,38px)}.control-session-hero .hero-actions{flex:none}.session-detail-row{flex-wrap:wrap;gap:9px 16px;margin-top:18px;display:flex}.session-detail-row span{color:#515b53;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.control-room-section{margin-top:28px}.attention-count{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:13px;font-weight:750;display:inline-flex}.attention-count.help,.attention-count.wrong{color:#8e2929;background:#fff0f0;border-color:#efb0b0}.attention-count.inactive{color:#185c9e;background:#edf7ff;border-color:#8ecbff}.control-room-layout{align-items:start;gap:24px;display:grid}.control-room-layout h2{margin:2px 0 0}.control-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.control-preview-card{border:2px solid var(--line);background:#fff;border-radius:17px;gap:10px;height:100%;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}a:hover>.control-preview-card{transform:translateY(-2px)}.control-preview-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.control-preview-heading>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attempt-state-label{background:#ffffffc7;border-radius:999px;flex:none;align-items:center;gap:4px;padding:5px 7px;font-size:10px;font-weight:800;display:inline-flex}.status-completed{--attempt-fill:#dff3e5;--attempt-border:#63a876;--attempt-ink:#255f36}.status-skipped{--attempt-fill:#fff0d6;--attempt-border:#e49a2e;--attempt-ink:#774d0d}.status-needs_help{--attempt-fill:#ffe1e1;--attempt-border:#df5353;--attempt-ink:#812424}.status-reattempting{--attempt-fill:#eee2ff;--attempt-border:#9360cf;--attempt-ink:#5c2d91}.status-in_progress{--attempt-fill:#dceeff;--attempt-border:#548ec4;--attempt-ink:#174f7a}.status-not_started,.status-abandoned{--attempt-fill:#fff;--attempt-border:#c9d2ca;--attempt-ink:#687169}.control-preview-card[class*=status-]{border-color:var(--attempt-border);background:var(--attempt-fill);color:var(--attempt-ink)}.control-preview-card.ai-glow-inactive,.pulse-cell.ai-glow-inactive{box-shadow:0 0 0 3px #fff,0 0 0 7px #2d9cff,0 0 20px 8px #2d9cff61}.control-preview-card.ai-glow-wrong,.pulse-cell.ai-glow-wrong{box-shadow:0 0 0 3px #fff,0 0 0 7px #e33333,0 0 20px 8px #e3333352}.control-preview-card.priority-help,.pulse-cell.priority-help{border-color:#c92525;box-shadow:0 0 0 3px #c9252533}.ai-overlay-labels{flex-wrap:wrap;gap:5px;min-height:22px;display:flex}.ai-overlay-labels span{background:#fff;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:850}.ai-overlay-labels .inactive{color:#1264a3}.ai-overlay-labels .wrong{color:#a02020}.room-pulse-panel{border:1px solid var(--line);background:#fff;border-radius:20px;min-width:0;padding:16px}.pulse-matrix-scroll{border:1px solid var(--line);border-radius:13px;max-height:560px;overflow:auto}.pulse-matrix{border-spacing:0;width:max-content;min-width:100%}.pulse-matrix th,.pulse-matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;background:#fff;height:48px;padding:5px}.pulse-matrix thead th{z-index:3;background:#f6f8f5;min-width:48px;font-size:12px;position:sticky;top:0}.pulse-matrix th:first-child{z-index:2;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:138px;max-width:138px;padding:5px 10px;position:sticky;left:0;overflow:hidden}.pulse-matrix thead th:first-child{z-index:4}.pulse-cell{border:2px solid var(--attempt-border);background:var(--attempt-fill);width:36px;height:36px;color:var(--attempt-ink);border-radius:8px;place-items:center;margin:auto;display:grid;position:relative}.pulse-cell:focus-visible{outline-offset:2px;outline:3px solid #152d3d}.pulse-ai-indicators{gap:2px;display:flex;position:absolute;top:-7px;right:-7px}.pulse-ai-indicators i{color:#fff;background:#2d9cff;border:1px solid #fff;border-radius:50%;place-items:center;width:14px;height:14px;font-size:8px;font-style:normal;font-weight:900;display:grid}.pulse-ai-indicators i.wrong{background:#d82d2d}.attempt-legend{flex-wrap:wrap;gap:8px 13px;margin-top:14px;display:flex}.attempt-legend>span{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.legend-swatch{border:2px solid var(--attempt-border);background:var(--attempt-fill);width:20px;height:20px;color:var(--attempt-ink);border-radius:5px;place-items:center;font-style:normal;display:grid}.legend-glow{background:#fff;border:2px solid #fff;border-radius:5px;width:17px;height:17px;box-shadow:0 0 0 2px #2d9cff}.legend-glow.wrong{box-shadow:0 0 0 2px #e33333}.matrix-keyboard-hint{margin-bottom:0;font-size:11px}@media (min-width:1280px){.control-room-layout{grid-template-columns:minmax(620px,1.7fr) minmax(410px,1fr)}.room-pulse-panel{position:sticky;top:20px}}@media (max-width:760px){.control-session-hero{flex-direction:column;align-items:stretch}.control-session-hero .hero-actions{flex-wrap:wrap}.control-preview-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.control-preview-card{transition:none}a:hover>.control-preview-card{transform:none}}@media (max-width:1366px){.workspace-topbar,.attempt-dock{gap:10px;padding-left:14px;padding-right:14px}.icon-button{width:44px;height:44px}.canvas-toolbar-label{display:none}.canvas-toolbar-swatch,.canvas-toolbar-thickness{width:44px;height:44px}.canvas-toolbar{top:64px}.canvas-mount .excalidraw-button,.canvas-mount .ToolIcon_type_button,.canvas-mount .zoom-actions button,.canvas-mount .footer-center button{min-width:44px;min-height:44px}.tutor-markscheme-column,.markscheme-sidebar{width:min(34vw,440px);min-width:280px}}@media (max-width:1179px){.app-shell:has(.workspace-page){grid-template-rows:60px minmax(0,1fr)}.workspace-page{height:calc(100dvh - 60px);min-height:0}.app-rail{height:60px;padding:6px 14px}.workspace-topbar{min-height:52px;padding-top:6px;padding-bottom:6px}.workspace-status{gap:8px}.canvas-toolbar{top:60px}.workspace-topbar{flex-wrap:wrap;row-gap:6px}.workspace-status{flex-wrap:wrap}.workspace-status .canvas-sync-status{min-width:0}}@media (max-width:1023px) and (orientation:landscape){.workspace-topbar,.attempt-dock{gap:8px;padding-left:10px;padding-right:10px}.canvas-stage{min-height:0}.workspace-page:before{background:var(--amber-soft);color:#725016;text-align:center;content:"For the best drawing experience, use a landscape viewport at least 1024px wide.";padding:10px;display:block}}@media (max-width:820px){.workspace-context span,.canvas-toolbar-label{display:none}.status-symbol{width:32px;height:32px}}.button.danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.cohort-controls,.student-topbar-audio,.mission-actions,.session-title-editor{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-title-editor input{border:1px solid var(--line-strong);min-height:40px;color:var(--ink);background:#fff;border-radius:11px;padding:0 12px;font-size:20px;font-weight:750}.session-title-edit{vertical-align:middle;margin-left:8px}.student-topbar-audio .speech-control,.student-topbar-audio .student-audio-bubble{box-shadow:none;position:static}.modal-backdrop,.question-navigation-backdrop,.mission-control-backdrop{z-index:80;background:#171f1a85;border:0;place-items:center;display:grid;position:fixed;inset:0}.cohort-control-dialog,.question-navigation-dialog{width:min(720px,100vw - 32px);max-height:min(820px,100vh - 32px);box-shadow:var(--shadow);position:relative;overflow:auto}.cohort-control-dialog{gap:18px;display:grid}.cohort-control-dialog>h2,.cohort-control-dialog>p{margin:0}.cohort-control-dialog>p+p{margin-top:-6px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;display:flex}.manage-cohort-dialog{gap:22px;display:grid}.manage-cohort-heading h2,.manage-cohort-section h3{margin:0}.manage-cohort-heading p,.manage-cohort-section-heading p{margin:5px 0 0}.manage-cohort-section{border:1px solid var(--line);background:var(--soft);border-radius:16px;gap:12px;padding:16px;display:grid}.manage-cohort-section-heading,.manage-cohort-row,.manage-cohort-savebar{align-items:center;gap:12px;display:flex}.manage-cohort-section-heading{justify-content:space-between}.manage-cohort-section-heading h3{font-size:16px}.manage-cohort-section-heading p,.manage-cohort-savebar .muted{font-size:13px}.manage-cohort-list{gap:8px;display:grid}.manage-cohort-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:54px;padding:8px 10px}.manage-cohort-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.manage-cohort-index,.manage-student-avatar{background:var(--ink);color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.manage-student-avatar{background:var(--sage-soft);color:var(--sage-deep);border-radius:50%}.manage-cohort-row-actions,.manage-remove-button{margin-left:auto}.manage-cohort-row-actions{gap:6px;display:flex}.danger-icon{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.danger-icon{border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}}.danger-icon{color:var(--danger)}.manage-cohort-savebar{justify-content:space-between;padding-top:4px}.manage-cohort-savebar .button{width:auto}@media (max-width:520px){.manage-cohort-section-heading,.manage-cohort-savebar{flex-direction:column;align-items:flex-start}.manage-cohort-savebar .button{width:100%}}.dialog-close{z-index:2;position:absolute;top:14px;right:14px}.check-list,.mission-attempt-list{border:1px solid var(--line);border-radius:14px;gap:8px;max-height:260px;padding:12px;display:grid;overflow:auto}.check-list label,.mission-attempt-list label{border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.mission-attempt-list .mission-select-all{border-bottom:1px solid var(--line);border-radius:0;margin-bottom:2px}.check-list label:hover,.mission-attempt-list label:hover{background:var(--soft)}.question-canvas-composer{border:1px solid var(--line-strong);border-radius:16px;height:380px;position:relative;overflow:hidden}.question-canvas-composer .canvas-mount{position:absolute;inset:0}.question-navigation{position:relative}.question-navigation-dialog{background:#fff;padding:22px}.question-navigation-list{gap:9px;display:grid}.question-navigation-group{border:1px solid var(--line);background:var(--card,#fff);border-radius:13px;gap:9px;padding:12px;display:grid}.question-navigation-group-title{font-size:13px}.question-navigation-state{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.question-navigation-item{border:1px solid var(--line);background:var(--state-neutral-bg);color:var(--state-neutral-fg);text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.question-navigation-item span,.mission-item span,.mission-attempt-list span{display:grid}.question-navigation-item small,.mission-item span,.mission-attempt-list small{color:inherit;opacity:.82}.question-navigation-item.selected{outline-offset:1px;outline:3px solid}.question-navigation-item.state-in_progress{background:var(--blue-soft);color:var(--blue)}.question-navigation-item.state-completed{background:var(--sage-soft);color:var(--sage-deep)}.question-navigation-item.state-deferred{background:var(--amber-soft);color:var(--amber)}.question-navigation-item.state-incomplete{background:var(--coral-soft);color:var(--coral-deep)}.mission-control-launcher{z-index:61;background:var(--ink);color:#fff;box-shadow:var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border:1px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;display:flex;position:fixed;bottom:20px;right:20px}.mission-control-launcher:active{cursor:grabbing}.mission-control-launcher.above-attempt-dock{bottom:98px}.audio-unread-count{background:var(--coral-soft);min-width:22px;height:22px;color:var(--coral-deep);border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid}.mission-control-drawer{z-index:82;border-left:1px solid var(--line);width:min(440px,100vw);height:100dvh;box-shadow:var(--shadow);background:#fff;padding:20px;position:fixed;top:0;right:0;overflow:auto}.mission-control-drawer[hidden]{display:none}@media (min-width:900px){.app-shell:has(.mission-control-shell.is-open)>main{margin-right:440px;transition:margin-right .18s}.mission-control-backdrop{display:none}}.mission-section{border-top:1px solid var(--line);gap:10px;padding:16px 0;display:grid}.mission-section h3{align-items:center;gap:8px;margin:0;display:flex}.mission-item{background:var(--coral-soft);color:var(--coral-deep);border-radius:13px;gap:10px;padding:12px;display:grid}.mission-item.help-acknowledged{background:var(--amber-soft);color:var(--amber)}.mission-section audio{width:100%}.mission-section audio.is-new{outline:3px solid var(--coral);outline-offset:3px;border-radius:8px}.cohort-whiteboard-page{height:100dvh}.whiteboard-students-menu{position:relative}.whiteboard-students-trigger{cursor:pointer}.whiteboard-students-trigger span{color:#fff;background:currentColor;border-radius:999px;place-items:center;min-width:30px;height:18px;font-size:11px;font-weight:800;display:grid}.whiteboard-students-dropdown{z-index:70;border:1px solid var(--line);background:var(--surface);min-width:210px;box-shadow:var(--shadow);border-radius:14px;gap:7px;padding:12px;display:grid}.whiteboard-students-dropdown>strong{padding:2px 4px 6px;font-size:13px}.whiteboard-student-item{text-align:left;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:9px;padding:6px 4px;font-size:14px;display:flex}.whiteboard-student-item:hover{background:var(--soft)}.whiteboard-student-item.selected{border-color:var(--sage);background:var(--sage-soft)}.whiteboard-student-item.selected strong{color:var(--sage-deep)}.whiteboard-student-item>span:last-child{gap:1px;display:grid}.whiteboard-student-item small{color:var(--muted)}.whiteboard-students-popover{max-height:min(420px,100dvh - 24px);position:fixed;overflow-y:auto}.whiteboard-selected-student{text-overflow:ellipsis;white-space:nowrap;background:var(--surface);border:1px solid var(--sage);border-radius:999px;max-width:160px;padding:2px 8px;font-weight:700;overflow:hidden}.whiteboard-students-dropdown .muted{margin:0;padding:4px;font-size:13px}.immersive-workspace .app-shell{grid-template-columns:minmax(0,1fr)}.immersive-workspace .app-rail,.immersive-workspace .tutor-observation-layout>.tutor-audio-panel{display:none!important}.immersive-workspace .workspace-page{z-index:60;width:100vw;height:100dvh;min-height:100dvh;position:fixed;inset:0}.immersive-workspace .workspace-topbar{min-height:54px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.question-bank-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px;padding:16px 18px 18px;display:grid}.question-bank-filters-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:24px;margin-bottom:2px;display:flex}.question-bank-filters-head .muted{letter-spacing:.02em;text-transform:uppercase;font-size:13px;font-weight:700}.question-bank-filters-head .text-link{border-radius:9px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.question-bank-filters-head .text-link:hover{background:var(--soft)}.question-bank-filters .field{margin-top:0}.filter-group{gap:6px;display:grid;position:relative}.filter-group-label{font-size:13px;font-weight:750}.filter-trigger{border:1px solid var(--line-strong);width:100%;min-height:46px;color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;display:flex}.filter-trigger-value{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filter-trigger-value.active{color:var(--ink);font-weight:700}.filter-menu{z-index:30;border:1px solid var(--line);width:100%;min-width:200px;max-height:280px;box-shadow:var(--shadow);background:#fff;border-radius:13px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.filter-menu-empty{color:var(--muted);margin:0;padding:10px 12px;font-size:13px}.filter-option{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.filter-option:hover{background:var(--soft)}.filter-option input{opacity:0;width:1px;height:1px;position:absolute}.filter-checkbox{border:1px solid var(--line-strong);color:#fff;background:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;display:grid}.filter-option input:checked+.filter-checkbox{border-color:var(--sage);background:var(--sage)}.filter-option input:focus-visible+.filter-checkbox{outline-offset:2px;outline:3px solid #356c8d}.filter-option-label{font-size:13px}.filter-clear{border:0;border-top:1px solid var(--line);color:var(--coral-deep);text-align:left;cursor:pointer;background:0 0;border-radius:0;margin-top:4px;padding:8px 10px;font-size:13px;font-weight:750}.filter-clear:hover{background:var(--coral-soft)}.question-bank-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.question-bank-card-wrap{position:relative}.question-bank-select{z-index:2;border:1px solid var(--line-strong);background:var(--surface);color:#0000;cursor:pointer;border-radius:999px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:10px;left:10px;box-shadow:0 1px 4px #20252124}.question-bank-select input{opacity:0;position:absolute}.question-bank-select.selected{border-color:var(--sage);background:var(--sage);color:#fff}.question-bank-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer;gap:0;padding:0;transition:box-shadow .14s,transform .14s;display:grid;overflow:hidden}.question-bank-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.question-bank-thumb{border-bottom:1px solid var(--line);background:#fff;place-items:center;min-height:180px;display:grid;overflow:hidden}.question-bank-thumb img{object-fit:contain;object-position:top center;width:100%;height:180px;display:block}.question-bank-thumb>span{place-items:center;width:100%;height:180px;display:grid}.question-bank-meta{gap:6px;padding:14px;display:grid}.question-bank-meta strong{font-size:14px}.question-bank-meta>span{color:var(--muted);font-size:12px}.question-bank-meta .status-pill{justify-self:start}.question-bank-meta-pills{flex-wrap:wrap;gap:6px;display:flex}.question-bank-load-more{color:var(--muted);text-align:center;padding:20px;font-size:13px}.qc-segmented{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.qc-segment{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.qc-segment.active{background:var(--sage-soft);color:var(--sage-deep)}.question-bank-lightbox{z-index:90;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.question-bank-lightbox-backdrop{background:#161b188c;position:absolute;inset:0}.question-bank-lightbox-panel{border-radius:var(--radius-xl);width:min(960px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.question-bank-lightbox-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.question-bank-lightbox-header h2{margin:0 0 4px;font-size:20px}.question-bank-lightbox-header p{margin:0}.question-bank-lightbox-body{background:#f6f8f6;flex:1;place-items:center;min-height:0;padding:20px;display:grid;overflow:auto}.question-bank-lightbox-body img{border-radius:8px;max-width:100%;height:auto;display:block;box-shadow:0 4px 20px #2025211a}.question-bank-asset-gallery{justify-items:center;gap:20px;width:100%;display:grid}.question-bank-marks-editor{border:1px solid var(--line);background:var(--surface);border-radius:10px;place-self:start center;width:100%;max-width:640px;padding:16px}.phone-upload{text-align:center;justify-items:center;gap:1rem;max-width:480px;margin:0 auto;padding:2rem 1.25rem;display:grid}.phone-upload-button{cursor:pointer;position:relative;overflow:hidden}.phone-upload-button input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.phone-upload-done{color:var(--sage);justify-items:center;gap:.5rem;display:grid}.phone-upload-queue{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.phone-upload-queue li{aspect-ratio:3/4;position:relative}.phone-upload-queue img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%;height:100%}.phone-upload-queue li .button{background:var(--paper);border-radius:999px;min-height:0;padding:2px;position:absolute;top:2px;right:2px}.attempt-gallery{gap:6px;padding:8px 12px;display:grid}.attempt-gallery h3{color:var(--ink-soft,inherit);align-items:center;gap:6px;margin:0;font-size:.85rem;display:flex}.attempt-gallery-strip{gap:8px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.attempt-gallery-item{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;width:72px;height:72px;padding:0;position:relative;overflow:hidden}.attempt-gallery-item:disabled{cursor:default;opacity:.6}.attempt-gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.attempt-gallery-placeholder{place-items:center;width:100%;height:100%;display:grid}.attempt-gallery-badge{background:var(--paper);border:1px solid var(--line);border-radius:999px;place-items:center;padding:2px;display:grid;position:absolute;bottom:2px;right:2px}.phone-upload-qr{justify-items:center;gap:.6rem;display:grid}.phone-upload-qr img{background:#fff;border-radius:10px;padding:8px}.spin{animation:1s linear infinite spin}.markscheme-editor{border-top:1px solid var(--line);padding-top:.9rem}.markscheme-page-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.markscheme-page{border:1px solid var(--line);border-radius:10px;justify-items:center;gap:.4rem;padding:.5rem;display:grid}.markscheme-page img{border-radius:6px;max-width:100%;height:auto}.markscheme-pdf-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.question-bank-gallery-item{display:inline-grid;position:relative}.question-bank-section-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.question-bank-image-delete{background:var(--surface);color:var(--coral);border:1px solid var(--line);box-shadow:var(--shadow);position:absolute;top:10px;right:10px}.question-bank-image-delete:hover{border-color:var(--coral)}.question-bank-asset-gallery h3{width:100%;color:var(--muted);text-transform:uppercase;margin:12px 0 -4px;font-size:14px}.question-bank-lightbox-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.pdf-crop-backdrop{z-index:100;background:#161b188c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.pdf-crop-panel{border-radius:var(--radius-xl);width:min(1100px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);background:#fff;flex-direction:column;display:flex;overflow:hidden}.pdf-crop-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.pdf-crop-header h2{margin:0 0 4px;font-size:20px}.pdf-crop-header p{margin:0}.pdf-crop-toolbar{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:14px;padding:12px 22px;display:flex}.pdf-crop-page{color:var(--muted);font-size:13px;font-weight:700}.pdf-crop-body{background:#f6f8f6;flex:1;place-items:center;min-height:0;padding:20px;display:grid;overflow:auto}.pdf-crop-canvas-wrap{display:inline-block;position:relative;box-shadow:0 4px 20px #2025211f}.pdf-crop-canvas{cursor:crosshair;touch-action:none;display:block}.pdf-crop-rect{border:2px solid var(--coral);pointer-events:none;background:#9f2d201f;position:absolute}.pdf-crop-loading{color:var(--muted);background:#fff9;place-items:center;display:grid;position:absolute;inset:0}.pdf-crop-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:12px;padding:14px 22px;display:flex}.pdf-crop-pending{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;padding:12px 22px;display:flex}.pdf-crop-pending-item{display:inline-grid;position:relative}.pdf-crop-pending-item img{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:8px;max-width:120px;max-height:90px}.pdf-crop-pending-item .icon-button{background:var(--surface);color:var(--coral);border:1px solid var(--line);box-shadow:var(--shadow);position:absolute;top:-7px;right:-7px}.upload-dropzone{border:1px dashed var(--line-strong);border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin-bottom:10px;padding:18px;display:flex}.upload-dropzone input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.roster-row{border-radius:8px;grid-template-columns:70px 1fr 2fr;gap:8px;padding:6px 10px;font-size:13px;display:grid}.roster-row-duplicate{background:var(--amber-soft)}.roster-row-invalid,.roster-row-error{background:var(--coral-soft)}.grading-table-wrap{overflow-x:auto}.grading-table{border-collapse:collapse;min-width:480px}.grading-table th,.grading-table td{border:1px solid var(--line);text-align:center;padding:4px;font-size:13px}.grading-table thead th{background:var(--state-neutral-bg)}.grading-table tbody th{text-align:left;white-space:nowrap;font-weight:600}.grading-cell{background:var(--state-neutral-bg);cursor:pointer;border:1px solid #0000;border-radius:8px;min-width:64px;padding:6px 8px}.grading-cell.graded{background:var(--sage-soft);color:var(--sage-deep)}.grading-cell.selected{border-color:#356c8d;outline:none}.grading-split{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.grading-scheme img,.grading-canvas img{border:1px solid var(--line);border-radius:10px;width:100%;height:auto;margin-top:8px}.grading-entry{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.grading-entry input{width:110px}.grading-total{white-space:nowrap}.grading-table tfoot td,.grading-table tfoot th{background:var(--state-neutral-bg);font-weight:600}.past-review-attempt{align-items:center;gap:6px;display:flex}.reading-countdown{border:2px solid var(--coral);background:var(--coral-soft);color:var(--coral-deep);font-variant-numeric:tabular-nums;border-radius:16px;justify-items:center;gap:2px;padding:14px 22px;display:grid}.reading-countdown span{font-size:44px;font-weight:800;line-height:1}.reading-countdown small{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.reading-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.reading-card{align-items:flex-start;gap:12px;display:flex}.reading-card.prioritized{outline:2px solid var(--sage)}.reading-card img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:110px;height:84px}.reading-thumb-button{cursor:zoom-in;background:0 0;border:none;border-radius:8px;padding:0;line-height:0}.reading-thumb-button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.reading-gallery{gap:6px;max-width:240px;padding-bottom:2px;display:flex;overflow-x:auto}.reading-thumb-empty{background:var(--state-neutral-bg);border-radius:8px;width:110px;height:84px}.reading-card-body{flex-direction:column;gap:6px;display:flex}.reading-lightbox{z-index:90;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reading-lightbox-backdrop{background:#161b188c;position:absolute;inset:0}.reading-lightbox-panel{border-radius:var(--radius-xl);width:min(960px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.reading-lightbox-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.reading-lightbox-body{background:#f6f8f6;flex:1;place-items:center;min-height:0;padding:20px;display:grid;overflow:auto}.reading-lightbox-body img{border-radius:8px;max-width:100%;height:auto;display:block;box-shadow:0 4px 20px #2025211a}.settings-profile{align-items:center;gap:14px;margin-top:14px;display:flex}.settings-profile .participant-avatar{min-width:2.75rem;height:2.75rem}.settings-profile-name{margin:0;font-weight:600}.settings-profile .muted{margin:2px 0 0;font-size:13.5px}.open-pdf-control{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.open-pdf-control .field-error{margin:0;font-size:12.5px}.open-pdf-link{align-items:center;gap:6px;display:inline-flex}.question-bank-bulk{z-index:5;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:14px;margin-top:20px;padding:12px 16px;display:flex;position:sticky;bottom:18px}.question-bank-bulk .field-error{margin:0}.imported-images{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.imported-images img{object-fit:contain;object-position:top center;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;width:150px;height:110px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}