/* Projection and tablet surfaces share the same quiet, high-contrast vocabulary. */
:root {
  --paper:#f7f8fa;--paper-soft:#fff;--ink:#15191f;--muted:#677181;
  --line:#e2e6ee;--line-strong:#cbd2df;--blue:#315cf5;--blue-deep:#244bdb;
  --blue-soft:#edf2ff;--green:#16865e;--green-soft:#e3f5ed;
  --yellow:#e5ad34;--yellow-ink:#926413;--yellow-soft:#fff4db;
  --red:#c94641;--red-soft:#fff0ed;--radius:8px;--shadow:none;
}
body { font-size:18px; }
h1,h2,h3,strong,b { font-weight:700; }
button,.button { border-width:1px;border-radius:8px;font-weight:600;box-shadow:none;transition:color .16s,background .16s,border-color .16s; }
button:hover,.button:hover { border-color:#aebced;background:#f0f3fc; }
button:active,.button:active { transform:none;box-shadow:none; }
button.primary,.button.primary { background:var(--blue);border-color:var(--blue);box-shadow:none; }
button.primary:hover,.button.primary:hover { background:var(--blue-deep);border-color:var(--blue-deep); }
button.quiet:hover,.button.quiet:hover { background:#edf1f8; }
button:focus-visible,a:focus-visible { outline:3px solid #7794ff;outline-offset:3px; }
input,select,textarea { border-width:1px;border-radius:8px; }
input:focus,select:focus,textarea:focus { outline:3px solid #dce4ff; }
input:disabled,select:disabled,textarea:disabled { background:#f0f2f6; }
.badge { border-radius:5px;background:#e9edf3;color:#566174;font-weight:600; }
.topbar { background:#fff;border-bottom:1px solid var(--line);min-height:76px; }
.brand { font-size:24px;font-weight:700; }
.brand-mark { border:0;border-radius:7px;background:var(--blue);box-shadow:none; }
.topnav { border:0;background:#f1f3f7;border-radius:8px; }
.topnav button { border-radius:6px;color:var(--muted); }
.topnav button.active { color:var(--blue);box-shadow:none; }
.topnav button:hover { background:#fff; }
.question-row,.tenant-card,.table-wrap,.login-box,.role-entry,.option,.answer-block,.question-img,.upload-field { border-radius:8px;box-shadow:none; }
.question-row,.table-wrap { border-width:1px; }
th { background:#f4f6f9;border-bottom:1px solid var(--line);color:var(--muted); }
th,td { border-bottom-color:var(--line); }
tbody tr:hover td { background:#f7f9fd; }
.question-options,.stat-foot { color:var(--muted); }
.cell-status { border-radius:5px; }
.empty>svg { color:#9aa7bb; }
.entry-icon,.role-entry,.login-symbol { border-radius:8px;box-shadow:none; }
.teacher-entry { box-shadow:none; }
.role-entry { border:1px solid var(--line); }
.role-entry.teacher-entry { background:var(--blue);border-color:var(--blue);color:white; }
.role-entry.teacher-entry:hover { background:var(--blue-deep);border-color:var(--blue-deep); }
.role-entry.student-entry { background:white;border-color:var(--line-strong);color:var(--blue); }
.role-entry.student-entry:hover { background:var(--blue-soft);border-color:var(--blue); }
.role-entry.student-entry .entry-icon { background:var(--blue-soft);border-color:transparent;color:var(--blue); }
.role-entry:active { transform:none; }
.login-box { border-width:1px;border-top:4px solid var(--blue);box-shadow:none; }
.login-symbol { border:0; }
.seat-grid button { border:1px solid var(--line-strong);border-radius:8px; }
.seat-grid button:hover { background:var(--blue-soft);border-color:var(--blue); }
.seat-grid button[aria-pressed=true] { border-color:var(--blue); }
.entry-main,.login-main { min-height:calc(100dvh - 76px); }
.class-toolbar,.summary,.metric,.chart-grid,.chart-section+.chart-section { border-width:1px; }
.class-toolbar .student-entry { background:var(--blue-soft);color:var(--blue);border-color:#d2dcff; }
.summary { background:transparent; }
.table-wrap { background:#fff; }
.bar-track { background:#e7ebf2; }
.roster-entry,.grading-question { border-bottom-width:1px; }
.tenant-card { border-width:1px;border-top-width:4px; }
dialog { border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 70px #18244526; }
dialog::backdrop { background:#111c3259;backdrop-filter:blur(3px); }
.modal-head h2 { font-size:24px;font-weight:700; }
dialog footer { border-top-width:1px; }
dialog.drawer { position:fixed;inset:0 0 0 auto;width:min(460px,100vw);height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:28px; }
.management-menu { display:grid;gap:28px; }
.management-menu section { display:grid;gap:8px; }
.management-menu h3 { color:var(--muted);font-size:14px;padding-bottom:6px; }
.management-menu button,.management-menu a { justify-content:flex-start;width:100%;min-height:52px;padding:13px 16px; }
.management-danger { border-top:1px solid var(--line);padding-top:24px; }
.question-picker { display:grid;gap:10px; }
.question-picker button { justify-content:flex-start;white-space:normal;text-align:left;padding:14px; }
.question-picker button>b { color:var(--blue);min-width:26px; }
.question-picker button>span:not(.badge) { flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
.question-picker button.active { background:var(--blue-soft);border-color:var(--blue); }
.full-question { display:grid;gap:22px; }
.full-question>p { white-space:pre-wrap;font-size:24px;overflow-wrap:anywhere; }
.expanded-options { display:grid;gap:20px; }
.expanded-options>div { display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;overflow-wrap:anywhere; }
.expanded-options .image-preview { grid-column:2;max-height:240px; }
.expanded-options .full-image { grid-column:2;max-height:280px; }
.full-image { display:block;width:100%;max-height:75dvh;object-fit:contain; }
#toast { border-radius:8px;background:#1c2636;box-shadow:0 4px 20px #13213a20; }

.teacher-presentation,.student-presentation { overflow:hidden; }
.stage-screen { height:100vh;height:100dvh;display:grid;grid-template-rows:72px minmax(0,1fr) 80px;overflow:hidden; }
.stage-topbar { display:flex;align-items:center;gap:24px;padding:0 32px;min-width:0;min-height:72px;border-bottom:1px solid var(--line);background:#fff; }
.stage-brand { display:flex;align-items:center;gap:12px;flex:none;color:var(--ink);text-decoration:none;font-size:26px;font-weight:700;white-space:nowrap; }
.stage-brand>span:first-child { color:var(--blue);display:grid;place-items:center; }
.stage-brand svg { width:38px;height:38px;stroke-width:2.3; }
.stage-brand [data-system-title] { overflow:hidden;text-overflow:ellipsis;max-width:210px; }
.stage-context { display:flex;align-items:center;gap:18px;min-width:0;flex:1; }
.stage-context select { width:auto;min-width:90px;max-width:210px;background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:9px 14px;font-size:18px;font-weight:600; }
.stage-context #quiz-select { max-width:260px; }
.stage-utilities { display:flex;align-items:center;gap:8px;flex:none; }
.stage-utilities .icon { width:46px;min-height:46px;padding:10px; }
.stage-utilities svg { width:25px;height:25px; }
.stage-utilities .connection { font-size:13px;margin-right:6px;color:var(--muted); }
.stage-utilities .connection.offline { color:var(--red); }
.stage-collection { display:flex;align-items:center;gap:12px;margin-right:8px; }
.stage-collection .badge { font-size:14px; }
.stage-collection>b { font-size:20px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.stage-collection small { font-size:17px;color:var(--muted);font-weight:500; }
.teacher-stage { position:relative;padding:32px 56px;min-height:0;min-width:0; }
.stage-empty { min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center; }
.stage-empty .empty { padding:24px; }
.stage-footer { display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);gap:16px;align-items:center;padding:0 32px;border-top:1px solid var(--line);background:#fff;min-width:0; }
.stage-footer>:last-child { justify-self:end; }
.stage-tabs { display:flex;align-items:stretch;gap:28px;height:100%; }
.stage-tabs button { position:relative;gap:12px;padding:10px 14px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:20px; }
.stage-tabs button.active { color:var(--blue); }
.stage-tabs button.active:after { content:"";position:absolute;bottom:13px;left:10px;right:10px;height:3px;border-radius:2px;background:var(--blue); }
.stage-tabs svg { width:26px;height:26px; }
.stage-slide-index { display:flex;align-items:center;gap:4px;font-size:19px;font-variant-numeric:tabular-nums; }
.stage-slide-index>span { color:var(--muted); }
.stage-dots { display:flex;gap:0;margin-left:12px; }
.stage-dots button { width:26px;min-height:40px;padding:8px 7px;border:0;background:transparent; }
.stage-dots i { display:block;width:9px;height:9px;border-radius:50%;background:#d6dce7; }
.stage-dots .active i { background:var(--blue); }
.stage-foot-caption { font-size:18px;color:var(--muted); }
.stage-arrow { position:absolute;z-index:1;top:50%;transform:translateY(-50%); }
.stage-arrow.left { left:8px; }
.stage-arrow.right { right:8px; }
.stage-arrow .icon { border:1px solid #cad2e3;background:#fff9;color:var(--blue);border-radius:50%;width:44px;min-height:44px;padding:8px; }
.stage-arrow .icon:disabled { color:var(--muted);opacity:.45; }
.question-stage-layout { height:100%;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px; }
.question-stage-content { display:grid;grid-template-rows:auto minmax(0,1fr);gap:24px;min-width:0;min-height:0; }
.question-stage-content.has-stem-image { grid-template-rows:auto 90px minmax(0,1fr);gap:16px; }
.stage-question-heading,.student-prompt-heading { min-width:0; }
.stage-kicker { display:flex;align-items:center;gap:16px;margin-bottom:22px; }
.stage-kicker>strong { color:var(--blue);font-size:24px; }
.stage-kicker .badge { font-size:16px;padding:4px 10px; }
.stage-prompt-line { display:flex;align-items:flex-start;gap:12px;min-width:0; }
.stage-prompt { min-width:0;font-size:36px;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.stage-prompt-line>.icon { flex:none;opacity:.6;width:38px;min-height:38px;padding:8px; }
.stage-prompt-line>.icon:hover { opacity:1; }
.stage-section-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;min-width:0; }
.stage-section-heading h2 { font-size:23px;white-space:nowrap; }
.stage-note { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:15px;white-space:nowrap; }
.stage-note svg { width:17px;height:17px; }
.question-distribution { min-height:0;display:flex;flex-direction:column; }
.option-distribution { min-height:0;flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:14px;overflow:auto;padding:2px 0; }
.distribution-row { display:grid;grid-template-columns:26px minmax(50px,110px) minmax(35px,1fr) 48px 62px 24px;align-items:center;gap:12px;min-height:38px; }
.distribution-letter { font-size:25px; }
.distribution-option { font-size:23px;overflow-wrap:anywhere;max-height:3em;overflow:auto;line-height:1.5; }
.distribution-track { height:16px;border-radius:4px;background:#e5e9f0;overflow:hidden; }
.distribution-track i { height:100%;display:block;border-radius:4px;background:var(--green); }
.distribution-row.wrong .distribution-track i { background:#e7827c; }
.distribution-count { font-size:22px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap; }
.distribution-count small { font-size:14px;margin-left:4px;font-weight:500; }
.distribution-percent { font-size:23px;color:var(--green);text-align:right;font-variant-numeric:tabular-nums; }
.distribution-row.wrong .distribution-percent { color:var(--red); }
.distribution-correct { color:var(--green);display:flex; }
.distribution-correct svg { width:100%;height:auto;max-width:24px;aspect-ratio:1; }
.distribution-row.has-option-image { grid-template-columns:24px 58px minmax(0,80px) minmax(30px,1fr) 42px 52px 22px;gap:8px; }
.distribution-row.has-option-image .distribution-option { font-size:17px; }
.distribution-row.has-option-image .distribution-percent { font-size:18px; }
.distribution-row.has-option-image.image-only { grid-template-columns:24px 72px 0 minmax(30px,1fr) 42px 52px 22px; }
.image-preview { display:block;position:relative;background:#fff;min-height:0;min-width:0;border:1px solid var(--line);padding:0;overflow:hidden;cursor:zoom-in; }
.image-preview>img { display:block;width:100%;height:100%;max-height:100%;object-fit:contain; }
.distribution-image { width:58px;height:52px; }
.stage-stem-image { justify-self:start;width:min(100%,280px);height:90px; }
.question-stage-aside { display:grid;grid-template-rows:auto minmax(0,1fr);gap:24px;padding-left:28px;border-left:1px solid var(--line);min-width:0;min-height:0; }
.question-rate { border-bottom:1px solid var(--line);padding-bottom:24px; }
.question-rate h2 { font-size:23px; }
.question-rate>strong { display:block;color:var(--green);font-size:96px;line-height:1.2;font-variant-numeric:tabular-nums;margin:4px 0; }
.question-rate>strong small { font-size:68px; }
.question-rate>strong.muted { color:var(--muted); }
.question-rate>p { font-size:24px;color:#3c4657;white-space:normal; }
.question-rate>p>b { color:var(--green); }
.question-rate .pending { display:inline-block;font-size:15px; }
.pending { color:var(--yellow-ink); }
.correct { color:var(--green); }
.wrong { color:var(--red); }
.stage-people { min-width:0;min-height:0;display:flex;flex-direction:column; }
.stage-legend { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.stage-legend>span { display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap; }
.stage-legend svg { width:16px;height:16px; }
.stage-student-grid { flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--tile-columns,8),minmax(0,1fr));grid-auto-rows:minmax(38px,1fr);gap:7px;align-content:start; }
.student-tile { display:grid;align-content:center;justify-items:center;gap:2px;min-height:0;padding:5px 2px;border:1px solid #e1e6ef;border-radius:6px;background:#e9edf3;color:#788292;font-variant-numeric:tabular-nums; }
.student-tile b { font-size:19px;line-height:1.2; }
.student-tile svg { width:19px;height:19px; }
.student-tile>span { font-size:19px;line-height:1.3; }
.student-tile.correct { border-color:var(--green);background:var(--green);color:#fff; }
.student-tile.wrong,.student-tile.blank { border-color:var(--red);background:var(--red);color:#fff; }
.student-tile.partial,.student-tile.pending { color:var(--yellow-ink);background:var(--yellow-soft);border-color:#efd294; }
.student-tile:hover { outline:2px solid #aab8ce;outline-offset:1px; }
.student-tile:disabled { opacity:1;cursor:default; }
.student-tile:disabled:hover { outline:none; }
.overview-people .student-tile.correct { background:#d9f1e5;border-color:transparent;color:#126242; }
.stage-pager { display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:none;font-size:13px;color:var(--muted);margin-top:8px; }
.stage-pager .icon { width:40px;min-height:40px;padding:8px; }
.stage-pager svg { width:20px;height:20px; }
.response-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:14px;min-height:0;overflow:auto;flex:1; }
.response-tile { display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;white-space:normal;min-width:0;min-height:0;padding:14px;background:#fff; }
.response-tile>span { display:flex;justify-content:space-between;align-items:center;font-size:15px;margin-bottom:8px; }
.response-tile>img { min-height:0;flex:1;width:100%;object-fit:contain; }
.response-tile>p { overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:20px;font-weight:500;overflow-wrap:anywhere; }
.analytics-stage { display:grid;grid-template-rows:auto minmax(0,1fr);gap:28px;padding:32px 36px; }
.stage-page-heading { display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:26px;border-bottom:1px solid var(--line); }
.stage-page-heading h1 { font-size:44px;white-space:nowrap; }
.stage-open-metrics { display:flex;gap:32px; }
.stage-open-metrics>div { display:grid;justify-items:center;gap:6px;min-width:110px; }
.stage-open-metrics>div+div { border-left:1px solid var(--line);padding-left:32px; }
.stage-open-metrics strong { font-size:48px;line-height:1.2;font-variant-numeric:tabular-nums; }
.stage-open-metrics small { font-size:32px;font-weight:600; }
.stage-open-metrics span { font-size:18px;color:var(--muted); }
.analytics-stage-layout { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;min-height:0; }
.stage-chart-panel { min-width:0;min-height:0;display:flex;flex-direction:column; }
.overview-people,.stage-group-detail { border-left:1px solid var(--line);padding-left:28px; }
.stage-column-chart { flex:1;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;min-height:0; }
.chart-axis { display:flex;flex-direction:column;justify-content:space-between;padding:30px 0 46px;font-size:14px;color:var(--muted); }
.chart-columns { min-width:0;min-height:0;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:8px;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#dfe5ef77 25%);background-size:100% calc(100% - 76px);background-position:0 30px;background-repeat:no-repeat; }
.graph-column { display:flex;flex-direction:column;min-height:0;min-width:0;border:0;border-radius:0;padding:0 2px;background:transparent;gap:8px;color:var(--green); }
.graph-column:hover { background:#edf1f866;border-color:transparent; }
.column-area { flex:1;position:relative;display:block;width:100%;min-height:0; }
.column-track { position:absolute;inset:30px 0 0; }
.column-track>i { position:absolute;bottom:0;left:15%;right:15%;display:block;background:var(--green);border-radius:4px 4px 0 0; }
.column-track>b { position:absolute;left:0;right:0;font-size:24px;line-height:1.1;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums; }
.column-label { position:relative;display:block;flex:none;width:100%;height:40px;font-size:18px;line-height:32px;color:#445064;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.graph-column.attention { color:var(--yellow-ink); }
.graph-column.attention .column-track>i { background:#dba938; }
.graph-column.selected { color:var(--blue); }
.graph-column.selected .column-track>i { background:var(--blue); }
.graph-column.selected .column-label { color:var(--blue);font-weight:700; }
.graph-column.selected .column-label:after { content:"";position:absolute;left:15%;right:15%;bottom:0;height:3px;border-radius:2px;background:var(--blue); }
.stage-group-detail { min-width:0;min-height:0;display:flex;flex-direction:column; }
.group-detail-heading { display:grid;grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:16px;margin-bottom:16px; }
.group-detail-heading select { min-width:0;font-size:28px;font-weight:700;padding:7px 22px 7px 0;border:0;background:transparent; }
.group-detail-heading>div { display:grid;gap:2px;justify-items:center; }
.group-detail-heading b { font-size:32px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums; }
.group-detail-heading small { font-size:23px; }
.group-detail-heading span { font-size:14px;color:var(--muted); }
.selected-value { color:var(--blue); }
.group-table-region { min-height:0;flex:1;overflow:auto; }
.stage-group-table { table-layout:fixed; }
.stage-group-table th,.stage-group-table td { padding:8px 2px;text-align:center; }
.stage-group-table thead th { color:var(--muted);font-size:14px;background:transparent;position:static; }
.stage-group-table th:first-child { width:50px;text-align:left; }
.stage-group-table th:last-child { width:70px; }
.stage-group-table .cell-status { width:30px;height:30px; }
.stage-group-table .cell-status.correct { color:white;background:var(--green); }
.stage-group-table .cell-status.wrong,.stage-group-table .cell-status.blank { color:white;background:var(--red); }
.question-column-button { border:0;background:transparent;padding:3px;min-height:26px;width:100%;font-size:13px; }
.group-member-button { min-height:32px;border:0;background:transparent;padding:1px 4px;font-size:23px; }
.group-member-button:disabled { opacity:1;color:var(--muted); }
.group-member-score { font-size:22px;font-weight:600; }
.group-member-score small { font-size:16px;font-weight:500;color:var(--muted); }
.group-member-score .pending { font-size:15px; }
.group-detail-footer { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px; }
.group-detail-footer .stage-pager { margin-top:0; }

.student-class-name,.student-quiz-name { min-width:0;max-width:240px;padding-left:20px;border-left:1px solid var(--line);font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.student-quiz-name { max-width:320px; }
.student-identity { font-size:21px;font-weight:700;white-space:nowrap; }
.student-identity small { margin-left:8px;font-size:16px;display:inline-block;max-width:100px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis; }
.stage-utilities .student-switch { border-color:transparent;background:transparent;color:var(--blue);padding:9px 6px;font-size:18px; }
.student-question-stage { display:flex;flex-direction:column;gap:28px;min-width:0;min-height:0;padding:36px 64px; }
.student-prompt-heading { width:100%;max-width:1500px;align-self:center; }
.student-prompt-heading .stage-prompt { font-size:40px; }
.student-answer-area { display:flex;flex:1;min-height:0;min-width:0;width:100%;max-width:1500px;align-self:center; }
.student-answer-area.with-stem { display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.8fr);gap:24px; }
.student-stem-image { min-width:0;min-height:0;height:100%;max-height:100%; }
.student-answer-field { min-width:0;min-height:0;flex:1; }
.immersive-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:24px;height:100%; }
.immersive-options.count-2 { grid-template-rows:1fr; }
.immersive-options.count-3 { grid-template-rows:repeat(2,minmax(0,1fr)); }
.immersive-options.count-5,.immersive-options.count-6 { grid-template-rows:repeat(3,minmax(0,1fr)); }
.choice-cell { position:relative;min-width:0;min-height:0; }
.immersive-options .option { position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 30px;align-items:center;gap:20px;min-height:0;height:100%;padding:24px;border:1px solid #cbd3e2;border-radius:8px;background:#fff;cursor:pointer;box-shadow:none; }
.immersive-options .option:hover { border-color:#91a8f9;background:#fbfcff; }
.immersive-options .option.selected { background:var(--blue-soft);border:2px solid var(--blue);padding:23px;color:var(--blue); }
.immersive-options .option input { position:absolute;width:1px;height:1px;min-height:0;opacity:0;clip-path:inset(50%); }
.immersive-options .option:focus-within { outline:none; }
.immersive-options input:focus-visible~.option-indicator { outline:3px solid #a5b8ff;outline-offset:4px; }
.immersive-options .letter { width:auto;height:auto;display:block;padding:0;font-size:34px;border:0;border-radius:0;background:transparent;color:inherit; }
.immersive-options .option.selected .letter { background:transparent;border:0;color:inherit; }
.option-copy { display:block;min-width:0;max-height:100%;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;font-size:26px;line-height:1.5; }
.option-copy.short-copy { font-size:44px; }
.option-indicator { position:relative;display:block;flex:none;width:28px;height:28px;border:2px solid #a0aabc;border-radius:50%; }
.selected .option-indicator { border-color:var(--blue); }
.selected:not(.multiple-option) .option-indicator:after { content:"";position:absolute;inset:4px;border-radius:50%;background:var(--blue); }
.multiple-option .option-indicator { border-radius:5px; }
.multiple-option .option-indicator>svg { width:20px;height:20px;margin:2px;visibility:hidden; }
.multiple-option.selected .option-indicator { background:var(--blue);color:white; }
.multiple-option.selected .option-indicator>svg { visibility:visible; }
.immersive-options .image-option { display:grid;grid-template-columns:32px minmax(0,1fr) 28px;grid-template-rows:minmax(0,1fr) auto;padding:14px;gap:8px 12px; }
.immersive-options .image-option.selected { padding:13px; }
.image-option .letter { align-self:start;font-size:25px; }
.immersive-options .option-media { grid-column:2;grid-row:1;display:block;height:100%;min-height:0;min-width:0; }
.immersive-options .option-media img { width:100%;height:100%;object-fit:contain; }
.immersive-options .image-option .option-copy { grid-column:1/-1;font-size:18px;max-height:2.8em;line-height:1.4; }
.immersive-options .image-option .option-indicator { grid-column:3;grid-row:2;justify-self:end; }
.immersive-options.visual-options.count-3,.immersive-options.visual-options.count-4,.immersive-options.visual-options.count-6 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.count-5 .option-copy,.count-6 .option-copy { font-size:22px; }
.count-5 .option-copy.short-copy,.count-6 .option-copy.short-copy { font-size:30px; }
.student-answer-field .student-answer-text { width:100%;height:100%;min-height:120px;max-height:100%;resize:none;background:#fff;border:1px solid var(--line-strong);font-size:28px;padding:24px; }
.student-stage-footer { grid-template-columns:minmax(130px,1fr) auto minmax(160px,1fr);gap:20px; }
.student-save-state { display:flex;align-items:center;gap:12px;min-width:0;color:var(--muted);font-size:17px; }
.student-save-state svg { width:26px;height:26px; }
.stage-question-dots { display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:10px;margin:0;padding:3px;min-width:0;max-width:100%;overflow-x:auto; }
.stage-question-dots button { width:44px;min-height:44px;border-radius:7px;font-size:18px;border:1px solid var(--line-strong);background:#fff;color:var(--muted); }
.stage-question-dots button.answered { color:var(--blue);background:#f0f3ff;border-color:#c0cef8; }
.stage-question-dots button.current { color:#fff;background:var(--blue);border-color:var(--blue); }
.stage-question-dots button.icon { width:40px;min-height:44px;padding:8px; }
.student-page-actions { display:flex;align-items:center;gap:10px; }
.student-page-actions>.primary { min-height:48px;min-width:130px;padding:10px 18px;font-size:19px; }
.student-page-actions>.icon { width:42px;min-height:46px; }
.image-answer-stage .student-answer-field { display:flex;flex-direction:column;gap:10px; }
.image-answer-stage .upload-box { position:relative;flex:1;min-height:100px;background:#fff;border:1px dashed #9fb0d2;border-radius:8px;cursor:pointer;color:var(--blue); }
.image-answer-stage .upload-box:hover { background:var(--blue-soft);border-color:var(--blue); }
.image-answer-stage .upload-box svg { width:36px;height:36px;color:var(--blue); }
.image-answer-stage .upload-box input { position:absolute;inset:0;opacity:0;min-height:0;width:100%;height:100%;cursor:pointer; }
.image-answer-stage .upload-preview { flex:1;display:flex;min-height:0;gap:12px;margin:0; }
.image-answer-stage .upload-preview:empty { display:none; }
.image-answer-stage .upload-preview figure { flex:1;min-width:0;min-height:0;height:100%;margin:0;position:relative;background:white;border:1px solid var(--line);border-radius:8px; }
.image-answer-stage .upload-preview img { width:100%;height:100%;object-fit:contain; }
.image-answer-stage .upload-preview .icon { position:absolute;right:6px;top:6px;background:#fff; }
.student-quiz-card { border-bottom:1px solid var(--line); }
.student-quiz-card h2 { font-size:25px; }

@media(min-width:1600px) {
  .stage-topbar { padding:0 48px;gap:30px; }
  .teacher-stage { padding:42px 80px; }
  .analytics-stage { padding:36px 48px;gap:32px; }
  .question-stage-layout { gap:42px; }
  .stage-prompt,.student-prompt-heading .stage-prompt { font-size:48px; }
  .stage-section-heading h2,.question-rate h2 { font-size:28px; }
  .question-rate>strong { font-size:128px; }
  .question-rate>strong small { font-size:88px; }
  .question-rate>p { font-size:28px; }
  .question-stage-aside { padding-left:40px;gap:32px; }
  .question-rate { padding-bottom:32px; }
  .distribution-row { grid-template-columns:32px minmax(80px,150px) minmax(80px,1fr) 60px 75px 28px;gap:16px; }
  .distribution-letter,.distribution-option { font-size:32px; }
  .distribution-count,.distribution-percent { font-size:28px; }
  .distribution-track { height:20px; }
  .distribution-row.has-option-image { grid-template-columns:30px 85px minmax(40px,100px) minmax(60px,1fr) 55px 64px 28px; }
  .distribution-image { width:85px;height:70px; }
  .distribution-row.has-option-image .distribution-option,.distribution-row.has-option-image .distribution-percent { font-size:24px; }
  .stage-arrow.left { left:18px; }.stage-arrow.right { right:18px; }
  .stage-arrow .icon { width:56px;min-height:56px;padding:13px; }
  .stage-arrow svg { width:28px;height:28px; }
  .stage-page-heading h1 { font-size:48px; }
  .stage-open-metrics strong { font-size:64px; }
  .stage-open-metrics small { font-size:40px; }
  .stage-open-metrics span { font-size:23px; }
  .stage-open-metrics { gap:48px; }.stage-open-metrics>div+div { padding-left:48px; }
  .analytics-stage-layout { gap:40px; }
  .overview-people,.stage-group-detail { padding-left:40px; }
  .student-tile { gap:4px; }.student-tile b { font-size:22px; }.student-tile>span { font-size:27px; }.student-tile svg { width:24px;height:24px; }
  .stage-legend>span { font-size:16px; }.stage-legend svg { width:18px;height:18px; }
  .column-track>b { font-size:30px; }.column-label { font-size:23px; }.chart-axis { font-size:18px; }
  .group-detail-heading select { font-size:34px; }.group-detail-heading b { font-size:42px; }.group-detail-heading span { font-size:18px; }
  .stage-group-table .cell-status { width:40px;height:40px; }.stage-group-table .cell-status svg { width:24px;height:24px; }
  .stage-group-table th,.stage-group-table td { padding:10px 3px; }.group-member-button { font-size:28px; }.group-member-score { font-size:26px; }
  .student-question-stage { padding:42px 80px;gap:36px; }
  .immersive-options { gap:28px; }.immersive-options .option { padding:32px;gap:28px;grid-template-columns:60px minmax(0,1fr) 36px; }.immersive-options .option.selected { padding:31px; }
  .immersive-options .letter { font-size:44px; }.option-copy { font-size:34px; }.option-copy.short-copy { font-size:60px; }.option-indicator { width:34px;height:34px; }
}
@media(max-width:1250px) {
  .stage-topbar { padding:0 22px;gap:16px; }.stage-brand { font-size:23px; }.stage-brand svg { width:32px;height:32px; }
  .stage-context { gap:8px; }.stage-context select { font-size:16px;max-width:155px;padding:8px 10px; }.stage-context #quiz-select { max-width:200px; }
  .stage-utilities { gap:3px; }.stage-utilities .connection { display:none; }.stage-collection { gap:8px;margin-right:4px; }
  .teacher-stage { padding:28px 50px; }.question-stage-layout { gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
  .question-stage-aside { padding-left:22px;gap:20px; }.question-rate { padding-bottom:20px; }
  .stage-kicker { margin-bottom:16px; }.stage-kicker>strong { font-size:22px; }.stage-prompt { font-size:30px; }
  .question-rate>strong { font-size:84px; }.question-rate>strong small { font-size:58px; }.question-rate>p { font-size:22px; }
  .stage-section-heading { margin-bottom:16px; }.stage-section-heading h2 { font-size:21px; }
  .distribution-row { grid-template-columns:22px minmax(40px,85px) minmax(25px,1fr) 36px 50px 20px;gap:8px; }
  .distribution-letter,.distribution-option,.distribution-percent { font-size:21px; }.distribution-count { font-size:19px; }.distribution-count small { font-size:12px; }
  .distribution-row.has-option-image { grid-template-columns:20px 48px minmax(0,55px) minmax(20px,1fr) 30px 46px 18px;gap:5px; }.distribution-image { width:48px;height:48px; }
  .distribution-row.has-option-image .distribution-option { font-size:14px; }.distribution-row.has-option-image .distribution-percent { font-size:16px; }
  .distribution-row.has-option-image.image-only { grid-template-columns:20px 58px 0 minmax(20px,1fr) 30px 46px 18px; }
  .analytics-stage { padding:28px;gap:24px; }.stage-page-heading { padding-bottom:24px;gap:20px; }.stage-page-heading h1 { font-size:36px; }
  .stage-open-metrics { gap:20px; }.stage-open-metrics>div { min-width:90px; }.stage-open-metrics>div+div { padding-left:20px; }.stage-open-metrics strong { font-size:40px; }.stage-open-metrics small { font-size:26px; }.stage-open-metrics span { font-size:16px; }
  .analytics-stage-layout { gap:22px; }.overview-people,.stage-group-detail { padding-left:22px; }.column-track>b { font-size:21px; }.column-label { font-size:16px; }.chart-columns { gap:5px; }
  .group-detail-heading { gap:9px; }.group-detail-heading select { font-size:24px; }.group-detail-heading b { font-size:26px; }.group-detail-heading small { font-size:20px; }
  .stage-group-table .cell-status { width:27px;height:27px; }.stage-group-table th:first-child { width:38px; }.stage-group-table th:last-child { width:57px; }.group-member-score { font-size:18px; }.group-member-score small { font-size:14px; }
  .stage-footer { padding:0 22px;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);gap:10px; }.stage-tabs { gap:14px; }.stage-tabs button { font-size:18px;padding:10px; }.stage-tabs svg { width:23px;height:23px; }.stage-dots { display:none; }
  .student-class-name { font-size:16px;padding-left:12px;max-width:170px; }.student-quiz-name { font-size:16px;padding-left:12px;max-width:230px; }
  .student-identity { font-size:18px; }.student-identity small { max-width:66px;font-size:14px; }.stage-utilities .student-switch { font-size:16px;gap:6px; }.stage-utilities .student-switch svg { width:22px;height:22px; }
  .student-question-stage { padding:30px 42px;gap:24px; }.student-prompt-heading .stage-prompt { font-size:36px; }.immersive-options { gap:20px; }
  .immersive-options .option { padding:22px;gap:18px;grid-template-columns:38px minmax(0,1fr) 28px; }.immersive-options .option.selected { padding:21px; }.immersive-options .letter { font-size:30px; }.option-copy { font-size:24px; }.option-copy.short-copy { font-size:38px; }
  .student-stage-footer { grid-template-columns:minmax(100px,1fr) auto minmax(160px,1fr);gap:12px; }.stage-question-dots { gap:7px; }.stage-question-dots button { width:40px;min-height:42px; }
}
@media(max-height:800px) and (min-width:901px) {
  .stage-screen { grid-template-rows:64px minmax(0,1fr) 68px; }.stage-topbar { min-height:64px; }
  .teacher-stage { padding-top:24px;padding-bottom:24px; }.analytics-stage { gap:20px; }.stage-page-heading { padding-bottom:20px; }
  .stage-question-content { gap:16px; }.stage-kicker { margin-bottom:14px; }.stage-prompt { font-size:30px;line-height:1.35;-webkit-line-clamp:2; }
  .stage-section-heading { margin-bottom:14px; }.question-rate>strong { font-size:80px; }.question-rate>strong small { font-size:55px; }.question-rate { padding-bottom:18px; }.question-stage-aside { gap:18px; }
  .question-stage-content.has-stem-image { grid-template-rows:auto 70px minmax(0,1fr);gap:12px; }.stage-stem-image { height:70px; }
  .question-stage-content.has-stem-image .distribution-image { height:38px; }.question-stage-content.has-stem-image .option-distribution { gap:8px; }
  .stage-tabs button.active:after { bottom:8px; }.stage-open-metrics strong { font-size:42px; }.stage-page-heading h1 { font-size:36px; }
  .stage-group-table th,.stage-group-table td { padding:6px 2px; }.group-detail-heading { margin-bottom:10px; }
  .student-question-stage { padding-top:24px;padding-bottom:24px;gap:20px; }.student-prompt-heading .stage-prompt { font-size:34px; }
  .student-answer-field .student-answer-text { font-size:25px;padding:20px; }
}
@media(max-width:900px) {
  .teacher-presentation,.student-presentation { overflow:auto; }
  .stage-screen { height:auto;min-height:100vh;min-height:100dvh;overflow:visible;grid-template-rows:auto minmax(0,1fr) auto; }
  .stage-topbar { padding:12px 18px;gap:12px;flex-wrap:wrap;min-height:64px; }
  .stage-brand { font-size:21px; }.stage-brand svg { width:29px;height:29px; }.stage-brand [data-system-title] { max-width:180px; }
  .stage-context { order:3;flex-basis:100%; }.stage-context select { max-width:45%; }.stage-context #quiz-select { max-width:55%; }
  .stage-utilities { margin-left:auto; }.stage-collection .badge { display:none; }.stage-collection>b { font-size:16px; }.stage-collection small { font-size:14px; }
  .stage-utilities .icon { width:36px;min-height:40px;padding:7px; }.stage-utilities svg { width:22px;height:22px; }
  .teacher-stage { padding:26px 24px; }.question-stage-layout { grid-template-columns:1fr;gap:28px;height:auto; }.question-stage-content { min-height:440px; }
  .stage-prompt { font-size:28px; }.question-stage-aside { border-left:0;padding:24px 0 0;border-top:1px solid var(--line);grid-template-columns:minmax(120px,.65fr) minmax(0,1fr);grid-template-rows:1fr; }
  .question-rate { border-bottom:0;padding-bottom:0; }.question-rate>strong { font-size:68px; }.question-rate>strong small { font-size:44px; }.question-rate>p { font-size:18px; }.question-rate h2 { font-size:21px; }
  .stage-people { min-height:260px; }.stage-student-grid { grid-auto-rows:minmax(44px,1fr); }.stage-student-grid .student-tile b { font-size:17px; }
  .stage-arrow { position:fixed;top:auto;bottom:12px;transform:none;z-index:4; }.stage-arrow.left { left:8px; }.stage-arrow.right { right:8px; }.stage-arrow .icon { width:40px;min-height:40px; }
  .stage-footer { min-height:72px;position:sticky;bottom:0;z-index:2;grid-template-columns:1fr auto;gap:8px;padding:8px 18px; }
  .stage-tabs { grid-column:1/-1;grid-row:1;justify-content:center;gap:12px; }.stage-tabs button { font-size:16px;padding:12px 8px;gap:7px; }.stage-tabs button.active:after { bottom:3px; }.stage-tabs svg { width:21px;height:21px; }
  .stage-slide-index,.stage-foot-caption { font-size:14px; }.stage-footer>.stage-slide-index,.stage-footer>.stage-foot-caption,.stage-footer>.icon,.stage-footer>a { display:none; }
  .analytics-stage { display:flex;flex-direction:column;gap:24px; }.stage-page-heading { flex-wrap:wrap;gap:22px; }.stage-open-metrics { width:100%;justify-content:space-between;gap:12px; }.stage-open-metrics>div { min-width:0; }.stage-open-metrics strong { font-size:36px; }.stage-open-metrics small { font-size:23px; }.stage-open-metrics span { font-size:14px; }.stage-open-metrics>div+div { padding-left:16px; }
  .analytics-stage-layout { grid-template-columns:1fr;gap:28px; }.stage-chart-panel { min-height:340px; }.overview-people,.stage-group-detail { border-left:0;padding:24px 0 0;border-top:1px solid var(--line);min-height:350px; }
  .stage-group-table .cell-status { width:32px;height:32px; }.stage-group-table th,.stage-group-table td { padding:9px 3px; }.group-detail-heading { gap:20px; }
  .student-quiz-name { max-width:none;flex:1; }.student-class-name { max-width:200px; }.student-identity small { display:none; }
  .stage-utilities .student-switch { font-size:15px;min-height:40px;padding:7px 4px; }.stage-utilities .student-switch svg { width:19px;height:19px; }
  .student-question-stage { padding:26px 22px;min-height:480px;gap:24px; }.student-prompt-heading .stage-prompt { font-size:30px; }
  .student-answer-area { min-height:320px; }.student-answer-area.with-stem { grid-template-columns:1fr;grid-template-rows:160px auto; }.student-answer-area.with-stem .student-answer-field { min-height:320px; }
  .immersive-options { min-height:320px; }.immersive-options .option { padding:20px;gap:12px;grid-template-columns:30px minmax(0,1fr) 24px; }.immersive-options .option.selected { padding:19px; }.immersive-options .letter { font-size:26px; }.option-copy { font-size:21px; }.option-copy.short-copy { font-size:34px; }.option-indicator { width:24px;height:24px; }
  .student-stage-footer { position:sticky;grid-template-columns:minmax(100px,1fr) auto;grid-template-rows:auto auto;gap:10px;padding:12px 20px; }.student-stage-footer .stage-question-dots { grid-column:1/-1;grid-row:1; }.student-stage-footer .student-save-state { grid-row:2;font-size:14px; }.student-stage-footer .student-page-actions { grid-row:2;display:flex; }.student-save-state svg { width:21px;height:21px; }
  .student-page-actions>.primary { font-size:17px;min-height:44px;min-width:110px; }.student-page-actions>.icon { min-height:44px;width:38px; }
  .student-quiz-card h2 { font-size:22px; }.student-shell { padding:28px 22px; }
}
@media(max-width:560px) {
  .stage-topbar { padding:12px 14px;gap:10px; }.stage-brand { gap:7px;font-size:19px; }.stage-brand svg { width:26px;height:26px; }
  .stage-brand [data-system-title] { max-width:118px; }.stage-utilities { gap:1px; }.stage-utilities .icon { width:32px;min-height:36px;padding:6px; }.stage-utilities svg { width:20px;height:20px; }
  .stage-collection { display:none; }.student-identity { font-size:16px; }.stage-utilities .student-switch { font-size:14px;gap:4px; }.stage-utilities .student-switch svg { width:17px;height:17px; }
  .teacher-presentation .stage-footer { padding-left:50px;padding-right:50px; }.teacher-presentation .stage-tabs { gap:2px; }.teacher-presentation .stage-tabs button { font-size:14px;padding:12px 5px; }.teacher-presentation .stage-tabs svg { display:none; }
  .student-screen .stage-topbar .stage-brand { font-size:18px; }.student-screen .stage-topbar .stage-brand svg { width:24px;height:24px; }.student-screen .stage-brand [data-system-title] { max-width:86px; }
  .stage-context select,.student-class-name,.student-quiz-name { font-size:14px; }.student-class-name { padding-left:0;border-left:0;max-width:42%; }
  .teacher-stage { padding:22px 16px; }.stage-kicker>strong { font-size:20px; }.stage-kicker .badge { font-size:13px; }.stage-prompt { font-size:25px; }
  .distribution-row { grid-template-columns:19px minmax(35px,70px) minmax(20px,1fr) 29px 43px 18px;gap:6px; }.distribution-letter,.distribution-option,.distribution-percent { font-size:18px; }.distribution-count { font-size:16px; }.distribution-correct svg { width:18px;height:18px; }
  .distribution-row.has-option-image { grid-template-columns:18px 44px minmax(0,40px) minmax(12px,1fr) 24px 38px 16px;gap:4px; }.distribution-image { width:44px;height:44px; }.distribution-row.has-option-image .distribution-option { font-size:13px; }
  .distribution-row.has-option-image.image-only { grid-template-columns:18px 44px 0 minmax(12px,1fr) 24px 38px 16px; }
  .question-stage-aside { grid-template-columns:1fr;gap:20px; }.question-rate { display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px; }.question-rate>strong { grid-column:2;grid-row:1/3;margin:0; }.question-rate>p { grid-column:1;grid-row:2; }
  .stage-open-metrics strong { font-size:28px; }.stage-open-metrics small { font-size:18px; }.stage-open-metrics span { font-size:12px; }.stage-page-heading h1 { font-size:32px; }.stage-open-metrics>div+div { padding-left:12px; }
  .group-detail-heading { gap:10px; }.group-detail-heading select { font-size:22px; }.group-detail-heading b { font-size:25px; }.group-detail-heading small { font-size:17px; }.stage-group-table .cell-status { width:26px;height:26px; }.stage-group-table .cell-status svg { width:16px;height:16px; }.stage-group-table th:first-child { width:36px; }.stage-group-table th:last-child { width:58px; }
  .student-question-stage { padding:24px 18px;min-height:0; }.student-prompt-heading .stage-prompt { font-size:27px; }.immersive-options { grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:minmax(90px,auto);gap:14px; }.immersive-options .option { min-height:90px; }.immersive-options .option-copy.short-copy { font-size:30px; }
  .immersive-options .image-option { min-height:220px; }.immersive-options .option-media { height:160px; }.student-answer-area { min-height:250px; }.student-answer-area.with-stem { grid-template-rows:180px auto; }
  .student-save-state { gap:6px; }.stage-question-dots { gap:7px; }.stage-question-dots button { width:36px;min-height:38px;font-size:16px; }.student-stage-footer { padding:10px 16px; }
  .student-save-state #save-state { max-width:130px;overflow-wrap:anywhere; }.student-save-state>svg { display:none; }
}
@media(max-height:560px) {
  .student-presentation { overflow:auto; }.student-screen { height:auto;min-height:100dvh;overflow:visible;grid-template-rows:auto minmax(250px,1fr) auto; }.student-question-stage { min-height:330px; }.student-stage-footer { position:sticky;bottom:0;z-index:3; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important;scroll-behavior:auto!important; } }
