:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mini-ink:#16352f;--mini-muted:#62736d;--mini-line:#dce5df;--mini-line-strong:#adc2b5;--mini-green:#176b52;--mini-green-strong:#11553f;--mini-bg:#f4f6f0;--mini-paper:var(--surface);--mini-accent:#e6efc9;--mini-hover:#eef3e9;--mini-focus:var(--amber);--mini-warm-surface:#f5eee1;--mini-warm-shade:#ece4d3;--mini-card-glaze:#fff9;--mini-shadow-light:#16352f04;--mini-overlay:#102b2566;--mini-shadow:#0c221b3b;--font-sans:Pretendard, "Pretendard Variable", "Noto Sans KR", "Noto Sans CJK KR", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Apple SD Gothic Neo", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Noto Sans Mono CJK KR", monospace;font-family:var(--font-sans);--bg:#f2f4f7;--surface:#fff;--surface-2:#f6f8fb;--surface-3:#eef1f6;--on-accent:#fff;--ink:#101828;--ink-2:#39435a;--muted:#5d6880;--ink-quaternary:#8a94a6;--line:#e3e6ec;--line-strong:#c8cdd8;--blue:#2f65d8;--blue-strong:#143b88;--blue-soft:#eaf1ff;--blue-press:#2454bb;--nav:#15181d;--nav-2:#20242b;--nav-3:#2b313a;--nav-label:#eef1f6;--nav-label-2:#a8b1bf;--nav-separator:#ffffff14;--mint:#0b7a70;--mint-soft:#e3f5f2;--red:#c8372a;--red-soft:#ffefed;--amber:#99640a;--amber-soft:#fff4de;--green:#2f7a3f;--green-soft:#ecf7e8;--blue-line:#c2d5f6;--mint-line:#b9e3dd;--red-line:#f2ccc6;--amber-line:#ecd9a8;--green-line:#c9e3bd;--code-surface:#142d43;--code-ink:#d7e3f2;--code-gutter-ink:#9fb2c6;--system-blue:var(--blue);--system-blue-ink:var(--blue);--system-blue-soft:var(--blue-soft);--system-blue-line:var(--blue-line);--system-blue-tint:var(--blue-soft);--system-green:var(--green);--system-green-ink:var(--green);--system-green-soft:var(--green-soft);--system-green-line:var(--green-line);--system-green-tint:var(--green-soft);--system-red:var(--red);--system-red-ink:var(--red);--system-red-soft:var(--red-soft);--system-red-line:var(--red-line);--system-red-tint:var(--red-soft);--system-amber:var(--amber);--system-amber-ink:var(--amber);--system-amber-soft:var(--amber-soft);--system-amber-line:var(--amber-line);--system-amber-tint:var(--amber-soft);--system-mint:var(--mint);--system-mint-ink:var(--mint);--system-mint-soft:var(--mint-soft);--system-mint-line:var(--mint-line);--system-mint-tint:var(--mint-soft);--label-primary:var(--ink);--label-secondary:var(--ink-2);--label-tertiary:var(--muted);--label-quaternary:var(--ink-quaternary);--fill-primary:var(--surface);--fill-secondary:var(--surface-2);--fill-tertiary:var(--surface-3);--separator:#10182817;--separator-opaque:var(--line);--ink-rgb:16 24 40;--blue-rgb:47 101 216;--red-rgb:200 55 42;--white-rgb:255 255 255;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-pill:999px;--radius:var(--r-md);--shadow-1:0 1px 2px #1018280d, 0 0 0 .5px #1018280a;--shadow-2:0 1px 3px #1018280f, 0 8px 24px #10182812;--shadow-3:0 12px 28px #1018281f, 0 32px 64px #10182829;--shadow:var(--shadow-2);--fs-large-title:28px;--fs-title:22px;--fs-h2:17px;--fs-body:15px;--fs-control:var(--fs-body);--fs-sub:13px;--fs-cap:12px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-title:1.2;--lh-heading:1.3;--lh-body:1.5;--lh-sub:1.45;--tracking-title:-.015em;--tracking-heading:-.01em;--tracking-body:0;--control-h:44px;--control-h-sm:34px;--control-h-lg:52px;--ease-out:cubic-bezier(.32, .72, 0, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.26s;--focus-ring:0 0 0 3px #2f65d8cc;--focus-ring-color:var(--blue);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@media (pointer:coarse){:root{--fs-control:16px}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-base:.01ms;--dur-slow:.01ms}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-sans);font-size:var(--fs-body);font-synthesis-weight:none;font-optical-sizing:auto;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;letter-spacing:var(--tracking-body);line-height:var(--lh-body);text-rendering:optimizelegibility}h1,h2,h3,h4{letter-spacing:var(--tracking-heading);line-height:var(--lh-heading);word-break:keep-all}h1{letter-spacing:var(--tracking-title);line-height:var(--lh-title)}::selection{background:rgb(var(--blue-rgb) / 18%)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn{appearance:none;background:var(--fill-secondary);border:1px solid var(--separator-opaque);border-radius:var(--r-sm);color:var(--label-primary);cursor:pointer;font-family:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-2);letter-spacing:var(--tracking-heading);min-height:var(--control-h);padding:0 var(--sp-4);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);white-space:nowrap;justify-content:center;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--fill-tertiary)}.btn:active:not(:disabled):not([aria-disabled=true]){opacity:.82;transform:scale(.975)}.btn:disabled,.btn[aria-disabled=true]{cursor:default;opacity:.45;transform:none}.btn-filled{background:var(--blue);color:var(--on-accent);border-color:#0000}.btn-filled:hover:not(:disabled):not([aria-disabled=true]){background:var(--blue-press)}.btn-tinted{background:var(--blue-soft);color:var(--blue-strong);border-color:#0000}.btn-tinted:hover:not(:disabled):not([aria-disabled=true]){background:rgb(var(--blue-rgb) / 14%)}.btn-plain{color:var(--blue);padding:0 var(--sp-2);background:0 0;border-color:#0000}.btn-plain:hover:not(:disabled):not([aria-disabled=true]){background:rgb(var(--blue-rgb) / 8%)}.btn-danger{background:var(--red-soft);color:var(--red);border-color:#0000}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:rgb(var(--red-rgb) / 14%)}.btn-danger.btn-filled{background:var(--red);color:var(--on-accent)}.btn-sm{border-radius:var(--r-xs);font-size:var(--fs-sub);min-height:var(--control-h-sm);padding:0 var(--sp-3)}.btn-lg{border-radius:var(--r-sm);font-size:var(--fs-h2);min-height:var(--control-h-lg);padding:0 var(--sp-5);width:100%}.surface-card{background:var(--fill-primary);border:1px solid var(--separator-opaque);border-radius:var(--r-md);box-shadow:var(--shadow-1);min-width:0;padding:var(--sp-4)}.surface-card-raised{box-shadow:var(--shadow-2)}.field-group{background:var(--fill-primary);border:1px solid var(--separator-opaque);border-radius:var(--r-md);display:grid;overflow:hidden}.field-row{border-top:1px solid var(--separator);align-items:center;gap:var(--sp-3);min-height:var(--control-h);padding:var(--sp-3) var(--sp-4);grid-template-columns:minmax(96px,.42fr) minmax(0,1fr);display:grid}.field-row:first-child{border-top:0}.field-row.stacked{align-items:start;gap:var(--sp-1);grid-template-columns:minmax(0,1fr)}.field-label{color:var(--label-secondary);font-size:var(--fs-body);font-weight:var(--fw-medium);min-width:0}.field-label small,.field-label em{color:var(--label-tertiary);font-size:var(--fs-cap);font-style:normal;font-weight:var(--fw-regular);display:block}.field-control{justify-self:stretch;min-width:0}.field-control input:not([type=checkbox]):not([type=radio]):not([type=color]),.field-control select,.field-control textarea,.input-control{background:var(--fill-primary);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--label-primary);font-family:inherit;font-size:var(--fs-control);min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);width:100%}.field-control input:focus,.field-control select:focus,.field-control textarea:focus,.input-control:focus{border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}.field-control input::placeholder,.field-control textarea::placeholder,.input-control::placeholder{color:var(--label-tertiary)}.field-control input:disabled::placeholder,.field-control textarea:disabled::placeholder,.input-control:disabled::placeholder{color:var(--label-quaternary)}@media (pointer:coarse){:root input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]),:root select:not(:disabled):not([hidden]),:root textarea:not(:disabled):not([hidden]){font-size:var(--fs-control)}}.segmented{background:var(--fill-tertiary);border-radius:var(--r-sm);gap:2px;padding:2px;display:inline-flex}.segmented-item{appearance:none;border-radius:calc(var(--r-sm) - 3px);color:var(--label-secondary);cursor:pointer;font-family:inherit;font-size:var(--fs-sub);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);min-height:var(--control-h-sm);padding:0 var(--sp-3);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);white-space:nowrap;background:0 0;border:0;flex:1 1 0}.segmented-item:hover:not(:disabled){color:var(--label-primary)}.segmented-item[data-active=true],.segmented-item[aria-selected=true],.segmented-item.is-active{background:var(--fill-primary);box-shadow:var(--shadow-1);color:var(--label-primary)}.segmented-item:disabled{cursor:default;opacity:.45}@media (pointer:coarse){.segmented-item{min-height:var(--control-h)}}input.switch[type=checkbox]{appearance:none;background:var(--ink-quaternary);border:1px solid var(--label-tertiary);border-radius:var(--r-pill);cursor:pointer;height:30px;transition:background var(--dur-base) var(--ease-out);flex:none;width:50px;margin:0;position:relative}input.switch[type=checkbox]:after{background:var(--on-accent);border:1px solid var(--label-tertiary);box-shadow:var(--shadow-1);content:"";height:24px;transition:transform var(--dur-base) var(--ease-out);border-radius:50%;width:24px;position:absolute;top:2px;left:2px}input.switch[type=checkbox]:checked{background:var(--blue);border-color:var(--blue)}input.switch[type=checkbox]:checked:after{border-color:var(--blue-press);transform:translate(18px)}input.switch[type=checkbox]:disabled{cursor:default;opacity:.45}.chip{background:var(--fill-secondary);border:1px solid var(--separator-opaque);border-radius:var(--r-pill);color:var(--label-secondary);font-size:var(--fs-sub);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);white-space:nowrap;line-height:1.25;display:inline-flex}.chip-accent{background:var(--blue-soft);color:var(--blue-strong);border-color:#0000}.chip-success{background:var(--green-soft);color:var(--green);border-color:#0000}.chip-warn{background:var(--amber-soft);color:var(--amber);border-color:#0000}.chip-danger{background:var(--red-soft);color:var(--red);border-color:#0000}.data-table-wrap{background:var(--fill-primary);border:1px solid var(--separator-opaque);border-radius:var(--r-md);overflow:auto}.data-table{border-collapse:separate;border-spacing:0;font-size:var(--fs-sub);width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--separator);padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:middle}.data-table thead th{background:var(--fill-secondary);color:var(--label-tertiary);font-size:var(--fs-cap);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);z-index:1;position:sticky;top:0}.data-table tbody tr:last-child td{border-bottom:0}.modal-sheet{-webkit-backdrop-filter:blur(12px)saturate(160%);background:rgb(var(--ink-rgb) / 40%);padding:var(--sp-6);z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-sheet>.modal-sheet-card{animation:modal-sheet-rise var(--dur-slow) var(--ease-out);background:var(--fill-primary);border-radius:var(--r-lg);box-shadow:var(--shadow-3);color:var(--label-primary);gap:var(--sp-3);max-width:560px;max-height:min(86vh,860px);padding:var(--sp-6);width:100%;display:grid;overflow:auto}.modal-sheet-title{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);margin:0}.modal-sheet-actions{gap:var(--sp-2);margin-top:var(--sp-2);justify-content:flex-end;display:flex}@keyframes modal-sheet-rise{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@media (width<=640px){.modal-sheet{align-items:flex-end;padding:0}.modal-sheet>.modal-sheet-card{border-radius:var(--r-lg) var(--r-lg) 0 0;max-width:none;max-height:88vh;padding-bottom:calc(var(--sp-6) + var(--safe-bottom));animation-name:modal-sheet-rise-bottom}.modal-sheet-actions{flex-direction:column-reverse}.modal-sheet-actions .btn{width:100%}}@keyframes modal-sheet-rise-bottom{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.banner{background:var(--fill-secondary);border:1px solid var(--separator-opaque);border-radius:var(--r-sm);color:var(--label-secondary);font-size:var(--fs-sub);font-weight:var(--fw-medium);align-items:flex-start;gap:var(--sp-2);line-height:var(--lh-sub);padding:var(--sp-3) var(--sp-4);display:flex}.banner-info{background:var(--blue-soft);color:var(--blue-strong);border-color:#0000}.banner-warn{background:var(--amber-soft);color:var(--amber);border-color:#0000}.banner-danger{background:var(--red-soft);color:var(--red);border-color:#0000}.banner-success{background:var(--green-soft);color:var(--green);border-color:#0000}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--label-tertiary);align-content:center;gap:var(--sp-2);min-height:160px;padding:var(--sp-7) var(--sp-5);text-align:center;justify-items:center;display:grid}.empty-state strong{color:var(--label-secondary);font-size:var(--fs-h2);font-weight:var(--fw-semibold)}.empty-state p{font-size:var(--fs-sub);max-width:42ch;margin:0}.skeleton{background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 37%, var(--fill-secondary) 63%);border-radius:var(--r-xs);color:#0000;background-size:400% 100%;min-height:12px;animation:1.4s ease-in-out infinite skeleton-sweep;display:block}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.aimata-shell{background:var(--bg);grid-template:"sidebar topbar"64px"sidebar content"minmax(0,1fr)/248px minmax(0,1fr);height:100%;min-height:100dvh;transition:grid-template-columns .22s;display:grid;overflow:hidden}.aimata-sidebar{background:var(--nav);color:var(--nav-label);gap:var(--sp-4);min-height:0;padding:var(--sp-5) var(--sp-3) calc(var(--sp-5) + var(--safe-bottom));flex-direction:column;grid-area:sidebar;display:flex;overflow:auto}.brand{align-items:center;gap:2px var(--sp-2);min-height:44px;padding:0 var(--sp-1);grid-template-columns:38px minmax(0,1fr);display:grid}.brand-ai{background:var(--nav-3);border-radius:var(--r-sm);color:var(--nav-label);font-size:18px;font-weight:var(--fw-bold);height:38px;letter-spacing:var(--tracking-title);justify-content:center;align-items:center;width:38px;display:flex}.brand strong{color:var(--nav-label);font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);line-height:1.15}.brand span{color:var(--nav-label-2);font-size:var(--fs-cap);grid-column:2;line-height:1.15}.profile-chip{background:rgb(var(--white-rgb) / 7%);border:1px solid var(--nav-separator);border-radius:var(--r-sm);padding:var(--sp-3);gap:2px;display:grid}.profile-chip span{color:var(--nav-label-2);font-size:var(--fs-cap)}.profile-chip strong{color:var(--nav-label);font-size:var(--fs-sub);font-weight:var(--fw-semibold)}.aimata-nav{gap:2px;display:grid}.aimata-nav button{border-radius:var(--r-sm);color:var(--nav-label-2);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-medium);align-items:center;gap:var(--sp-3);letter-spacing:var(--tracking-heading);min-height:44px;padding:var(--sp-2) var(--sp-3);text-align:left;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;display:flex}.aimata-nav button:hover{background:rgb(var(--white-rgb) / 7%);color:var(--nav-label)}.aimata-nav button[data-active=true]{background:rgb(var(--blue-rgb) / 26%);color:var(--nav-label);font-weight:var(--fw-semibold)}.aimata-nav button:active{transform:scale(.985)}.nav-badge{background:var(--amber);border-radius:var(--r-pill);color:var(--on-accent);font-size:11px;font-style:normal;font-weight:var(--fw-bold);text-align:center;min-width:18px;margin-left:auto;padding:4px 6px;line-height:1}.aimata-shell[data-sidebar-collapsed=true] .nav-badge{margin-left:0;padding:2px 5px}.sidebar-footer{background:rgb(var(--white-rgb) / 7%);border-radius:var(--r-sm);color:var(--nav-label);min-height:44px;padding:var(--sp-2) var(--sp-3);gap:2px;margin-top:auto;display:grid}.sidebar-footer span{color:var(--nav-label-2);font-size:var(--fs-cap)}.sidebar-footer strong{font-size:var(--fs-sub);font-weight:var(--fw-semibold)}.sidebar-footer-btn{border:1px solid var(--nav-separator);cursor:pointer;text-align:left;width:100%;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);font-family:inherit}.sidebar-footer-btn:hover{background:rgb(var(--white-rgb) / 12%)}.sidebar-footer-btn.active{background:rgb(var(--blue-rgb) / 26%);border-color:#0000}.school-note{background:var(--blue-soft);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sub);line-height:var(--lh-sub);color:var(--blue-strong);margin:var(--sp-3) 0;border:1px solid #0000}.school-classes{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:var(--sp-4) var(--sp-5);margin:var(--sp-4) 0}.school-classes header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.class-chips{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.class-chip{align-items:center;gap:var(--sp-1);background:var(--blue-soft);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sub);font-weight:var(--fw-semibold);color:var(--blue-strong);white-space:nowrap;border:1px solid #0000;line-height:1.25;display:inline-flex}.class-chip em{color:var(--muted);font-style:normal;font-size:var(--fs-cap);font-weight:var(--fw-regular)}.class-chip-x{background:rgb(var(--ink-rgb) / 10%);cursor:pointer;width:18px;height:18px;color:var(--ink-2);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.class-chip-x:hover{background:var(--red);color:var(--on-accent)}.class-add{gap:var(--sp-2);display:flex}.class-add input{border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 var(--sp-3);min-height:var(--control-h);font-size:var(--fs-body);flex:1}.class-add button{align-items:center;gap:var(--sp-1);background:var(--blue);color:var(--on-accent);border-radius:var(--r-sm);padding:0 var(--sp-4);min-height:var(--control-h);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border:0;display:inline-flex}.class-add button:hover:not(:disabled){background:var(--blue-press)}.class-add button:disabled{opacity:.45;cursor:default}.school-roster{gap:var(--sp-4);display:grid}.roster-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:var(--sp-4) var(--sp-5)}.roster-group header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.roster-group header em{color:var(--muted);font-style:normal;font-size:var(--fs-sub)}.roster-rows{gap:0;display:grid}.roster-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--separator);min-height:44px;display:flex}.roster-row:first-child{border-top:0}.roster-avatar{width:32px;height:32px;color:var(--on-accent);font-weight:var(--fw-semibold);font-size:var(--fs-sub);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.roster-name{border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-body);font-weight:var(--fw-medium);background:0 0;border:1px solid #0000;flex:1;min-width:0}.roster-name:hover,.roster-name:focus{border-color:var(--line-strong);background:var(--surface)}.roster-no{color:var(--muted);font-size:var(--fs-cap);font-variant-numeric:tabular-nums;flex:none}.roster-class{border:1px solid var(--line);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sub);font-weight:var(--fw-semibold);color:var(--blue);background:var(--surface-2);cursor:pointer;flex:none;min-height:32px}.sidebar-toggle{background:rgb(var(--white-rgb) / 7%);border:1px solid var(--nav-separator);border-radius:var(--r-sm);color:var(--nav-label-2);cursor:pointer;height:36px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-self:flex-start;align-items:center;width:36px;display:flex}.sidebar-toggle:hover{background:rgb(var(--white-rgb) / 14%);color:var(--nav-label)}.aimata-shell[data-sidebar-collapsed=true]{grid-template-columns:84px minmax(0,1fr)}.aimata-shell[data-sidebar-collapsed=true] .aimata-sidebar{align-items:stretch;padding:18px 8px}.aimata-shell[data-sidebar-collapsed=true] .sidebar-toggle{align-self:center}.aimata-shell[data-sidebar-collapsed=true] .brand{grid-template-columns:38px;justify-content:center}.aimata-shell[data-sidebar-collapsed=true] .brand strong,.aimata-shell[data-sidebar-collapsed=true] .brand span,.aimata-shell[data-sidebar-collapsed=true] .profile-chip,.aimata-shell[data-sidebar-collapsed=true] .sidebar-footer{display:none}.aimata-shell[data-sidebar-collapsed=true] .aimata-nav button{text-align:center;flex-direction:column;gap:3px;min-height:0;padding:8px 2px}.aimata-shell[data-sidebar-collapsed=true] .aimata-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.15;overflow:hidden}.aimata-topbar{-webkit-backdrop-filter:saturate(180%)blur(20px);background:rgb(var(--white-rgb) / 72%);border-bottom:1px solid var(--separator);align-items:center;gap:var(--sp-4);min-width:0;padding:0 var(--sp-5);z-index:20;grid-area:topbar;justify-content:space-between;display:flex;position:relative}.topbar-title{gap:1px;min-width:0;display:grid}.topbar-title span{color:var(--muted);font-size:var(--fs-cap);font-weight:var(--fw-medium)}.topbar-title strong{color:var(--ink);font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{align-items:center;gap:var(--sp-2);flex-wrap:nowrap;display:flex}.sync-pill,.student-picker,.role-switch{background:var(--surface-2);border-radius:var(--r-pill);align-items:center;gap:var(--sp-2);min-height:36px;padding:var(--sp-1) var(--sp-3);border:1px solid #0000;display:flex}.sync-pill{color:var(--muted);font-size:var(--fs-cap)}.sync-pill svg{color:var(--red)}.sync-pill[data-connected=true] svg{color:var(--mint)}.sync-pill em{color:var(--ink-2);font-variant-numeric:tabular-nums;font-style:normal}.student-picker span{color:var(--muted);font-size:var(--fs-cap)}.student-picker select{appearance:none;color:var(--ink);cursor:pointer;font-size:var(--fs-sub);font-weight:var(--fw-semibold);background:0 0;border:0}.role-switch{background:var(--surface-3);gap:2px;padding:2px}.role-switch button{border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;font-size:var(--fs-sub);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-1);letter-spacing:var(--tracking-heading);min-height:var(--control-h-sm);padding:var(--sp-1) var(--sp-3);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;display:flex}@media (pointer:coarse){.role-switch button{min-height:var(--control-h)}}.role-switch button[data-active=true]{background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink)}.round-icon{background:var(--surface-2);color:var(--ink-2);cursor:pointer;height:36px;transition:background var(--dur-fast) var(--ease-out);border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;display:flex}.round-icon:hover{background:var(--surface-3)}.aimata-content{grid-area:content;min-width:0;min-height:0;overflow:hidden auto}.page{gap:var(--sp-5);max-width:1420px;padding:var(--sp-6) var(--sp-6) calc(var(--sp-7) + var(--safe-bottom));margin:0 auto;display:grid}.page-head{align-items:center;gap:var(--sp-5);justify-content:space-between;min-width:0;display:flex}.page-head>div,.worksheet-header>div{min-width:0}.page-head h1,.worksheet-header h1{color:var(--ink);font-size:clamp(var(--fs-title), 2.4vw, var(--fs-large-title));font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);line-height:var(--lh-title);margin:var(--sp-1) 0 var(--sp-2)}.page-head p,.worksheet-header p{color:var(--muted);font-size:var(--fs-sub);line-height:var(--lh-sub);overflow-wrap:anywhere;margin:0}.eyebrow{color:var(--blue);font-size:var(--fs-cap);font-weight:var(--fw-bold);letter-spacing:.02em;text-transform:none}.primary-button,.page-head button,.panel-head button,.live-actions button,.answer-box button,.question-box button,.sheet-card button{border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-2);letter-spacing:var(--tracking-heading);min-height:44px;padding:0 var(--sp-4);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;justify-content:center;display:inline-flex}.primary-button:active:not(:disabled),.page-head button:active:not(:disabled),.panel-head button:active:not(:disabled),.live-actions button:active:not(:disabled),.sheet-card button:active:not(:disabled){opacity:.82;transform:scale(.975)}.primary-button{background:var(--blue);color:var(--on-accent);white-space:nowrap}.primary-button:hover:not(:disabled){background:var(--blue-press)}.page-head button:not(.primary-button),.panel-head button,.live-actions button{background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.page-head button:not(.primary-button):hover:not(:disabled),.panel-head button:hover:not(:disabled),.live-actions button:hover:not(:disabled){background:var(--surface-2)}.metric-grid{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);gap:var(--sp-1);min-height:132px;padding:var(--sp-4);display:grid}.metric-card svg{color:var(--blue)}.metric-card span{color:var(--muted);font-size:var(--fs-sub);font-weight:var(--fw-medium)}.metric-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);line-height:1}.metric-card em{color:var(--ink-2);font-size:var(--fs-cap);font-style:normal}.dashboard-grid,.report-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:14px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);min-width:0;padding:var(--sp-5)}.panel.wide{grid-column:span 1}.panel-head{align-items:start;gap:var(--sp-4);margin-bottom:var(--sp-4);justify-content:space-between;display:flex}.panel-head.compact{align-items:center}.panel-head h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading);margin:2px 0 0}.panel-head.compact h2{margin:0}.assignment-summary{grid-template-columns:minmax(260px,.8fr) minmax(340px,1fr);gap:16px;display:grid}.assignment-summary dl,.summary-table,.report-summary{border:1px solid var(--line);border-radius:var(--r-md);margin:0;display:grid;overflow:hidden}.assignment-summary dl{grid-template-columns:130px minmax(0,1fr)}.assignment-summary dt,.assignment-summary dd,.summary-table div,.report-summary div{border-bottom:1px solid var(--separator);min-width:0;padding:var(--sp-3) var(--sp-4);margin:0}.assignment-summary dt{background:var(--surface-2);color:var(--muted);font-weight:800}.assignment-summary dd{color:var(--ink);font-weight:800}.assignment-summary dt:last-of-type,.assignment-summary dd:last-of-type{border-bottom:0}.sheet-stack{gap:8px;display:grid}.sheet-stack div{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:70px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:52px;padding:10px;display:grid}.sheet-stack span{background:var(--blue-soft);color:var(--blue-strong);text-align:center;border-radius:5px;padding:4px 7px;font-size:12px;font-weight:900}.sheet-stack strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-stack em{color:var(--muted);font-size:12px;font-style:normal}.sheet-stack button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:900}.question-list{gap:9px;display:grid}.question-item{border:1px solid var(--line);border-radius:var(--radius);gap:5px;padding:11px;display:grid}.question-item span{color:var(--muted);font-size:13px;line-height:1.45}.question-item em,.question-board [data-status]{color:var(--red);border-radius:999px;justify-self:start;font-size:12px;font-style:normal;font-weight:900}.builder-layout{grid-template-columns:260px minmax(0,1fr);gap:16px;display:grid}.step-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:6px;padding:10px;display:grid}.step-list button{border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-height:42px;padding:8px;display:flex}.step-list button[data-active=true]{background:var(--blue-soft);color:var(--blue-strong);font-weight:900}.step-list span{background:var(--surface-2);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;display:flex}.builder-panel{min-height:520px}.type-grid,.scope-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.type-grid button,.scope-grid button,.round-selector button{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;gap:6px;min-height:86px;padding:14px;display:grid}.scope-grid button,.round-selector button{text-align:center;place-items:center;min-height:48px}.type-grid button[data-active=true],.scope-grid button[data-active=true],.round-selector button[data-active=true]{background:var(--blue);border-color:var(--blue);color:#fff}.type-grid span{color:inherit;opacity:.78;font-size:12px}.preview-grid{grid-template-columns:210px minmax(0,1fr);gap:12px;display:grid}.unit-list{align-content:start;gap:8px;display:grid}.unit-list button{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;min-height:42px;padding:8px 10px}.unit-list button[data-active=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-strong);font-weight:900}.problem-preview-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:470px;padding-right:4px;display:grid;overflow:auto}.problem-preview-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:7px;min-height:150px;padding:12px;display:grid}.problem-preview-list span,.summary-table span,.report-summary span{color:var(--muted);font-size:12px;font-weight:800}.round-selector{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:18px;padding:20px;display:grid}.round-selector p{color:var(--ink-2);margin:0}.round-selector div{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.upload-workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.upload-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:10px;min-width:0;padding:14px;display:grid}.panel-label-inline{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:900;display:flex}.upload-panel textarea,.upload-panel input,.generator-controls select{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;width:100%;min-height:40px;padding:9px 10px}.upload-panel textarea{resize:vertical;min-height:186px}.file-drop{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);cursor:pointer;text-align:center;background:#fff;justify-content:center;align-items:center;min-height:118px;padding:10px;display:flex;overflow:hidden}.file-drop.compact{min-height:72px}.file-drop input{display:none}.file-drop img{object-fit:contain;max-width:100%;max-height:180px;display:block}.uploaded-review,.isomorphic-generator,.student-file-uploader{gap:14px;display:grid}.panel-note{background:var(--blue-soft);border-radius:var(--radius);border:1px solid #cbdcff;gap:5px;padding:12px;display:grid}.panel-note span{color:var(--ink-2);font-size:13px}.generated-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:430px;padding-right:3px;display:grid;overflow:auto}.generated-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:8px;min-width:0;padding:12px;display:grid}.generated-list article>div{gap:4px;display:grid}.generated-list span{background:var(--mint-soft);color:#0e655c;border-radius:999px;justify-self:start;padding:4px 8px;font-size:11px;font-weight:900}.generated-list small,.generated-list em{color:var(--muted);font-size:12px;font-style:normal}.generated-list article[data-draft=true]{background:var(--amber-soft);border-color:#f0d79a}.answer-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.answer-edit label{flex:180px;align-items:center;gap:6px;display:flex}.answer-edit label span{color:var(--muted);background:0 0;padding:0;font-size:12px;font-weight:800}.answer-edit input{border:1px solid var(--line);border-radius:6px;flex:1;min-width:0;padding:6px 8px}.verify-warn{font-weight:800;color:var(--red)!important}.verify-ok{font-weight:800;color:var(--green)!important}.review-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-actions button{border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.review-actions button[data-danger=true]{background:var(--red-soft);color:var(--red);border-color:#f3c8c2}.status-tag{border-radius:var(--r-pill);font-size:11px;font-weight:var(--fw-bold);padding:var(--sp-1) var(--sp-2);line-height:1.25}.status-tag.draft{background:var(--amber-soft);color:var(--amber)}.status-tag.live{background:var(--green-soft);color:var(--green)}.login-screen{background:var(--bg);min-height:100dvh;padding:calc(var(--sp-6) + var(--safe-top)) var(--sp-6) calc(var(--sp-6) + var(--safe-bottom));justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);gap:var(--sp-3);max-width:400px;padding:var(--sp-7) var(--sp-6);width:100%;display:grid}.login-brand{align-items:center;gap:var(--sp-2);display:flex}.login-brand strong{color:var(--ink);font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading)}.login-tabs{background:var(--surface-3);border-radius:var(--r-sm);margin-top:var(--sp-1);gap:2px;padding:2px;display:flex}.login-tab{border-radius:calc(var(--r-sm) - 3px);color:var(--ink-2);cursor:pointer;font-size:var(--fs-sub);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);min-height:34px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:1}.login-tab[data-active=true]{background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink)}.login-card h1{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);margin:var(--sp-2) 0 0}.login-card>p{color:var(--muted);font-size:var(--fs-sub);line-height:var(--lh-sub);margin:0 0 var(--sp-1)}.login-field{gap:var(--sp-1);display:grid}.login-field span{color:var(--ink-2);font-size:var(--fs-sub);font-weight:var(--fw-medium)}.login-field input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.login-field input:focus{border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}.login-hint{margin:var(--sp-1) 0 0;font-size:var(--fs-cap);line-height:var(--lh-sub);color:var(--muted)}.login-error{background:var(--red-soft);border-radius:var(--r-sm);color:var(--red);font-size:var(--fs-sub);font-weight:var(--fw-medium);padding:var(--sp-2) var(--sp-3);margin:0}.login-submit{margin-top:var(--sp-1);min-height:var(--control-h-lg);justify-content:center;width:100%}.login-teacher{color:var(--muted);cursor:pointer;font-size:var(--fs-cap);background:0 0;border:0;min-height:34px;text-decoration:underline}.password-rules{color:var(--ink-2);gap:2px;margin:0 0 4px;padding-left:18px;font-size:12px;font-weight:700;display:grid}.student-account{border-top:1px solid var(--separator);align-items:center;gap:var(--sp-1);margin-top:var(--sp-2);padding-top:var(--sp-2);flex-wrap:wrap;display:flex}.student-account input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xs);min-width:0;min-height:34px;padding:var(--sp-1) var(--sp-2);flex:100px}.student-account button{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xs);cursor:pointer;font-size:var(--fs-cap);font-weight:var(--fw-semibold);min-height:34px;padding:0 var(--sp-3);transition:background var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out)}.student-account button:active:not(:disabled){opacity:.82}.student-account .acct-save{background:var(--blue);color:var(--on-accent);border-color:#0000}.student-account .acct-remove{background:var(--red-soft);color:var(--red);border-color:#0000}.acct-status{flex-basis:100%;font-size:11px;font-weight:800}.acct-status.set{color:var(--green)}.acct-status.unset{color:var(--muted)}.acct-hint{color:var(--muted);flex-basis:100%;font-size:11px;line-height:1.4}.acct-temp{background:var(--surface);border:1px dashed var(--line);border-radius:6px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;padding:6px 8px;font-size:11px;font-weight:800;display:flex}.acct-temp code{letter-spacing:.08em;-webkit-user-select:all;user-select:all;font-size:14px}.acct-temp small{color:var(--muted);flex-basis:100%;font-weight:700}.authed-name{color:var(--ink);font-size:13px;font-weight:800}.logout-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;font-size:var(--fs-cap);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-1);min-height:30px;padding:var(--sp-1) var(--sp-3);transition:background var(--dur-fast) var(--ease-out);display:inline-flex}.logout-btn:hover{background:var(--surface-2)}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);gap:var(--sp-4);max-width:560px;padding:var(--sp-5);display:grid}.settings-card>form{gap:var(--sp-4);display:grid}.settings-field{gap:var(--sp-2);display:grid}.settings-field>span{color:var(--ink-2);font-size:var(--fs-sub);font-weight:var(--fw-medium);align-items:center;gap:var(--sp-1);display:inline-flex}.settings-field select,.settings-field input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.settings-field select:focus,.settings-field input:focus{border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}.settings-field input:disabled,.settings-field select:disabled{background:var(--surface-2);color:var(--muted)}.settings-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.settings-actions button:not(.primary-button){background:var(--red-soft);border-radius:var(--r-sm);color:var(--red);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-semibold);min-height:var(--control-h);padding:0 var(--sp-4);border:1px solid #0000}.settings-actions .primary-button{background:var(--blue);border-radius:var(--r-sm);color:var(--on-accent);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-semibold);min-height:var(--control-h);padding:0 var(--sp-5);border:0;justify-content:center;align-items:center;display:inline-flex}.settings-actions .primary-button:disabled{cursor:default;opacity:.45}.key-status{font-size:var(--fs-cap);font-weight:var(--fw-semibold)}.key-status.set{color:var(--green)}.key-status.unset{color:var(--muted)}.settings-warn{background:var(--amber-soft);border-radius:var(--r-sm);color:var(--amber);font-size:var(--fs-sub);line-height:var(--lh-sub);padding:var(--sp-3) var(--sp-4);margin:0}.settings-hint{color:var(--ink-2);font-size:var(--fs-sub);line-height:var(--lh-sub);margin:0}.upload-panel.ai-upload{background:var(--blue-soft);border-color:#0000}.ai-bridge{background:var(--blue-soft);border-radius:var(--r-md);gap:var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-4);border:1px solid #0000;display:grid}.ai-bridge-controls{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.ai-bridge-controls label{gap:4px;display:grid}.ai-bridge-controls label span{color:var(--ink-2);font-size:12px;font-weight:800}.ai-bridge-controls input,.ai-bridge-controls select{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:40px;padding:var(--sp-2) var(--sp-3)}.ai-bridge-controls input{width:84px}.ai-bridge-controls button{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-1);min-height:40px;padding:0 var(--sp-4);display:inline-flex}.ai-bridge-controls button:disabled{cursor:not-allowed;opacity:.55}.ai-banner{border-radius:var(--r-sm);font-size:var(--fs-sub);font-weight:var(--fw-medium);line-height:var(--lh-sub);padding:var(--sp-3) var(--sp-4);margin:0}.ai-banner.info{background:var(--blue-soft);color:var(--blue-strong)}.ai-banner.warn{background:var(--amber-soft);color:var(--amber)}.ai-hint{color:var(--ink-2);font-size:var(--fs-cap);line-height:var(--lh-sub)}.ai-hint code{background:rgb(var(--ink-rgb) / 8%);border-radius:var(--r-xs);font-family:var(--font-mono);padding:1px 5px;font-size:11px}.generator-controls{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.generator-controls label{gap:6px;display:grid}.generator-controls span{color:var(--muted);font-size:12px;font-weight:900}.student-file-uploader{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.student-file-uploader p{color:var(--muted);margin:0;font-size:13px}.student-material-table{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:auto}.student-material-table>div{grid-template-columns:minmax(160px,1.3fr) minmax(90px,.7fr) minmax(100px,.8fr);min-width:430px;display:grid}.student-material-table span,.student-material-table strong,.student-material-table em{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:42px;padding:10px}.student-material-table>div:first-child span{color:var(--ink-2);background:#eef4ff;font-size:12px;font-weight:900}.student-material-table em{color:var(--blue);font-style:normal;font-weight:900}.student-material-table select.material-student{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fff;border-radius:0;min-width:0;min-height:42px;padding:8px 10px;font-size:13px;font-weight:700}.summary-table,.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-table div,.report-summary div{gap:5px;display:grid}.summary-table div:nth-last-child(-n+2),.report-summary div:nth-last-child(-n+2){border-bottom:0}.live-layout{grid-template-columns:minmax(680px,1fr) minmax(380px,34vw);gap:14px;display:grid}.live-actions{gap:8px;display:flex}.live-matrix-panel{overflow:auto}.submission-count{background:var(--blue-soft);color:var(--blue-strong);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.live-matrix{gap:0;min-width:max-content;display:grid}.matrix-header,.matrix-row{grid-template-columns:minmax(190px,200px) 64px repeat(6,56px);display:grid}.matrix-header span,.score-cell,.problem-status-cell,.student-cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:46px}.matrix-header span{color:var(--ink-2);background:#eef4ff;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:flex}.student-cell{border-left:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px 8px;padding:6px 10px;display:grid}.student-cell span{color:#fff;border-radius:50%;grid-row:span 2;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex}.student-cell strong,.student-cell em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-cell strong{font-size:13px}.student-cell em{color:var(--muted);font-size:11px;font-style:normal}.score-cell{background:#fff;justify-content:center;align-items:center;font-size:13px;font-weight:900;display:flex}.problem-status-cell{color:var(--muted);cursor:pointer;background:#fff;border-top:0;font-size:18px;font-weight:900}.problem-status-cell[data-status=correct]{color:var(--green);background:#f4fbf2}.problem-status-cell[data-status=incorrect]{background:var(--red-soft);color:var(--red)}.problem-status-cell[data-status=questioned]{background:var(--amber-soft);color:var(--amber)}.problem-status-cell[data-status=working]{background:var(--blue-soft);color:var(--blue)}.problem-status-cell[data-active=true]{box-shadow:inset 0 0 0 2px var(--blue)}.live-inspector{align-content:start;gap:14px;display:grid}.signal-card{background:var(--red-soft);border-radius:var(--radius);border:1px solid #ffd1ca;gap:6px;margin-top:8px;padding:12px;display:grid}.signal-card.soft{background:var(--amber-soft);border-color:#ffe5a6}.signal-card span{color:var(--muted);font-size:12px;font-weight:900}.signal-card em{color:var(--ink-2);font-size:12px;font-style:normal}.selected-student-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.selected-student-head>span{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:flex}.selected-student-head div{gap:2px;display:grid}.selected-student-head em{color:var(--muted);font-size:12px;font-style:normal}.teacher-problem-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:8px;margin-bottom:12px;padding:12px;display:grid}.teacher-canvas-sync{background:var(--blue-soft);border-radius:var(--radius);color:var(--blue-strong);border:1px solid #d2def8;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.teacher-canvas-sync span{align-items:center;gap:5px;font-size:12px;font-weight:900;display:inline-flex}.feedback-editor{gap:7px;margin-top:12px;display:grid}.feedback-editor span,.answer-box span,.notebook-head span,.problem-title-row span,.student-picker span{font-size:12px;font-weight:900}.feedback-editor textarea,.question-box textarea,.answer-box input,.search-input input{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-height:42px;padding:10px 12px}.feedback-editor textarea{resize:vertical;min-height:92px}.practice-canvas-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;position:relative;overflow:hidden}.practice-canvas{aspect-ratio:4/3;cursor:crosshair;touch-action:none;background:#fff;border:0;width:100%;height:auto;min-height:320px;display:block}.practice-canvas[data-tool=hand]{cursor:grab}.practice-canvas[data-tool=select]{cursor:pointer}.practice-canvas[data-tool=eraser]{cursor:cell}.practice-canvas[data-tool=text]{cursor:text}.practice-canvas[data-tool=image]{cursor:copy}.canvas-file-input{display:none}.canvas-text-editor{border:1.5px solid var(--blue);resize:none;white-space:pre;z-index:6;background:#fffffff7;border-radius:6px;outline:none;min-width:90px;min-height:30px;padding:4px 6px;font:600 18px/1.3 Noto Sans KR,Noto Sans CJK KR,sans-serif;position:absolute;box-shadow:0 6px 18px #0f1f4629}.mini-canvas{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:74px;display:block}.canvas-toolbar.floating{z-index:5;background:#fff;border:1px solid #eef2f8;border-radius:14px;flex-wrap:nowrap;align-items:center;gap:2px;max-width:calc(100% - 28px);padding:6px;display:flex;position:absolute;top:16px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 10px 30px #0f1f461f,0 2px 6px #0f1f460f}.canvas-toolbar.floating button{color:#44506a;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:42px;height:38px;transition:background .12s,color .12s;display:flex}.canvas-toolbar.floating button:hover{background:#f3f6fb}.canvas-toolbar.floating button[data-active=true]{background:var(--blue-soft);color:var(--blue)}.canvas-toolbar.floating button[data-passive=true]{color:#5a6781}.canvas-more-tools{z-index:5;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.canvas-more-tools>button{color:#44506a;cursor:pointer;background:#fff;border:1px solid #eef2f8;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:background .12s,color .12s;display:flex;box-shadow:0 10px 30px #0f1f461f,0 2px 6px #0f1f460f}.canvas-more-tools>button:hover{background:#f3f6fb}.canvas-more-tools>button[data-active=true]{background:var(--blue-soft);color:var(--blue);border-color:#c5d8fb}.canvas-more-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);z-index:7;border-radius:12px;grid-template-columns:repeat(2,42px);gap:2px;padding:6px;display:grid;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.canvas-more-menu button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:42px;height:38px;display:flex}.canvas-more-menu button:hover{background:var(--surface-2)}.canvas-more-menu button[data-active=true]{background:var(--blue-soft);color:var(--blue)}.paper-switch button,.resize-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:38px;height:34px;display:flex}.paper-switch button[data-active=true],.resize-actions button[data-active=true]{background:var(--blue-soft);color:var(--blue);border-color:#c5d8fb}.canvas-style-panel{border:1px solid var(--line);z-index:6;background:#fffffff0;border-radius:10px;gap:9px;min-width:178px;padding:12px;display:grid;position:absolute;bottom:72px;left:16px;box-shadow:0 16px 34px #0f1f4624}.canvas-style-panel[data-anchor=tool]{bottom:auto;transform:translate(-50%)}.canvas-style-panel strong{color:var(--ink-2);font-size:12px;font-weight:900}.swatches{align-items:center;gap:6px;display:flex}.swatches button{box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border:2px solid #fff;border-radius:50%;width:22px;height:22px}.swatches button[data-active=true]{box-shadow:0 0 0 2px var(--blue)}.width-picks{align-items:center;gap:7px;display:flex}.width-picks button{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.width-picks button[data-active=true]{background:#e9e2ff;border-color:#d8ccff}.width-picks i{background:var(--ink);border-radius:999px;width:17px;display:block}.canvas-bottom-bar{z-index:5;background:#fff;border:1px solid #eef2f8;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 10px 30px #0f1f461f,0 2px 6px #0f1f460f}.canvas-bottom-bar .bottom-left,.canvas-bottom-bar .bottom-right{align-items:center;gap:4px;display:flex}.bottom-icon{color:#44506a;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:38px;height:36px;transition:background .12s,color .12s;display:flex}.bottom-icon:hover:not(:disabled){background:#f3f6fb}.bottom-icon[data-active=true]{background:var(--blue-soft);color:var(--blue)}.bottom-icon[data-danger=true]:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.bottom-icon:disabled{cursor:not-allowed;opacity:.32}.zoom-inline{color:var(--ink-2);align-items:center;font-weight:800;display:flex}.zoom-inline button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:30px;height:32px;padding:0 6px;font-size:14px;font-weight:800}.zoom-inline button:hover{background:#f3f6fb}.zoom-inline button:nth-child(2){min-width:52px;font-size:12px}.bottom-divider{background:var(--line);width:1px;height:20px}.select-count{background:var(--blue-soft);color:var(--blue);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:900;display:inline-flex}@media (width<=480px){.canvas-bottom-bar{gap:4px;padding:5px 7px;overflow-x:auto}.canvas-bottom-bar .bottom-left,.canvas-bottom-bar .bottom-right,.bottom-icon,.zoom-inline button,.bottom-divider{flex:none}}.score-gauge{align-content:start;gap:8px;display:grid}.score-gauge span{color:var(--muted);font-size:13px;font-weight:900}.score-gauge strong{font-size:42px;line-height:1}.score-gauge em{color:var(--muted);font-style:normal}.score-gauge div{background:conic-gradient(var(--blue) var(--value), #dfe6ef 0);border-radius:50%;width:132px;height:132px;margin-top:12px}.student-report-table{border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.report-table-head,.student-report-table>div:not(.report-table-head){grid-template-columns:48px 1.15fr .8fr .8fr .7fr .8fr 70px;min-width:760px;display:grid}.report-table-head span,.student-report-table>div:not(.report-table-head) span,.student-report-table strong,.student-report-table button{border-bottom:1px solid var(--line);border-right:1px solid var(--line);align-items:center;min-height:42px;padding:8px;display:flex}.report-table-head span{color:var(--ink-2);background:#eef4ff;font-size:12px;font-weight:900}.student-report-table button{color:var(--blue);cursor:pointer;background:0 0;border-top:0;font-weight:900}.search-input{background:var(--surface-2);border-radius:var(--r-sm);color:var(--muted);align-items:center;gap:var(--sp-2);min-width:260px;padding:0 var(--sp-3);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;display:flex}.search-input:focus-within{background:var(--surface);border-color:var(--blue);box-shadow:var(--focus-ring)}.search-input input{color:var(--ink);min-height:var(--control-h);background:0 0;border:0;width:100%;padding:0}.search-input input:focus-visible{outline:none}.student-directory{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.student-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);gap:var(--sp-2);padding:var(--sp-4);display:grid}.student-card>span{color:var(--on-accent);font-weight:var(--fw-bold);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.student-card em,.student-card small{color:var(--muted);font-size:var(--fs-cap);font-style:normal}.student-name-edit{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;width:100%;margin:0;padding:3px 6px;font-family:inherit;font-size:15px;font-weight:800}.student-name-edit:hover{border-color:var(--line-strong)}.student-name-edit:focus{background:var(--surface);border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}.progress-bar,.exp-track{background:#e5ebf3;border-radius:999px;height:7px;overflow:hidden}.progress-bar i,.exp-track i{background:var(--blue);height:100%;display:block}.student-home{max-width:1120px}.student-hero{background:radial-gradient(circle at 25% 10%, #2f65d81f, transparent 36%), var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:18px;padding:24px;display:grid}.student-profile{align-items:center;gap:18px;display:flex}.student-profile>span{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;font-size:34px;font-weight:900;display:flex}.student-profile h1{margin:0 0 4px;font-size:34px}.student-profile p,.student-profile em{color:var(--muted);margin:0;font-style:normal}.student-profile strong{margin:10px 0 7px;display:inline-block}.badge-strip{flex-wrap:wrap;gap:8px;display:flex}.badge-strip span{background:var(--amber-soft);color:#7d560b;border:1px solid #ffe2a0;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:900;display:flex}.student-sheet-list{gap:12px;display:grid}.sheet-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1.2fr) minmax(220px,.7fr) auto;align-items:center;gap:18px;padding:18px;display:grid;box-shadow:0 10px 24px #0f1f460f}.personalized-card{background:var(--mint-soft);border-radius:var(--radius);border:1px solid #b9e8df;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.personalized-card span{color:#0e655c;background:#d7f2ec;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.personalized-card h2{margin:10px 0 6px}.personalized-card p{color:#276c64;margin:0}.sheet-card h2{margin:7px 0}.sheet-card p,.sheet-detail em{color:var(--muted);margin:0;font-style:normal}.sheet-card [data-status]{background:var(--blue-soft);color:var(--blue-strong);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.sheet-detail{gap:5px;display:grid}.student-workspace{gap:14px;min-height:100%;padding:18px;display:grid;overflow-x:auto}.worksheet-header{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.worksheet-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.screen-actions{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:5px;padding:4px;display:flex}.screen-actions button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.screen-actions button[data-active=true]{color:var(--blue-strong);background:#e9e2ff;border-color:#d8ccff}.worksheet-layout{grid-template-columns:72px minmax(390px, 1fr) 16px clamp(340px, var(--notebook-width,560px), 980px);gap:12px;min-height:0;display:grid;overflow-x:auto}.worksheet-layout[data-screen-mode=notebook]{grid-template-columns:minmax(0,1fr)}.worksheet-layout[data-screen-mode=notebook] .problem-nav,.worksheet-layout[data-screen-mode=notebook] .problem-solving-panel,.worksheet-layout[data-screen-mode=notebook] .notebook-resizer{display:none}.worksheet-layout[data-screen-mode=notebook] .notebook-area{min-height:calc(100dvh - 196px)}.worksheet-layout[data-screen-mode=notebook] .practice-canvas{min-height:min(72dvh,760px)}.worksheet-layout[data-screen-mode=problem]{grid-template-columns:72px minmax(0,1fr)}.worksheet-layout[data-screen-mode=problem] .notebook-resizer,.worksheet-layout[data-screen-mode=problem] .notebook-area{display:none}.problem-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:8px;padding:10px;display:grid}.problem-nav button{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;place-items:center;gap:2px;min-height:54px;display:grid}.problem-nav button[data-active=true]{background:var(--blue);border-color:var(--blue);color:#fff}.problem-nav span{font-size:13px;font-weight:900}.problem-nav strong{font-size:12px}.problem-solving-panel,.notebook-area{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:16px;overflow:auto;box-shadow:0 10px 26px #0f1f460f}.problem-title-row{justify-content:space-between;align-items:start;gap:12px;display:flex}.problem-title-row h2{margin:3px 0 0;font-size:24px}.problem-title-row button{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:7px;min-height:36px;padding:0 10px;display:inline-flex}.problem-title-row button[data-active=true]{background:var(--amber-soft);color:#8a610f}.problem-meta{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.problem-meta span{background:var(--blue-soft);color:var(--blue-strong);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.student-problem-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:16px;min-height:180px;padding:16px;display:grid}.choice-list{gap:8px;display:grid}.choice-list button{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.choice-list button[data-active=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-strong);font-weight:900}.choice-list button>span:first-child{border:1px solid var(--line);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.answer-box{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:12px;display:grid}.answer-box label{gap:6px;display:grid}.answer-box button,.question-box button{background:var(--blue);color:#fff}.hint-strip,.feedback-strip,.live-note{border-radius:var(--radius);align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.hint-strip{background:var(--amber-soft);color:#76510d}.feedback-strip{background:var(--mint-soft);color:#0e655c}.question-box{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px;display:grid}.question-box textarea{resize:vertical;min-height:72px}.notebook-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.notebook-head div:first-child{gap:3px;display:grid}.notebook-title-main{color:var(--blue);align-items:center;gap:6px;font-size:17px;font-weight:900;display:inline-flex}.notebook-title-main svg{color:var(--blue)}.notebook-head strong{font-size:18px}.notebook-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.resize-actions,.paper-switch{gap:5px;display:flex}.notebook-resizer{cursor:col-resize;touch-action:none;background:0 0;border:0;justify-content:center;align-self:stretch;align-items:stretch;min-height:100%;padding:0;display:flex}.notebook-resizer span{background:#b9a8ee;border-radius:999px;width:5px;margin:8px 0;transition:background .12s,box-shadow .12s,width .12s;display:block;box-shadow:0 0 0 3px #8f75df21,inset 0 0 0 1px #ffffff73}.notebook-resizer:hover span,.notebook-resizer:focus-visible span,.notebook-resizer:active span{background:#8f75df;width:7px;box-shadow:0 0 0 5px #8f75df33}.live-note{background:var(--blue-soft);color:var(--blue-strong);font-size:12px;font-weight:900}.question-board{gap:12px;display:grid}.answer-placeholder{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);padding:12px}.empty{color:var(--muted)}.student-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.result-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:14px;display:grid}.result-card>span{color:var(--muted);font-size:12px;font-weight:900}.result-card em{color:var(--blue);font-style:normal;font-weight:900}.result-card[data-status=incorrect] em{color:var(--red)}.result-card[data-status=correct] em{color:var(--green)}.result-card p{color:var(--muted);margin:0}.math-line{line-height:1.7}.math-inline{vertical-align:middle;display:inline-block}.math-block,.formula{display:block;overflow-x:auto}.head-actions{align-items:center;gap:8px;display:flex}.ghost-button{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:9px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.ghost-button.on{background:var(--blue);color:var(--on-accent);border-color:#0000}.lesson-layout{grid-template-columns:240px minmax(0,1fr);gap:16px;display:grid}.lesson-list{align-content:start;gap:8px;display:grid}.lesson-list-item{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.lesson-list-item[data-active=true]{background:var(--blue-soft);box-shadow:none;border-color:#0000}.lesson-list-item strong{font-size:14px}.lesson-list-item small{color:var(--muted);font-size:11px}.lesson-editor{gap:12px;min-width:0;display:grid}.lesson-title-input{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:46px;padding:10px 14px;font-size:18px;font-weight:800}.lesson-blocks{gap:12px;display:grid}.block-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow:hidden}.block-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.block-type{color:var(--ink-2);flex:none;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.module-chip{background:var(--blue-soft);border-radius:var(--r-pill);color:var(--blue-strong);font-size:11px;font-weight:var(--fw-bold);max-width:52%;padding:var(--sp-1) var(--sp-2);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;margin-right:auto;overflow:hidden}.block-tools{gap:4px;display:flex}.icon-btn{border:1px solid var(--line);border-radius:var(--r-xs);color:var(--ink-2);cursor:pointer;width:32px;height:32px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn:disabled{color:var(--muted);cursor:default;opacity:.45}.icon-btn.danger:hover{background:var(--red-soft);color:var(--red);border-color:#0000}.block-body{gap:8px;padding:12px;display:grid}.block-input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);font:inherit;min-height:40px;padding:var(--sp-2) var(--sp-3);width:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.block-input:focus{border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}.block-input.mono{font-family:var(--font-mono);font-size:var(--fs-sub)}.block-preview{background:var(--surface);border-radius:8px;padding:8px 10px;overflow-x:auto}.block-preview-img{object-fit:contain;border-radius:8px;max-height:180px}.block-upload{background:var(--surface);border:1px dashed var(--line);color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:center;gap:6px;width:fit-content;padding:7px 10px;font-size:13px;font-weight:700;display:inline-flex}.html-activity-toggle{color:var(--ink-2);align-items:center;gap:7px;width:fit-content;font-size:13px;font-weight:800;display:inline-flex}.block-sub.warn{color:var(--amber);font-size:var(--fs-cap);margin:0}.choice-row{align-items:center;gap:8px;display:flex}.choice-row .block-input{flex:1}.block-add-choice{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:center;gap:6px;width:fit-content;min-height:32px;padding:0 10px;font-weight:700;display:inline-flex}.block-palette{border:1px dashed var(--line);background:#fff;border-radius:12px;gap:8px;padding:12px;display:grid}.palette-label{color:var(--ink-2);font-size:12px;font-weight:800}.palette-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.palette-group em{color:var(--muted);min-width:38px;margin-right:4px;font-size:11px;font-style:normal;font-weight:800}.palette-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:5px;min-height:34px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.palette-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}.module-insert-notice{color:var(--blue);min-height:0;font-size:12px;font-weight:800}.module-insert-notice:empty{display:none}.module-template-panel{border:1px solid var(--line);background:#fff;border-radius:14px;gap:12px;margin-top:10px;padding:14px;display:grid;box-shadow:0 10px 30px #0f1f4614}.module-template-panel header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.module-template-panel header strong{font-size:15px}.module-template-panel header p{color:var(--muted);margin:4px 0 0;font-size:12.5px;line-height:1.5}.module-template-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.module-template-card{color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(#fbfdff,#f4f8ff);border:1px solid #d7e4fa;border-radius:13px;gap:7px;min-height:172px;padding:13px;display:grid}.module-template-card:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 10px 24px #2f65d824}.module-template-card strong{font-size:15px}.module-template-card small{color:var(--ink-2);font-size:12.5px;line-height:1.45}.module-template-card em{color:var(--muted);font-size:11.5px;font-style:normal;font-weight:800}.module-template-source{color:var(--blue);letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:900}.module-template-badges{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.module-template-badges span{color:var(--ink-2);background:#fff;border:1px solid #dce6f6;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.lesson-delete{color:var(--red);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:5px;padding:4px 0;font-size:13px;font-weight:700;display:inline-flex}.lesson-preview-block{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.lesson-text{color:var(--ink);white-space:pre-wrap;margin:0;line-height:1.7}.lesson-prompt{margin:0 0 8px;font-weight:800}.lesson-figure{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:440px;margin:6px 0 12px;display:block}.lesson-image{border-radius:10px;max-width:100%}.lesson-video{aspect-ratio:16/9;background:#f4f6f8;border:0;width:100%;min-height:320px;display:block}.embed-editor{gap:6px;display:grid}.embed-editor-hint{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.embed-editor-hint small{color:var(--muted);font-size:12px}.embed-badge{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.embed-badge.ok{color:#1c7a4d;background:#e8f6ef;border-color:#b6e3cd}.embed-badge.warn{color:#8a5a0f;background:#fff6e6;border-color:#f3d9a6}.lesson-html :where(img,iframe){max-width:100%}.lesson-html-frame{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:200px}.lesson-html-activity{min-height:420px}.ati-sandbox-notice{color:#8a5a0f;background:#fff6e6;border:1px solid #f3d9a6;border-radius:8px;margin-top:6px;padding:8px 12px;font-size:13px}.ati-sandbox-notice button{color:#fff;cursor:pointer;font:inherit;background:#266eaa;border:0;border-radius:6px;padding:4px 10px;font-weight:700}.lesson-pagebreak{color:var(--muted);align-items:center;gap:10px;margin:4px 0;font-size:12px;display:flex}.lesson-pagebreak:before,.lesson-pagebreak:after{content:"";border-top:2px dashed #c9d2e0;flex:1}.pagebreak-editor{border:1px dashed var(--line-strong);color:var(--muted);background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:12.5px}.player-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.player-nav-btn{cursor:pointer;background:#fff;border:1px solid #d4dbe6;border-radius:10px;align-items:center;gap:4px;padding:9px 15px;font-size:14px;font-weight:700;display:inline-flex}.player-nav-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.player-nav-btn:disabled{opacity:.4;cursor:default}.player-dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.player-dot{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 6px;font-size:12.5px;font-weight:800;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.player-dot:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.player-dot.done{background:var(--blue-soft);color:var(--blue-strong);border-color:#cfe0ff}.player-dot.on{background:var(--blue);border-color:var(--blue);color:#fff}.player-dot:disabled{color:var(--muted);cursor:default;opacity:.55}.player-locked{justify-content:center;width:fit-content;margin:12px auto 0}.lesson-locked.inline{align-items:center;gap:6px;margin:0;padding:6px 10px;font-size:12.5px;display:inline-flex}.player-body{max-width:880px;margin:0 auto}.player-progress{align-items:center;gap:12px;margin-bottom:14px;display:flex}.player-progress-label{color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:700}.player-progress-label strong{color:var(--blue)}.player-progress-track{background:#eef1f5;border-radius:999px;flex:1;height:8px;overflow:hidden}.player-progress-track i{background:var(--blue);border-radius:999px;height:100%;transition:width .25s;display:block}.slide-count{color:var(--muted);font-size:10.5px}.response-item{align-items:center;gap:8px;display:flex}.response-item .response-value{overflow-wrap:anywhere;flex:1;min-width:0}.response-chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.response-chip.correct{color:#1b7d3c;background:#e3f6e8}.response-chip.incorrect{color:#b3261e;background:#fde8e8}.response-chip.answered{color:#2f5cc4;background:#e8eefb}.response-chip.blank{background:var(--surface-3);color:var(--muted)}.response-item[data-status=correct]{border-left:3px solid #34a853}.response-item[data-status=incorrect]{border-left:3px solid #ea4335}.lesson-link{color:var(--blue);align-items:center;gap:4px;font-weight:700;text-decoration:underline;display:inline-flex}.lesson-choices{gap:6px;display:grid}.lesson-choice{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;display:flex}.lesson-choice[data-correct=true]{background:#e6f7f0;border-color:#34c08a}.lesson-answer-input,.lesson-answer-textarea{border:1px solid var(--line);font:inherit;border-radius:8px;width:100%;padding:8px 10px}.lesson-answer-textarea{resize:vertical;min-height:80px}.lesson-answer-key{color:var(--green);font-weight:700}.lesson-empty{color:var(--muted);padding:8px 0;font-size:13px}.lesson-issues{color:#8a5a0f;background:#fff6e6;border:1px solid #f3d9a6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.save-error{color:#a3271f;background:#fdecec;border:1px solid #f3b7b7;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.runner-bar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.runner-nav{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:4px;min-height:36px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.runner-nav:disabled{color:var(--muted);cursor:default;opacity:.5}.runner-pos{color:var(--ink-2);text-align:center;min-width:56px;font-size:13px;font-weight:800}.runner-toggle{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;min-height:36px;margin-left:auto;padding:0 16px;font-size:13px;font-weight:800;display:inline-flex}.runner-toggle.on{background:var(--red)}.runner-live{color:#1c7a4d;font-size:12px;font-weight:800}.follow-banner{color:#1c7a4d;background:#e8f6ef;border:1px solid #b6e3cd;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.feedback-banner{color:#8a4b12;background:#fff6ec;border:1px solid #f0d6b0;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 13px;font-size:13.5px;font-weight:600;display:flex}.feedback-banner svg{flex:none;margin-top:2px}.run-view .run-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;display:flex}.run-back{border:1px solid var(--line,#e4e9f2);cursor:pointer;color:#44506a;background:#fff;border-radius:10px;align-items:center;gap:4px;padding:8px 12px;font-size:13.5px;font-weight:700;display:inline-flex}.run-title{flex:1;min-width:180px}.run-title h1{margin:2px 0 0}.run-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.run-tab{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;min-height:38px;margin-bottom:-1px;padding:0 14px;font-size:13.5px;font-weight:800;display:inline-flex}.run-tab:hover{color:var(--blue)}.run-tab.on{border-bottom-color:var(--blue);color:var(--blue)}.run-classfilter{color:#5b6577;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.run-classfilter select{border:1px solid var(--line,#e4e9f2);color:#2f65d8;cursor:pointer;background:#f7f9fc;border-radius:9px;padding:7px 11px;font-size:13.5px;font-weight:600}.run-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.run-card{text-align:left;border:1px solid var(--line,#e4e9f2);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:18px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.run-card:hover{border-color:#2f65d8;box-shadow:0 4px 16px #2f65d81a}.run-card.running{background:#f3fbf6;border-color:#1c7a4d}.run-card strong{color:#1c2433;font-size:16px}.run-card-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12.5px;display:flex}.run-card-meta span{align-items:center;gap:4px;display:inline-flex}.run-card-go{color:#2f65d8;align-items:center;gap:5px;font-size:13.5px;font-weight:700;display:inline-flex}.run-card.running .run-card-go{color:#1c7a4d}.run-badge{color:#fff;background:#1c7a4d;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:12px;right:12px}.peek-responses{gap:5px;margin:8px 0;display:grid}.peek-row{border-top:1px solid #f0f3f8;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.peek-row:first-of-type{border-top:0}.peek-q{color:#44506a;flex:none;width:28px;font-weight:800}.peek-val{overflow-wrap:anywhere;flex:1;min-width:0}.peek-val em{color:var(--muted)}.personal-feedback{gap:5px;margin:8px 0;display:grid}.personal-feedback textarea{resize:vertical;width:100%}.lesson-sketch{gap:8px;display:grid}.lesson-sketch .lesson-prompt{margin:0}.sketchpad{gap:6px;display:grid}.sketchpad-bar{justify-content:flex-end;gap:6px;display:flex}.sketchpad-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:center;gap:4px;min-height:30px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.sketchpad-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.sketchpad-btn:disabled{cursor:default;opacity:.45}.sketchpad-body{width:100%;position:relative}.sketchpad-body .practice-canvas-wrap{height:100%}.sketchpad-body .practice-canvas{aspect-ratio:auto;height:100%;min-height:0}.sketchpad-body .sketch-mark-stack{height:100%}.sketchpad-full{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:14px;padding-bottom:calc(14px + var(--safe-bottom));z-index:80;background:#0f17288c;grid-template-rows:auto minmax(0,1fr);gap:10px;display:grid;position:fixed;inset:0}.sketchpad-full-head{color:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex}.sketchpad-full-head>strong{font-size:15px;font-weight:800}.sketchpad-full-head .sketchpad-btn{background:#fff}.sketchpad-body.full{background:#fff;border-radius:12px;height:100%;overflow:hidden}.lesson-sketch-ph{gap:8px;display:grid}.sketch-ph-area{border:1.5px dashed var(--line-strong);min-height:160px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;font-size:13.5px;display:flex}.sketch-paper-pick{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.sketch-paper-pick span{color:var(--muted);font-size:12.5px}.paper-opt{border:1px solid var(--line,#e4e9f2);cursor:pointer;color:#44506a;background:#fff;border-radius:8px;padding:5px 11px;font-size:13px;font-weight:600}.paper-opt.on{color:#fff;background:#2f65d8;border-color:#2f65d8}.paper-grid{background-image:linear-gradient(#eef1f6 1px,#0000 1px),linear-gradient(90deg,#eef1f6 1px,#0000 1px);background-size:22px 22px}.paper-ruled{background-image:linear-gradient(#eef1f6 1px,#0000 1px);background-size:100% 26px}.paper-blank{background:#fcfcfd}.sketch-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:8px;display:grid}.sketch-thumb-canvas{height:150px;position:relative;overflow:hidden}.sketch-thumb-canvas .practice-canvas-wrap,.sketch-thumb-canvas canvas{pointer-events:none}.peek-sketch{display:block}.peek-sketch-canvas{border:1px solid var(--line,#e4e9f2);border-radius:8px;height:200px;margin-top:4px;overflow:hidden}.sketch-observe-section{margin:14px 0}.sketch-observe{border:1px solid var(--line,#e4e9f2);background:#f7f9fc;border-radius:14px;padding:12px 14px}.sketch-observe-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;font-size:14px;display:flex}.sketch-observe-head>strong{color:#2f3b52;font-weight:800}.sketch-observe-count{color:var(--muted);font-size:12.5px;font-weight:600}.sketch-observe-toggle{color:#44506a;cursor:pointer;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.sketch-observe-filter{border:1px solid var(--line,#e4e9f2);color:#44506a;cursor:pointer;background:#fff;border-radius:8px;padding:5px 9px;font-size:12.5px;font-weight:600}.sketch-tile{text-align:left;border:1px solid var(--line,#e4e9f2);cursor:pointer;background:#fff;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.sketch-tile:hover{border-color:#2f65d8}.sketch-tile-name{color:#44506a;border-bottom:1px solid #f0f3f8;align-items:center;gap:6px;padding:6px 9px;font-size:12.5px;font-weight:700;display:flex}.sketch-tile-name em{color:var(--muted);flex:1;font-style:normal;font-weight:500}.sketch-tile-badge{display:inline-flex}.sketch-tile-canvas{display:block}.sketch-zoom{background:#fff;border:1px solid #d6e2fb;border-radius:12px;margin-top:12px;overflow:hidden}.sketch-zoom-head{border-bottom:1px solid #f0f3f8;align-items:center;gap:8px;padding:8px 12px;display:flex}.sketch-zoom-head>strong{color:#2f3b52;font-size:14px;font-weight:800}.sketch-zoom-head>span{color:var(--muted);flex:1;font-size:12.5px}.sketch-zoom-canvas{height:420px;position:relative;overflow:hidden}.sketch-mark-stack{height:100%;position:relative}.sketch-mark-stack .sketch-mark-bg{position:absolute;inset:0}.sketch-mark-stack .sketch-mark-bg .practice-canvas-wrap,.sketch-mark-stack .sketch-mark-bg canvas{pointer-events:none}.sketch-mark-stack .sketch-mark-fg{position:absolute;inset:0}.sketch-mark-stack .sketch-mark-fg-readonly{pointer-events:none;position:absolute;inset:0}.sketch-mark-stack .sketch-mark-fg-readonly .practice-canvas-wrap,.sketch-mark-stack .sketch-mark-fg-readonly canvas{pointer-events:none}.sketch-mark-hint{color:var(--muted);background:var(--surface-2);border-top:1px solid var(--line);padding:6px 12px;font-size:12px}.sketch-mark-hint.live{color:#c0392b;background:#fff1f0;align-items:center;gap:7px;font-weight:800;display:flex}.live-pulse{background:#e23b2e;border-radius:50%;width:9px;height:9px;animation:1.3s ease-out infinite live-pulse;display:inline-block;box-shadow:0 0 #e23b2e99}@keyframes live-pulse{0%{box-shadow:0 0 #e23b2e8c}70%{box-shadow:0 0 0 7px #e23b2e00}to{box-shadow:0 0 #e23b2e00}}.practice-canvas-wrap[data-transparent=true],.practice-canvas[data-transparent=true]{background:0 0}.practice-canvas-wrap[data-transparent=true]{border-color:#0000}.slide-resp-note{color:var(--muted);margin-left:8px;font-size:12px;font-weight:500}.cardsort,.cardsort-board{gap:10px;display:grid}.cardsort-col{border:1px solid var(--line,#e4e9f2);background:#f7f9fc;border-radius:12px;min-height:80px;padding:10px}.cardsort-col header{color:#2f65d8;text-align:center;margin-bottom:8px;font-size:13px;font-weight:800}.sort-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #d4dbe6;border-radius:9px;width:100%;margin-bottom:7px;padding:9px 11px;font-size:14px;display:block}.sort-card.placed:hover:not(:disabled){border-color:#ea4335}.sort-card:disabled{cursor:default}.cardsort-tray{border:1.5px dashed #c9d2e0;border-radius:12px;gap:8px;padding:10px;display:grid}.cardsort-tray-label{color:var(--muted);font-size:12px;font-weight:600}.sort-card-pick{background:#fff;border:1px solid #d4dbe6;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 11px;display:flex}.sort-card-text{flex:1;min-width:90px;font-size:14px}.sort-card-cats{flex-wrap:wrap;gap:6px;display:flex}.sort-card-cats button{color:#2f65d8;cursor:pointer;background:#eef3fc;border:1px solid #2f65d8;border-radius:8px;padding:4px 10px;font-size:12.5px;font-weight:600}.cardsort-unplaced{color:var(--muted);font-size:12px}.cardsort-edit{border:1px solid var(--line,#e4e9f2);border-radius:10px;gap:7px;margin-top:6px;padding:10px;display:grid}.block-sub{color:var(--muted);font-size:12px;font-weight:700}.cardsort-edit-row{align-items:center;gap:6px;display:flex}.cardsort-edit-row .block-input{flex:1}.cardsort-add{cursor:pointer;color:#44506a;background:#f7f9fc;border:1px dashed #c9d2e0;border-radius:8px;justify-self:start;align-items:center;gap:4px;padding:6px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.response-cardsort{flex-basis:100%}.lesson-explore{gap:10px;display:grid}.lesson-explore .lesson-prompt{margin:0}.sample-responses{background:#f4f8ff;border:1px solid #d6e2fb;border-radius:12px;gap:10px;padding:12px 14px;display:grid}.sample-responses-head{color:var(--blue-strong);align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.sample-responses-empty{color:var(--muted);margin:0;font-size:13px}.sample-responses-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.sample-response-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;font-size:14px}.sample-responses-note{color:var(--muted);margin:6px 0 0;font-size:13px}.responses-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.snap-btn{color:#2f65d8;cursor:pointer;vertical-align:middle;background:#eef3fc;border:0;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;margin-left:6px;padding:0;display:inline-flex}.snap-btn:hover{color:#fff;background:#2f65d8}.snap-collect-btn{color:#2f65d8;cursor:pointer;background:#fff;border:1px solid #2f65d8;border-radius:10px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:700;display:inline-flex}.snap-collect-btn.on{color:#fff;background:#2f65d8}.snap-board{background:#f3f7ff;border:1px solid #d6e2fb;border-radius:14px;margin:12px 0;padding:14px 16px}.snap-board header{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.snap-board header span{color:var(--muted);font-size:12.5px}.snap-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.snap-card{border:1px solid var(--line,#e4e9f2);background:#fff;border-radius:10px;overflow:hidden}.snap-card-name{color:#44506a;border-bottom:1px solid #f0f3f8;align-items:center;gap:4px;padding:7px 9px;font-size:12.5px;font-weight:700;display:flex}.snap-card-name em{color:var(--muted);flex:1;font-style:normal;font-weight:500}.snap-text{padding:12px;font-size:15px;display:block}.snap-canvas{height:180px;overflow:hidden}.runner-global-banner{color:var(--blue-strong);background:#eaf2ff;border:1px solid #b9d0f5;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:800;display:flex}.runner-global-stop{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:4px;min-height:32px;margin-left:auto;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.assign-content-step{gap:12px;display:grid}.assign-content-step .step-hint{color:var(--muted);margin:0;font-size:13px}.content-composer{gap:12px;display:grid}.worksheet-intro{border:1px solid var(--line);background:#f4f8ff;border-radius:12px;gap:12px;margin-bottom:14px;padding:14px 16px;display:grid}.worksheet-intro-block{font-size:14px}.problem-picker{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;margin-top:10px;padding:14px;display:grid}.problem-picker header{justify-content:space-between;align-items:center;display:flex}.problem-picker header strong{font-size:14px}.problem-picker-hint{color:var(--muted);margin:0;font-size:12px}.problem-picker-list{gap:8px;max-height:360px;display:grid;overflow-y:auto}.problem-pick-item{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.problem-pick-item:hover{border-color:var(--blue)}.pick-no{background:var(--blue-soft);color:var(--blue-strong);border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-flex}.pick-body{gap:2px;min-width:0;display:grid}.pick-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.pick-body small{color:var(--muted);font-size:11px}.lesson-assign{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:12px;display:grid}.assign-label{color:var(--ink-2);font-size:12px;font-weight:800}.assign-types{gap:6px;display:flex}.assign-type{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;min-height:32px;padding:0 14px;font-size:13px;font-weight:700}.assign-type.on{background:var(--blue);border-color:var(--blue);color:#fff}.assign-options{flex-wrap:wrap;gap:10px 14px;display:flex}.assign-chk{align-items:center;gap:5px;font-size:13px;display:inline-flex}.assign-chk small{color:var(--muted)}.seg-control{background:var(--surface);border:1px solid var(--line);border-radius:9px;display:inline-flex;overflow:hidden}.seg-control button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;min-height:36px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.seg-control button.on{background:var(--blue);color:#fff}.lesson-responses{gap:14px;display:grid}.responses-summary{color:var(--ink-2);margin:0;font-size:13px}.response-block{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:14px;display:grid}.response-block header{align-items:baseline;gap:8px;font-weight:800;display:flex}.q-index{background:var(--blue);color:#fff;border-radius:6px;padding:2px 7px;font-size:12px}.response-tally{gap:7px;display:grid}.tally-row{grid-template-columns:160px minmax(0,1fr) 28px;align-items:center;gap:10px;display:grid}.tally-row[data-correct=true] .tally-label{color:var(--green);font-weight:800}.tally-label{font-size:13px}.tally-bar{background:var(--surface);border-radius:999px;height:12px;overflow:hidden}.tally-bar i{background:var(--blue);height:100%;display:block}.tally-row[data-correct=true] .tally-bar i{background:#34c08a}.tally-count{color:var(--ink-2);text-align:right;font-weight:800}.response-list{gap:6px;display:grid}.response-item{background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.response-item strong{font-size:13px}.lesson-player .lesson-play-blocks{gap:16px;max-width:none;display:grid}.lesson-play-block{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.player-stage{border:1px solid var(--line);background:#fff;border-radius:16px;gap:18px;padding:26px 28px;box-shadow:0 6px 24px #0f1f460f}.player-stage .lesson-play-block{background:0 0;border:0;border-radius:0;padding:0}.player-stage .lesson-prompt{font-size:17px}.player-stage .lesson-text{font-size:16px;line-height:1.6}.lesson-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.lesson-tab{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;min-height:34px;padding:0 14px;font-weight:700}.lesson-tab[data-active=true]{background:var(--blue);border-color:var(--blue);color:#fff}.lesson-locked{color:#8a5a0f;background:#fff6e6;border:1px dashed #f3d9a6;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:18px;font-weight:700;display:flex}.lesson-dashboard{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:14px;display:grid;overflow-x:auto}.dash-grid{gap:3px;min-width:max-content;display:grid}.dash-qh{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;min-height:24px;font-size:12px;font-weight:800;display:flex}.dash-qh.active{background:var(--blue);color:#fff}.slide-strip{scrollbar-width:thin;gap:8px;padding:4px 2px 10px;display:flex;overflow-x:auto}.slide-thumb{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;flex-direction:column;flex:none;align-items:stretch;gap:4px;width:124px;height:78px;padding:7px 9px;transition:border-color .12s,box-shadow .12s;display:flex}.slide-thumb:hover{border-color:var(--blue)}.slide-thumb.active{border-color:var(--blue);box-shadow:0 0 0 2px #2f65d82e}.slide-thumb-top{color:var(--ink-2);align-items:center;gap:6px;display:flex}.slide-num{background:var(--surface);color:var(--ink);border-radius:6px;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:12px;font-weight:800;display:inline-flex}.slide-qbadge{background:var(--blue);color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:800}.slide-snippet{-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.slide-detail{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:14px;display:grid}.slide-stage{gap:12px;display:flex}.slide-stage-num{background:var(--blue);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:inline-flex}.slide-stage-body{flex:1;min-width:0}.slide-responses{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.slide-resp-head{align-items:center;gap:10px;display:flex}.slide-resp-head strong{font-size:13px}.slide-content-note{margin:0}.dash-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding-right:6px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.dash-name-btn{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:flex-start;gap:5px}.dash-name-btn:hover{background:var(--blue-soft)}.dash-name-btn.active{background:var(--blue);color:#fff}.personal-badge{background:var(--red);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex}.dash-legend-hint{color:var(--muted);margin-left:auto}.slide-respbadge{background:var(--blue);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.screens-section{gap:10px;margin:4px 0;display:grid}.screens-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.screens-head>strong{color:var(--ink);font-size:14px;font-weight:800}.screens-head>span{color:var(--ink-2);font-size:12.5px}.screens-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.screen-tile{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:10px;display:grid}.screen-tile.blank{opacity:.55}.screen-tile-head{justify-content:space-between;align-items:center;display:flex}.screen-tile-head strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:800;overflow:hidden}.screen-answer{border-left:3px solid #0000;align-items:center;gap:8px;padding-left:8px;display:flex}.screen-answer.correct{border-left-color:#34c08a}.screen-answer.incorrect{border-left-color:var(--red)}.screen-answer.answered{border-left-color:#5b8def}.screen-answer.blank{border-left-color:#e3e8f0}.screen-answer-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.screen-answer-value em{color:var(--muted);font-style:normal}.screen-sketch{position:relative}.screen-sketch-open{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.screen-sketch-open:hover{border-color:var(--blue)}.screen-sketch-canvas{pointer-events:none;height:130px;overflow:hidden}.screen-sketch-canvas .practice-canvas-wrap,.screen-sketch-canvas canvas{pointer-events:none}.screen-sketch-empty{color:var(--muted);justify-content:center;align-items:center;height:64px;font-size:12px;display:flex}.screen-snap{position:absolute;top:6px;right:6px}.student-screen-view{gap:12px;display:grid}.sview-picker{flex-wrap:wrap;gap:6px;display:flex}.sview-chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:32px;padding:0 14px;font-size:12.5px;font-weight:700}.sview-chip:hover{border-color:var(--blue)}.sview-chip.on{background:var(--blue);border-color:var(--blue);color:#fff}.sview-slides{gap:12px;display:grid}.sview-slide{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.sview-slide-head{background:var(--surface);border-bottom:1px solid var(--line);color:var(--ink-2);align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:800;display:flex}.sview-slide-body{gap:12px;padding:14px;display:grid}.sview-content{min-width:0}.sview-q,.sview-sketch{gap:6px;display:grid}.sview-sketch .lesson-prompt{margin:0}.sview-sketch-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sview-annotate-btn{color:#c0392b;cursor:pointer;background:#fff1f0;border:1px solid #f6c6c0;border-radius:8px;flex:none;align-items:center;gap:5px;min-height:30px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.sview-annotate-btn:hover{background:#fde3e0;border-color:#e23b2e}.sview-stack{border:1px solid var(--line);border-radius:8px;height:260px;overflow:hidden}.live-tabbody{gap:14px;display:grid}.prob-strip{margin-bottom:2px}.matrix-qh{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#eef4ff;justify-content:center;align-items:center;min-height:46px;font-size:12px;font-weight:900;display:flex}.matrix-qh:hover{color:var(--blue)}.matrix-qh.active{background:var(--blue);color:#fff}.work-chip{background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.work-chip[data-status=correct]{color:#1b7d3c;background:#e3f6e8}.work-chip[data-status=incorrect]{background:var(--red-soft);color:var(--red)}.work-chip[data-status=questioned]{background:var(--amber-soft);color:var(--amber)}.work-chip[data-status=working]{background:var(--blue-soft);color:var(--blue)}.work-chip[data-status=reviewed]{color:#5b46c4;background:#ece9fb}.live-page .screen-tile[data-status]{border-left:3px solid #e3e8f0}.live-page .screen-tile[data-status=correct]{border-left-color:var(--green)}.live-page .screen-tile[data-status=incorrect]{border-left-color:var(--red)}.live-page .screen-tile[data-status=questioned]{border-left-color:var(--amber)}.live-page .screen-tile[data-status=working]{border-left-color:var(--blue)}.live-page .screen-tile[data-status=reviewed]{border-left-color:#5b46c4}.signal-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.signal-row .signal-card{margin-top:0}.signal-row .signal-card span{align-items:center;gap:5px;display:inline-flex}.teacher-focus-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:14px;max-width:920px;padding:18px;display:grid}.teacher-focus-head{align-items:center;gap:12px;display:flex}.tf-no{background:var(--blue);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:inline-flex}.teacher-focus-head strong{font-size:16px;font-weight:800;display:block}.teacher-focus-head em{color:var(--ink-2);font-size:12.5px;font-style:normal}.teacher-focus-prompt{font-size:15px;line-height:1.5}.teacher-focus-choices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teacher-focus-choices li{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:13.5px}.teacher-focus-choices li.answer{color:#1b7d3c;background:#f4fbf2;border-color:#b6e3a8;font-weight:700}.teacher-focus-meta{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.tf-meta-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.tf-meta-card span{color:var(--ink-2);font-size:11.5px;font-weight:800}.tf-meta-card strong{font-size:13.5px;font-weight:700}.tf-meta-card.answer{border-left-color:var(--green)}.tf-meta-card.warn{border-left-color:var(--amber)}.live-page .student-detail{max-width:920px}.personal-panel{border:1px solid var(--blue);background:#fff;border-radius:12px;gap:12px;padding:14px;display:grid}.personal-panel header{align-items:center;gap:10px;display:flex}.personal-panel header strong{font-size:14px}.personal-count{color:var(--ink-2);margin-right:auto;font-size:12px;font-weight:700}.personal-label{color:var(--ink-2);font-size:12px;font-weight:800}.personal-inquiry{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.personal-give{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:4px;min-height:36px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.personal-give:disabled{opacity:.5}.personal-problems{gap:6px;display:grid}.personal-problem-list{gap:6px;max-height:200px;display:grid;overflow-y:auto}.personal-prob{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:9px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;display:grid}.personal-prob:hover{border-color:var(--blue)}.personal-prob-body{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dash-cell{aspect-ratio:1;background:var(--surface-3);color:var(--ink-2);border-radius:6px;justify-content:center;align-items:center;min-height:28px;font-size:12px;font-weight:800;display:flex}.dash-cell.correct{background:var(--green);color:var(--on-accent)}.dash-cell.incorrect{background:var(--red);color:var(--on-accent)}.dash-cell.answered{background:var(--blue);color:var(--on-accent)}.dash-cell.blank{background:var(--surface-3)}.dash-legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.dash-legend span{align-items:center;gap:5px;display:inline-flex}.dash-dot{border-radius:4px;width:12px;height:12px;display:inline-block}.dash-dot.correct{background:var(--green)}.dash-dot.incorrect{background:var(--red)}.dash-dot.answered{background:var(--blue)}.dash-dot.blank{background:var(--surface-3);border:1px solid var(--line)}.q-rate{background:var(--surface);color:var(--ink-2);border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:800}.dash-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:4px;display:grid}.dash-stat{border:1px solid var(--line);background:#fff;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.dash-stat-num{color:var(--ink);font-size:22px;font-weight:800;line-height:1}.dash-stat-num small{color:var(--ink-2);font-size:13px;font-weight:700}.dash-stat-label{color:var(--ink-2);font-size:12px;font-weight:700}.dash-progress{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;max-height:320px;padding:12px 14px;display:grid;overflow-y:auto}.dash-progress-row{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:100px minmax(0,1fr) 52px;align-items:center;gap:10px;padding:4px 6px;display:grid}.dash-progress-row:hover{background:var(--blue-soft)}.dash-progress-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:700;overflow:hidden}.dash-progress-track{background:#eef1f5;border-radius:999px;height:10px;overflow:hidden}.dash-progress-track i{background:var(--blue);border-radius:999px;height:100%;transition:width .2s;display:block}.dash-progress-track i.done{background:#34c08a}.dash-progress-num{color:var(--ink-2);text-align:right;font-size:12px;font-weight:800}.pacing-stepper{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;width:fit-content;margin-bottom:4px;padding:6px 10px;display:inline-flex}.pacing-stepper>span{color:var(--ink-2);font-size:12px;font-weight:800}.pacing-stepper strong{text-align:center;min-width:72px;font-size:13px}.pacing-open-all{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:7px;min-height:30px;padding:0 10px;font-size:12px;font-weight:800}.live-controls{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:12px;padding:12px 20px;display:flex}.live-ctrl{cursor:pointer;background:0 0;border:0;place-items:center;gap:6px;padding:0;display:grid}.live-ctrl-icon{color:var(--ink-2);background:#eef1f5;border-radius:999px;justify-content:center;align-items:center;width:52px;height:52px;transition:background .15s,color .15s,box-shadow .15s;display:flex}.live-ctrl:hover .live-ctrl-icon{background:#e2e8f4}.live-ctrl em{color:var(--ink-2);font-size:12px;font-style:normal;font-weight:800}.live-ctrl.on .live-ctrl-icon{background:var(--blue);color:#fff;box-shadow:0 4px 12px #2f65d84d}.live-ctrl.on em{color:var(--blue-strong)}.live-ctrl.status{cursor:default}.live-ctrl.synced .live-ctrl-icon{background:var(--green);color:var(--on-accent)}.live-ctrl.synced:hover .live-ctrl-icon{background:var(--green)}.live-controls.compact{border-radius:12px;gap:4px;margin-bottom:10px;padding:6px 8px}.live-controls.compact .live-ctrl{border-radius:9px;flex-direction:row;align-items:center;gap:7px;padding:5px 11px;display:inline-flex}.live-controls.compact .live-ctrl:hover{background:#f1f4fa}.live-controls.compact .live-ctrl-icon{border-radius:7px;width:26px;height:26px}.live-controls.compact .live-ctrl-icon svg{width:15px;height:15px}.live-controls.compact .live-ctrl em{font-size:12px}.live-controls.compact .live-ctrl.on{background:var(--blue-soft)}.live-controls.compact .live-ctrl.on .live-ctrl-icon{box-shadow:none}.live-controls.compact .live-ctrl:hover .live-ctrl-icon{background:#e2e8f4}.live-controls.compact .live-ctrl.on .live-ctrl-icon,.live-controls.compact .live-ctrl.on:hover .live-ctrl-icon{background:var(--blue);color:#fff}.live-controls.compact .live-ctrl.synced .live-ctrl-icon,.live-controls.compact .live-ctrl.synced:hover .live-ctrl-icon{background:var(--green);color:var(--on-accent)}.lesson-preview{gap:10px;display:grid}.lesson-preview-head{color:var(--ink-2);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex;position:relative}.lesson-preview-head .lesson-preview-pos{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;position:absolute;right:0}.lesson-preview-stage{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;box-shadow:0 6px 24px #0f1f460f}.lesson-preview-stage .slide-stage{gap:16px}.lesson-preview-stage .slide-stage-body{width:100%;max-width:920px;min-height:420px;margin:0 auto;font-size:16px;line-height:1.6}.lesson-preview-stage .slide-stage-body .lesson-prompt{font-size:18px}.lesson-preview-stage .lesson-play-block,.lesson-preview-stage .block-view{font-size:16px}.pacing-banner{color:#8a5a0f;background:#fff6e6;border:1px solid #f3d9a6;border-radius:10px;align-items:center;gap:6px;margin-bottom:12px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.paused-overlay{-webkit-backdrop-filter:blur(12px)saturate(160%);background:rgb(var(--ink-rgb) / 40%);padding:var(--sp-6);z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.paused-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-3);color:var(--ink);gap:var(--sp-2);padding:var(--sp-7) var(--sp-8);text-align:center;justify-items:center;display:grid}.paused-card strong{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--tracking-title)}.paused-card p{color:var(--muted);margin:0}.raise-queue{background:#fff7ed;border:1px solid #fcd9a6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;display:flex}.raise-queue-title{color:#b45309;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.raise-queue-list{flex-wrap:wrap;gap:6px;display:flex}.raise-chip{background:#fff;border:1px solid #f3c98a;border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.raise-chip-name{color:var(--amber);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:5px 4px 5px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.raise-chip-name em{color:var(--amber);font-style:normal;font-weight:500}.raise-chip-x{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:5px 8px 5px 4px;display:inline-flex}.raise-chip-x:hover{color:var(--red)}.raise-hand-btn{color:#b45309;cursor:pointer;background:#fff7ed;border:1px solid #f3c98a;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.raise-hand-btn:hover{background:#ffedd5}.raise-hand-btn.sent{color:#1c7a4d;background:#e8f6ef;border-color:#b6e3cd}.snap-present-btn{color:var(--blue-strong);cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:7px;align-items:center;gap:3px;margin-left:auto;padding:3px 7px;font-size:11px;font-weight:800;display:inline-flex}.snap-present-btn.on{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}.snap-card.presenting{box-shadow:0 0 0 2px var(--blue-strong)}.present-overlay{-webkit-backdrop-filter:blur(12px)saturate(160%);background:rgb(var(--ink-rgb) / 40%);padding:var(--sp-6);z-index:55;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.present-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-3);color:var(--ink);max-width:720px;max-height:86vh;padding:var(--sp-6);width:100%;overflow:auto}.present-head{color:var(--blue-strong);font-size:var(--fs-body);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.present-who{background:var(--blue-soft);border-radius:var(--r-pill);color:var(--blue-strong);font-size:var(--fs-cap);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-3);margin-left:auto}.present-prompt{font-size:var(--fs-h2);font-weight:var(--fw-semibold);margin:0 0 var(--sp-3)}@media (width<=640px){.paused-overlay,.present-overlay{align-items:flex-end;padding:0}.paused-card,.present-card{border-radius:var(--r-lg) var(--r-lg) 0 0;max-width:none;max-height:88vh;padding-bottom:calc(var(--sp-6) + var(--safe-bottom));width:100%}}.present-text{margin:0;font-size:18px}.present-empty{color:var(--muted);margin:0;font-size:15px}.present-canvas{border:1px solid var(--line,#e4e9f2);border-radius:10px;height:min(52vh,420px);overflow:hidden}@media (width<=1180px){.aimata-shell{grid-template-columns:78px minmax(0,1fr)}.brand{grid-template-columns:38px}.brand strong,.brand span,.profile-chip,.aimata-nav span,.sidebar-footer{display:none}.aimata-nav button{justify-content:center;padding:10px}.metric-grid,.student-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.live-layout,.assignment-summary,.upload-workbench,.student-file-uploader{grid-template-columns:1fr}.worksheet-layout{grid-template-columns:64px minmax(320px, 1fr) 16px clamp(340px, var(--notebook-width,560px), 980px)}.worksheet-layout[data-screen-mode=notebook]{grid-template-columns:minmax(0,1fr)}.worksheet-layout[data-screen-mode=problem]{grid-template-columns:64px minmax(0,1fr)}.worksheet-layout .problem-nav{display:grid;overflow:visible}.problem-nav{display:flex;overflow:auto}.problem-nav button{min-width:58px}}@media (width<=760px){.aimata-shell{grid-template:"topbar""sidebar""content"minmax(0,1fr)/1fr;overflow:auto}.aimata-sidebar{border-bottom:1px solid #ffffff1a;flex-direction:row;min-height:auto;padding:10px;overflow-x:auto}.brand,.profile-chip,.sidebar-footer,.sidebar-toggle{display:none}.aimata-nav{display:flex}.aimata-nav button{white-space:nowrap}.aimata-topbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px;overflow:hidden}.topbar-actions,.worksheet-header-actions{grid-template-columns:1fr;width:100%;display:grid}.screen-actions{justify-content:center}.sync-pill,.student-picker,.role-switch{border-radius:var(--r-sm);justify-content:center;width:100%;min-width:0}.round-icon{display:none}.page,.student-workspace{padding:var(--sp-4) var(--sp-4) calc(var(--sp-6) + var(--safe-bottom));width:100%}.page-head,.worksheet-header,.sheet-card,.personalized-card,.student-profile{flex-direction:column;align-items:stretch}.page-head p,.worksheet-header p{max-width:34ch}.metric-grid,.type-grid,.scope-grid,.problem-preview-list,.generated-list,.round-selector div,.summary-table,.report-summary,.student-directory,.student-result-grid,.builder-layout,.preview-grid,.generator-controls,.answer-box,.question-box{grid-template-columns:1fr}.step-list{display:flex;overflow:auto}.step-list button{min-width:210px}.student-profile>span{width:72px;height:72px}.canvas-toolbar.floating{max-width:calc(100% - 20px);left:50%;transform:translate(-50%)}.canvas-toolbar.floating button{flex:0 0 38px}.canvas-more-tools{right:10px}.canvas-style-panel{max-width:calc(100% - 20px);inset:auto auto 70px 10px}.canvas-bottom-bar{bottom:10px;left:10px;right:10px}}.members-page .page-head{align-items:flex-start}.members-refresh{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-1);min-height:var(--control-h);padding:0 var(--sp-4);display:inline-flex}.members-refresh:disabled{cursor:default;opacity:.45}.members-filters{background:var(--surface-3);border-radius:var(--r-sm);margin:var(--sp-1) 0 var(--sp-3);flex-wrap:wrap;gap:2px;padding:2px;display:flex}.members-filter{border-radius:calc(var(--r-sm) - 3px);color:var(--ink-2);cursor:pointer;font-size:var(--fs-sub);font-weight:var(--fw-semibold);align-items:center;gap:var(--sp-1);letter-spacing:var(--tracking-heading);min-height:var(--control-h-sm);padding:0 var(--sp-3);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;display:inline-flex}.members-filter[data-active=true]{background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink)}.members-filter em{background:rgb(var(--ink-rgb) / 8%);border-radius:var(--r-pill);font-size:11px;font-style:normal;font-weight:var(--fw-semibold);text-align:center;min-width:18px;padding:2px 6px}.members-error{background:var(--red-soft);border-radius:var(--r-sm);color:var(--red);font-size:var(--fs-sub);font-weight:var(--fw-medium);margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid #0000}.members-empty{color:var(--muted);font-size:var(--fs-body);margin:var(--sp-3) 0}.members-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow-x:auto}.members-table{border-collapse:separate;border-spacing:0;font-size:var(--fs-sub);width:100%;min-width:720px}.members-table th,.members-table td{border-bottom:1px solid var(--separator);padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:middle;white-space:nowrap}.members-table th{background:var(--surface-2);color:var(--muted);font-size:var(--fs-cap);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);z-index:1;position:sticky;top:0}.members-table tbody tr:last-child td{border-bottom:0}.members-row[data-access=pending]{background:var(--amber-soft)}.members-name{font-weight:var(--fw-semibold)}.members-email{color:var(--ink-2)}.members-count{text-align:right;font-variant-numeric:tabular-nums}.members-chip{border-radius:var(--r-pill);font-size:11px;font-weight:var(--fw-bold);margin-left:var(--sp-1);padding:var(--sp-1) var(--sp-2);align-items:center;gap:3px;line-height:1.25;display:inline-flex}.members-chip.active{background:var(--green-soft);color:var(--green)}.members-chip.pending{background:var(--amber-soft);color:var(--amber)}.members-chip.disabled{background:rgb(var(--ink-rgb) / 8%);color:var(--ink-2)}.members-chip.rejected{background:var(--red-soft);color:var(--red)}.members-chip.master{background:var(--blue-soft);color:var(--blue-strong)}.members-table td .members-chip:first-child{margin-left:0}.members-actions{white-space:nowrap}.members-action{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--ink-2);cursor:pointer;font-size:var(--fs-cap);font-weight:var(--fw-semibold);margin-right:var(--sp-1);min-height:var(--control-h-sm);padding:0 var(--sp-3);transition:background var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out)}.members-action:hover:not(:disabled){background:var(--surface-3)}.members-action:active:not(:disabled){opacity:.82}.members-action.primary{background:var(--blue);color:var(--on-accent);border-color:#0000}.members-action.primary:hover:not(:disabled){background:var(--blue-press)}.members-action.danger{background:var(--red-soft);color:var(--red);border-color:#0000}.members-action:disabled{cursor:default;opacity:.45}.members-confirm{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:inline-flex}.members-confirm>span{color:var(--red);font-size:var(--fs-cap);font-weight:var(--fw-medium);white-space:normal}.members-muted{color:var(--muted);font-size:var(--fs-cap)}.add-student{margin-bottom:14px}.add-student .panel-head h2{align-items:center;gap:6px;display:inline-flex}.add-student-form{border-top:0;margin-top:0;padding-top:0}.add-student-form select,.roster-assign select{border:1px solid var(--line);border-radius:6px;min-height:32px;padding:0 8px}.roster-student .class-chips{flex-wrap:wrap;gap:6px;display:flex}.roster-student .class-chip[data-empty=true]{background:var(--surface);color:var(--muted)}.roster-assign{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.roster-assign select{flex:1;min-width:0}.roster-login-id{letter-spacing:.04em;font-size:12px}.student-empty,.student-search-empty{grid-column:1/-1}.acct-temp .class-warning{margin-top:4px;display:block}.student-legacy-notice .primary-button{margin-top:8px}.profile-chip-btn{border:1px solid var(--nav-separator);cursor:pointer;text-align:left;width:100%;min-height:44px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);font-family:inherit}.profile-chip-btn:hover{background:rgb(var(--white-rgb) / 12%)}.profile-chip-btn.active{background:rgb(var(--blue-rgb) / 26%);border-color:#0000}.profile-page .profile-card{margin-bottom:14px}.profile-page h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);align-items:center;gap:var(--sp-1);letter-spacing:var(--tracking-heading);margin:0 0 var(--sp-2);display:flex}.profile-preview{border-bottom:1px solid var(--separator);align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);display:flex}.profile-avatar{color:var(--on-accent);font-weight:var(--fw-semibold);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.profile-preview-text{gap:2px;margin-right:auto;display:grid}.profile-preview-text strong{font-size:15px}.profile-preview-text span{color:var(--muted);font-size:12px}.profile-page .settings-field em{color:var(--muted);font-size:12px;font-style:normal}.profile-issue{color:var(--red);font-weight:700}.profile-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.profile-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.profile-swatch[data-active=true]{border-color:var(--ink-2);box-shadow:0 0 0 2px rgb(var(--ink-rgb) / 12%)}.profile-color-input{border:1px solid var(--line-strong);border-radius:var(--r-xs);background:0 0;width:44px;height:30px;padding:2px}.profile-swatch-reset{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--ink-2);cursor:pointer;font-size:var(--fs-cap);font-weight:var(--fw-semibold);min-height:var(--control-h-sm);padding:0 var(--sp-3)}.profile-saved{color:var(--green);align-items:center;gap:4px;margin:6px 0 0;font-size:13px;font-weight:800;display:flex}.profile-facts dl{gap:8px;margin:0;display:grid}.profile-facts dl>div{gap:10px;display:flex}.profile-facts dt{color:var(--muted);min-width:96px;font-size:13px}.profile-facts dd{margin:0;font-size:13px;font-weight:700}.embed-frame{background:var(--surface,#fff);border:1px solid var(--separator,#3c466421);border-radius:var(--r-md,14px);flex-direction:column;width:100%;min-width:0;display:flex;overflow:hidden}.embed-stage{background:var(--fill-tertiary,#f1f3f8);min-height:120px;position:relative}.embed-iframe{background:#fff;border:0;width:100%;min-height:160px;display:block}.embed-readonly .embed-iframe{pointer-events:none}.embed-skeleton{pointer-events:none;background:linear-gradient(90deg, var(--fill-tertiary,#f1f3f8) 25%, var(--system-blue-soft,#eaf1ff) 50%, var(--fill-tertiary,#f1f3f8) 75%);background-size:200% 100%;animation:1.4s linear infinite embed-shimmer;position:absolute;inset:0}@keyframes embed-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.embed-skeleton{animation:none}}.embed-footer{border-top:1px solid var(--separator,#3c466421);background:var(--surface-2,#f8fafc);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 8px;padding:6px 10px;font-size:12px;display:flex}.embed-footer button{border-radius:var(--r-pill,999px);background:var(--fill-secondary,#e9edf4);min-height:32px;color:var(--label-secondary,#55637d);font:inherit;cursor:pointer;white-space:nowrap;border:0;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.embed-footer button:hover{background:var(--system-blue-soft,#eaf1ff)}.embed-footer .embed-open{min-width:32px;color:var(--system-blue,#2f65d8);justify-content:center;padding:6px}.embed-blocked,.embed-slow-note{background:var(--system-amber-soft,#fff6df);color:var(--system-amber-ink,#8a6008);align-items:center;gap:6px;padding:9px 13px;font-size:12px;font-weight:700;display:flex}.embed-slow-note{border-top:1px solid var(--system-amber-line,#ecd9a8)}.embed-card{background:var(--surface,#fff);border:1px solid var(--separator,#3c466421);border-radius:var(--r-md,14px);flex-direction:column;width:100%;min-width:0;display:flex;overflow:hidden}.embed-card-body{gap:4px;padding:16px 16px 14px;display:grid}.embed-card-provider{letter-spacing:.04em;color:var(--label-tertiary,#636d80);text-transform:uppercase;font-size:11px;font-weight:700}.embed-card-title{color:var(--label-primary,#091f46);overflow-wrap:anywhere;font-size:15px;font-weight:700}.embed-card-host{color:var(--label-secondary,#55637d);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.embed-card-hint{color:var(--label-tertiary,#636d80);margin:4px 0 0;font-size:12px;line-height:1.6}.embed-card-note{color:var(--label-primary,#091f46);margin:0;font-size:12px}.embed-frame.embed-expanded{z-index:2147483000;border:1px solid var(--system-blue-line,#c2d5f6);border-radius:var(--r-md,14px);max-width:none;max-height:none;padding:0;position:fixed;inset:12px;box-shadow:0 0 0 100vmax #09142c9e}.embed-frame:fullscreen{width:100vw;height:100dvh;box-shadow:none;border:0;border-radius:0;inset:0}.embed-expanded>.embed-stage{flex:1;min-height:0;display:flex}.embed-expanded .embed-iframe{aspect-ratio:auto;flex:1;height:auto;min-height:0}.embed-expanded>.embed-footer,.embed-expanded>.embed-slow-note{flex:none}@media (width<=600px){.embed-frame.embed-expanded{border:0;border-radius:0;inset:0}.embed-iframe{max-height:70dvh}}.embed-url-field{gap:6px;min-width:0;display:grid}.embed-editor-controls{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.embed-editor-controls label{color:var(--label-secondary,#55637d);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.embed-editor-controls select{font:inherit;border:1px solid var(--separator,#3c466421);border-radius:var(--r-sm,10px);background:#fff;padding:4px 8px;font-size:12px}.embed-badge.embed-note{background:var(--system-blue-soft,#eaf1ff);border-color:var(--system-blue-line,#c2d5f6);color:var(--system-blue,#2f65d8)}
