:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--paper-raised:#fff;--paper-sunken:#f4f4f5;--ink:#1a1a19;--ink-muted:#545350;--ink-faint:#8a8884;--rule:#e6e5e3;--rule-strong:#cdcbc7;--accent-ink:#101010;--swatch-green:#61c554;--swatch-lime:#b2e458;--swatch-red:#ed6a5e;--swatch-yellow:#f2c24b;--swatch-purple:#9d81fe;--warn:#9a5b00;--warn-soft:#fdf2e0;--danger:#a83426;--danger-ink:#fff;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--shadow-soft:0 1px 2px #1a1a190f, 0 10px 30px #1a1a1914;--stage:#121316;--stage-raised:#1b1c20;--stage-ink:#ece9e3;--stage-ink-muted:#a5a29b;--stage-ink-faint:#75726c;--stage-rule:#2f3238;--stage-sunken:#0d0e10;--stage-void:#000;--stage-scrim:#000000d9;--stage-plate:#000000b8;--stage-backdrop:#000000b3;--annotation-ink:#e0533c;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--font-ui:system-ui, sans-serif;--font-mono:ui-monospace, sfmono-regular, menlo, monospace;--text-xs:.7rem;--text-sm:.8rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.15rem;--text-2xl:1.75rem;--leading-tight:1.2;--leading-normal:1.5;--measure:34rem;--ease-quiet:cubic-bezier(.32, .08, .24, 1);--dur-fast:.12s;--focus-ring:0 0 0 2px var(--paper), 0 0 0 4px var(--accent)}:root,:root[data-primary=green]{--primary:var(--swatch-green);--accent:#3a7632;--accent-soft:#e9f7e7;--primary-soft-grey:#e6f0e5;--primary-soft-dark:#1f2f20;--region-wash:#61c5541f}:root[data-primary=lime]{--primary:var(--swatch-lime);--accent:#58712c;--accent-soft:#f4fbe8;--primary-soft-grey:#eef3e5;--primary-soft-dark:#2c3421;--region-wash:#b2e4581f}:root[data-primary=red]{--primary:var(--swatch-red);--accent:#ab4c44;--accent-soft:#fceae8;--primary-soft-grey:#f4e7e6;--primary-soft-dark:#352122;--region-wash:#ed6a5e1f}:root[data-primary=yellow]{--primary:var(--swatch-yellow);--accent:#806628;--accent-soft:#fdf6e6;--primary-soft-grey:#f5f0e4;--primary-soft-dark:#362f1e;--region-wash:#f2c24b1f}:root[data-primary=purple]{--primary:var(--swatch-purple);--accent:#6f5bb4;--accent-soft:#f1edff;--primary-soft-grey:#ece9f6;--primary-soft-dark:#28253b;--region-wash:#9d81fe1f}:root[data-theme=grey]{--paper:#f5f5f5;--paper-raised:#fff;--paper-sunken:#ebebeb;--rule:#dedcd8;--rule-strong:#c6c4c0;--accent-soft:var(--primary-soft-grey)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#121316;--paper-raised:#1b1c20;--paper-sunken:#0d0e10;--ink:#ece9e3;--ink-muted:#a5a29b;--ink-faint:#75726c;--rule:#2a2c31;--rule-strong:#3c3f46;--accent:var(--primary);--accent-soft:var(--primary-soft-dark);--warn:#f5a623;--warn-soft:#33260f;--danger:#e0533c;--shadow-soft:0 1px 2px #0006, 0 10px 30px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#121316;--ink:#ece9e3}}.surface-stage{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--paper);color:var(--ink);--paper:var(--stage);--paper-raised:var(--stage-raised);--paper-sunken:var(--stage-sunken);--ink:var(--stage-ink);--ink-muted:var(--stage-ink-muted);--ink-faint:var(--stage-ink-faint);--rule:var(--stage-rule);--rule-strong:var(--stage-rule);--accent:var(--primary);--accent-soft:var(--primary-soft-dark);--warn:#f5a623;--warn-soft:#33260f;--danger:#e0533c;--focus-ring:0 0 0 2px var(--stage), 0 0 0 4px var(--accent)}:root{--face-tile-height:5rem;--face-tile-aspect:16 / 9;--work-min-height:480px}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);line-height:var(--leading-normal);margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar,.calibration-notice,.controls{flex:none}.workarea{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.child-view,.tutor-host,.face-stage{flex-direction:column;flex:1;min-height:0;display:flex}.page{z-index:5;padding:var(--space-5) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));background:var(--paper);position:absolute;inset:0;overflow-y:auto}.page>*{max-width:44rem;margin-inline:auto}.page-title{margin:0 0 var(--space-2);font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:600}.page-intro{margin:0 0 var(--space-5);max-width:var(--measure);color:var(--ink-muted);line-height:var(--leading-normal)}.session-dock{--dock-inset:var(--space-4);--dock-width:min(22rem, calc(100vw - 2 * var(--space-4)));--dock-height:15rem;right:var(--dock-inset);bottom:var(--dock-inset);z-index:7;width:var(--dock-width);height:var(--dock-height);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:0 0;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;overflow:hidden}.session-dock-hit{cursor:pointer;flex:1;min-height:0}.session-dock-bar{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--paper);border-top:1px solid var(--rule);flex:none;display:flex}.session-dock-dot{border-radius:var(--radius-pill);background:var(--accent);flex:none;width:.5rem;height:.5rem}.session-dock-clock{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-muted);flex:none;margin-right:auto}.session-dock-button{min-width:0;padding:var(--space-1);color:var(--ink);border:1px solid var(--rule);background:0 0}.session-dock-button .icon-button-glyph{width:1.15rem;height:1.15rem}.workarea[data-docked=true]>.child-view,.workarea[data-docked=true]>.tutor-host,.workarea[data-docked=true]>.face-stage{right:var(--space-4);bottom:var(--space-4);z-index:6;width:min(22rem, calc(100vw - 2 * var(--space-4)));border-radius:var(--radius-lg);pointer-events:none;flex:none;height:15rem;position:absolute;overflow:hidden}.workarea[data-docked=true] .dewarp-panel,.workarea[data-docked=true] .publish-panel,.workarea[data-docked=true] .handle-layer,.workarea[data-docked=true] .raw-panel canvas,.workarea[data-docked=true] .region-layer,.workarea[data-docked=true] .annotation-layer,.workarea[data-docked=true] .tutor-faces,.workarea[data-docked=true] .tutor-controls,.workarea[data-docked=true] .tutor-side,.workarea[data-docked=true] .tutor-presence,.workarea[data-docked=true] .face-stack-self,.workarea[data-docked=true] .child-view>[data-el=face]{display:none}.workarea[data-docked=true] .panels,.workarea[data-docked=true] .tutor,.workarea[data-docked=true] .tutor-main,.workarea[data-docked=true] .tutor-worksheet,.workarea[data-docked=true] .tutor-stage,.workarea[data-docked=true] .raw-panel,.workarea[data-docked=true] .face-stack,.workarea[data-docked=true] .face-window{aspect-ratio:auto;border:0;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;display:block;overflow:hidden}.workarea[data-docked=true] .raw-panel video,.workarea[data-docked=true] .tutor-worksheet video,.workarea[data-docked=true] .face-window video{object-fit:cover;border-radius:0;width:100%;max-width:none;height:100%;max-height:none}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--paper);border-bottom:1px solid var(--rule);display:flex}.theme-bar{align-items:center;display:flex;position:relative}.account-bar{flex:none;align-items:center;display:flex;position:relative}.avatar-button{border-radius:var(--radius-pill);background:var(--primary);width:2.25rem;height:2.25rem;color:var(--accent-ink);font-size:var(--text-sm);letter-spacing:.02em;cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;font-weight:600;display:flex}.avatar-button--anonymous{width:auto;height:auto;padding:var(--space-1) var(--space-2);color:var(--ink-muted);border:1px solid var(--rule);border-radius:var(--radius-md);background:0 0}.avatar-button--anonymous .icon-button-glyph{width:1.15rem;height:1.15rem}.account-menu{min-width:14rem;max-height:min(32rem,80vh);overflow-y:auto}.menu-heading{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink-muted);margin:0}.app-nav{flex-direction:column;display:flex}.app-nav-item{color:var(--ink);background:0 0;border-color:#0000;font-weight:500}@media (width<=700px){.topbar h1{display:none}}.theme-trigger{min-width:3rem;padding:var(--space-1) var(--space-2);color:var(--ink-muted);border:1px solid var(--rule);background:0 0}.theme-trigger .icon-button-glyph{width:1.15rem;height:1.15rem}.popover-panel{z-index:7;min-width:12rem;padding:var(--space-1);background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);position:absolute}.popover-panel--below,.popover-panel{top:calc(100% + var(--space-1));right:0}.menu-item{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink);text-align:left;font-size:var(--text-base);background:0 0;border-color:#0000;flex-direction:row;display:flex}.menu-item .icon-button-glyph{flex:none;width:1.15rem;height:1.15rem}.menu-item .icon-button-label{font-size:inherit}.menu-item:hover{background:var(--paper-sunken)}.menu-item--current,.app-nav-item--current{background:var(--accent-soft);color:var(--accent);font-weight:600}.menu-group{flex-direction:column;display:flex}.menu-group+.menu-group{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--rule)}.menu-status{margin:var(--space-1) 0 0;padding:0 var(--space-3) var(--space-2);max-width:16rem;font-size:var(--text-sm);color:var(--warn)}.color-swatch .icon-button-glyph{border-radius:var(--radius-pill);stroke:var(--rule-strong);stroke-width:1px}.color-swatch[data-color=green] .icon-button-glyph{fill:var(--swatch-green)}.color-swatch[data-color=lime] .icon-button-glyph{fill:var(--swatch-lime)}.color-swatch[data-color=red] .icon-button-glyph{fill:var(--swatch-red)}.color-swatch[data-color=yellow] .icon-button-glyph{fill:var(--swatch-yellow)}.color-swatch[data-color=purple] .icon-button-glyph{fill:var(--swatch-purple)}.topbar h1{font-size:var(--text-lg);color:var(--accent);letter-spacing:.01em;margin:0;font-weight:600}.sign-in-panel{justify-content:center;align-items:center;gap:var(--space-5);min-height:100dvh;padding:var(--space-6) var(--space-5);text-align:center;flex-direction:column;display:flex}.sign-in-panel h1{font-size:var(--text-2xl);color:var(--accent);margin:0;font-weight:600}.sign-in-intro{max-width:var(--measure);color:var(--ink-muted);margin:0}.sign-in-hint{max-width:var(--measure);font-size:var(--text-base);color:var(--ink-faint);margin:0}.sign-in-status{max-width:var(--measure);color:var(--danger);margin:0}.sign-in-theme{margin-top:var(--space-4)}.hud{gap:var(--space-3);font-variant-numeric:tabular-nums;min-width:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-faint);flex:auto;justify-content:center;display:flex;overflow-x:auto}.hud>span{white-space:nowrap}.panels{grid-template-columns:2fr 3fr;gap:.5rem;padding:0 .5rem;display:grid}.panels,.tutor-main{grid-auto-rows:minmax(var(--work-min-height), 1fr);flex:1;min-height:0;overflow-y:auto}@media (width<=700px){.panels{grid-template-columns:1fr}}.raw-panel{place-self:center;width:fit-content;max-width:100%;position:relative}.raw-panel video{width:auto;max-width:100%;height:auto;max-height:var(--work-height,80vh);border-radius:var(--radius-sm);display:block}.raw-panel canvas,.handle-layer{position:absolute;inset:0}.handle-layer{pointer-events:none}.corner-handle{pointer-events:auto;touch-action:none;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute}.corner-handle:after{content:"";background:var(--accent);border:2px solid var(--stage-ink);border-radius:50%;position:absolute;inset:14px}.dewarp-panel{aspect-ratio:1/1.4142;width:auto;max-width:100%;height:100%;max-height:var(--work-height,80vh);background:var(--stage-void);border-radius:var(--radius-sm);place-self:center;margin:0 auto;position:relative;overflow:hidden}.dewarp-panel--landscape{aspect-ratio:1.4142}.publish-panel{aspect-ratio:auto;grid-column:1/-1;place-self:start stretch;width:100%;height:auto}.publish-panel video{object-fit:contain;width:100%;height:100%;display:block}.tutor{flex-direction:column;flex:1;min-height:0;display:flex}.tutor-main{grid-template-columns:minmax(0,3fr) minmax(12rem,1fr);align-items:stretch;gap:.5rem;padding:0 .5rem;display:grid}.tutor-worksheet{background:var(--stage-void);border-radius:var(--radius-sm);cursor:zoom-in;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.tutor-stage{width:fit-content;max-width:100%;margin:0 auto;position:relative}.tutor-side{min-height:0}.tutor-worksheet video{width:auto;max-width:100%;height:auto;max-height:var(--work-height,80vh);object-fit:contain;display:block}.tutor-raw{min-width:0;display:none}.tutor--zoomed .tutor-main{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.tutor--zoomed .tutor-raw{display:block}.tutor--zoomed .tutor-side{display:none}.tutor--zoomed .tutor-worksheet{cursor:zoom-out}.tutor-placeholder{padding:var(--space-4);text-align:center;color:var(--stage-ink-muted);font-size:var(--text-base);place-items:center;margin:0;display:grid;position:absolute;inset:0}.tutor-side{gap:.5rem;display:grid}.tutor-faces{flex:none;align-items:flex-start;gap:.5rem;padding:.5rem;display:flex;overflow-x:auto}.tutor-face-children{gap:.5rem;display:flex}.tutor-face,.tutor-face-self{height:var(--face-tile-height);aspect-ratio:var(--face-tile-aspect);background:var(--stage-void);border:1px solid var(--stage-rule);border-radius:var(--radius-sm);flex:none;padding:0;overflow:hidden}.tutor-face{cursor:pointer}.tutor-face[aria-pressed=true]{border-color:var(--accent)}.tutor-face video{object-fit:cover;width:100%;height:100%;display:block}.tutor-face-self{object-fit:cover;display:block;transform:scaleX(-1)}.tutor-ocr{border:1px dashed var(--stage-rule);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--stage-ink);font-size:var(--text-sm);min-height:6rem;max-height:100%;overflow-y:auto}.tutor-ocr-heading{margin:0 0 var(--space-1);color:var(--accent);font-weight:600}.tutor-ocr-verdict{margin:0 0 var(--space-2);font-weight:600}.tutor-ocr-source,.tutor-ocr-empty{margin:var(--space-2) 0 0;color:var(--stage-ink-faint)}.grade-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.grade-item{justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--paper-sunken);border-left:3px solid var(--rule-strong);display:flex}.grade-item-source{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.grade-item-outcome{color:var(--ink-muted);flex:none}.grade-item--correct{border-left-color:var(--accent)}.grade-item--incorrect{border-left-color:var(--warn)}.grade-item--not-graded{border-left-color:var(--rule-strong)}.tutor-presence{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--stage-ink-muted);flex:none;margin:0}@media (width<=700px){.tutor-main{grid-template-columns:minmax(0,1fr)}}.face-stack{min-width:0;display:flex}.face-stack--stage{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1rem;padding:1rem}.face-stack--stage>*{flex:320px;min-width:0;max-width:640px}.face-stack--row{flex:none;align-items:flex-start;gap:.5rem;padding:.5rem;overflow-x:auto}.face-stack--row>*{height:var(--face-tile-height);aspect-ratio:var(--face-tile-aspect);flex:none;width:auto}.face-stack-self{aspect-ratio:16/9;object-fit:cover;background:var(--stage-void);border-radius:var(--radius-md);display:block;transform:scaleX(-1)}.face-stack--stage .face-stack-self{width:100%}.face-stack--row .face-window-notice{padding:.25rem;font-size:.7rem;line-height:1.2}.face-window{aspect-ratio:16/9;background:var(--stage-void);border:1px solid var(--stage-rule);border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.face-window video{object-fit:cover;width:100%;height:100%;display:block}.footer-hint{color:var(--ink-muted);font-size:var(--text-xs);max-width:18rem}.face-window-notice{padding:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-tight);text-align:center;color:var(--stage-ink-muted);margin:0}.lobby{z-index:10;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--stage-scrim);flex-direction:column;display:flex;position:fixed;inset:0}.lobby-title{font-size:var(--text-lg);margin:0;font-weight:600}.lobby-row{align-items:center;gap:var(--space-3);font-size:var(--text-md);padding:var(--space-2) var(--space-4);min-width:12rem;display:flex}.lobby-row input{width:1.2rem;height:1.2rem}.remote-status{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-family:var(--font-mono);color:var(--ink-muted);background:var(--paper-sunken);border-radius:var(--radius-sm);margin:0}.remote-status--waiting{color:var(--warn)}.lobby-row--device select{font-size:var(--text-base);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}.lobby-row--code{justify-content:space-between}.lobby-row--code input{width:8rem;height:auto;font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.08em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--paper-sunken);color:var(--ink)}.lobby-actions{gap:var(--space-3);display:flex}.lobby-actions button{font-size:var(--text-xs)}.lobby-actions .lobby-cancel{border:1px solid var(--rule-strong);color:var(--ink);background:0 0}.readback{z-index:10;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--stage-scrim);flex-direction:column;display:flex;position:fixed;inset:0}.readback-heading,.readback-question{font-size:var(--text-lg);margin:0;font-weight:600}.readback-reading{max-width:min(40rem,90vw);max-height:40vh;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--paper-sunken);color:var(--ink);font-size:var(--text-lg);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.readback-correction{gap:var(--space-3);flex-direction:column;align-items:center;display:flex}.readback-hint{font-size:var(--text-md)}.readback-correction textarea{width:min(40rem,90vw);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--rule);background:var(--paper-sunken);color:var(--ink);font-family:inherit;font-size:var(--text-lg);line-height:var(--leading-normal)}.readback-actions{gap:var(--space-3);display:flex}.readback-actions button{font-size:var(--text-sm)}.readback-actions .icon-button-label{max-width:12rem}.readback-status{font-size:var(--text-md);margin:0}.controls{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));align-items:center;gap:var(--space-3);background:var(--paper);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.icon-button{justify-content:center;align-items:center;gap:var(--space-1);min-width:3.5rem;min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:var(--text-xs);line-height:var(--leading-tight);text-align:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-quiet), box-shadow var(--dur-fast) var(--ease-quiet);border:1px solid #0000;flex-direction:column;display:inline-flex}.icon-button-glyph{stroke:currentColor;stroke-width:2px;fill:none;flex:none;width:1.4rem;height:1.4rem}.icon-button-label{overflow-wrap:anywhere;max-width:7rem}.icon-button:disabled{opacity:.5;cursor:default}.controls button{font-size:var(--text-xs)}.controls button:disabled{opacity:.5}.camera-picker{align-items:center;gap:var(--space-2);font-size:var(--text-base);display:inline-flex}.camera-picker select{font-size:var(--text-base);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink)}.status{font-size:var(--text-base);color:var(--ink-muted);margin:0}.status--warning{color:var(--warn)}.settings-drawer{z-index:8;width:min(22rem,92vw);padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--paper-raised);border-left:1px solid var(--rule);box-shadow:var(--shadow-soft);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.settings-drawer-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--rule);display:flex}.settings-drawer-title{font-size:var(--text-md);margin:0;font-weight:600}.settings-close,.settings-reset{border:1px solid var(--rule-strong);color:var(--ink);background:0 0}.settings{font-size:var(--text-base)}.settings-rows{gap:var(--space-2);padding:var(--space-2) 0;display:grid}.settings-row{grid-template-columns:1fr 3rem;grid-template-areas:"label value""input input";align-items:center;gap:.4rem .75rem;display:grid}.settings-label{grid-area:label}.settings-row input{grid-area:input}.settings-value{color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:right;grid-area:value}.settings-expert{margin:var(--space-1) 0 var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--rule)}.settings-expert>summary{cursor:pointer;padding:var(--space-1) 0;color:var(--ink-muted);font-size:var(--text-sm)}.settings-hint{margin:var(--space-1) 0 var(--space-2);max-width:var(--measure);color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.settings-expert-rows{gap:var(--space-2);padding:var(--space-1) 0;display:grid}.calibration-notice{padding:var(--space-3) var(--space-4);background:var(--danger);color:var(--danger-ink);font-size:var(--text-md);text-align:center;margin:0;font-weight:600}.raw-panel.calibration-active{outline:3px solid var(--warn);outline-offset:-3px}.tutor-worksheet{position:relative}.tutor-controls{top:var(--space-2);right:var(--space-2);z-index:4;gap:var(--space-1);display:flex;position:absolute}.tutor-calibrate{border-radius:var(--radius-md);border:1px solid var(--stage-rule);background:var(--stage-plate);min-width:3.25rem;min-height:44px;color:var(--stage-ink);font-size:var(--text-xs);font-weight:600;line-height:var(--leading-tight);cursor:pointer}.tutor-calibrate .icon-button-glyph{width:1.15rem;height:1.15rem}.tutor-mark[aria-pressed=true],.mark-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.calibration{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);width:min(96vw,1400px);color:var(--ink);box-shadow:var(--shadow-soft)}.calibration::backdrop{background:var(--stage-backdrop)}.calibration-title{margin:0 0 var(--space-1);font-size:var(--text-lg)}.calibration-hint{margin:0 0 var(--space-3);color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.calibration-panes{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.calibration-pane{background:var(--stage-void);border-radius:var(--radius-sm);margin:0;position:relative;overflow:hidden}.calibration-pane figcaption{top:var(--space-1);left:var(--space-2);z-index:2;color:var(--stage-ink);font-size:var(--text-xs);text-shadow:0 1px 2px var(--stage-void);position:absolute}.calibration-pane video{width:100%;height:auto;display:block}.calibration-waiting{color:var(--stage-ink-muted);font-size:var(--text-sm);place-items:center;margin:0;display:grid;position:absolute;inset:0}.calibration-handles{z-index:3;position:absolute;inset:0}.calibration-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-3);display:flex}.calibration-actions button{font-size:var(--text-xs);border:1px solid var(--rule-strong);color:var(--ink);background:0 0}@media (width<=700px){.calibration-panes{grid-template-columns:1fr}}.region-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.region-layer--armed{pointer-events:auto;touch-action:none;cursor:crosshair}.region-box{border:2px solid var(--accent);border-radius:var(--radius-sm);background:var(--region-wash);pointer-events:none;position:absolute}.annotation-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.annotation-layer--drawing{pointer-events:auto;touch-action:none;cursor:crosshair}.annotation-svg{width:100%;height:100%;display:block;overflow:visible}.annotation-stroke{fill:none;stroke:var(--annotation-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.annotation{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);width:min(96vw,1000px);color:var(--ink);padding:var(--space-4);box-shadow:var(--shadow-soft)}.annotation::backdrop{background:var(--stage-backdrop)}.annotation-title{margin:0 0 var(--space-1);font-size:var(--text-md)}.annotation-hint{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-muted)}.annotation-stage{border-radius:var(--radius-sm);background:var(--stage-void);width:fit-content;max-width:100%;margin:0;position:relative;overflow:hidden}.annotation-stage figcaption{top:var(--space-1);left:var(--space-2);z-index:2;font-size:var(--text-xs);color:var(--stage-ink);background:var(--stage-plate);padding:.1rem var(--space-1);border-radius:var(--radius-sm);position:absolute}.annotation-stage canvas{width:auto;max-width:100%;height:auto;max-height:70vh;display:block}.annotation-waiting{color:var(--stage-ink-muted);font-size:var(--text-base);place-items:center;margin:0;display:grid;position:absolute;inset:0}.annotation-notice{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--warn)}.annotation-actions{gap:var(--space-2);margin-top:var(--space-3);justify-content:flex-end;display:flex}.region-box--draft{border-style:dashed}.region-caption{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--stage-plate);color:var(--accent);font-size:var(--text-xs);white-space:nowrap;position:absolute;top:-1.4rem;left:0}.booking-intro,.availability-intro,.consent-intro,.push-hint{margin:0 0 var(--space-3);max-width:var(--measure);color:var(--ink-muted);font-size:var(--text-base);line-height:var(--leading-normal)}.booking-hint,.availability-hint,.consent-hint{margin:var(--space-1) 0 0;max-width:var(--measure);color:var(--ink-faint);font-size:var(--text-sm);line-height:var(--leading-normal)}.booking-heading,.push-heading{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-md);color:var(--ink);font-weight:600}.booking>.booking-heading:first-of-type,.push-toggle>.push-heading:first-child{margin-top:0}.booking-status,.availability-status,.consent-status,.push-status{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--ink-muted)}.booking-tutor{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--ink-faint)}.booking-slots,.booking-mine,.availability-windows,.consent-children{gap:var(--space-2);display:grid}.booking-slot,.booking-mine-row,.availability-window{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--paper-raised);flex-wrap:wrap;display:flex}.booking-slot-when,.availability-window-summary{min-width:0;font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--ink);flex:12rem;margin:0}.booking-mine-row--cancelled{background:var(--paper-sunken);border-style:dashed}.booking-mine-row--cancelled .booking-slot-when{color:var(--ink-faint);text-decoration:line-through}.booking-needs-consent{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--warn-soft);color:var(--warn);font-size:var(--text-sm);line-height:var(--leading-normal);flex-wrap:wrap;flex:100%;margin:0;display:flex}.booking-child-field,.consent-label-field,.availability-form label{gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-muted);display:grid}.booking-child-field select,.consent-label-field input,.availability-form select,.availability-form input{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font-family:inherit;font-size:var(--text-md)}.availability-form{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:end;display:grid}.availability-add{grid-column:1/-1;justify-self:start}.booking-link,.availability-share{gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted);flex:100%;display:grid}.booking-link input,.availability-share input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--paper-sunken);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm)}.booking-code{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--paper-sunken);color:var(--ink-faint);font-size:var(--text-xs);flex:none;margin:0;font-weight:600}.consent-child{padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised)}.consent-child-name{margin:0 0 var(--space-3);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:600}.consent-purpose{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.consent-purpose-name{font-weight:600;font-size:var(--text-base);flex:12rem;margin:0}.consent-purpose-detail{max-width:var(--measure);color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-normal);flex:100%;margin:0}.consent-purpose-state{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--paper-sunken);color:var(--ink-muted);font-size:var(--text-xs);flex:none;font-weight:600}.push-toggle,.email-toggle,.calendar-panel{padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised)}.email-toggle,.calendar-panel,.push-toggle .icon-button,.email-toggle .icon-button,.calendar-panel .icon-button{margin-top:var(--space-3)}.push-toggle .push-heading,.email-toggle .push-heading,.calendar-panel .push-heading{margin-top:0}.calendar-panel .availability-share{margin-top:var(--space-3)}.booking-note,.availability-note{padding:var(--space-5) var(--space-4);border:1px dashed var(--rule-strong);border-radius:var(--radius-md);color:var(--ink-muted);font-size:var(--text-base);line-height:var(--leading-normal);text-align:center;margin:0}
