/* Orange tokens and component geometry from neobrutalism.dev. See THIRD_PARTY_NOTICES.md. */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('/public-sans-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('/public-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('/public-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@layer reset, base, layout, components, responsive;
@layer reset {
  *,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,ol,ul,dl,dd{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img,svg,canvas{max-width:100%}[hidden]{display:none!important}
}
@layer base {
  :root{--background:hsl(33 100% 92%);--secondary-background:#fff;--main:hsl(28 100% 51%);--foreground:#000;--main-foreground:#000;--border:#000;--ring:#000;--shadow:4px 4px 0px 0px var(--border);--radius-base:5px;--muted:#454545;--error:#9d1717}
  html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:'Public Sans',Arial,sans-serif;font-size:15px;font-weight:500;line-height:1.65}h1,h2,h3{font-weight:700}h1{font-size:clamp(36px,4.3vw,62px);line-height:1.22;letter-spacing:-2.5px}h2{font-size:23px;line-height:1.4;letter-spacing:-.7px}h3{font-size:16px}p{max-width:68ch}a{color:inherit;text-underline-offset:4px}button{color:inherit}code,pre,.code{font-family:Consolas,'Courier New',monospace}code{font-size:.9em;background:var(--background);padding:2px 5px;overflow-wrap:anywhere}pre{overflow-x:auto;padding:18px;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-base);margin:14px 0}pre code{padding:0;background:none}:focus-visible{outline:2px solid var(--ring);outline-offset:4px}::selection{background:var(--main);color:#000}small{font-size:12px}.muted{color:var(--muted)}.accent{color:var(--foreground)}
}
@layer layout {
  .site-header{min-height:88px;border-bottom:2px solid var(--border);display:flex;align-items:center;padding:18px 5.5%;gap:36px;background:var(--secondary-background)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:21px;letter-spacing:-.8px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--main);border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:var(--shadow);font-size:27px;line-height:1}.brand-light{font-weight:500}.header-context{font-size:12px;padding-left:25px;border-left:2px solid var(--border)}nav{display:flex;margin-left:auto;gap:14px;align-items:center;white-space:nowrap}nav a{text-decoration:none;font-size:12px;padding:7px 12px;border:2px solid transparent;border-radius:var(--radius-base)}nav a[aria-current=page]{background:var(--main);border-color:var(--border);box-shadow:var(--shadow)}nav a span{margin-left:6px}main{max-width:1460px;margin:auto;padding:0 5.5%;min-height:calc(100vh - 168px)}.site-footer{max-width:1460px;margin:0 auto;padding:25px 5.5%;display:flex;justify-content:space-between;border-top:2px solid var(--border);font-size:11px;gap:20px}.site-footer>span:first-child{font-weight:800}.welcome-layout{display:grid;grid-template-columns:1.18fr 1fr;gap:8%;padding:58px 0 49px;align-items:start}.welcome-copy{padding-top:6px}.entry-panel{background:var(--secondary-background);border:2px solid var(--border);padding:27px 30px;border-radius:var(--radius-base);box-shadow:var(--shadow)}.bottom-note{border-top:2px solid var(--border);display:flex;gap:35px;align-items:baseline;padding:23px 0 31px;font-size:13px}.note-index{font-weight:700;white-space:nowrap}.ta-login-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:70px 0 90px}.workspace-head{padding:40px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.workspace-head h1{font-size:clamp(32px,3.3vw,46px);margin:10px 0;letter-spacing:-1.5px}.workspace-grid{display:grid;grid-template-columns:248px minmax(0,1fr);gap:36px;padding-bottom:60px}.workspace-aside>section+section{margin-top:28px}.workspace-content{min-width:0}.ta-grid{display:grid;grid-template-columns:320px 1fr;border:2px solid var(--border);background:var(--secondary-background);border-radius:var(--radius-base);box-shadow:var(--shadow);overflow:hidden}.ta-controls{padding:28px;border-right:2px solid var(--border)}.ta-tools{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:50px 0}.ta-tools>section+section{border-left:2px solid var(--border);padding-left:45px}.loading{padding:120px 0}
}
@layer components {
  .generator{max-width:570px;margin:0 auto;padding:32px 0 48px}.generator-heading{margin-bottom:24px}.generator-heading h1{font-size:clamp(28px,4vw,40px);margin:0 0 18px;letter-spacing:-1.4px}.generator-heading>p:last-child{font-size:14px}.generator .entry-panel{padding:26px 30px 24px}.generator label:first-child{margin-top:0}.generator .button svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:2}.access-note{font-size:12px;line-height:1.6;margin:20px 0 0}.checkbox-label{display:flex;gap:10px;align-items:flex-start;line-height:1.6}.checkbox-label input{width:18px;height:18px;min-height:18px;flex:none;margin:2px 0 0;accent-color:var(--main)}.ta-grid+.ta-grid{margin-top:35px}.download-status{font-size:12px;margin-top:13px}.download-status:empty{display:none}.classroom-access{margin-top:20px;border-top:2px solid var(--border);padding-top:14px;font-size:12px}.classroom-access summary{cursor:pointer;font-weight:700}.classroom-access small{display:block;font-size:11px;margin-top:7px}.generator .button{margin-bottom:3px}
  .course-label{font-size:12px;font-weight:700}.course-row{text-align:left;width:100%;transition:background .15s}.course-row>span:last-child{margin-left:auto}.course-row:hover{background:var(--main)}
  .skip-link{position:absolute;left:12px;top:-100px;background:white;border:2px solid black;padding:8px;z-index:10}.skip-link:focus{top:12px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;display:flex;align-items:center;gap:12px}.small-rule{display:inline-block;width:27px;height:2px;background:var(--border)}.welcome-copy h1{margin:20px 0 24px}.title-highlight{display:inline-block;background:var(--main);border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:var(--shadow);padding:0 10px 3px;margin-top:5px}.intro{font-size:15px;line-height:1.8;max-width:490px}.course-list{display:grid;gap:10px;margin:28px 0;max-width:480px}.course-row{display:flex;gap:13px;align-items:center;background:white;border:2px solid var(--border);border-radius:var(--radius-base);padding:10px 13px;font-size:13px;font-weight:700}.course-symbol{display:grid;place-items:center;min-width:38px;height:34px;background:var(--main);border:2px solid var(--border);border-radius:var(--radius-base);font-family:Consolas,monospace;font-size:12px}.entry-steps{list-style:none;padding:0;display:grid;gap:10px;font-size:13px}.entry-steps li{display:flex;gap:15px}.entry-steps li>span{font-family:Consolas,monospace;font-weight:700;font-size:12px;padding-top:1px}.fixed-note{margin-top:25px;display:flex;gap:13px;max-width:490px;font-size:12px;color:var(--muted)}.fixed-note svg{flex:0 0 20px;width:20px;fill:none;stroke:var(--foreground);stroke-width:1.7;margin-top:3px}.fixed-note strong{font-weight:700;color:var(--foreground)}.panel-top{display:flex;justify-content:space-between;padding-bottom:16px;margin-bottom:21px;border-bottom:2px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.tiny-mark{font-family:Consolas,monospace;font-size:12px}.entry-panel h2{font-size:27px;margin-bottom:7px}.entry-panel>.muted{font-size:13px;margin-bottom:20px}label{display:block;font-size:12px;font-weight:700;margin:17px 0 7px}input,select,textarea{width:100%;border:2px solid var(--border);border-radius:var(--radius-base);background:#fff;color:var(--foreground);padding:10px 12px;min-height:44px;line-height:1.5;font-size:14px}select{padding-right:26px}input::placeholder{color:#606060}textarea{resize:vertical}input+small{display:block;color:var(--muted);margin:6px 0 0}.button{border:2px solid var(--border);display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:13px;font-weight:700;border-radius:var(--radius-base);padding:10px 16px;min-height:44px;text-decoration:none;line-height:1.5;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translate(4px,4px);box-shadow:none}.button:active:not(:disabled){transform:translate(4px,4px);box-shadow:none}.primary{background:var(--main);color:var(--main-foreground)}.secondary{background:var(--secondary-background);color:var(--foreground)}.wide{width:100%}.button.wide{justify-content:space-between}.form-error{color:var(--error);font-size:12px;min-height:18px;margin:10px 0}.panel-footnote{font-size:11px;color:var(--muted);border-top:2px solid var(--border);padding-top:18px;margin-top:23px;line-height:1.9}.text-button{background:none;border:0;padding:5px 0;font-size:12px;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:4px}.notice{background:var(--background);padding:14px;font-size:12px;border:2px solid var(--border);border-radius:var(--radius-base);margin-top:12px}.student-identity{text-align:right;display:grid;gap:3px;flex-shrink:0}.student-identity>span{font-size:11px}.student-identity>strong{font-size:19px;font-weight:700}.student-identity .text-button{text-align:right}.assignment-meta{background:var(--main);padding:22px;border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:var(--shadow)}.assignment-meta .eyebrow{font-size:10px}.assignment-meta h2{font-size:30px;margin:12px 0 22px}.assignment-meta dl>div{padding:12px 0;border-top:2px solid var(--border)}.assignment-meta dt{font-size:11px}.assignment-meta dd{font-size:12px;margin-top:4px;overflow-wrap:anywhere}.assignment-meta>p{font-size:11px;line-height:1.7;margin-top:14px}.presence-status h3{margin-bottom:15px}.presence-status ol{list-style:none;padding:0;display:grid;gap:19px}.presence-status li{display:flex;align-items:center;gap:12px;font-size:13px}.checkpoint-number{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;background:white;border:2px solid var(--border);border-radius:var(--radius-base);font-size:11px}.complete .checkpoint-number{background:var(--main)}.presence-status li strong{font-weight:600}.presence-status li small{display:block;font-size:10px;color:var(--muted)}.presence-status .button{font-size:11px;margin-top:22px;padding:10px}.aside-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:17px}.submission-note{border-top:2px solid var(--border);padding-top:22px}.submission-note ul{padding-left:16px;font-size:12px;line-height:2;margin:12px 0}.submission-note p,.submission-note a{font-size:12px}.checkpoint-panel{border:2px solid var(--border);background:white;padding:24px 26px;border-radius:var(--radius-base);box-shadow:var(--shadow)}.section-line{display:flex;justify-content:space-between;align-items:center;gap:16px}.status-label{font-size:10px;padding:4px 8px;background:white;border:2px solid var(--border);border-radius:var(--radius-base);white-space:nowrap}.status-label.verified{background:var(--main)}.checkpoint-panel h2{margin:20px 0 10px}.checkpoint-panel>p{font-size:13px;color:var(--muted)}.input-action{display:flex;gap:10px}.input-action input{min-width:0;font-size:12px}.input-action button{white-space:nowrap}.checkpoint-form .form-error{margin:7px 0 0;min-height:0}.restore{margin-top:18px;font-size:12px}.restore summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.restore>p{margin:10px 0;color:var(--muted)}.file-label{font-size:12px}.file-label input{margin-top:7px;font-size:11px}.locked-panel{text-align:center;background:white;border:2px dashed var(--border);border-radius:var(--radius-base);margin-top:27px;padding:45px 30px}.locked-panel svg{width:64px;fill:none;stroke:var(--foreground);stroke-width:2;margin-bottom:20px}.locked-panel h2{font-size:28px}.locked-panel p{margin:12px auto 20px;font-size:13px;max-width:400px;color:var(--muted)}.assignment-toolbar{display:flex;align-items:center;justify-content:space-between;margin:29px 0 20px;font-size:12px;gap:15px}.assignment-toolbar>div{display:flex;gap:20px;align-items:center}.assignment-toolbar .button{font-size:11px;min-height:38px;padding:8px 12px}.group-heading{display:flex;justify-content:space-between;align-items:end;padding:19px 23px;background:var(--main);border:2px solid var(--border);border-radius:var(--radius-base) var(--radius-base) 0 0}.group-heading .eyebrow{font-size:10px}.group-heading h2{font-size:27px;margin-top:5px}.question{display:grid;grid-template-columns:38px minmax(0,1fr);gap:17px;padding:25px 23px;background:white;border:2px solid var(--border);border-top:0;break-inside:avoid}.question:last-child{border-radius:0 0 var(--radius-base) var(--radius-base);box-shadow:var(--shadow)}.question-number{display:grid;place-items:center;align-self:start;height:36px;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-base);font-family:Consolas,monospace;font-size:16px;font-weight:700;line-height:1.2}.question-body h2{font-size:19px;letter-spacing:-.3px;margin:0 0 14px}.question-body p{font-size:14px;line-height:1.85;margin:10px 0}.question-body ul,.question-body ol{padding-left:22px}.evidence-tag{font-size:10px;margin-top:18px;display:inline-block;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-base);padding:4px 8px}.question-group+.question-group{margin-top:28px}.finish-panel{background:var(--main);border:2px solid var(--border);padding:25px 27px;border-radius:var(--radius-base);box-shadow:var(--shadow);margin-top:34px}.finish-panel h2{font-size:25px;margin:10px 0}.finish-panel p{font-size:12px;line-height:1.9;margin-top:12px}.finish-panel .muted{color:var(--foreground)}.assignment-signature{font-size:12px;margin-top:24px}.assignment-signature summary{cursor:pointer}.assignment-signature p{margin:12px 0}.assignment-signature textarea{font-family:Consolas,monospace;font-size:10px;overflow-wrap:anywhere}.ta-login-layout h1{margin:20px 0}.ta-login-layout .muted{margin-top:30px;font-size:13px}.ta-controls h2{font-size:23px;margin-bottom:20px}.qr-panel{padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:470px;text-align:center;background:var(--background)}.qr-panel .section-line{width:100%;margin-bottom:15px}.qr-panel h2{font-size:27px;margin:15px 0 8px}.qr-panel p{font-size:13px;max-width:390px}.qr-panel label{font-size:11px;margin-top:25px;align-self:flex-start}.qr-panel input{font-size:10px;max-width:540px}.qr-placeholder{width:95px;height:95px;margin-bottom:10px}.qr-placeholder svg{fill:none;stroke:currentColor;stroke-width:2}.qr-panel canvas{width:340px;max-width:100%;height:auto!important;border:2px solid var(--border)}.ta-tools h2{font-size:28px;margin:12px 0}.ta-tools p{font-size:12px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px}.verified-result{margin-top:20px;background:white;padding:20px;border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:var(--shadow);font-size:12px}.verified-result ul{padding-left:16px;margin:12px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--main);color:var(--foreground);font-size:13px;padding:14px 22px;border:2px solid var(--border);border-radius:var(--radius-base);z-index:20;box-shadow:var(--shadow);max-width:min(580px,90vw);width:max-content}.toast.error{background:white;color:var(--error)}.connection-error{padding:85px 0}.connection-error p{margin:22px 0}
}
@layer responsive {
  @media(min-width:1440px){.welcome-layout{gap:11%;padding-top:75px;padding-bottom:65px}.entry-panel{padding:32px 36px}.welcome-copy h1{font-size:64px}}
  @media(max-width:1020px){.header-context{display:none}.welcome-layout{gap:5%;grid-template-columns:1.05fr 1fr}.entry-panel{padding:25px}.workspace-grid{grid-template-columns:210px minmax(0,1fr);gap:27px}.checkpoint-panel{padding:22px}.group-heading h2{font-size:25px}.ta-grid{grid-template-columns:285px 1fr}.ta-tools{gap:30px}.ta-tools>section+section{padding-left:30px}.assignment-toolbar{align-items:flex-start}.assignment-toolbar>div{gap:12px}}
  @media(max-width:760px){.site-header{min-height:74px;padding:15px 5%;gap:15px}.brand{font-size:17px;gap:9px}.brand-icon{width:33px;height:33px;font-size:22px}nav{gap:7px}nav a{font-size:10px;padding:6px 8px}nav a span{margin-left:2px}main{padding:0 5%}.welcome-layout{grid-template-columns:1fr;padding:32px 0 30px;gap:30px}.welcome-copy h1{font-size:46px;margin:18px 0 22px;letter-spacing:-2px}.intro{font-size:14px;max-width:520px}.course-list{max-width:none;margin:24px 0}.entry-steps{gap:8px}.fixed-note{margin-top:20px}.entry-panel{padding:24px}.panel-top{padding-bottom:17px}.bottom-note{gap:18px;padding:23px 0;font-size:12px}.site-footer{padding:20px 5%;flex-wrap:wrap;gap:8px 20px}.site-footer>span:last-child{width:100%}.workspace-head{padding:30px 0 25px;align-items:start;gap:15px}.workspace-head h1{font-size:33px;letter-spacing:-1px}.workspace-head>.student-identity{margin-top:8px}.workspace-head>.student-identity strong{font-size:15px}.workspace-head>.student-identity>span{font-size:9px}.workspace-head>div:first-child{min-width:0}.workspace-grid{grid-template-columns:1fr;gap:25px}.workspace-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.workspace-aside>section+section{margin-top:0}.workspace-aside .submission-note{grid-column:1/-1;padding-top:17px}.submission-note ul{display:flex;flex-wrap:wrap;gap:0 30px;margin:7px 0}.assignment-meta{padding:17px}.assignment-meta h2{font-size:25px;margin:8px 0 15px}.assignment-meta dd{font-size:10px}.presence-status h3{font-size:13px}.presence-status ol{gap:12px}.presence-status li{font-size:12px;gap:9px}.presence-status li small{font-size:9px}.presence-status .button{font-size:10px;padding:8px;min-height:38px;margin-top:16px}.aside-note{font-size:10px}.checkpoint-panel{padding:19px}.section-line{gap:7px;flex-wrap:wrap}.section-line .eyebrow{font-size:9px;letter-spacing:1px}.status-label{font-size:9px}.input-action{flex-direction:column}.input-action button{align-self:flex-start}.group-heading{padding:17px;align-items:start}.group-heading h2{font-size:25px}.question{grid-template-columns:30px minmax(0,1fr);gap:11px;padding:21px 15px}.question-number{font-size:14px;height:30px}.question-body h2{font-size:17px}.question-body p{font-size:13px}.assignment-toolbar{flex-direction:column;gap:10px}.assignment-toolbar>div{justify-content:space-between;width:100%}.finish-panel{padding:21px}.finish-panel h2{font-size:24px}.ta-login-layout{grid-template-columns:1fr;padding:40px 0;gap:30px}.ta-login-layout h1{font-size:40px}.ta-login-layout .muted{margin-top:20px}.ta-grid{grid-template-columns:1fr}.ta-controls{border-right:0;border-bottom:2px solid var(--border);padding:25px}.qr-panel{padding:24px;min-height:360px}.ta-tools{grid-template-columns:1fr;gap:40px;padding:35px 0}.ta-tools>section+section{padding:35px 0 0;border-left:0;border-top:2px solid var(--border)}}
  @media(max-width:380px){.site-header{gap:8px}.brand{font-size:15px}.brand-icon{width:29px;height:29px}nav{gap:3px}nav a{font-size:9px;padding:5px}.welcome-copy h1{font-size:40px}.workspace-aside{grid-template-columns:1fr}.workspace-aside .submission-note{grid-column:auto}.student-identity{max-width:100px}.workspace-head h1{font-size:28px}.form-pair{grid-template-columns:1fr}}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover:not(:disabled),.button:active:not(:disabled){transform:none;box-shadow:var(--shadow)}}
  @media print{body{background:white;color:black;font-size:11pt}.site-header,nav,.site-footer,.checkpoint-panel,.presence-status,.submission-note,.assignment-toolbar,.toast,.skip-link,#logout,.finish-panel{display:none!important}main{padding:0;max-width:none}.workspace-head{padding:0 0 20px}.workspace-head h1{font-size:28px}.workspace-head .muted{font-size:11px}.workspace-grid{display:block}.workspace-aside{display:block}.assignment-meta{background:white;color:black;box-shadow:none;display:block;padding:12px;margin-bottom:20px}.assignment-meta h2{font-size:20px;margin:0}.assignment-meta dl{display:flex;gap:30px}.assignment-meta dl>div{border:0}.assignment-meta>p{display:none}.question-body p{font-size:11pt}.question-body h2{font-size:14pt}.question{padding:15px}.question:last-child{box-shadow:none}.question-group+.question-group{margin-top:25px}.group-heading{background:white}.group-heading h2{font-size:24px}.assignment-signature{display:none}a{color:black}}
}

@layer responsive {
  body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
  main{width:100%;flex:1 0 auto;min-height:0;padding-bottom:48px}
  .site-footer{width:100%;align-items:center;flex-wrap:wrap;gap:8px 24px}
  .site-footer>span:last-child{width:auto}
  .workspace-head{gap:20px;flex-wrap:wrap}
  .workspace-head h1{margin:0;min-width:0}
  .ta-grid{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:stretch;min-width:0;margin-bottom:8px}
  .ta-controls{min-width:0}
  .ta-controls select{min-width:0;width:100%;max-width:100%}
  .ta-download{margin-top:28px;padding-top:24px;border-top:2px solid var(--border)}.ta-download h2{margin-bottom:4px}
  .qr-panel{min-width:0;min-height:0;width:100%;padding:clamp(24px,3vw,40px);gap:16px;justify-content:flex-start}
  .qr-heading{width:100%;text-align:center}
  .qr-heading h2{margin:0 0 6px;overflow-wrap:anywhere}
  .qr-heading p{width:100%;max-width:none;font-size:12px;margin:0;text-align:center}
  .qr-actions{display:flex;flex-wrap:wrap;gap:12px;width:100%}
  .extra-ids{width:100%;text-align:left;margin-top:8px}.extra-ids .aside-note{margin-top:10px}
  .qr-actions .button{flex:1 1 145px;min-width:0;padding-inline:12px}
  .qr-content{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;min-width:0}
  .qr-content canvas{width:min(320px,100%);height:auto!important;aspect-ratio:1;margin:0}
  .qr-content label{width:100%;margin:4px 0 0;text-align:left}
  .qr-content textarea.class-code{width:100%;min-width:0;margin:0;padding:12px;font-family:Consolas,monospace;font-size:14px;line-height:1.6;font-weight:700;text-align:center;resize:none;overflow-wrap:anywhere;word-break:break-all}
  .qr-panel .form-error{width:100%;margin:0;min-height:0}
  @media(max-width:900px){.ta-grid{grid-template-columns:minmax(0,1fr)}.ta-controls{border-right:0;border-bottom:2px solid var(--border)}.workspace-head h1{font-size:clamp(27px,6vw,38px);letter-spacing:-1px}}
  @media(max-width:420px){.qr-panel,.ta-controls{padding:20px}.qr-actions{gap:10px}.qr-actions .button{flex-basis:100%}.site-footer{padding-block:20px}}
}

@layer components {
  .native-select{position:relative;width:100%;min-width:0}
  .native-select select{-webkit-appearance:none;appearance:none;padding-right:36px}
  .native-select-icon{position:absolute;top:50%;right:12px;width:16px;height:16px;max-width:none;transform:translateY(-50%);pointer-events:none}
}

/* Menubar geometry follows neobrutalism.dev/docs/menubar. */
@layer components {
  .site-menubar{display:flex;align-items:center;gap:4px;min-height:44px;padding:4px;border:2px solid var(--border);border-radius:var(--radius-base);background:var(--background)}
  .site-menubar a{display:flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border:2px solid transparent;border-radius:var(--radius-base);font-size:14px;font-weight:700;line-height:1.25;white-space:nowrap;text-decoration:none;user-select:none}
  .site-menubar a[aria-current=page],.site-menubar a:focus-visible{color:var(--main-foreground);background:var(--main);border-color:var(--border);box-shadow:none}
  .site-menubar a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
  @media(hover:hover){.site-menubar a:hover{background:var(--main);color:var(--main-foreground);border-color:var(--border)}}
}
@layer responsive {
  @media(max-width:420px){.site-menubar a{font-size:12px;padding-inline:9px}}
}

@layer components {
  .quiz-main{padding-bottom:64px}
  .quiz-connection{min-height:24px;margin-top:12px;font-size:12px;color:var(--error)}
  .quiz-entry{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;padding:45px 0 70px}
  .quiz-intro h1{font-size:clamp(44px,5.8vw,78px);line-height:1.08;letter-spacing:-3px;margin:22px 0 28px}
  .quiz-intro>p{font-size:17px;line-height:1.9;margin-bottom:28px}
  .quiz-card{min-width:0;background:#fff;border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:var(--shadow);padding:clamp(22px,3vw,36px)}
  .quiz-card>h2{margin-bottom:20px}.quiz-card>.eyebrow+h2{margin-top:12px;font-size:30px}
  .quiz-card form>label{margin-top:18px}.quiz-card form>.button{margin-top:10px}
  .quiz-join-entry{max-width:1040px;margin:auto;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(24px,5vw,64px);padding:32px 0 40px}
  .quiz-join-entry .quiz-intro h1{font-size:clamp(36px,4.5vw,56px);letter-spacing:-2px;margin:12px 0 18px}
  .quiz-join-entry .quiz-intro>p{font-size:14px;line-height:1.7;margin:0}
  .quiz-join-card{padding:24px}.quiz-join-card>.eyebrow+h2{font-size:24px;margin:8px 0 16px}
  .quiz-join-card form>label{margin-top:12px}.quiz-join-card input{padding:8px 12px}
  .quiz-join-card .quiz-code-input{font-size:22px;letter-spacing:3px}.quiz-join-card .form-error:empty{display:none}
  .quiz-join-card .aside-note{margin-top:12px}.quiz-join-card input+small{font-size:11px}
  .quiz-code-input{font-family:Consolas,monospace;font-size:26px;letter-spacing:5px;font-weight:700}
  .quiz-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;align-items:center}.workspace-head .quiz-actions{margin-top:0}
  .quiz-setup{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.4fr);gap:28px;align-items:start}
  .quiz-source{font-family:Consolas,monospace;font-size:11px;overflow-wrap:anywhere;margin-top:12px;color:var(--muted)}
  .quiz-bank-preview .section-line{margin-bottom:20px;flex-wrap:wrap}
  .quiz-preview-item{border-top:2px solid var(--border);padding:16px 0}.quiz-preview-item:last-child{padding-bottom:0}
  .quiz-preview-item summary{display:flex;gap:16px;cursor:pointer;font-weight:700;font-size:13px;list-style:revert}
  .quiz-preview-item summary span:last-child{margin-left:auto;font-size:11px;white-space:nowrap}.quiz-preview-item p,.quiz-preview-item ol{margin-top:15px;font-size:13px}.quiz-preview-item ol{padding-left:24px}
  .quiz-preview-item summary::before{content:'+';font-size:17px}.quiz-preview-item[open] summary::before{content:'−'}
  .quiz-prompt{white-space:pre-wrap;overflow-wrap:anywhere}.quiz-image{display:block;max-width:100%;max-height:42vh;margin:0 auto 24px;object-fit:contain;border:2px solid var(--border);border-radius:var(--radius-base);background:#fff}.quiz-preview-item .quiz-prompt{font-weight:600}
  .quiz-solution{padding:18px;border:2px solid var(--border);border-radius:var(--radius-base);background:#e6f8ec;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:20px}
  .quiz-solution p{margin-top:9px}.quiz-room-badge{border:2px solid #000;box-shadow:var(--shadow);padding:8px 16px;background:var(--main);font-size:11px;white-space:nowrap;border-radius:var(--radius-base)}
  .quiz-room-badge strong{font-family:Consolas,monospace;font-size:24px;letter-spacing:3px;margin-left:12px}
  .quiz-lobby{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}
  .quiz-share{text-align:center;background:#fff1c5;display:flex;align-items:center;flex-direction:column;gap:18px}
  .quiz-share .quiz-big-code{font-family:Consolas,monospace;font-size:clamp(32px,4vw,52px);letter-spacing:6px;margin:0;line-height:1.1}
  .quiz-share canvas{border:2px solid var(--border);max-width:100%;height:auto!important;aspect-ratio:1}.quiz-share p{font-size:13px}.quiz-share .aside-note{margin:0}
  .quiz-player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(176px,100%),1fr));gap:8px;list-style:none;padding:0;margin-top:16px}
  .quiz-player-list li{display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-base);padding:4px 6px 4px 10px;min-width:0;font-size:12px;line-height:1.4}
  .quiz-player-list li>span{overflow-wrap:anywhere}.quiz-remove{border:0;background:none;flex-shrink:0;min-width:32px;min-height:32px;font-size:20px;line-height:1;border-radius:var(--radius-base)}
  .quiz-empty{padding:40px 0;text-align:center}.quiz-empty h3{margin-bottom:10px}.quiz-empty p{margin:12px auto 22px}
  .quiz-wait{max-width:480px;margin:0 auto;text-align:center;padding:28px 24px}.quiz-wait p{margin:12px auto;font-size:13px}.quiz-wait>.eyebrow+h2{font-size:26px;margin-bottom:12px;overflow-wrap:anywhere}.quiz-wait .aside-note{font-size:11px}
  .quiz-sticker{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:28px;background:#b9ebd0;border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:var(--shadow)}
  .quiz-wait .quiz-player-total{font-size:16px;font-weight:700}.quiz-question-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
  .quiz-question-card .section-line{align-items:center;flex-wrap:wrap}.quiz-question-card .eyebrow{font-size:11px}
  .quiz-timer{background:var(--main);border:2px solid var(--border);padding:6px 12px;min-width:65px;text-align:center;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;border-radius:var(--radius-base)}
  .quiz-question-card progress{appearance:none;width:100%;height:12px;display:block;border:2px solid var(--border);border-radius:var(--radius-base);background:var(--background);margin:18px 0 28px;overflow:hidden}
  .quiz-question-card progress::-webkit-progress-bar{background:var(--background)}.quiz-question-card progress::-webkit-progress-value{background:var(--main)}.quiz-question-card progress::-moz-progress-bar{background:var(--main)}
  .quiz-question-card h2.quiz-prompt{font-size:clamp(23px,2.6vw,34px);line-height:1.45;margin:0 0 28px;letter-spacing:-.7px}
  .quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quiz-option{display:flex;align-items:center;gap:12px;border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:3px 3px 0 var(--border);padding:20px 16px;min-height:90px;min-width:0;cursor:pointer;font-size:16px;margin:0}
  .quiz-option>span{overflow-wrap:anywhere;white-space:pre-wrap}.quiz-option>strong{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;background:#fff;border:2px solid var(--border);font-size:14px;border-radius:var(--radius-base)}
  .quiz-option input[type=radio]{width:18px;height:18px;flex-shrink:0;accent-color:#000;margin:0}.quiz-option:has(input:checked){outline:3px solid #000;outline-offset:3px;box-shadow:6px 6px 0 #000}.quiz-option:has(input:disabled){cursor:default;opacity:.7}
  .quiz-color-0{background:#ffc1b5}.quiz-color-1{background:#bbdfff}.quiz-color-2{background:#ffdf80}.quiz-color-3{background:#c4eccb}.quiz-display-options .quiz-option{cursor:default}
  .quiz-main fieldset{padding:0;margin:0;border:0;min-width:0}.quiz-main .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .quiz-answer-count{font-size:12px;margin-top:25px;color:var(--muted)}.quiz-score-panel h2{font-size:42px;margin:12px 0 24px;font-variant-numeric:tabular-nums}.quiz-score-panel h2 small{display:block;font-size:12px;letter-spacing:0;font-weight:500}
  .quiz-manage{margin-top:22px;border-top:2px solid var(--border);padding-top:14px}.quiz-manage summary{cursor:pointer;font-weight:700;font-size:14px;min-height:32px}.quiz-manage .quiz-player-list{grid-template-columns:1fr;max-height:40vh;overflow:auto}
  .quiz-score-panel>p{font-size:13px;margin:16px 0}.quiz-score-panel .quiz-actions{flex-direction:column;align-items:stretch}.quiz-instruction{padding:20px 0;font-size:14px}
  .quiz-puzzle{list-style:none;padding:0;display:grid;gap:14px}.quiz-puzzle li{display:flex;gap:12px;align-items:center;border:2px solid var(--border);border-radius:var(--radius-base);background:#e3ddff;padding:12px;box-shadow:3px 3px 0 #000}
  .quiz-puzzle li>span{font-weight:800}.quiz-puzzle p{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;font-family:Consolas,monospace;font-size:14px}.quiz-puzzle li>div{display:flex;gap:7px;flex-shrink:0}.quiz-puzzle .button{padding:6px 10px;min-height:42px;min-width:40px;box-shadow:none}
  .quiz-submitted{text-align:center;background:var(--background);padding:35px 15px;border:2px dashed #000;border-radius:var(--radius-base)}.quiz-submitted>span{font-size:40px}.quiz-submitted h3{font-size:24px}.quiz-submitted p{margin:12px auto 0;font-size:13px}
  .quiz-result{padding:16px 20px;font-weight:700;border:2px solid var(--border);border-radius:var(--radius-base)}.quiz-correct{background:#b9ebd0}.quiz-incorrect{background:#ffe3c3}
  .quiz-distribution{display:flex;gap:12px;margin-top:24px}.quiz-distribution>div{flex:1;text-align:center;padding:16px 5px;border:2px solid #000;background:var(--background);border-radius:var(--radius-base)}.quiz-distribution strong{display:block;font-size:28px}.quiz-distribution span{font-size:12px}
  .quiz-ranking{list-style:none;padding:0;margin-top:16px;display:grid;gap:10px}.quiz-ranking li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:2px solid #000;font-size:12px;min-width:0}.quiz-rank{font-weight:800;flex:0 0 20px}.quiz-ranking li>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.quiz-ranking li>strong{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.quiz-ranking small{display:block;font-size:10px;font-weight:500;color:var(--muted)}
  .quiz-finish{max-width:850px;margin:auto;text-align:center}.quiz-finish>h2{font-size:clamp(30px,4vw,48px);margin-top:16px}.quiz-finish>p{margin:14px auto}.quiz-finish .quiz-actions{justify-content:center}
  .quiz-final-score{display:flex;flex-direction:column;padding:25px 0}.quiz-final-score>strong{font-size:64px;line-height:1.2}.quiz-final-score>span{font-size:13px}.quiz-podium{max-width:600px;margin:30px auto;text-align:left}.quiz-podium li{border:2px solid #000;padding:18px;background:var(--background);border-radius:var(--radius-base);box-shadow:3px 3px 0 #000;font-size:15px}.quiz-podium li:first-child{background:#ffdf80}.quiz-podium li:nth-child(2){background:#bbdfff}.quiz-podium li:nth-child(3){background:#ffc1b5}
  @media(hover:hover){.quiz-option:has(input:not(:disabled)):hover{outline:2px solid #000;outline-offset:3px}.quiz-remove:hover{background:var(--main)}}
  @media(prefers-reduced-motion:no-preference){.quiz-main .button:not(:disabled):active{scale:.96;transition:scale 150ms ease-out}}
}
@layer responsive {
  @media(max-width:1000px){.quiz-question-layout{grid-template-columns:minmax(0,1fr)}.quiz-score-panel .quiz-actions{flex-direction:row}.quiz-score-panel .quiz-ranking{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}.quiz-setup,.quiz-lobby{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}}
  @media(max-width:760px){.quiz-entry{grid-template-columns:1fr;gap:35px;padding:15px 0 35px}.quiz-intro h1{font-size:52px;letter-spacing:-2px;margin:18px 0 22px}.quiz-intro>p{font-size:14px}.quiz-setup,.quiz-lobby{grid-template-columns:1fr}.quiz-card{padding:22px}.quiz-room-badge strong{font-size:20px;letter-spacing:2px}.quiz-question-card .eyebrow{font-size:9px;letter-spacing:.5px}.quiz-options{gap:12px}.quiz-option{padding:14px 10px;gap:8px;min-height:90px;font-size:14px}.quiz-option>strong{width:26px;height:26px}.quiz-puzzle li{gap:8px;padding:10px}.quiz-puzzle p{font-size:12px}.quiz-puzzle li>div{flex-direction:column;gap:6px}.quiz-preview-item summary{flex-wrap:wrap;gap:7px}.quiz-actions>.button{flex-grow:1}.quiz-finish .quiz-actions{flex-direction:column;align-items:stretch}}
  @media(max-width:420px){.quiz-options{grid-template-columns:1fr}.quiz-option{min-height:70px}.quiz-score-panel .quiz-ranking{grid-template-columns:1fr}.quiz-intro h1{font-size:44px}.quiz-room-badge{width:100%;text-align:center}.quiz-main .section-line{flex-wrap:wrap}}
  @media(max-width:760px){.quiz-join-entry{max-width:480px;grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 0 32px}.quiz-join-entry .quiz-intro h1{font-size:36px}.quiz-join-entry .quiz-intro>p{font-size:13px}.quiz-join-entry .quiz-join-card{padding:20px}}
}
