:root{--ink:#18181b;--muted:#71717a;--paper:#fff;--page:#f6f6f7;--line:#e4e4e7;--accent:#18181b;--soft:#f4f4f5;--danger:#9f3330;--warning:#805a13;--radius:14px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-feature-settings:"tnum";color:var(--ink);background:var(--page)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-weight:550;cursor:pointer;touch-action:manipulation;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}button:hover,.button:hover{border-color:#c8c8cf;background:#fafafa;text-decoration:none}button:active:not(:disabled),.button:active{transform:translateY(1px)}button.primary:hover,.button.primary:hover{background:#303036;border-color:#303036}button:disabled,.button[aria-disabled=true]{transform:none}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.secondary,.button.secondary{background:var(--soft);color:var(--accent);border-color:transparent}button.secondary:hover,.button.secondary:hover{background:#ededf0;border-color:#dedee3}button.quiet,.button.quiet{background:transparent}button.danger{color:var(--danger)}input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);max-width:100%}textarea{resize:vertical;line-height:1.6}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--accent);padding:0}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a1a1aa;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:650;line-height:1.35;letter-spacing:-.5px;text-wrap:balance}h2{font-size:20px;font-weight:650;letter-spacing:-.35px}h3{font-size:17px;font-weight:600}p{line-height:1.65;text-wrap:pretty}fieldset{padding:0;border:0;margin:0}legend{font-weight:600;margin-bottom:12px}[hidden]{display:none!important}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);min-height:72px;padding:16px max(24px,calc((100vw - 1400px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{color:var(--ink);font-size:20px;font-weight:650}.header-context{color:var(--muted);margin-left:18px;font-size:14px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page{max-width:1400px;margin:auto;padding:26px}.page.narrow{max-width:760px}.page-title{margin-bottom:22px}.page-title p{margin-top:7px;color:var(--muted)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 1px 2px #18181b03}.panel+.panel{margin-top:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-heading h2{min-width:0;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:14px}.error,.card-content-errors{color:var(--danger);background:#fff2f0;padding:12px 14px;border-radius:9px;font-size:15px;line-height:1.6}.error{margin:14px 0;white-space:pre-wrap}.notice{padding:12px 14px;background:#f8f3e7;color:var(--warning);border-radius:9px;font-size:14px;line-height:1.6;margin:14px 0}.status-line{font-size:14px;color:var(--muted);margin-top:12px}.status-chip{display:inline-block;white-space:nowrap;font-size:13px;padding:5px 9px;border-radius:6px;background:var(--soft);color:var(--accent)}.status-chip.ended{background:#f4f4f5;color:var(--muted)}.field{display:grid;gap:7px;margin-bottom:18px}.field>label,.field>span{font-weight:550;font-size:15px}.field small{color:var(--muted);font-size:13px;line-height:1.5}.field input,.field textarea,.field select{width:100%}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.65;padding:10px 0;min-height:44px}.check-row input{margin-top:3px}.divider{height:1px;background:var(--line);margin:20px 0}.empty-message{text-align:center;color:var(--muted);padding:40px 16px}.stack{display:grid;gap:18px}.small-gap{gap:10px}.form-actions{margin-top:20px}.section-space{margin-top:22px}.column-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:22px;align-items:start}.column-layout>div{min-width:0}.question-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);gap:22px;align-items:start}.question-main{min-width:0}.question-main:fullscreen{overflow:auto;background:#fff;padding:32px;font-size:28px}.question-main:fullscreen .ques-card{font-size:28px}.question-main .panel-heading{align-items:flex-start}.question-meta{font-size:13px;color:var(--muted);margin-top:5px}.preview-note{margin-top:16px;color:var(--muted);font-size:14px}.answer-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.answer-panel>h2{margin-bottom:15px}.question-settings summary{font-size:18px;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center}.question-settings .settings-body{padding-top:16px}.key-choices{display:flex;gap:6px 18px;flex-wrap:wrap}.key-choices label{display:flex;gap:8px;align-items:center;min-height:44px}.record-list{display:grid;gap:10px}.record-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.record-row .actions{flex:none}.record-label{min-width:0}.record-label p{overflow-wrap:anywhere}.question-pick{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);min-height:44px}.question-pick input{margin-top:3px}.question-pick span{line-height:1.6}.question-picker{max-height:390px;overflow:auto}.queue-summary{margin-top:12px;font-size:14px;color:var(--muted)}
/* Card text and response controls are not scaled on student/teacher pages. */
.ques-card{font-size:20px;line-height:1.85;overflow-wrap:anywhere;min-width:0}.card-field{white-space:pre-wrap}.card-field p+p,.card-subquestion+.card-subquestion{margin-top:.75em}.card-text{white-space:pre-wrap}.card-subquestion{margin-top:.85em}.card-figure{display:block;max-width:100%;height:auto;object-fit:contain;margin:18px auto;background:#fff}.card-image{display:inline-block;max-width:100%;height:auto;max-height:500px;object-fit:contain;vertical-align:middle;background:#fff}.card-inline-image{display:inline-block;max-width:100%;max-height:none;width:auto;object-fit:contain;vertical-align:-.18em;background:#fff}.card-table-scroll{max-width:100%;overflow-x:auto;margin:.8em 0}.card-table{border-collapse:collapse;min-width:240px;font-size:inherit}.card-table td{border:1px solid var(--line);padding:.3em .6em;vertical-align:top;white-space:pre-wrap}.card-options{display:grid;gap:10px;margin:20px 0}.card-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:13px 15px;min-height:52px}.card-option:has(input){cursor:pointer}.card-option input{margin-top:7px}.card-option.selected{background:var(--soft);border-color:var(--accent)}.card-option:has(input:disabled){cursor:default}.card-option-label{font-weight:650;flex:none;min-width:1.1em}.card-option-content{min-width:0;flex:1;white-space:pre-wrap}.card-option-content p{margin:0}.card-option-content .card-inline-image{max-width:100%}.card-text-responses{display:grid;gap:18px;margin-top:22px}.text-response-label{display:grid;gap:8px;font-size:18px}.text-response-label textarea{width:100%;font-size:18px}.compat-note{font-size:12px;color:var(--muted);margin-top:16px}.card-content-errors{margin-top:16px;white-space:normal}.card-content-errors p+p{margin-top:7px}.answer-heading{font-size:16px;color:var(--muted);margin:20px 0 10px}.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0;margin:.65em 0}.katex{white-space:normal}.ques-card .katex .katex-html{white-space:nowrap}.activity-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-top:16px}.activity-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px}.activity-heading strong{flex:1;min-width:160px;font-size:16px}.activity-frame{display:block;width:100%;height:min(62vh,620px);border:0;background:white}.activity-view:empty{display:none}.activity-view:fullscreen{height:100vh;background:white}.activity-view:fullscreen .activity-frame{height:100vh}.activity-expanded{position:fixed;inset:8px;background:#fff;z-index:10;border:1px solid var(--line)}.activity-expanded .activity-frame{height:100%}.activity-card .error{margin:12px}
/* Teacher controls and aggregate statistics. */
.joining-panel{display:flex;gap:20px;align-items:center}.joining-panel img{display:block;width:156px;height:156px}.join-info{min-width:0;flex:1}.join-info h2{margin-bottom:10px}.join-url{display:block;width:100%;font-size:14px;margin:10px 0}.join-code{font-size:28px;font-weight:650;letter-spacing:3px}.teacher-toolbar{margin:18px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.teacher-toolbar select{max-width:320px;flex:1}.counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.count-box{padding:16px 10px;border:1px solid var(--line);border-radius:10px;background:#fafafa;text-align:center}.count-box strong{display:block;font-size:29px;font-weight:650}.count-box span{font-size:13px;color:var(--muted)}.distribution{margin-top:22px;display:grid;gap:14px}.distribution-row{display:grid;gap:6px}.distribution-label{display:flex;justify-content:space-between;gap:12px;font-size:15px}.bar-track{height:14px;background:#f1f1f3;border-radius:5px;overflow:hidden}.bar-fill{height:100%;background:#27272a;min-width:0;transition:width .26s ease-out}.distribution-note{margin-top:14px;font-size:13px;color:var(--muted);line-height:1.6}.correct-rate{margin-top:20px;font-size:16px}.correct-rate strong{font-size:26px;margin-right:6px}.table-scroll{width:100%;overflow:auto}.participants{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6}.participants th,.participants td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.participants th{font-weight:600;color:var(--muted);white-space:nowrap}.participants td.response-cell{min-width:160px;max-width:340px;white-space:pre-wrap;overflow-wrap:anywhere}.participants td.name-cell{white-space:nowrap}.participants button{font-size:13px;padding:8px 10px;white-space:nowrap}.student-filter{max-width:150px}.history-list{display:grid;gap:8px;font-size:14px;max-height:230px;overflow:auto}.history-list p{display:flex;justify-content:space-between;gap:12px}.teacher-preview-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.teacher-preview-heading h2{font-size:19px}.teacher-preview-note{font-size:13px;color:var(--muted);margin-top:8px}.teacher-answer summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:15px;color:var(--accent)}.teacher-answer .ques-card{font-size:18px}
/* Student phone layout uses normal document flow, including the keyboard. */
.student-page{max-width:760px;margin:auto;padding:20px}.student-identity{font-size:14px;color:var(--muted);margin-top:5px}.student-status{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.student-question-title{font-size:20px;margin-bottom:18px}.submit-area{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.submit-area .primary{min-width:150px}.submission-state{font-size:15px;margin-bottom:12px;line-height:1.6;color:var(--muted)}.submission-state.saved{color:var(--accent)}.result-message{padding:14px;background:var(--soft);border-radius:9px;font-size:16px;margin:18px 0}.result-message.incorrect{background:#fff2f0;color:var(--danger)}.join-card{max-width:520px;margin:40px auto}.join-card h1{margin-bottom:12px}.join-card .join-class{font-size:18px;margin-bottom:24px;color:var(--muted)}.join-card form{margin-top:24px}.join-card .primary{width:100%;font-size:18px}.join-card input{font-size:18px}
/* Read-only projector has no management controls or individual names. */
body.display-body{background:#fff;overflow:hidden}.display-header{height:88px;padding:18px 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.display-header h1{font-size:24px}.display-header .status-chip{font-size:16px}.display-counts{display:flex;gap:24px;font-size:19px}.display-counts strong{font-size:28px;margin-right:5px}.display-viewport{position:relative;height:calc(100dvh - 146px);overflow:auto;padding:20px 32px}.display-article{margin:auto;width:100%;max-width:1600px;transform-origin:top center}.display-article>.ques-card{font-size:34px;line-height:1.75}.display-article .card-option{padding:8px 14px;margin:0}.display-article .card-options{gap:7px;margin:16px 0}.display-article .card-figure{max-height:620px}.display-article h2{font-size:29px;margin-bottom:16px}.display-footer{height:58px;border-top:1px solid var(--line);padding:10px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;color:var(--muted)}.display-footer img{height:42px;width:42px}.display-waiting{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;text-align:center}.display-waiting img{width:260px;height:260px}.display-waiting .join-code{font-size:40px}.display-waiting h2{font-size:34px}.display-waiting p{font-size:22px}.display-distribution{max-width:1000px;margin:28px auto}.display-distribution .distribution-label{font-size:25px}.display-distribution .bar-track{height:24px}.display-distribution .distribution-note{font-size:17px}.display-article .activity-frame{height:max(240px,calc(100dvh - 340px))}
@media(max-width:900px){.column-layout,.question-layout{grid-template-columns:minmax(0,1fr)}.question-settings{order:2}.site-header{padding:14px 18px}.header-context{display:none}.page{padding:18px}.joining-panel{align-items:flex-start}.joining-panel img{width:128px;height:128px}.question-main:fullscreen{padding:18px}.panel{padding:20px}.display-article>.ques-card{font-size:27px}.display-header,.display-footer{padding-left:18px;padding-right:18px}.display-viewport{padding:18px}}
@media(max-width:600px){.site-header{align-items:flex-start;gap:12px;flex-wrap:wrap}.site-header .actions{gap:8px}.site-header button,.site-header .button{font-size:14px;padding:9px 12px}.page,.student-page{padding:14px}.panel{padding:18px;border-radius:12px}.ques-card{font-size:18px;line-height:1.85}.card-option{padding:12px;gap:9px;min-height:52px}.card-option input{margin-top:6px}.card-figure{max-height:none}.join-card{margin:22px 0}.join-card h1{font-size:25px}.joining-panel{gap:12px;flex-wrap:wrap}.joining-panel img{width:124px;height:124px}.join-info{min-width:170px}.counts{gap:7px}.count-box{padding:13px 7px}.count-box strong{font-size:26px}.teacher-toolbar{align-items:stretch}.teacher-toolbar select{max-width:none;width:100%;flex-basis:100%}.teacher-toolbar button{flex:1}.student-status{gap:10px}.student-question-title{font-size:20px}.question-main .panel-heading{flex-wrap:wrap}.preview-note{font-size:13px}.activity-frame{height:60vh}.activity-heading{padding:12px}.activity-heading strong{flex-basis:100%}.key-choices{gap:5px 15px}.record-row{flex-wrap:wrap}.participants th,.participants td{padding:10px 7px}.display-header{height:82px;padding:12px}.display-header h1{font-size:18px}.display-counts{gap:10px;font-size:13px}.display-counts strong{font-size:19px}.display-viewport{height:calc(100dvh - 134px);padding:14px}.display-footer{height:52px;padding:8px 12px;font-size:12px}.display-article>.ques-card{font-size:22px}.display-waiting{min-height:62vh}.display-waiting h2{font-size:28px}.display-waiting img{width:200px;height:200px}.display-waiting p{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.question-main .panel-heading>div{min-width:0}.question-meta,#question-title{overflow-wrap:anywhere}

/* The question remains the canvas; preparation tools live behind More. */
.question-page{background:#f6f6f7}
.question-header{position:sticky;top:0;z-index:5;min-height:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:14px max(24px,calc((100vw - 1100px)/2))}
.question-back-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;font-weight:550}
.question-back-link>span{font-size:22px;font-weight:400}
.question-header .primary{border-radius:12px;padding:10px 18px;box-shadow:0 2px 3px #18181b14}
.question-header .primary:hover{background:#303036}
.question-page-main{max-width:1100px;padding:34px 24px 56px}
.question-main{padding:32px 40px;border-color:#e4e4e7;border-radius:20px;box-shadow:0 5px 24px #18181b08;scroll-margin-top:92px}
.question-heading{margin-bottom:24px}
.question-heading-copy{min-width:0}
.question-heading h1[hidden]+.card-topic-tags{margin-top:0}
.question-page .classroom-resume-link{display:inline-flex;align-items:center;min-height:44px;padding:4px 10px;color:var(--accent);text-decoration:underline;font-weight:600}
.question-heading h1{font-size:26px;font-weight:650;letter-spacing:-.4px}
.card-topic-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.card-topic-tag{font-size:13px;line-height:1.5;padding:5px 10px;border-radius:6px;background:#f4f4f5;color:#52525b;font-weight:550}
.question-face-toolbar{position:sticky;top:71px;z-index:2;display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 -2px 24px;padding:10px 2px 12px;background:rgba(255,255,255,.97);border-bottom:1px solid #ededf0}
.question-face-label{flex:1;font-size:13px;color:#71717a;letter-spacing:.2px}
.face-flip{font-size:15px;min-height:44px;border-color:#e4e4e7;border-radius:12px;padding:10px 15px;color:#27272a;background:#f4f4f5;font-weight:600;gap:14px}
.face-flip:hover{background:#ededf0;border-color:#a1a1aa}
.flip-symbol{font-size:23px;font-weight:400;line-height:1}
.question-face{animation:question-face-in .16s ease-out}
.question-page .answer-panel{margin-top:0;padding-top:0;border-top:0}
.question-page .ques-card{font-size:23px;line-height:1.9}
.question-page .card-option{padding:14px 18px;border-radius:12px;border-color:#e4e4e7;background:#fff}
.question-page .card-option.selected{background:#f4f4f5;border-color:#27272a}
.question-page .preview-note{font-size:12px;color:#8a8a94;margin-top:26px}
.question-source-footer{margin-top:30px;padding-top:18px;border-top:1px solid #ededf0}
.question-source-tag{display:inline-block;max-width:100%;padding:4px 8px;border-radius:5px;background:#f4f4f5;color:#8a8a94;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.question-more{position:relative}
.question-more summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 13px;border-radius:10px;border:1px solid transparent;font-size:15px;cursor:pointer;list-style:none}
.question-more summary::-webkit-details-marker{display:none}
.question-more summary>span{font-size:23px;line-height:1}
.question-more[open] summary,.question-more summary:hover{background:#f4f4f5;border-color:#e4e4e7}
.question-more-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:8;min-width:220px;display:grid;gap:6px;padding:8px;background:white;border:1px solid #e4e4e7;border-radius:14px;box-shadow:0 12px 35px #18181b14}
.question-more-menu button,.question-more-menu a{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:7px;background:none;color:var(--ink);font-size:14px;text-align:left;font-weight:450;text-decoration:none}
.question-more-menu button:hover,.question-more-menu a:hover{background:#f4f4f5}
.question-more-menu button[aria-pressed=true]{color:var(--accent);font-weight:600}
.menu-divider{height:1px;background:#ededf0;margin:5px 8px}
.question-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:26px 30px;border:1px solid #e4e4e7;border-radius:20px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 24px 80px #18181b20}
.question-dialog::backdrop{background:#18181b66;backdrop-filter:blur(3px)}
.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}
.dialog-heading h2{font-size:22px;line-height:1.5}
.dialog-eyebrow{font-size:12px;color:#8a8a94;margin-bottom:3px}
.dialog-close{flex:none;min-width:44px;min-height:44px;padding:0;background:#f4f4f5;border:0;border-radius:50%;font-size:28px;color:#71717a;font-weight:400}
.activity-dialog{width:min(1000px,calc(100vw - 32px))}
.activity-upload{padding-top:20px;margin-top:20px;border-top:1px solid #ededf0}
.activity-upload summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#27272a;font-size:15px;font-weight:550}
.activity-upload summary::before{content:'＋';font-size:20px;margin-right:8px}
.activity-upload[open] summary::before{content:'−'}
.question-page:has(.question-dialog[open]){overflow:hidden}
.question-main:fullscreen{border-radius:0;box-shadow:none;width:100%;max-width:none;scroll-margin-top:0}
.question-main:fullscreen .question-face-toolbar{top:0;padding-top:12px}
.question-main:fullscreen .question-face{max-width:1400px;margin:auto}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes question-face-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Projection keeps a readable size. Long questions and answers simply scroll. */
body.display-body{overflow:auto;min-height:100dvh}
.display-header{position:sticky;top:0;z-index:3;background:#fff}
.display-viewport{height:auto;min-height:calc(100dvh - 146px);overflow:visible}
.display-article{transform:none;max-width:1500px}
.display-article .card-figure{max-height:none}
.display-footer{position:sticky;bottom:0;z-index:3;background:#fff}
.display-source-footer{margin-top:30px;padding-top:16px;border-top:1px solid #ededf0}
.display-source-footer .question-source-tag{font-size:13px}
@media(max-width:600px){
  .question-header{padding:10px 14px;min-height:66px;gap:8px;flex-wrap:nowrap;align-items:center}
  .question-header .actions{gap:5px}.question-header .primary{padding:9px 11px;font-size:14px}
  .question-more summary{padding:9px 10px;font-size:14px;gap:8px}
  .question-page-main{padding:16px 12px 32px}
  .question-main{padding:22px 18px;border-radius:16px;scroll-margin-top:82px}
  .question-heading{margin-bottom:14px}.question-heading h1{font-size:23px}
  .question-face-toolbar{top:65px;margin-bottom:19px}.question-page .ques-card{font-size:19px;line-height:1.9}
  .question-page .card-option{padding:12px;gap:10px}
  .question-dialog{padding:22px 20px;max-height:calc(100dvh - 24px);border-radius:16px}
  .dialog-heading h2{font-size:20px}
  .display-viewport{height:auto;min-height:calc(100dvh - 134px)}
}


/* Classroom chrome stays quiet so the question and live answers lead. */
.teacher-body .site-header,.student-body .site-header,.join-body .site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.teacher-body .page{padding-top:18px}
.teacher-body .status-line{font-size:12px;margin:0 0 16px;min-height:18px}
.teacher-body .joining-panel{padding:22px 26px;gap:26px}
.teacher-body .joining-panel img{padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}
.teacher-body .joining-panel .panel-heading{margin-bottom:7px}
.teacher-body .join-info>.muted{font-size:13px;max-width:48em}
.teacher-body .join-code{margin-top:12px;font-size:25px;letter-spacing:1.5px;font-variant-numeric:tabular-nums}
.join-link-details{margin-top:6px;max-width:620px}
.join-link-details summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--muted);font-size:13px;cursor:pointer;list-style:none}
.join-link-details summary::-webkit-details-marker{display:none}
.join-link-details summary::after{content:'⌄';font-size:16px;transition:transform .18s ease}
.join-link-details[open] summary::after{transform:rotate(180deg)}
.join-link-fields{display:flex;gap:8px;align-items:center;padding-bottom:4px}
.join-link-fields .join-url{min-width:0;margin:0;flex:1}
.join-link-fields button{flex:none;font-size:13px}
.teacher-body .teacher-toolbar{position:sticky;top:0;z-index:4;margin:18px -3px;padding:8px 3px;background:rgba(246,246,247,.97);backdrop-filter:blur(12px);gap:8px}
.teacher-body .teacher-toolbar>button{min-width:94px}
.teacher-body .teacher-toolbar .question-more{margin-left:auto}
.teacher-body .question-more summary{font-size:14px;gap:7px}
.teacher-body .question-more-menu{width:min(310px,calc(100vw - 36px));padding:10px;animation:classroom-menu-in .14s ease-out}
.teacher-body .question-more-menu>label{display:block;padding:6px 10px;color:var(--muted);font-size:12px}
.teacher-body .question-more-menu select{margin:2px 0 6px;max-width:100%;width:100%;font-size:13px}
.teacher-body .question-more-menu .danger{color:var(--danger)}
.teacher-body .column-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:20px}
.teacher-body .teacher-preview-heading{align-items:center;margin-bottom:18px}
.teacher-body .teacher-preview-heading h2{font-size:17px;font-weight:600}
.teacher-body .teacher-preview-heading .status-chip{font-size:12px}
.teacher-body .count-box{border:0;border-radius:10px;background:#f6f6f7;padding:18px 10px}
.teacher-body .count-box strong{font-size:30px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.teacher-body .count-box span{display:block;margin-top:5px;font-size:12px}
.teacher-body .distribution{gap:16px;margin-top:26px}
.teacher-body .distribution-label{font-size:14px;font-variant-numeric:tabular-nums}
.teacher-body .bar-track{height:10px;border-radius:4px}
.teacher-body .correct-rate{padding-top:16px;margin-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.teacher-body .correct-rate strong{color:var(--ink);font-size:25px;font-variant-numeric:tabular-nums}
.classroom-settings{margin-top:22px;padding-top:8px;border-top:1px solid var(--line)}
.question-more:not([open])>.question-more-menu{display:none}
.classroom-settings>summary,.history-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;color:var(--muted);font-weight:550;cursor:pointer;list-style:none}
.classroom-settings>summary::-webkit-details-marker,.history-details>summary::-webkit-details-marker{display:none}
.classroom-settings>summary::after,.history-details>summary::after{content:'＋';font-size:19px;line-height:1}
.classroom-settings[open]>summary::after,.history-details[open]>summary::after{content:'−'}
.classroom-settings .check-row{font-size:14px;padding:9px 0}
.classroom-settings .muted{font-size:12px;margin-top:7px}
.teacher-body .history-panel{padding-top:10px;padding-bottom:10px}
.student-body .site-header{min-height:76px;padding-top:17px;padding-bottom:17px}
.student-body .brand{font-size:18px;font-weight:650}
.student-body .student-page{padding-top:16px}
.student-body .status-line{font-size:12px;min-height:18px;margin-top:0}
.student-body .student-identity{font-size:12px}
.student-body .student-status{padding-bottom:14px;border-bottom:1px solid #ededf0;margin-bottom:20px}
.student-body .student-status .status-chip{font-size:12px}
.student-body .submission-state{font-size:13px}
.student-body .submit-area .actions{gap:10px}
.student-body .submit-area .primary{min-width:164px}
.student-body .result-message{border-left:3px solid #27272a;background:#f4f4f5;font-size:15px;line-height:1.7}
.student-body .result-message.incorrect{border-left-color:var(--danger);background:#fff2f0}
.student-body .answer-panel>h2{font-size:18px}
.student-body #question-card:not([hidden]),.student-body #answer-panel:not([hidden]),.teacher-body #question-card:not([hidden]),.teacher-body #teacher-answer:not([hidden]){animation:classroom-content-in .18s ease-out}
.card-option:has(input):hover{border-color:#bcbcc4;background:#fafafa}
.card-option.selected,.card-option.selected:hover{background:#f4f4f5;border-color:#27272a;box-shadow:inset 0 0 0 1px #27272a}
.card-option{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.join-body .site-header{border-bottom:0;min-height:76px}
.join-body .brand{font-size:17px;letter-spacing:-.3px}
.join-body .student-page{padding-top:16px}
.join-body .join-card{padding:32px 34px;border-radius:20px;box-shadow:0 8px 32px #18181b06}
.join-body .join-card h1{font-size:28px;letter-spacing:-.8px}
.join-body .join-class{font-size:15px;margin-top:8px;margin-bottom:28px}
.join-body .join-card input{font-size:16px;padding:13px 14px;min-height:50px;border-radius:10px}
.join-body .join-card .primary{font-size:16px;min-height:50px;margin-top:8px;border-radius:10px}
.join-body .join-card .field{margin-bottom:20px}
.join-body .join-card .muted{font-size:12px;line-height:1.8}
.display-counts,.display-counts strong{font-variant-numeric:tabular-nums}
.display-header{background:rgba(255,255,255,.98)}
.display-header h1{letter-spacing:-.5px}
.display-header .status-chip{font-size:13px;padding:4px 8px;margin-top:6px}
.display-distribution .distribution-label{font-variant-numeric:tabular-nums}
@keyframes classroom-menu-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes classroom-content-in{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.teacher-body .column-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .teacher-body .joining-panel{padding:18px;gap:16px}
  .teacher-body .joining-panel img{width:112px;height:112px;padding:5px}
  .teacher-body .joining-panel h1{font-size:22px}
  .teacher-body .joining-panel .join-code{font-size:21px;letter-spacing:1px}
  .teacher-body .teacher-toolbar{gap:6px;padding-top:8px;padding-bottom:8px}
  .teacher-body .teacher-toolbar>button{min-width:0;flex:1;font-size:14px;padding:10px}
  .teacher-body .teacher-toolbar .question-more{margin-left:0}
  .teacher-body .teacher-toolbar .question-more summary{padding:10px;gap:5px}
  .teacher-body .count-box{padding:15px 7px}
  .teacher-body .count-box strong{font-size:27px}
  .join-link-fields{flex-wrap:wrap}
  .join-link-fields .join-url{flex-basis:100%}
  .student-body .submit-area .primary{flex:1}
  .student-body .submit-area .actions{align-items:stretch}
  .join-body .join-card{margin-top:8px;padding:28px 22px;box-shadow:none;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
