@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/raleway-cyrillic-ext-wght-normal.38is4kf6_bs_8.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/raleway-cyrillic-wght-normal.2ymrd1-h--_k6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/raleway-vietnamese-wght-normal.0yhgv5ojathm3.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/raleway-latin-ext-wght-normal.3sk1bguzngd9x.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/raleway-latin-wght-normal.43nl7c6owh8w3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--color-paper:#fbfcf9;--color-paper-2:#f4f6f0;--color-paper-3:#eaece4;--color-surface:#fefefc;--color-ink:#0d0e08;--color-ink-2:#2d2f29;--color-muted:#5d5f57;--color-neutral:#41433d;--color-rule:#d9dcd3;--color-rule-2:#b9bcb2;--color-accent:#b5e544;--color-accent-hover:#a8d832;--color-accent-ink:#0d0e08;--color-action:#0d0e08;--color-action-hover:#1c1e18;--color-action-pressed:#050603;--color-action-ink:#fbfcf9;--color-control-border:#d0d2ca;--color-control-border-hover:#85877e;--color-focus:#84b100;--color-focus-on-accent:#1a1b15;--color-success:#176020;--color-success-soft:#dff6de;--color-warning:#835100;--color-warning-soft:#fff0d6;--color-error:#b31319;--color-error-soft:#ffece8;--color-editor:#10142a;--color-editor-raised:#181d38;--color-editor-rule:#2b304f;--color-code:#e7ebf8;--color-code-muted:#a2a7bb;--font-display:"Raleway Variable", sans-serif;--font-body:"Raleway Variable", sans-serif;--font-mono:"JetBrains Mono Variable", monospace;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-display:clamp(2.75rem, 8vw, 5.5rem);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-input:.625rem;--radius-card:.75rem;--radius-pill:999px;--rule-thin:1px;--dur-fast:.12s;--dur-base:.22s;--dur-slow:.42s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(98.8833% -.687867 1.31378);--color-paper-2:lab(96.6061% -1.37064 2.63187);--color-paper-3:lab(93.1684% -2.04775 3.95489);--color-surface:lab(99.6845% -.516385 .984955);--color-ink:lab(3.7716% -1.14451 2.16855);--color-ink-2:lab(18.9044% -1.67531 3.32453);--color-muted:lab(39.8065% -2.02549 3.97495);--color-neutral:lab(28.1853% -1.68592 3.31433);--color-rule:lab(87.3683% -2.04638 3.95601);--color-rule-2:lab(75.7889% -2.37846 4.62332);--color-accent:lab(85.5123% -32.5852 68.5693);--color-accent-hover:lab(80.8532% -32.3553 69.6424);--color-accent-ink:lab(3.7716% -1.14451 2.16855);--color-action:lab(3.7716% -1.14451 2.16855);--color-action-hover:lab(10.8025% -1.97643 4.02487);--color-action-pressed:lab(1.59419% -.531733 1.00717);--color-action-ink:lab(98.8833% -.687867 1.31378);--color-control-border:lab(83.8882% -2.04557 3.95677);--color-control-border-hover:lab(56.0681% -2.36815 4.63268);--color-focus:lab(66.9268% -32.8612 82.4868);--color-focus-on-accent:lab(9.64211% -1.97217 3.99524);--color-success:lab(35.3027% -33.7634 28.8208);--color-success-soft:lab(94.7233% -11.1774 8.71127);--color-warning:lab(39.3602% 20.5144 62.3903);--color-warning-soft:lab(95.4544% 2.6814 15.3591);--color-error:lab(38.9304% 59.9305 43.4411);--color-error-soft:lab(95.0481% 10.5661 6.22011);--color-editor:lab(6.78536% 4.22113 -15.9513);--color-editor-raised:lab(11.2926% 5.06542 -18.5867);--color-editor-rule:lab(20.5928% 4.59494 -19.7952);--color-code:lab(92.9194% .695735 -6.76159);--color-code-muted:lab(68.4674% 1.34516 -11.1728)}}
*{box-sizing:border-box}html,body{min-height:100%;margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);line-height:1.55}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{color:var(--color-ink);font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.08}code,pre,kbd,.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.button{background:var(--color-surface);border:var(--rule-thin) solid var(--color-control-border);border-radius:var(--radius-pill);color:var(--color-ink);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:var(--space-sm);letter-spacing:-.01em;min-height:52px;padding:0 var(--space-xl);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);white-space:nowrap;justify-content:center;font-weight:700;display:inline-flex}.button--primary:focus-visible{outline-color:var(--color-focus);outline-offset:3px}.button--quiet{background:0 0;border-color:#0000}.button:active,.button[data-state=active]{transform:translateY(1px)scale(.99)}.button--primary:active,.button--primary[data-state=active]{background:var(--color-action-pressed);border-color:var(--color-action-pressed)}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.5}.button[data-state=loading]{cursor:wait}.button[data-state=loading] svg{animation:spin var(--dur-slow) linear infinite}@media (hover:hover) and (pointer:fine){.button:hover{background:var(--color-paper);border-color:var(--color-control-border-hover)}.button--primary:hover{background:var(--color-action-hover);border-color:var(--color-action-hover)}.button--quiet:hover{background:var(--color-paper-2);border-color:#0000}.nav-link:hover{background:var(--color-paper-2);color:var(--color-ink)}.session-row:hover{background:var(--color-paper-2)}}.button[aria-label]{inline-size:44px;min-height:44px;padding:0}.rail .button,.workspace-actions .button{min-height:44px;padding-inline:var(--space-lg)}.field{gap:var(--space-xs);display:grid}.field label{color:var(--color-ink);font-size:var(--text-sm);font-weight:700}.input,.select{background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);color:var(--color-ink);outline-offset:1px;min-height:44px;padding:0 var(--space-sm);transition:background-color var(--dur-fast) var(--ease-out);outline:2px solid #0000}.textarea{min-height:6rem;padding-block:var(--space-sm);resize:vertical}.label-optional{color:var(--color-muted);font-size:var(--text-xs);margin-inline-start:var(--space-2xs);font-weight:500}.input::placeholder{color:var(--color-muted)}.input:focus-visible,.select:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus)}.input[aria-invalid=true]{border-color:var(--color-error)}.input[data-state=success],.select[data-state=success]{border-color:var(--color-success)}.input[data-state=loading],.select[data-state=loading]{cursor:progress}.input:disabled{cursor:not-allowed;opacity:.55}.field-help{color:var(--color-muted);font-size:var(--text-xs);min-height:1lh}.field-error{color:var(--color-error)}.shell{min-height:100dvh}.rail{background:var(--color-surface);border-block-end:var(--rule-thin) solid var(--color-rule);padding:var(--space-sm) var(--space-md);z-index:20;display:flex;position:sticky;top:0}.rail__brand{font-family:var(--font-display);align-items:center;gap:var(--space-xs);font-weight:700;display:flex}.rail__links{display:none}.rail__meta{gap:var(--space-sm);margin-inline-start:auto;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);align-items:center;gap:var(--space-sm);min-height:44px;padding-inline:var(--space-sm);white-space:nowrap;font-weight:700;display:flex}.shell__main{min-width:0;padding:var(--space-lg) clamp(var(--space-md), 4vw, var(--space-2xl))}.page-head{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:end;gap:var(--space-md);padding-block-end:var(--space-lg);display:grid}.page-head h1{font-size:clamp(var(--text-2xl), 5vw, var(--text-3xl));margin-block-end:var(--space-xs)}.page-head p{color:var(--color-muted);max-width:62ch;margin:0}.page-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.eyebrow{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.grid{gap:var(--space-md);display:grid}.stats{margin-block:var(--space-lg) var(--space-2xl);grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border-block-start:var(--rule-thin) solid var(--color-rule-2);padding-block-start:var(--space-sm)}.stat__value{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1.1}.panel{background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md)}.panel__head{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);justify-content:space-between;display:flex}.panel__head h2,.panel__head h3{font-size:var(--text-lg);margin:0}.section-stack{gap:var(--space-lg);margin-block-start:var(--space-xl);display:grid}.session-row{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:background-color var(--dur-fast) var(--ease-out);display:grid}.session-row:last-child{border-block-end:0}.session-row h3{font-size:var(--text-base);margin:0}.session-row p{color:var(--color-muted);font-size:var(--text-sm);margin:0}.session-row__meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.badge{border:var(--rule-thin) solid var(--color-rule-2);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);align-items:center;gap:var(--space-2xs);min-height:26px;padding-inline:var(--space-sm);white-space:nowrap;border-radius:999px;display:inline-flex}.badge--success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.badge--accent{background:var(--color-paper-2);border-color:var(--color-accent);color:var(--color-accent)}.empty{color:var(--color-muted);padding:var(--space-2xl);text-align:center}.inline-form{align-items:end;gap:var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid}.form-message{font-size:var(--text-sm);min-height:1.5em;margin:0}.form-message--error{color:var(--color-error)}.dialog-backdrop{background:color-mix(in oklch, var(--color-ink) 28%, transparent);padding:var(--space-md);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card{background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);max-width:40rem;max-height:90dvh;padding:var(--space-xl);width:100%;overflow:auto}.dialog-card h2{margin-block-end:var(--space-xs)}.dialog-card>p{color:var(--color-muted);margin-block:var(--space-sm) 0}.dialog-card__actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;margin-block-start:var(--space-lg);display:flex}.login{min-height:100dvh;display:grid}.login__context{background:var(--color-graphite);color:var(--color-code);min-height:15rem;padding:clamp(var(--space-xl), 7vw, var(--space-3xl));flex-direction:column;justify-content:space-between;display:flex}.login__context h1{color:var(--color-code);font-size:clamp(var(--text-3xl), 8vw, 4.5rem);max-width:10ch}.login__context p{color:var(--color-code-muted);max-width:48ch}.login__signal{font-family:var(--font-mono);font-size:var(--text-xs);align-items:center;gap:var(--space-xs);letter-spacing:.04em;text-transform:uppercase;display:flex}.signal-dot{background:var(--color-accent);border-radius:50%;width:8px;height:8px}.login__form{padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.login__card{width:100%;max-width:26rem}.login__card h2{font-size:var(--text-2xl);margin-block-end:var(--space-xs)}.login__card>p{color:var(--color-muted);margin-block-end:var(--space-xl)}.form-stack{gap:var(--space-md);display:grid}.demo-accounts{border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);margin-block-start:var(--space-xl);padding-block-start:var(--space-md)}.workspace{background:var(--color-paper-2);grid-template-rows:auto auto minmax(0,1fr) auto;min-height:100dvh;display:grid}.workspace-bar{background:var(--color-surface);border-block-end:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-sm);min-height:60px;padding:var(--space-sm) var(--space-md);display:flex}.workspace-bar__session{min-width:0}.workspace-bar__session strong,.workspace-bar__session span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-bar__session span{color:var(--color-muted);font-size:var(--text-xs)}.workspace-bar__status{align-items:center;gap:var(--space-xs);margin-inline-start:auto;display:flex}.timer{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.question-tabs{background:var(--color-surface);border-block-end:var(--rule-thin) solid var(--color-rule);gap:var(--space-xs);padding:var(--space-xs) var(--space-md);display:flex;overflow-x:auto}.question-tab{color:var(--color-muted);font-size:var(--text-sm);min-height:40px;padding:var(--space-xs);white-space:nowrap;border-block-end:2px solid #0000;font-weight:700}.question-tab[data-state=done]{color:var(--color-ink-2);opacity:.72}.question-tab[data-state=locked]{opacity:.42}.question-tab[aria-current=page]{border-color:var(--color-accent);color:var(--color-ink)}.workspace-grid{min-height:0;display:grid}.prompt-pane{background:var(--color-surface);border-block-end:var(--rule-thin) solid var(--color-rule);min-width:0;padding:var(--space-lg);overflow:auto}.prompt-pane h1{font-size:var(--text-xl);margin-block:var(--space-xs) var(--space-lg)}.prompt-pane h2{font-size:var(--text-base);margin-block:var(--space-xl) var(--space-sm)}.constraint-list{padding-inline-start:var(--space-lg)}.example-list{gap:var(--space-sm);display:grid}.example{background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);gap:var(--space-sm);padding:var(--space-sm) var(--space-md);display:grid}.example h3{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;margin:0}.example__io{gap:var(--space-sm);margin:0;display:grid}.example__io div{gap:var(--space-2xs);display:grid}.example__io dt{color:var(--color-muted);font-size:var(--text-xs);font-weight:700}.example__io dd{margin:0}.example pre{background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-sm);white-space:pre-wrap;word-break:break-word;margin:0;overflow:auto}.editor-pane{min-width:0;min-height:26rem}.results-pane{background:var(--color-graphite);color:var(--color-code);min-height:12rem;padding:var(--space-md);overflow:auto}.results-pane h2{color:var(--color-code);font-size:var(--text-sm);margin-block-end:var(--space-sm)}.result-row{border-block-start:var(--rule-thin) solid var(--color-graphite-2);align-items:center;gap:var(--space-xs);padding-block:var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.result-icon--pass{color:var(--color-success-soft)}.result-icon--fail{color:var(--color-error-soft)}.result-row__detail{color:var(--color-code-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.workspace-actions{background:var(--color-surface);border-block-start:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);flex-wrap:wrap;justify-content:flex-end;display:flex}.save-state{color:var(--color-muted);font-size:var(--text-xs);margin-inline-end:auto}.report-table{border-collapse:collapse;width:100%}.report-table th,.report-table td{border-block-end:var(--rule-thin) solid var(--color-rule);padding:var(--space-sm);text-align:start}.report-table th{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.score{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.footer-inline{border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);gap:var(--space-md);padding-block:var(--space-lg);flex-wrap:wrap;justify-content:space-between;margin-block-start:var(--space-3xl);display:flex}@keyframes spin{to{transform:rotate(360deg)}}.route-loading{color:var(--color-muted);align-items:center;gap:var(--space-sm);min-height:min(52dvh,34rem);padding:var(--space-lg);justify-content:center;display:flex}.route-loading svg{animation:spin var(--dur-slow) linear infinite}.route-loading p{margin:0}@media (min-width:40rem){.page-head{grid-template-columns:minmax(0,1fr) auto}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-form,.session-row{grid-template-columns:minmax(0,1fr) auto}.login{grid-template-columns:minmax(0,1fr) minmax(22rem,34rem)}.login__context{min-height:100dvh}}@media (min-width:60rem){.shell{grid-template-columns:15rem minmax(0,1fr);display:grid}.rail{border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule);height:100dvh;padding:var(--space-lg) var(--space-md);flex-direction:column;display:flex}.rail__links{gap:var(--space-xs);margin-block-start:var(--space-2xl);display:grid}.rail__meta{border-block-start:var(--rule-thin) solid var(--color-rule);align-items:stretch;margin-block-start:auto;padding-block-start:var(--space-md);display:grid}.rail__user{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shell__main{padding-block:var(--space-2xl)}.workspace-grid{grid-template-rows:minmax(0,1fr) 15rem;grid-template-columns:minmax(18rem,30%) minmax(0,1fr);height:calc(100dvh - 158px)}.prompt-pane{border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule);grid-row:1/3}.editor-pane{min-height:0}.results-pane{border-block-start:var(--rule-thin) solid var(--color-graphite-2)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}html,body{background:var(--color-paper)}body{color:var(--color-ink-2);font-size:var(--text-base)}::selection{background:var(--color-accent);color:var(--color-accent-ink)}*{scrollbar-color:var(--color-rule-2) transparent;scrollbar-width:thin}input,textarea{caret-color:var(--color-focus)}h1,h2,h3{letter-spacing:-.025em;font-weight:700}h1{font-size:clamp(var(--text-2xl), 4vw, var(--text-3xl))}h2{font-size:var(--text-xl)}p{max-width:70ch}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.brand{color:var(--color-ink);font-family:var(--font-display);align-items:center;gap:var(--space-sm);letter-spacing:-.02em;white-space:nowrap;min-height:44px;font-weight:700;display:inline-flex}.brand-mark{background:var(--color-action);border-radius:var(--radius-sm);color:var(--color-action-ink);justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.button{min-height:48px;padding-inline:var(--space-lg)}.button--primary{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-ink)}.button--quiet{min-height:44px;padding-inline:var(--space-sm);background:0 0;border-color:#0000}.button[data-state=error]{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.button[data-state=success]{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.text-button{color:var(--color-muted);cursor:pointer;text-underline-offset:.25em;background:0 0;border:0;min-height:44px;padding:0;text-decoration:underline}.back-link{color:var(--color-muted);align-items:center;gap:var(--space-xs);white-space:nowrap;min-height:44px;margin-block-end:var(--space-md);font-weight:700;display:inline-flex}.input,.select,.textarea{background:var(--color-surface);border:var(--rule-thin) solid var(--color-control-border);border-radius:var(--radius-input);color:var(--color-ink);font-size:var(--text-base);outline-offset:1px;min-height:48px;padding-inline:var(--space-md);transition:background-color var(--dur-fast) var(--ease-out);outline:2px solid #0000;width:100%}.textarea{min-height:8rem;padding-block:var(--space-sm);resize:vertical;line-height:1.55}.textarea--short{min-height:6rem}.code-field{background:var(--color-editor);color:var(--color-code);font-family:var(--font-mono)}.input::placeholder,.textarea::placeholder{color:var(--color-muted);opacity:1}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-error)}.field{gap:var(--space-xs)}.field label,.test-case label{color:var(--color-ink);font-size:var(--text-sm);font-weight:700}.field-help,.field-error,.action-error,.join-form__error{font-size:var(--text-sm)}.action-error,.join-form__error{color:var(--color-error)}.login-simple{background:var(--color-paper);min-height:100dvh;padding:var(--space-lg);align-items:center;display:grid;position:relative}.login-simple__brand{position:absolute;inset-block-start:var(--space-lg);inset-inline-start:var(--space-lg)}.login-form{width:100%;max-width:25rem;margin-inline:auto}.login-form .form-stack{gap:var(--space-sm)}.login-form .field-help:empty{display:none}.login-form .input{background:var(--color-paper-2);border-radius:var(--radius-pill);min-height:52px;padding-inline:var(--space-lg)}.login-form .button{width:100%;margin-block-start:var(--space-xs)}.auth-form-stack{gap:var(--space-lg);display:grid}.auth-switch{background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-pill);grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-switch button{border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;font-size:var(--text-sm);min-height:42px;padding-inline:var(--space-md);background:0 0;border:0;font-weight:700}.auth-switch button[aria-pressed=true]{background:var(--color-surface);box-shadow:0 1px 4px color-mix(in oklch, var(--color-ink) 10%, transparent);color:var(--color-ink)}.login-split{background:var(--color-paper);grid-template-columns:minmax(0,1fr);grid-template-areas:"visual""form";min-height:100dvh;display:grid}.login-split__form-pane{background:var(--color-paper);color:var(--color-ink-2);min-width:0;min-height:max(34rem,100dvh - 17rem);padding:var(--space-lg);grid-area:form;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}.login-split__brand{align-self:start}.login-split__form-wrap{min-width:0;max-width:26rem;padding-block:var(--space-2xl);align-self:center;width:100%;margin-inline:auto}.login-split__form-wrap>.eyebrow{margin-block-end:var(--space-sm)}.login-split__form-wrap h1{font-size:clamp(var(--text-2xl), 10vw, var(--text-3xl));margin-block-end:var(--space-sm)}.login-split__intro{color:var(--color-muted);margin-block-end:var(--space-xl)}.login-split .login-form{max-width:none;margin:0}.login-split .login-form .form-stack{gap:var(--space-md)}.login-split .login-form .field{gap:var(--space-xs)}.login-split .login-form .field-help{min-height:1lh;display:block}.login-split .login-form .input{background:var(--color-paper-2);min-height:52px;padding-inline:var(--space-lg)}.login-split .login-form .button{width:100%;min-height:52px;margin-block-start:var(--space-xs)}.login-split .brand:focus-visible,.login-split .input:focus-visible,.login-split .button:focus-visible{outline-color:var(--color-focus-on-accent)}.login-split__footnote{color:var(--color-muted);font-size:var(--text-xs);margin:0}.login-split__visual{background:var(--color-accent);color:var(--color-accent-ink);isolation:isolate;min-width:0;min-height:17rem;padding:var(--space-lg);grid-area:visual;grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:clip}.login-displacement{pointer-events:none;z-index:0;display:block;position:absolute;inset:0}.login-split__statement{pointer-events:none;min-width:0;z-index:var(--z-base);align-self:end;position:relative}.login-split__statement .eyebrow{color:var(--color-accent-ink);margin-block-end:var(--space-sm)}.login-split__statement h2{color:var(--color-accent-ink);font-size:clamp(var(--text-xl), 7vw, var(--text-2xl));max-width:13ch;margin-block-end:var(--space-md);line-height:1.04}.login-split__statement>p:last-child{color:var(--color-accent-ink);font-size:var(--text-sm);margin:0;display:none}.student-home{min-height:100dvh;padding:var(--space-md);grid-template-rows:auto 1fr auto;display:grid}.student-topbar{justify-content:space-between;align-items:start;display:flex}.practice-action{align-items:flex-end;gap:var(--space-xs);justify-items:end;display:grid}.action-error{text-align:end;max-width:24rem}.student-join{align-self:center;align-items:center;gap:var(--space-lg);width:100%;max-width:38rem;margin-inline:auto;display:grid}.student-join h1{margin-block-end:var(--space-xs)}.student-join p{color:var(--color-muted);margin:0}.join-form{align-self:center;align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.join-form .input,.join-form .button{min-height:56px}.join-form .input{border-radius:var(--radius-pill);padding-inline:var(--space-lg)}.join-form .button{min-width:7rem}.join-form__error{grid-column:1/-1}.student-account{color:var(--color-muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.student-dashboard-content{align-self:center;gap:var(--space-2xl);max-width:52rem;padding-block:var(--space-2xl);width:100%;margin-inline:auto;display:grid}.student-dashboard-content .student-join{margin-inline:0}.assigned-sessions{gap:var(--space-md);display:grid}.assigned-sessions h2{font-size:var(--text-lg);margin:0 0 var(--space-2xs)}.assigned-sessions p{color:var(--color-muted);margin:0}.assigned-session-list{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);overflow:clip}.assigned-session-list article{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-sm);padding:var(--space-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.assigned-session-list article:last-child{border-block-end:0}.assigned-session-list strong,.assigned-session-list small{display:block}.assigned-session-list small{color:var(--color-muted)}.assigned-session-list .button{min-height:44px}.shell{min-height:100dvh;display:block}.rail{background:var(--color-paper);border-block-end:var(--rule-thin) solid var(--color-rule);height:auto;min-height:72px;padding:var(--space-sm) var(--space-md);border-inline-end:0;flex-flow:row;align-items:center;position:sticky;top:0}.rail .brand{justify-content:center}.rail .brand,.rail .nav-link,.rail .button{line-height:1}.rail .brand>span:last-child{display:none}.rail__links{gap:var(--space-xs);order:initial;width:auto;margin:0 auto;padding:0;display:flex;overflow:visible}.rail__meta{align-items:center;gap:var(--space-sm);border-block-start:0;flex:none;margin:0;padding:0;display:flex}.rail__user{display:none}.nav-link{border-radius:var(--radius-pill);color:var(--color-ink);font-size:var(--text-base);gap:var(--space-sm);justify-content:center;inline-size:44px;padding-inline:0;font-weight:500}.nav-link span,.rail__meta .button span{display:none}.rail__meta .button{width:auto}.nav-link[aria-current=page]{background:var(--color-action);color:var(--color-accent)}.shell__main{padding:var(--space-xl) var(--space-md)}.content{max-width:82rem;margin-inline:auto}.page-head{align-items:end;gap:var(--space-xl);border-block-end:0;padding-block-end:var(--space-lg)}.page-head h1{margin-block-end:var(--space-xs)}.page-head p{color:var(--color-muted);margin:0}.page-actions{align-items:center}.stats{margin-block:0 var(--space-lg);gap:0}.stat{border-block-start:var(--rule-thin) solid var(--color-rule);min-width:0;padding:var(--space-md) var(--space-sm) var(--space-lg) 0}.stat svg{color:var(--color-muted)}.stat__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.stat__label{color:var(--color-muted);font-size:var(--text-sm)}.panel{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:0 0;overflow:clip}.panel--spaced{margin-block-start:var(--space-xl)}.panel__head{background:var(--color-paper);padding:var(--space-lg)}.panel__head h2,.panel__head h3{font-size:var(--text-lg)}.panel__body{padding:var(--space-lg)}.session-row,.question-row{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-sm);padding:var(--space-lg);transition:background-color var(--dur-fast) var(--ease-out);display:grid}.session-row:last-child,.question-row:last-child{border-block-end:0}.session-row h3,.question-row h3{font-size:var(--text-base);margin:0}.session-row p,.question-row p{color:var(--color-muted);font-size:var(--text-sm);margin:0}.session-row__meta{justify-content:flex-start}.badge{border-color:var(--color-rule-2);color:var(--color-ink-2);font-family:var(--font-body);font-weight:600}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--accent,.badge--difficulty{background:var(--color-paper-2);border-color:var(--color-rule-2);color:var(--color-ink-2)}.badge--easy{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.badge--medium{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.badge--hard{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.empty{padding:var(--space-2xl) var(--space-lg)}.table-scroll{overflow-x:auto}.report-table th{font-family:var(--font-body);letter-spacing:.02em;text-transform:none}.score--up{color:var(--color-success);font-weight:700}.dialog-card{border-color:var(--color-rule);border-radius:var(--radius-card);max-height:min(88dvh,52rem);padding:var(--space-xl);margin:auto;position:fixed;inset:0}.dialog-card--wide{max-width:58rem}.dialog-card::backdrop{background:color-mix(in oklch, var(--color-ink) 34%, transparent)}.dialog-heading{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:start;gap:var(--space-lg);justify-content:space-between;margin-block-end:var(--space-lg);padding-block-end:var(--space-lg);display:flex}.dialog-heading h2{margin-block-end:var(--space-xs)}.dialog-heading p{color:var(--color-muted);margin:0}.llm-import{background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);gap:var(--space-sm);padding:var(--space-md);display:grid}.llm-import__heading{align-items:start;gap:var(--space-sm);justify-content:space-between;display:flex}.llm-import__heading h3{font-size:var(--text-base);margin:0 0 var(--space-2xs)}.llm-import__heading p{color:var(--color-muted);font-size:var(--text-sm);margin:0}.llm-import__input{min-height:10rem}.llm-import__actions{justify-content:flex-end;display:flex}.form-grid,.test-case-grid{gap:var(--space-lg);display:grid}.test-case{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);gap:var(--space-xs);padding:var(--space-lg);margin:0;display:grid}.test-case legend{color:var(--color-ink);padding-inline:var(--space-xs);font-weight:700}.waiting-room{min-height:100dvh;padding:var(--space-lg);align-items:center;display:grid}.waiting-room section{max-width:34rem;margin-inline:auto}.waiting-room p{color:var(--color-muted);margin-block:var(--space-sm) var(--space-xl)}.waiting-room__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.workspace{background:var(--color-paper);grid-template-rows:auto auto minmax(0,1fr) auto;height:100dvh;min-height:0;overflow:hidden}.workspace-bar{min-height:64px;padding:var(--space-xs) var(--space-md)}.workspace-bar .brand{flex:none}.workspace-bar__session{border-inline-start:var(--rule-thin) solid var(--color-rule);padding-inline-start:var(--space-md)}.workspace-bar__status{flex:none}.question-tabs{gap:var(--space-xs);min-height:52px;padding:var(--space-xs) var(--space-md)}.question-tab{border:var(--rule-thin) solid transparent;border-radius:var(--radius-pill);cursor:pointer;min-height:40px;padding:var(--space-xs) var(--space-md);background:0 0}.question-tab:disabled{cursor:not-allowed}.question-tab[aria-current=page]{background:var(--color-action);border-color:var(--color-action);color:var(--color-accent)}.workspace-grid{grid-template-rows:minmax(10rem,38%) minmax(12rem,1fr) minmax(8rem,28%);min-height:0;display:grid;overflow:hidden}.prompt-pane{border-block-end:var(--rule-thin) solid var(--color-rule);min-height:0;padding:var(--space-lg);overflow:auto}.prompt-pane h1{margin-block:var(--space-sm) var(--space-lg)}.prompt-pane h2{margin-block:var(--space-xl) var(--space-sm)}.editor-pane{background:var(--color-editor);min-height:0;overflow:hidden}.editor-pane .monaco-editor,.editor-pane .monaco-editor-background,.editor-pane .monaco-editor .margin{background-color:var(--color-editor)!important}.results-pane{background:var(--color-editor-raised);color:var(--color-code);min-height:0;overflow:auto}.results-pane h2{color:var(--color-code)}.result-row{border-color:var(--color-editor-rule)}.result-icon--pass,.result-icon--fail{stroke:var(--color-editor-raised)}.workspace-actions{min-height:68px;padding:var(--space-sm) var(--space-md);flex:none}.workspace-actions .button{min-height:44px}@media (hover:hover) and (pointer:fine){.brand:hover{color:var(--color-ink-2)}.nav-link:hover{background:var(--color-paper-2);color:var(--color-ink)}.nav-link[aria-current=page]:hover{background:var(--color-action-hover);color:var(--color-accent)}.session-row:hover,.question-row:hover,.input:hover,.select:hover,.textarea:hover{background:var(--color-paper-2)}.login-form .input:hover{background:var(--color-paper-3)}.code-field:hover{background:var(--color-editor-raised)}.text-button:hover,.back-link:hover{color:var(--color-ink)}}@media (max-width:39.999rem){.shell .panel__head{flex-direction:column;align-items:flex-start}.student-topbar{gap:var(--space-sm)}.student-topbar .brand>span:last-child{display:none}.practice-action .button{min-height:44px;padding-inline:var(--space-md)}.join-form{grid-template-columns:minmax(0,1fr) auto}.join-form .button{min-width:5.5rem;padding-inline:var(--space-md)}.workspace-bar{flex-wrap:wrap}.workspace-bar .brand>span:last-child{display:none}.workspace-bar__session{max-width:45%}.workspace-bar__status .badge{display:none}.save-state{text-align:end;flex-basis:100%;order:2}.workspace-actions{gap:var(--space-xs)}.workspace-actions .button{padding-inline:var(--space-sm);flex:auto}.dialog-card{padding:var(--space-lg)}.trajectory-table,.trajectory-table tbody,.trajectory-table tr,.trajectory-table td{width:100%;display:block}.trajectory-table thead{display:none}.trajectory-table tr{border-block-end:var(--rule-thin) solid var(--color-rule);padding-block:var(--space-sm)}.trajectory-table tr:last-child{border-block-end:0}.trajectory-table td{align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;text-align:end;border:0;justify-content:space-between;display:flex}.trajectory-table td:before{color:var(--color-muted);content:attr(data-label);font-size:var(--text-sm);text-align:start;font-weight:600}.trajectory-table td:first-child{text-align:start;grid-template-columns:minmax(0,1fr);align-items:start;display:grid}}@media (min-width:40rem){.shell__main{padding:var(--space-xl) clamp(var(--space-xl), 5vw, var(--space-2xl))}.student-home{padding:var(--space-lg) var(--space-xl)}.student-join{grid-template-columns:minmax(0,1fr)}.form-grid--two,.test-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-row,.question-row{grid-template-columns:minmax(0,1fr) auto}.session-row__meta{justify-content:flex-end}}@media (min-width:48rem){.rail{gap:var(--space-lg);padding-inline:var(--space-xl)}.rail .brand{justify-content:flex-start}.rail .brand>span:last-child,.nav-link span{display:inline}.nav-link{inline-size:auto;padding-inline:var(--space-lg)}}@media (min-width:60rem){.rail__meta .button span{display:inline}.rail .button,.rail .button[aria-label]{inline-size:auto;padding-inline:var(--space-lg)}.workspace-grid{grid-template-rows:minmax(0,1fr) 14rem;grid-template-columns:minmax(18rem,30%) minmax(0,1fr);height:auto}.prompt-pane{border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule);grid-row:1/3}.results-pane{border-block-start:var(--rule-thin) solid var(--color-editor-rule)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.button:active,.button[data-state=active]{transform:none}}.dialog-heading__actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;display:flex}.field-label{align-items:center;gap:var(--space-xs);width:fit-content;max-width:100%;display:inline-flex;position:relative}.field-label__trigger{color:var(--color-muted);cursor:help;outline-offset:2px;background:0 0;border:0;outline:2px solid #0000;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex;position:relative}.field-label__trigger:before{content:"";inset:calc(var(--space-sm) * -1);position:absolute}.field-label__trigger:focus-visible{color:var(--color-ink);outline-color:var(--color-focus)}.field-tooltip{background:var(--color-action);border-radius:var(--radius-sm);color:var(--color-action-ink);font-size:var(--text-sm);max-width:min(22rem, calc(100dvw - var(--space-2xl)));opacity:0;padding:var(--space-sm) var(--space-md);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);visibility:hidden;width:max-content;z-index:var(--z-toast);font-weight:500;line-height:1.45;position:absolute;inset-block-start:100%;inset-inline-start:0}.field-label:hover .field-tooltip{opacity:1;pointer-events:auto;visibility:visible;transition-delay:.8s}.field-label:focus-within .field-tooltip{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.field-label[data-dismissed] .field-tooltip{opacity:0;pointer-events:none;visibility:hidden}.dialog-card--session{max-width:48rem}.session-schedule{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.topic-filter,.question-picker{gap:var(--space-sm);border:0;min-width:0;margin:0;padding:0;display:grid}.topic-filter legend,.question-picker legend{color:var(--color-ink);padding:0;font-weight:700}.topic-filter>p,.question-picker__head p,.question-picker__notice{color:var(--color-muted);font-size:var(--text-sm);margin:0}.topic-filter__options{gap:var(--space-xs);flex-wrap:wrap;display:flex}.topic-chip{background:var(--color-surface);border:var(--rule-thin) solid var(--color-control-border);border-radius:var(--radius-pill);color:var(--color-ink-2);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:var(--space-xs);min-height:44px;padding-inline:var(--space-md);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);white-space:nowrap;font-weight:600;display:inline-flex}.topic-chip input,.question-choice input{accent-color:var(--color-focus)}.topic-chip:has(input:checked){background:var(--color-action);border-color:var(--color-action);color:var(--color-action-ink)}.topic-chip:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.topic-chip:active{transform:translateY(1px)scale(.99)}.question-picker__head{align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:space-between;display:flex}.question-picker__actions{gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;display:flex}.question-picker__head .button{min-height:44px}.question-picker__notice{color:var(--color-warning)}.question-options{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);max-height:22rem;overflow:auto}.question-choice{border-block-end:var(--rule-thin) solid var(--color-rule);cursor:pointer;align-items:center;gap:var(--space-sm);min-height:64px;padding:var(--space-sm) var(--space-md);transition:background-color var(--dur-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr);display:grid}.question-choice:last-child{border-block-end:0}.question-choice:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:-2px}.question-choice__copy{min-width:0}.question-choice__copy strong,.question-choice__copy small{display:block}.question-choice__copy small{color:var(--color-muted)}.question-choice__topics{gap:var(--space-xs);flex-wrap:wrap;grid-column:2;display:flex}@media (hover:hover) and (pointer:fine){.field-label__trigger:hover{color:var(--color-ink)}.topic-chip:hover,.question-choice:hover{background:var(--color-paper-2)}.topic-chip:has(input:checked):hover{background:var(--color-action-hover)}}@media (min-width:40rem){.session-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.question-choice{grid-template-columns:auto minmax(0,1fr) auto}.question-choice__topics{grid-column:auto;justify-content:flex-end}}@media (max-width:39.999rem){.dialog-heading:has(.dialog-heading__actions){flex-direction:column;align-items:stretch}.dialog-heading__actions{justify-content:space-between;width:100%}.dialog-heading__actions .button:not([aria-label]){flex:auto}.question-picker__actions{width:100%}.question-picker__actions .button{flex:auto}}@media (prefers-reduced-motion:reduce){.field-tooltip{transition-delay:0s!important}.topic-chip:active{transform:none}}.dialog-card--session[data-published=true]{max-width:30rem;overflow:visible}.session-published{animation:session-published-in var(--dur-base) var(--ease-out);gap:var(--space-lg);display:grid}.session-published h2{margin:0 0 var(--space-xs)}.session-published p{color:var(--color-muted);margin:0}.session-published__icon{color:var(--color-success)}.session-code{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;min-width:min(100%,15rem);display:grid;position:relative}.session-code__copy{gap:var(--space-2xs);min-width:0;display:grid}.session-code__label{color:var(--color-muted);font-size:var(--text-xs);font-weight:700}.session-code[data-state=success] .session-code__label{color:var(--color-success)}.session-code[data-state=error] .session-code__label{color:var(--color-error)}.session-code__value{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap;line-height:1}.session-code__button{background:var(--color-surface);border:var(--rule-thin) solid var(--color-control-border);border-radius:var(--radius-pill);color:var(--color-ink);cursor:pointer;outline-offset:2px;height:44px;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);outline:2px solid #0000;justify-content:center;align-items:center;width:44px;padding:0;display:inline-flex}.session-code__button:focus-visible{outline-color:var(--color-focus)}.session-code__button:active,.session-code__button[data-state=active]{transform:translateY(1px)scale(.99)}.session-code__button:disabled,.session-code__button[aria-disabled=true]{cursor:not-allowed;opacity:.5}.session-code__button[data-state=loading]{cursor:wait}.session-code__button[data-state=error]{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.session-code__button[data-state=success]{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.session-code--prominent{background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-lg)}.session-code--prominent .session-code__value{font-size:var(--text-2xl)}.page-head--session{display:block}.page-head--session .back-link{margin-block-end:var(--space-sm)}.session-head__layout{gap:var(--space-lg);min-width:0;display:grid}.session-head__details{gap:var(--space-sm);min-width:0;display:grid}.session-head__details h1{margin:0}.session-head__details .session-code{width:fit-content}.page-actions--session{align-items:center;gap:var(--space-xs);flex-wrap:nowrap;display:flex}.page-actions--session .button{padding-inline:var(--space-sm)}.question-disclosure{border-block-end:var(--rule-thin) solid var(--color-rule)}.question-disclosure:last-child{border-block-end:0}.question-disclosure>summary{list-style:none}.question-disclosure>summary::-webkit-details-marker{display:none}.question-disclosure .question-row{cursor:pointer;outline-offset:-2px;border-block-end:0;outline:2px solid #0000}.question-disclosure .question-row:focus-visible{outline-color:var(--color-focus)}.question-row__title{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.question-row__title>svg{color:var(--color-muted);transition:transform var(--dur-base) var(--ease-out)}.question-disclosure[open] .question-row__title>svg{transform:rotate(180deg)}.question-detail{animation:question-detail-in var(--dur-base) var(--ease-out);border-block-start:var(--rule-thin) solid var(--color-rule);gap:var(--space-lg);padding:var(--space-lg);display:grid}.question-detail h4{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-sm);margin:0 0 var(--space-xs)}.question-detail p{color:var(--color-ink-2);white-space:pre-wrap;max-width:72ch;margin:0}.question-detail ul{margin:0;padding-inline-start:var(--space-lg)}.question-detail pre{background:var(--color-editor);border-radius:var(--radius-input);color:var(--color-code);padding:var(--space-md);margin:0;overflow:auto}.question-detail code{font-size:var(--text-sm)}@keyframes session-published-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes question-detail-in{0%{opacity:0;transform:translateY(calc(var(--space-xs) * -1))}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.session-code__button:hover{background:var(--color-paper-2);border-color:var(--color-control-border-hover)}.question-disclosure .question-row:hover{background:var(--color-paper-2)}}@media (min-width:40rem){.question-detail{grid-template-columns:minmax(0,1.4fr) minmax(12rem,.6fr)}.question-detail>:last-child{grid-column:1/-1}}@media (max-width:39.999rem){.dialog-card--session[data-published=true]{max-width:calc(100% - var(--space-lg))}}@media (min-width:52rem){.session-head__layout{grid-template-columns:minmax(0,1fr) auto;align-items:start}.page-actions--session{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.session-published,.question-detail{animation-name:none}.question-row__title>svg{transition-duration:0s!important}}.student-link{color:inherit;cursor:pointer;align-items:center;gap:var(--space-sm);text-align:start;background:0 0;border:0;justify-content:space-between;width:100%;min-height:44px;padding:0;display:flex}.student-link span,.student-link strong,.student-link small{display:block}.student-link small,.class-student small,.trajectory-timeline small,.response-card summary small{color:var(--color-muted)}.student-link svg{color:var(--color-muted);flex:none}.student-link:focus-visible{border-radius:var(--radius-sm)}.class-grid{gap:var(--space-lg);margin-block-start:var(--space-lg);display:grid}.class-card{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);overflow:clip}.class-card__head{border-block-end:var(--rule-thin) solid var(--color-rule);align-items:start;gap:var(--space-md);padding:var(--space-lg);flex-wrap:wrap;justify-content:space-between;display:flex}.class-card__head h2{font-size:var(--text-lg);margin:0 0 var(--space-2xs)}.class-card__head p{color:var(--color-muted);font-size:var(--text-sm);margin:0}.class-card__students{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.class-student{border-block-end:var(--rule-thin) solid var(--color-rule);padding:var(--space-md) var(--space-lg)}.class-student strong,.class-student small{display:block}.class-card__add{background:var(--color-paper-2);gap:var(--space-xs);padding:var(--space-lg);display:grid}.class-card__share{border-block-start:var(--rule-thin) solid var(--color-rule);align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex-wrap:wrap;justify-content:space-between;display:flex}.class-card__share>div{min-width:min(100%,18rem)}.class-card__share strong{align-items:center;gap:var(--space-xs);display:flex}.class-card__share small{color:var(--color-muted);margin-block-start:var(--space-2xs);display:block}.inline-control{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.invite-page{align-content:start;gap:var(--space-3xl);min-height:100dvh;padding:clamp(var(--space-lg), 5vw, var(--space-3xl));display:grid}.invite-result{align-self:center;gap:var(--space-md);justify-items:start;width:100%;max-width:34rem;margin:auto;display:grid}.invite-result h1{font-size:clamp(var(--text-2xl), 7vw, var(--text-3xl));margin:0}.invite-result p{color:var(--color-muted);margin:0}.invite-result[data-state=loading]>svg{animation:spin var(--dur-slow) linear infinite}.invite-result[data-state=success]>svg{color:var(--color-success)}.assignment-dialog{max-width:40rem}.assignment-list{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);max-height:24rem;overflow:auto}.assignment-choice{border-block-end:var(--rule-thin) solid var(--color-rule);cursor:pointer;align-items:center;gap:var(--space-sm);min-height:64px;padding:var(--space-sm) var(--space-md);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.assignment-choice:last-child{border-block-end:0}.assignment-choice strong,.assignment-choice small{display:block}.assignment-choice small{color:var(--color-muted)}.assignment-choice input{accent-color:var(--color-focus)}.assignment-choice:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:-2px}.config-note{background:var(--color-warning-soft);border:var(--rule-thin) solid var(--color-warning);border-radius:var(--radius-card);color:var(--color-warning);align-items:start;gap:var(--space-sm);padding:var(--space-md);margin-block-end:var(--space-md);display:flex}.config-note svg{flex:none;margin-block-start:.2em}.dialog-card--responses{max-width:70rem;width:min(calc(100% - var(--space-lg)), 70rem)}.dialog-card--trajectory{max-width:54rem;width:min(calc(100% - var(--space-lg)), 54rem)}.response-summary{border-block-end:var(--rule-thin) solid var(--color-rule);gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));margin-block-end:var(--space-lg);padding-block-end:var(--space-lg);display:grid}.response-summary span{color:var(--color-muted);font-size:var(--text-sm)}.response-summary strong{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);display:block}.response-list{gap:var(--space-sm);display:grid}.response-card{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);overflow:clip}.response-card>summary{cursor:pointer;align-items:center;gap:var(--space-md);min-height:68px;padding:var(--space-md);justify-content:space-between;list-style:none;display:flex}.response-card>summary::-webkit-details-marker{display:none}.response-card>summary>span:first-child{align-items:center;gap:0 var(--space-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.response-card>summary svg{color:var(--color-muted);grid-row:1/3}.response-card>summary small{grid-column:2}.response-card__body{background:var(--color-paper-2);border-block-start:var(--rule-thin) solid var(--color-rule);gap:var(--space-lg);padding:var(--space-lg);display:grid}.response-card__body h3{font-size:var(--text-sm);margin:0 0 var(--space-xs)}.response-card__body pre{background:var(--color-editor);border-radius:var(--radius-input);color:var(--color-code);max-height:24rem;padding:var(--space-md);margin:0;overflow:auto}.case-results{gap:var(--space-sm);display:grid}.case-results article{background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);padding:var(--space-md)}.case-results header{align-items:center;gap:var(--space-sm);justify-content:space-between;display:flex}.case-results dl{gap:var(--space-xs);margin:var(--space-sm) 0 0;display:grid}.case-results dl>div{gap:var(--space-sm);grid-template-columns:5rem minmax(0,1fr);display:grid}.case-results dt{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:700}.case-results dd{overflow-wrap:anywhere;min-width:0;margin:0}.student-profile{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-end:var(--space-lg);display:grid}.student-profile>div{border-block-start:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-sm)}.student-profile span,.student-profile strong{display:block}.student-profile span{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:700}.trajectory-timeline>h3{font-size:var(--text-base);margin:0 0 var(--space-md)}.trajectory-timeline article{gap:var(--space-md);grid-template-columns:auto minmax(0,1fr);display:grid}.trajectory-timeline__marker{background:var(--color-action);border:4px solid var(--color-paper-2);height:14px;outline:var(--rule-thin) solid var(--color-rule-2);border-radius:50%;width:14px;margin-block-start:var(--space-xs)}.trajectory-timeline article:not(:last-child)>div:last-child{border-block-end:var(--rule-thin) solid var(--color-rule);margin-block-end:var(--space-lg);padding-block-end:var(--space-lg)}.trajectory-timeline header{align-items:start;gap:var(--space-sm);justify-content:space-between;display:flex}.trajectory-timeline header strong,.trajectory-timeline header small{display:block}.trajectory-timeline dl{gap:var(--space-md);margin:var(--space-md) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.trajectory-timeline dl div{border-block-start:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-xs)}.trajectory-timeline dt{color:var(--color-muted);font-size:var(--text-xs)}.trajectory-timeline dd{color:var(--color-ink);margin:0;font-weight:700}.question-detail__actions{grid-column:1/-1;justify-content:flex-end;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.student-link:hover{color:var(--color-accent)}.assignment-choice:hover,.response-card>summary:hover{background:var(--color-paper-2)}}@media (min-width:52rem){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.response-card__body{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}}@media (max-width:39.999rem){.inline-control{grid-template-columns:minmax(0,1fr)}.inline-control .button{width:100%}.assignment-choice{grid-template-columns:auto minmax(0,1fr)}.assignment-choice .badge{grid-column:2;justify-self:start}.response-summary{grid-template-columns:minmax(0,1fr)}.response-card>summary{flex-direction:column;align-items:flex-start}.student-profile{grid-template-columns:minmax(0,1fr)}.trajectory-timeline header{flex-direction:column;align-items:flex-start}}@media (hover:hover) and (pointer:fine){.login-split__statement>p:last-child{display:block}}@media (min-width:48rem){.login-split{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);grid-template-areas:"form visual"}.login-split__form-pane,.login-split__visual{min-height:100dvh;padding:clamp(var(--space-xl), 5vw, var(--space-3xl))}.login-split__form-wrap{padding-block:var(--space-xl)}.login-split__statement h2{font-size:clamp(var(--text-2xl), 4vw, var(--text-3xl));max-width:14ch}}@media (prefers-reduced-motion:reduce){.login-split__statement>p:last-child{display:none}}
