:root{--navy:#0f1b2d;--navy-light:#1a2942;--primary:#2563eb;--primary-light:#3b82f6;--teal:#14b8a6;--teal-light:#2dd4bf;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--bg:#f0f4f8;--surface:#fff;--text:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow:0 4px 12px #0f1b2d0f, 0 1px 3px #0f1b2d0a;--shadow-md:0 8px 24px #0f1b2d14, 0 2px 8px #0f1b2d0f;--shadow-lg:0 16px 48px #0f1b2d1a, 0 4px 16px #0f1b2d14;--surface-bg:var(--bg);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}:focus-visible{outline:3px solid var(--primary,#2563eb);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.list-wrap.svelte-1e4yqbp{flex-direction:column;gap:20px;display:flex}.list-header.svelte-1e4yqbp{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-title.svelte-1e4yqbp{color:#1d1d1f;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.btn-primary.svelte-1e4yqbp{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .12s}.btn-primary.svelte-1e4yqbp:hover{background:#0066d6}.btn-primary.svelte-1e4yqbp:focus-visible{outline-offset:2px;outline:3px solid #007aff}.loading-msg.svelte-1e4yqbp{text-align:center;color:#86868b;padding:40px}.empty-state.svelte-1e4yqbp{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-icon.svelte-1e4yqbp{font-size:48px}.empty-state.svelte-1e4yqbp p:where(.svelte-1e4yqbp){color:#86868b;margin:0;font-size:15px}.assessment-grid.svelte-1e4yqbp{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.assessment-card.svelte-1e4yqbp{background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:18px 20px;display:flex;box-shadow:0 1px 4px #0000000f,0 4px 16px #0000000a}.card-top.svelte-1e4yqbp{flex-wrap:wrap;gap:8px;display:flex}.cat-badge.svelte-1e4yqbp,.subject-chip.svelte-1e4yqbp{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.subject-chip.svelte-1e4yqbp{color:#007aff}.card-title.svelte-1e4yqbp{color:#1d1d1f;margin:0;font-size:16px;font-weight:600}.card-meta.svelte-1e4yqbp{color:#86868b;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.card-actions.svelte-1e4yqbp{margin-top:auto}.btn-start.svelte-1e4yqbp{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;width:100%;padding:10px;font-size:14px;font-weight:600;transition:background .12s}.btn-start.svelte-1e4yqbp:hover:not(:disabled){background:#0066d6}.btn-start.svelte-1e4yqbp:focus-visible{outline-offset:2px;outline:3px solid #007aff}.btn-start.svelte-1e4yqbp:disabled{opacity:.6;cursor:default}.create-wrap.svelte-1rm22hh{flex-direction:column;gap:20px;display:flex}.create-header.svelte-1rm22hh{align-items:center;gap:16px;display:flex}.btn-back.svelte-1rm22hh{cursor:pointer;color:#007aff;background:0 0;border:1.5px solid #0000001a;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500}.page-title.svelte-1rm22hh{color:#1d1d1f;margin:0;font-size:24px;font-weight:700}.create-body.svelte-1rm22hh{flex-direction:column;gap:20px;display:flex}.form-card.svelte-1rm22hh,.item-card.svelte-1rm22hh{background:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 1px 4px #0000000f}.form-section-title.svelte-1rm22hh{color:#1d1d1f;margin:0 0 16px;font-size:16px;font-weight:700}.form-grid.svelte-1rm22hh{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-field.svelte-1rm22hh{flex-direction:column;gap:6px;display:flex}.form-field.svelte-1rm22hh span:where(.svelte-1rm22hh){color:#86868b;font-size:12px;font-weight:600}.form-field.svelte-1rm22hh input:where(.svelte-1rm22hh),.form-field.svelte-1rm22hh select:where(.svelte-1rm22hh){border:1.5px solid #0000001a;border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-field.svelte-1rm22hh input:where(.svelte-1rm22hh):focus,.form-field.svelte-1rm22hh select:where(.svelte-1rm22hh):focus{border-color:#007aff}.category-grid.svelte-1rm22hh{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cat-btn.svelte-1rm22hh{cursor:pointer;background:0 0;border:1.5px solid #00000014;border-radius:10px;padding:8px;font-size:13px;transition:all .12s}.cat-btn.active.svelte-1rm22hh{color:#007aff;background:#007aff12;border-color:#007aff;font-weight:600}.items-section.svelte-1rm22hh{flex-direction:column;gap:14px;display:flex}.items-header.svelte-1rm22hh{justify-content:space-between;align-items:center;display:flex}.items-actions.svelte-1rm22hh{align-items:center;gap:8px;display:flex}.btn-add-item.svelte-1rm22hh{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.btn-ai-open.svelte-1rm22hh{color:#fff;cursor:pointer;background:#af52de;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:opacity .15s}.btn-ai-open.svelte-1rm22hh:hover{opacity:.88}.btn-drafts.svelte-1rm22hh{color:#fff;cursor:pointer;background:#ff9500;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:opacity .15s}.btn-drafts.svelte-1rm22hh:hover{opacity:.9}.drafts-panel.svelte-1rm22hh{background:#fff8e7;border:1.5px solid #ff950040;border-radius:16px;flex-direction:column;gap:10px;padding:16px 20px;display:flex}.drafts-title.svelte-1rm22hh{color:#b45309;margin:0;font-size:14px;font-weight:700}.draft-row.svelte-1rm22hh{background:#fff;border:1px solid #0000000f;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.draft-info.svelte-1rm22hh{flex-direction:column;gap:2px;display:flex}.draft-date.svelte-1rm22hh{color:#86868b;font-size:12px}.draft-count.svelte-1rm22hh{color:#1d1d1f;font-size:13px;font-weight:600}.btn-import.svelte-1rm22hh{color:#fff;cursor:pointer;background:#ff9500;border:none;border-radius:8px;padding:6px 16px;font-size:12px;font-weight:600}.ai-panel.svelte-1rm22hh{background:#fff;border:1.5px solid #af52de30;border-radius:16px;flex-direction:column;gap:14px;padding:20px 24px;display:flex;box-shadow:0 1px 4px #0000000f}.ai-form-row.svelte-1rm22hh{grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;display:grid}.ai-field.svelte-1rm22hh{flex-direction:column;gap:6px;display:flex}.ai-field.svelte-1rm22hh span:where(.svelte-1rm22hh){color:#86868b;font-size:12px;font-weight:600}.ai-field.svelte-1rm22hh input:where(.svelte-1rm22hh),.ai-field.svelte-1rm22hh select:where(.svelte-1rm22hh){border:1.5px solid #0000001a;border-radius:10px;outline:none;padding:9px 11px;font-size:14px;transition:border-color .15s}.ai-field.svelte-1rm22hh input:where(.svelte-1rm22hh):focus,.ai-field.svelte-1rm22hh select:where(.svelte-1rm22hh):focus{border-color:#af52de}.ai-form-actions.svelte-1rm22hh{justify-content:flex-end;align-items:center;gap:12px;display:flex}.ai-error.svelte-1rm22hh{color:#ff3b30;flex:1;font-size:13px}.btn-ai-gen.svelte-1rm22hh{color:#fff;cursor:pointer;background:#af52de;border:none;border-radius:10px;align-items:center;gap:8px;padding:9px 20px;font-size:13px;font-weight:600;display:flex}.btn-ai-gen.svelte-1rm22hh:disabled{opacity:.55;cursor:default}.mini-spinner.svelte-1rm22hh{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite svelte-1rm22hh-spin}@keyframes svelte-1rm22hh-spin{to{transform:rotate(360deg)}}.ai-preview.svelte-1rm22hh{flex-direction:column;gap:12px;display:flex}.ai-preview-header.svelte-1rm22hh{justify-content:space-between;align-items:center;display:flex}.ai-preview-title.svelte-1rm22hh{color:#af52de;margin:0;font-size:14px;font-weight:700}.btn-accept-all.svelte-1rm22hh{color:#fff;cursor:pointer;background:#34c759;border:none;border-radius:10px;padding:9px 18px;font-size:13px;font-weight:700}.ai-q-card.svelte-1rm22hh{background:#af52de08;border:1.5px solid #af52de20;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.ai-q-header.svelte-1rm22hh{justify-content:space-between;align-items:center;display:flex}.ai-q-num.svelte-1rm22hh{color:#af52de;font-size:12px;font-weight:700}.btn-discard.svelte-1rm22hh{color:#ff3b30;cursor:pointer;background:#ff3b301a;border:none;border-radius:50%;width:24px;height:24px;font-size:11px}.item-card.svelte-1rm22hh{flex-direction:column;gap:12px;display:flex}.item-header.svelte-1rm22hh{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.item-num.svelte-1rm22hh{color:#86868b;min-width:24px;font-size:13px;font-weight:700}.type-select.svelte-1rm22hh{border:1.5px solid #0000001a;border-radius:8px;outline:none;flex:1;padding:8px 10px;font-size:13px}.points-label.svelte-1rm22hh{color:#86868b;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.points-input.svelte-1rm22hh{border:1.5px solid #0000001a;border-radius:8px;width:56px;padding:6px 8px;font-size:13px}.btn-remove.svelte-1rm22hh{color:#ff3b30;cursor:pointer;background:#ff3b301a;border:none;border-radius:50%;width:28px;height:28px;font-size:12px}.q-textarea.svelte-1rm22hh{resize:vertical;border:1.5px solid #00000014;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:15px}.q-textarea.svelte-1rm22hh:focus{border-color:#007aff}.options-form.svelte-1rm22hh{flex-direction:column;gap:8px;display:flex}.opt-row.svelte-1rm22hh{align-items:center;gap:8px;display:flex}.correct-btn.svelte-1rm22hh{cursor:pointer;background:#0000000a;border:2px solid #0000001a;border-radius:50%;flex-shrink:0;width:32px;height:32px;font-size:13px;font-weight:700;transition:all .12s}.correct-btn.is-correct.svelte-1rm22hh{color:#fff;background:#34c759;border-color:#34c759}.opt-row.svelte-1rm22hh input:where(.svelte-1rm22hh){border:1.5px solid #00000014;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:14px}.correct-hint.svelte-1rm22hh{color:#86868b;margin:0;font-size:11px}.tf-form.svelte-1rm22hh{gap:12px;display:flex}.tf-btn.svelte-1rm22hh{cursor:pointer;background:0 0;border:2px solid #0000001a;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:600;transition:all .12s}.tf-btn.active.svelte-1rm22hh{color:#34c759;background:#34c75912;border-color:#34c759}.numeric-input.svelte-1rm22hh{border:1.5px solid #00000014;border-radius:10px;outline:none;width:180px;padding:10px 12px;font-size:15px}.short-text-hint.svelte-1rm22hh{color:#86868b;background:#f5f5f7;border-radius:8px;margin:0;padding:10px;font-size:13px}.save-row.svelte-1rm22hh{justify-content:flex-end;display:flex}.btn-save.svelte-1rm22hh{color:#fff;cursor:pointer;background:#34c759;border:none;border-radius:12px;padding:13px 32px;font-size:15px;font-weight:700}.btn-save.svelte-1rm22hh:disabled{opacity:.6;cursor:default}.input-error.svelte-1rm22hh{background:#ff3b3008;border-color:#ff3b30!important}.field-error.svelte-1rm22hh{color:#ff3b30;margin-top:2px;font-size:12px}@media (width<=700px){.form-grid.svelte-1rm22hh{grid-template-columns:1fr}.ai-form-row.svelte-1rm22hh{grid-template-columns:1fr 1fr}}@media (width<=480px){.ai-form-row.svelte-1rm22hh{grid-template-columns:1fr}}.histogram.svelte-jhf8xe{flex-direction:column;gap:10px;display:flex}.hist-row.svelte-jhf8xe{align-items:center;gap:10px;display:flex}.hist-letter.svelte-jhf8xe{width:24px;color:var(--text-secondary,#64748b);flex-shrink:0;font-size:13px;font-weight:700}.hist-bar-wrap.svelte-jhf8xe{background:#0f1b2d0f;border-radius:8px;flex:1;height:28px;overflow:hidden}.hist-bar.svelte-jhf8xe{background:var(--primary,#2563eb);border-radius:8px;min-width:4px;height:100%;transition:width .4s}.hist-correct.svelte-jhf8xe{background:var(--teal,#14b8a6)}.hist-count.svelte-jhf8xe{color:var(--text-secondary,#64748b);white-space:nowrap;text-align:right;min-width:60px;font-size:13px}.question-panel.svelte-14auyv6{flex-direction:column;gap:16px;display:flex}.question-nav-row.svelte-14auyv6{justify-content:space-between;align-items:center;display:flex}.q-counter.svelte-14auyv6{color:var(--text-secondary,#64748b);font-size:14px;font-weight:600}.nav-btns.svelte-14auyv6{gap:8px;display:flex}.nav-btn.svelte-14auyv6{border:1.5px solid var(--border,#e2e8f0);background:var(--surface,#fff);cursor:pointer;width:36px;height:36px;color:var(--primary,#2563eb);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:300;transition:background .12s,border-color .12s;display:flex}.nav-btn.svelte-14auyv6:hover:not(:disabled){border-color:var(--primary,#2563eb);background:#2563eb14}.nav-btn.svelte-14auyv6:focus-visible{outline:3px solid var(--primary,#2563eb);outline-offset:2px}.nav-btn.svelte-14auyv6:disabled{opacity:.3;cursor:default}.question-card.svelte-14auyv6{background:var(--surface,#fff);box-shadow:var(--shadow,0 4px 12px #0f1b2d0f);border:1px solid var(--border,#e2e8f0);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex}.q-image.svelte-14auyv6{object-fit:cover;border-radius:10px;width:100%;max-height:200px}.question-text.svelte-14auyv6{color:var(--text,#0f172a);margin:0;font-size:18px;font-weight:600;line-height:1.5}.options-list.svelte-14auyv6{flex-direction:column;gap:10px;display:flex}.option-row.svelte-14auyv6{border:1.5px solid var(--border,#e2e8f0);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .2s,background .2s;display:flex}.option-correct.svelte-14auyv6{border-color:var(--success,#10b981);background:#10b98114}.option-wrong.svelte-14auyv6{opacity:.45}.opt-letter.svelte-14auyv6{width:28px;height:28px;color:var(--text,#0f172a);background:#0f1b2d0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.option-correct.svelte-14auyv6 .opt-letter:where(.svelte-14auyv6){background:var(--success,#10b981);color:#fff}.opt-text.svelte-14auyv6{color:var(--text,#0f172a);font-size:15px}.question-actions.svelte-14auyv6{justify-content:center;display:flex}.btn-reveal.svelte-14auyv6,.btn-next.svelte-14auyv6,.btn-end-session.svelte-14auyv6{cursor:pointer;border:none;border-radius:10px;padding:12px 28px;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.btn-reveal.svelte-14auyv6{color:var(--warning,#f59e0b);background:#f59e0b1f;border:1px solid #f59e0b4d}.btn-reveal.svelte-14auyv6:hover{background:#f59e0b33}.btn-next.svelte-14auyv6{background:var(--primary,#2563eb);color:#fff}.btn-next.svelte-14auyv6:hover{background:#1d4ed8}.btn-end-session.svelte-14auyv6{background:var(--teal,#14b8a6);color:#fff}.btn-end-session.svelte-14auyv6:hover{background:#0d9488}.btn-reveal.svelte-14auyv6:focus-visible,.btn-next.svelte-14auyv6:focus-visible,.btn-end-session.svelte-14auyv6:focus-visible{outline:3px solid var(--primary,#2563eb);outline-offset:2px}.participants-panel.svelte-j4y46a{background:var(--surface,#fff);box-shadow:var(--shadow,0 4px 12px #0f1b2d0f);border:1px solid var(--border,#e2e8f0);border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex;position:sticky;top:78px}.part-header.svelte-j4y46a{justify-content:space-between;align-items:center;display:flex}.part-title.svelte-j4y46a{color:var(--text,#0f172a);margin:0;font-size:15px;font-weight:700}.answered-chip.svelte-j4y46a{color:var(--teal,#14b8a6);background:#14b8a61f;border:1px solid #14b8a640;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.join-box.svelte-j4y46a{background:var(--bg,#f0f4f8);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.join-url.svelte-j4y46a{color:var(--primary,#2563eb);word-break:break-all;margin:0;font-size:11px;font-weight:600}.join-hint.svelte-j4y46a{color:var(--text-secondary,#64748b);margin:0;font-size:11px}.part-list.svelte-j4y46a{flex-direction:column;gap:6px;max-height:400px;display:flex;overflow-y:auto}.part-row.svelte-j4y46a{border-radius:8px;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.part-row.part-answered.svelte-j4y46a{background:#14b8a614}.part-status.svelte-j4y46a{text-align:center;width:20px;font-size:14px}.part-name.svelte-j4y46a{color:var(--text,#0f172a);font-size:13px;font-weight:500}.part-empty.svelte-j4y46a{color:var(--text-secondary,#64748b);text-align:center;margin:0;padding:12px 0;font-size:13px;animation:2s ease-in-out infinite svelte-j4y46a-pulse-text}@keyframes svelte-j4y46a-pulse-text{0%,to{opacity:1}50%{opacity:.4}}@media (width<=700px){.participants-panel.svelte-j4y46a{position:static}}.leaderboard-backdrop.svelte-uj39uo{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.leaderboard-modal.svelte-uj39uo{background:var(--surface,#fff);border-radius:20px;flex-direction:column;gap:20px;width:90%;min-width:300px;max-width:420px;padding:28px 32px;display:flex;box-shadow:0 8px 40px #0000002e}.lb-title.svelte-uj39uo{color:var(--text,#1d1d1f);text-align:center;font-size:20px;font-weight:800}.lb-rows.svelte-uj39uo{flex-direction:column;gap:12px;display:flex}.lb-row.svelte-uj39uo{background:var(--bg,#f5f5f7);border:2px solid #0000000f;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;display:flex}.lb-gold.svelte-uj39uo{background:#fff8dc;border-color:#ffd70050}.lb-silver.svelte-uj39uo{background:#f5f5f5;border-color:#c0c0c050}.lb-bronze.svelte-uj39uo{background:linen;border-color:#cd7f3250}.lb-medal.svelte-uj39uo{flex-shrink:0;font-size:28px}.lb-name.svelte-uj39uo{color:var(--text,#1d1d1f);flex:1;font-size:16px;font-weight:700}.lb-status.svelte-uj39uo{font-size:13px;font-weight:600}.lb-correct.svelte-uj39uo{color:var(--success,#34c759)}.lb-wrong.svelte-uj39uo{color:var(--danger,#ff3b30)}.lb-dismiss.svelte-uj39uo{background:var(--bg,#f5f5f7);color:var(--text-secondary,#86868b);cursor:pointer;border:none;border-radius:10px;align-self:center;padding:8px 24px;font-size:14px;font-weight:600}.lb-dismiss.svelte-uj39uo:hover{background:#e5e7ea}.lb-dismiss.svelte-uj39uo:focus-visible{outline:3px solid var(--primary,#007aff);outline-offset:2px}.live-wrap.svelte-1d6y20p{flex-direction:column;gap:20px;display:flex}.live-header.svelte-1d6y20p{background:var(--navy,#0f1b2d);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex;box-shadow:0 4px 16px #0f1b2d33}.live-title-row.svelte-1d6y20p{align-items:center;gap:12px;display:flex}.live-badge.svelte-1d6y20p{color:#fca5a5;letter-spacing:.05em;background:#ef444433;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;animation:1.5s ease-in-out infinite svelte-1d6y20p-blink}@keyframes svelte-1d6y20p-blink{0%,to{opacity:1}50%{opacity:.5}}.live-title.svelte-1d6y20p{color:#fff;margin:0;font-size:18px;font-weight:700}.live-header-right.svelte-1d6y20p{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.join-code-box.svelte-1d6y20p{background:#2563eb40;border:1px solid #2563eb66;border-radius:10px;align-items:center;gap:8px;padding:6px 14px;display:flex}.join-label.svelte-1d6y20p{color:#93c5fd;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.join-code.svelte-1d6y20p{color:#fff;letter-spacing:.12em;font-size:20px;font-weight:800}.participants-count.svelte-1d6y20p{color:#5eead4;background:#14b8a633;border:1px solid #14b8a659;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:600;display:flex}.part-icon.svelte-1d6y20p{font-size:14px}.btn-end.svelte-1d6y20p{color:#fca5a5;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.btn-end.svelte-1d6y20p:hover:not(:disabled){background:#ef444440}.btn-end.svelte-1d6y20p:focus-visible{outline-offset:2px;outline:2px solid #fca5a5}.loading-msg.svelte-1d6y20p,.empty-msg.svelte-1d6y20p{text-align:center;color:var(--text-secondary,#64748b);padding:40px}.live-body.svelte-1d6y20p{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}@media (width>=701px) and (width<=1024px){.live-body.svelte-1d6y20p{grid-template-columns:1fr 1fr}}@media (width<=700px){.live-body.svelte-1d6y20p{grid-template-columns:1fr}}.results-wrap.svelte-4chwft{flex-direction:column;gap:20px;display:flex}.results-header.svelte-4chwft{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn-back.svelte-4chwft{cursor:pointer;color:#007aff;background:0 0;border:1.5px solid #0000001a;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500}.header-main.svelte-4chwft{flex:1}.page-title.svelte-4chwft{color:#1d1d1f;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.subtitle.svelte-4chwft{color:#86868b;margin:2px 0 0;font-size:14px}.header-actions.svelte-4chwft{gap:8px;display:flex}.btn-export.svelte-4chwft{color:#fff;cursor:pointer;background:#34c759;border:none;border-radius:10px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .12s}.btn-export.svelte-4chwft:hover:not(:disabled){background:#2ba84a}.btn-export.svelte-4chwft:disabled{opacity:.5;cursor:default}.loading-msg.svelte-4chwft{text-align:center;color:#86868b;padding:40px}.empty-state.svelte-4chwft{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-icon.svelte-4chwft{font-size:48px}.empty-state.svelte-4chwft p:where(.svelte-4chwft){color:#86868b;margin:0;font-size:15px}.kpi-grid.svelte-4chwft{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.kpi-card.svelte-4chwft{background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:16px 20px;display:flex;box-shadow:0 1px 4px #0000000f}.kpi-label.svelte-4chwft{color:#86868b;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.kpi-value.svelte-4chwft{color:#1d1d1f;font-size:28px;font-weight:700}.section-card.svelte-4chwft{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:0 1px 4px #0000000f}.section-title.svelte-4chwft{color:#1d1d1f;margin:0 0 16px;font-size:16px;font-weight:700}.table-wrap.svelte-4chwft{overflow-x:auto}.results-table.svelte-4chwft{border-collapse:collapse;width:100%}.results-table.svelte-4chwft th:where(.svelte-4chwft){text-align:left;color:#86868b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1.5px solid #00000014;padding:10px 12px;font-size:12px;font-weight:600}.results-table.svelte-4chwft td:where(.svelte-4chwft){color:#1d1d1f;border-bottom:1px solid #0000000a;padding:12px;font-size:14px}.results-table.svelte-4chwft tr:where(.svelte-4chwft):last-child td:where(.svelte-4chwft){border-bottom:none}.rank.svelte-4chwft{color:#86868b;min-width:24px;margin-right:8px;font-size:12px;font-weight:700;display:inline-block}.correct-count.svelte-4chwft{color:#34c759;font-weight:600}.pending-chip.svelte-4chwft{color:#ff9500;background:#ff950020;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pct-bar.svelte-4chwft{background:#0000000d;border-radius:11px;min-width:120px;height:22px;position:relative;overflow:hidden}.pct-fill.svelte-4chwft{height:100%;transition:width .3s}.pct-label.svelte-4chwft{color:#1d1d1f;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}.items-list.svelte-4chwft{flex-direction:column;gap:16px;display:flex}.item-row.svelte-4chwft{border:1px solid #0000000f;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.item-row-header.svelte-4chwft{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.item-num.svelte-4chwft{color:#86868b;font-weight:700}.item-text.svelte-4chwft{color:#1d1d1f;flex:1;font-size:14px}.item-score.svelte-4chwft{color:#86868b;font-size:13px}.item-pct.svelte-4chwft{color:#86868b;margin-left:4px;font-size:12px}.histogram.svelte-4chwft{flex-direction:column;gap:6px;display:flex}.hist-row.svelte-4chwft{grid-template-columns:1fr 2fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.hist-row.is-correct.svelte-4chwft .hist-label:where(.svelte-4chwft){color:#34c759;font-weight:600}.hist-row.is-correct.svelte-4chwft .hist-fill:where(.svelte-4chwft){background:#34c759}.hist-label.svelte-4chwft{color:#1d1d1f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hist-bar.svelte-4chwft{background:#0000000d;border-radius:7px;height:14px;overflow:hidden}.hist-fill.svelte-4chwft{background:#007aff;height:100%;transition:width .3s}.hist-count.svelte-4chwft{color:#1d1d1f;text-align:right;min-width:30px;font-weight:600}@media (width<=700px){.results-table.svelte-4chwft th:where(.svelte-4chwft):nth-child(2),.results-table.svelte-4chwft td:where(.svelte-4chwft):nth-child(2){display:none}}.qr-wrap.svelte-cdekfh{flex-direction:column;gap:20px;display:flex}.qr-header.svelte-cdekfh{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn-back.svelte-cdekfh{border:1.5px solid var(--border,#e2e8f0);cursor:pointer;color:var(--primary,#2563eb);background:0 0;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s}.btn-back.svelte-cdekfh:hover{background:#2563eb0f;border-color:#2563eb4d}.page-title.svelte-cdekfh{color:var(--text,#0f172a);flex:1;margin:0;font-size:24px;font-weight:700}.qr-controls.svelte-cdekfh{align-items:center;gap:10px;display:flex}.qr-controls.svelte-cdekfh select:where(.svelte-cdekfh){border:1.5px solid var(--border,#e2e8f0);color:var(--text,#0f172a);border-radius:10px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s}.qr-controls.svelte-cdekfh select:where(.svelte-cdekfh):focus{border-color:var(--primary,#2563eb)}.btn-print.svelte-cdekfh{background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:9px 20px;font-size:14px;font-weight:600;transition:background .15s}.btn-print.svelte-cdekfh:hover:not(:disabled){background:#1d4ed8}.btn-print.svelte-cdekfh:disabled{opacity:.5;cursor:default}.loading-msg.svelte-cdekfh{color:var(--text-secondary,#64748b);padding:20px 0;font-size:14px}.cards-grid.svelte-cdekfh{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.qr-card.svelte-cdekfh{border:2px solid var(--navy,#0f1b2d);aspect-ratio:1;background:#fff;border-radius:14px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;box-shadow:0 2px 8px #0f1b2d14}.student-name.svelte-cdekfh{color:var(--text-secondary,#64748b);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;z-index:2;max-width:60%;font-size:10px;font-weight:600;position:absolute;top:10px;left:12px;overflow:hidden}.label.svelte-cdekfh{color:var(--navy,#0f1b2d);z-index:2;font-size:20px;font-weight:900;line-height:1;position:absolute}.label-top.svelte-cdekfh{top:10px;left:50%;transform:translate(-50%)}.label-right.svelte-cdekfh{transform-origin:50%;top:50%;right:0}.label-bottom.svelte-cdekfh{transform-origin:50%;bottom:10px;left:50%}.label-left.svelte-cdekfh{transform-origin:50%;top:50%;left:10px}.qr-center.svelte-cdekfh{justify-content:center;align-items:center;display:flex}.qr-center.svelte-cdekfh canvas:where(.svelte-cdekfh){display:block}@media print{.no-print{display:none!important}.qr-wrap.svelte-cdekfh{gap:0}.cards-grid.svelte-cdekfh{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.qr-card.svelte-cdekfh{box-shadow:none;break-inside:avoid;border:2px solid #0f1b2d;border-radius:0}}.scanner-wrap.svelte-xhcln4{flex-direction:column;gap:16px;display:flex}.scanner-header.svelte-xhcln4{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn-back.svelte-xhcln4{border:1.5px solid var(--border,#e2e8f0);cursor:pointer;color:var(--primary,#2563eb);background:0 0;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .12s}.btn-back.svelte-xhcln4:hover{background:#2563eb0f}.page-title.svelte-xhcln4{color:var(--text,#0f172a);flex:1;margin:0;font-size:22px;font-weight:700}.item-nav.svelte-xhcln4{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.item-nav.svelte-xhcln4 button:where(.svelte-xhcln4){border:1.5px solid var(--border,#e2e8f0);cursor:pointer;background:0 0;border-radius:8px;width:30px;height:30px;font-size:16px;transition:background .12s}.item-nav.svelte-xhcln4 button:where(.svelte-xhcln4):hover:not(:disabled){background:#2563eb14}.item-nav.svelte-xhcln4 button:where(.svelte-xhcln4):disabled{opacity:.3;cursor:default}.error-box.svelte-xhcln4{color:var(--danger,#ef4444);background:#ef444414;border:1px solid #ef444433;border-radius:12px;padding:14px 18px;font-size:14px}.scanner-body.svelte-xhcln4{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.camera-panel.svelte-xhcln4{flex-direction:column;gap:8px;display:flex}.video-wrap.svelte-xhcln4{background:var(--navy,#0f1b2d);aspect-ratio:4/3;border:2px solid var(--navy,#0f1b2d);border-radius:16px;position:relative;overflow:hidden}.video-feed.svelte-xhcln4{object-fit:cover;width:100%;height:100%;display:block}.overlay-canvas.svelte-xhcln4{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.corner-hint.svelte-xhcln4{color:#ffffffe6;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f1b2da6;border-radius:6px;padding:2px 7px;font-size:18px;font-weight:900;position:absolute}.corner-hint--tl.svelte-xhcln4{top:8px;left:8px}.corner-hint--tr.svelte-xhcln4{top:8px;right:8px}.corner-hint--bl.svelte-xhcln4{bottom:8px;left:8px}.corner-hint--br.svelte-xhcln4{bottom:8px;right:8px}.scan-hint.svelte-xhcln4{color:var(--text-secondary,#64748b);text-align:center;margin:0;font-size:13px;line-height:1.5}.log-panel.svelte-xhcln4{background:var(--surface,#fff);box-shadow:var(--shadow,0 4px 12px #0f1b2d0f);border:1px solid var(--border,#e2e8f0);border-radius:16px;max-height:520px;padding:16px;overflow-y:auto}.log-title.svelte-xhcln4{color:var(--text,#0f172a);align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.log-count.svelte-xhcln4{background:var(--teal,#14b8a6);color:#fff;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.log-empty.svelte-xhcln4{color:var(--text-secondary,#64748b);font-size:13px}.log-list.svelte-xhcln4{flex-direction:column;gap:8px;display:flex}.log-item.svelte-xhcln4{background:var(--bg,#f0f4f8);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.ans-badge.svelte-xhcln4{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:800;display:flex}.log-name.svelte-xhcln4{color:var(--text,#0f172a);flex:1;font-size:13px;font-weight:600}.log-time.svelte-xhcln4{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:11px}.fallback-body.svelte-xhcln4{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.manual-entry-panel.svelte-xhcln4{background:var(--surface,#fff);box-shadow:var(--shadow,0 4px 12px #0f1b2d0f);border:1px solid var(--border,#e2e8f0);border-radius:16px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.manual-title.svelte-xhcln4{color:var(--text,#0f172a);margin:0;font-size:15px;font-weight:700}.manual-row.svelte-xhcln4{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.manual-input.svelte-xhcln4{border:1.5px solid var(--border,#e2e8f0);border-radius:10px;outline:none;flex:1;min-width:160px;padding:10px 12px;font-size:14px;transition:border-color .15s}.manual-input.svelte-xhcln4:focus{border-color:var(--primary,#2563eb)}.manual-select.svelte-xhcln4{border:1.5px solid var(--border,#e2e8f0);background:var(--surface,#fff);border-radius:10px;outline:none;min-width:70px;padding:10px 12px;font-size:14px}.manual-btn.svelte-xhcln4{background:var(--primary,#2563eb);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s}.manual-btn.svelte-xhcln4:hover{background:#1d4ed8}.manual-error.svelte-xhcln4{color:var(--danger,#ef4444);margin:0;font-size:13px}@media (width<=700px){.scanner-body.svelte-xhcln4,.fallback-body.svelte-xhcln4{grid-template-columns:1fr}}.unified-nav.svelte-1t9a2bt{color:#fff;z-index:50;background:linear-gradient(90deg,#0f1b2d 0%,#1a2942 100%);border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;height:48px;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;display:flex}.brand.svelte-1t9a2bt{color:inherit;align-items:center;gap:8px;padding:0 8px;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.brand.svelte-1t9a2bt:hover{opacity:.85}.bear.svelte-1t9a2bt{font-size:22px;line-height:1}.name.svelte-1t9a2bt{letter-spacing:-.01em}.tabs.svelte-1t9a2bt{flex:1;gap:4px;margin-left:24px;display:flex}.tab.svelte-1t9a2bt{color:#ffffffb8;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.tab.svelte-1t9a2bt:hover{color:#fff;background:#ffffff14}.tab.active.svelte-1t9a2bt{color:#fff;cursor:default;background:#60a5fa2e}.tab-icon.svelte-1t9a2bt{font-size:1rem}.right.svelte-1t9a2bt{align-items:center;gap:12px;display:flex}.lang.svelte-1t9a2bt{color:#ffffffd9;align-items:center;gap:6px;font-size:.85rem;display:flex}.lang.svelte-1t9a2bt select:where(.svelte-1t9a2bt){color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;padding:4px 8px;font-family:inherit;font-size:.85rem}.lang.svelte-1t9a2bt select:where(.svelte-1t9a2bt):hover{background:#ffffff24}.lang.svelte-1t9a2bt select:where(.svelte-1t9a2bt) option:where(.svelte-1t9a2bt){color:#fff;background:#1a2942}@media (width<=640px){.unified-nav.svelte-1t9a2bt{height:44px;padding:0 8px}.name.svelte-1t9a2bt{display:none}.tabs.svelte-1t9a2bt{gap:2px;margin-left:8px}.tab-label.svelte-1t9a2bt{display:none}.tab.svelte-1t9a2bt{padding:6px 10px}}.teacher-app.svelte-cwjr7l{background:var(--bg,#f0f4f8);flex-direction:column;min-height:100vh;display:flex}.topbar.svelte-cwjr7l{background:var(--navy,#0f1b2d);z-index:100;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;height:58px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-left.svelte-cwjr7l{align-items:center;gap:10px;display:flex}.logo-mark.svelte-cwjr7l{background:var(--primary,#2563eb);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex;box-shadow:0 0 0 2px #2563eb59}.app-name.svelte-cwjr7l{color:#fff;letter-spacing:-.01em;font-size:16px;font-weight:700}.topbar-nav.svelte-cwjr7l{flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.nav-btn.svelte-cwjr7l{cursor:pointer;color:#fff9;background:0 0;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s;position:relative}.nav-btn.svelte-cwjr7l:hover{color:#fff;background:#ffffff14}.nav-btn.svelte-cwjr7l:focus-visible{outline:2px solid var(--teal,#14b8a6);outline-offset:2px}.nav-btn.active.svelte-cwjr7l{color:var(--teal,#14b8a6);background:#14b8a61f;font-weight:600}.nav-btn.active.svelte-cwjr7l:after{content:"";background:var(--teal,#14b8a6);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:16px;right:16px}.topbar-right.svelte-cwjr7l{align-items:center;gap:10px;display:flex}.teacher-name.svelte-cwjr7l{color:#ffffff80;font-size:13px}.btn-ghost.svelte-cwjr7l{cursor:pointer;color:#fffc;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s}.btn-ghost.svelte-cwjr7l:hover{background:#ffffff1f;border-color:#ffffff40}.btn-ghost.svelte-cwjr7l:focus-visible{outline-offset:2px;outline:2px solid #fff}.teacher-main.svelte-cwjr7l{box-sizing:border-box;flex:1;width:100%;padding:24px 32px 48px;overflow-y:auto}.svelte-1de3i9b{box-sizing:border-box}.join-card.svelte-1de3i9b{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:20px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;padding:44px 36px;display:flex;box-shadow:0 8px 32px #0f1b2d1a,0 2px 8px #0f1b2d0d}.join-logo.svelte-1de3i9b{background:var(--navy,#0f1b2d);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;font-size:36px;display:flex;box-shadow:0 4px 12px #0f1b2d40}.join-title.svelte-1de3i9b{color:var(--text,#0f172a);text-align:center;margin:0;font-size:22px;font-weight:700}.join-sub.svelte-1de3i9b{color:var(--text-secondary,#64748b);text-align:center;margin:0;font-size:14px;line-height:1.5}.code-input.svelte-1de3i9b{text-align:center;letter-spacing:.25em;border:2px solid var(--border,#e2e8f0);text-transform:uppercase;width:100%;color:var(--text,#0f172a);border-radius:14px;outline:none;padding:18px;font-size:30px;font-weight:800;transition:border-color .15s,box-shadow .15s}.code-input.svelte-1de3i9b:focus{border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px #2563eb1f}.error-msg.svelte-1de3i9b{color:var(--danger,#ef4444);text-align:center;margin:0;font-size:13px}.btn-primary.svelte-1de3i9b{background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:15px;font-size:16px;font-weight:700;transition:background .15s,transform .1s}.btn-primary.svelte-1de3i9b:hover:not(:disabled){background:#1d4ed8}.btn-primary.svelte-1de3i9b:active:not(:disabled){transform:scale(.98)}.btn-primary.svelte-1de3i9b:focus-visible{outline-offset:2px;box-shadow:0 0 0 5px var(--primary,#2563eb);outline:3px solid #fff}.btn-primary.svelte-1de3i9b:disabled{opacity:.4;cursor:default}.visually-hidden.svelte-1de3i9b{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.svelte-175g1fb{box-sizing:border-box}.join-card.svelte-175g1fb{background:var(--surface,#fff);border-radius:20px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:400px;padding:40px 32px;display:flex;box-shadow:0 4px 24px #00000014}.join-card.wide.svelte-175g1fb{max-width:600px}.session-info.svelte-175g1fb{background:var(--bg,#f5f5f7);border-radius:10px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:12px;display:flex}.session-title.svelte-175g1fb{color:var(--text,#1d1d1f);font-size:16px;font-weight:700}.class-name.svelte-175g1fb{color:var(--text-secondary,#86868b);font-size:13px}.select-title.svelte-175g1fb{color:var(--text,#1d1d1f);margin:0;font-size:18px;font-weight:700}.student-count.svelte-175g1fb{color:var(--text-secondary,#86868b);align-self:flex-start;margin:0;font-size:13px}.student-grid.svelte-175g1fb{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;width:100%;max-height:320px;display:grid;overflow-y:auto}.student-btn.svelte-175g1fb{background:var(--surface,#fff);cursor:pointer;border:2px solid #00000014;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;transition:border-color .12s,background .12s;display:flex}.student-btn.svelte-175g1fb:hover:not(:disabled){border-color:var(--primary,#007aff);background:#007aff08}.student-btn.selected.svelte-175g1fb{border-color:var(--primary,#007aff);background:#007aff12}.student-btn.svelte-175g1fb:focus-visible{outline:3px solid var(--primary,#007aff);outline-offset:2px}.student-btn.svelte-175g1fb:disabled{opacity:.5}.student-initial.svelte-175g1fb{width:44px;height:44px;color:var(--primary,#007aff);background:#007aff20;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.student-name.svelte-175g1fb{color:var(--text,#1d1d1f);text-align:center;font-size:13px;font-weight:600}.center-msg.svelte-1kzqs5a{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.waiting-icon.svelte-1kzqs5a{font-size:64px}.center-msg.svelte-1kzqs5a h2:where(.svelte-1kzqs5a){color:var(--text,#1d1d1f);margin:0;font-size:22px;font-weight:700}.center-msg.svelte-1kzqs5a p:where(.svelte-1kzqs5a){color:var(--text-secondary,#86868b);margin:0;font-size:15px}.student-confirm.svelte-1kzqs5a{color:var(--text,#1d1d1f);font-size:14px}.svelte-oh4tx1{box-sizing:border-box}.question-wrap.svelte-oh4tx1{flex-direction:column;gap:20px;width:100%;max-width:560px;display:flex}.question-card.svelte-oh4tx1{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:20px;flex-direction:column;gap:20px;padding:28px 24px;display:flex;box-shadow:0 8px 28px #0f1b2d1a,0 2px 6px #0f1b2d0d}.question-text.svelte-oh4tx1{color:var(--text,#0f172a);margin:0;font-size:20px;font-weight:600;line-height:1.5}.answer-grid.svelte-oh4tx1{flex-direction:column;gap:14px;display:flex}.answer-btn.svelte-oh4tx1{border:2px solid var(--border,#e2e8f0);background:var(--surface,#fff);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:16px;width:100%;min-height:80px;padding:16px 20px;transition:border-color .15s,background .15s,transform .1s;display:flex}.answer-btn.svelte-oh4tx1:hover:not(:disabled):not(.selected){background:#2563eb08;border-color:#2563eb4d}.answer-btn.svelte-oh4tx1:active:not(:disabled){transform:scale(.97)}.answer-btn.svelte-oh4tx1:focus-visible{outline:3px solid var(--primary,#2563eb);outline-offset:2px}.answer-btn.svelte-oh4tx1:disabled{cursor:default}.opt-a.svelte-oh4tx1{border-color:#2563eb33}.opt-b.svelte-oh4tx1{border-color:#14b8a633}.opt-c.svelte-oh4tx1{border-color:#f59e0b33}.opt-d.svelte-oh4tx1{border-color:#ef444433}.opt-a.svelte-oh4tx1 .ans-letter:where(.svelte-oh4tx1){background:var(--primary,#2563eb);color:#fff}.opt-b.svelte-oh4tx1 .ans-letter:where(.svelte-oh4tx1){background:var(--teal,#14b8a6);color:#fff}.opt-c.svelte-oh4tx1 .ans-letter:where(.svelte-oh4tx1){background:var(--warning,#f59e0b);color:#fff}.opt-d.svelte-oh4tx1 .ans-letter:where(.svelte-oh4tx1){background:var(--danger,#ef4444);color:#fff}.opt-a.selected.svelte-oh4tx1{border-color:var(--primary,#2563eb);background:#2563eb12}.opt-b.selected.svelte-oh4tx1{border-color:var(--teal,#14b8a6);background:#14b8a612}.opt-c.selected.svelte-oh4tx1{border-color:var(--warning,#f59e0b);background:#f59e0b12}.opt-d.selected.svelte-oh4tx1{border-color:var(--danger,#ef4444);background:#ef444412}.answer-btn.correct.svelte-oh4tx1{border-color:var(--success,#10b981);background:#10b98114}.answer-btn.wrong.svelte-oh4tx1{border-color:var(--danger,#ef4444);background:#ef444412}.correct.svelte-oh4tx1 .ans-letter:where(.svelte-oh4tx1){color:#fff;background:var(--success,#10b981)!important}.wrong.svelte-oh4tx1 .ans-letter:where(.svelte-oh4tx1){color:#fff;background:var(--danger,#ef4444)!important}.ans-letter.svelte-oh4tx1{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex}.ans-text.svelte-oh4tx1{color:var(--text,#0f172a);flex:1;font-size:24px;font-weight:700}.ans-icon.svelte-oh4tx1{flex-shrink:0;font-size:22px}@media (width>=481px) and (width<=900px){.answer-grid.svelte-oh4tx1{grid-template-columns:1fr 1fr;gap:14px;display:grid}}.timer-bar.svelte-oh4tx1{color:var(--primary,#2563eb);background:#2563eb14;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:16px;font-weight:700;transition:background .3s,color .3s;display:flex}.timer-bar.timer-urgent.svelte-oh4tx1{color:var(--danger,#ef4444);background:#ef44441a;animation:.5s ease-in-out infinite svelte-oh4tx1-pulse-urgent}@keyframes svelte-oh4tx1-pulse-urgent{0%,to{opacity:1}50%{opacity:.6}}.reaction-overlay.svelte-oh4tx1{justify-content:center;align-items:center;padding:16px;display:flex}.reaction-emoji.svelte-oh4tx1{font-size:72px;display:block}.confetti-pop.svelte-oh4tx1{animation:.6s cubic-bezier(.34,1.56,.64,1) both svelte-oh4tx1-confetti-pop}.shake-anim.svelte-oh4tx1{animation:.6s ease-in-out both svelte-oh4tx1-gentle-shake}@keyframes svelte-oh4tx1-confetti-pop{0%{opacity:0;transform:scale(.2)rotate(-15deg)}60%{opacity:1;transform:scale(1.3)rotate(8deg)}80%{transform:scale(.9)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes svelte-oh4tx1-gentle-shake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-8px)rotate(-6deg)}30%{transform:translate(8px)rotate(6deg)}45%{transform:translate(-5px)rotate(-4deg)}60%{transform:translate(5px)rotate(4deg)}75%{transform:translate(-2px)rotate(-2deg)}90%{transform:translate(2px)rotate(2deg)}}.submitted-msg.svelte-oh4tx1{text-align:center;color:var(--teal,#14b8a6);background:#14b8a614;border:1px solid #14b8a633;border-radius:10px;padding:12px;font-size:14px;font-weight:500}.result-msg.svelte-oh4tx1{text-align:center;border-radius:10px;padding:14px;font-size:16px;font-weight:600}.result-ok.svelte-oh4tx1{color:var(--success,#10b981);background:#10b9811a}.result-no.svelte-oh4tx1{color:var(--danger,#ef4444);background:#ef444414}.result-pending.svelte-oh4tx1{color:var(--text-secondary,#64748b);background:#64748b1a}.center-msg.svelte-oh4tx1{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.waiting-icon.svelte-oh4tx1{font-size:64px}.center-msg.svelte-oh4tx1 p:where(.svelte-oh4tx1){color:var(--text-secondary,#64748b);margin:0;font-size:15px}.answer-confirmed.svelte-oh4tx1{background:var(--success,#10b981);color:#fff;text-align:center;border-radius:10px;padding:12px 24px;font-weight:500}.center-msg.svelte-1csbh9o{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.done-icon.svelte-1csbh9o{font-size:64px}.center-msg.svelte-1csbh9o h2:where(.svelte-1csbh9o){color:var(--text,#1d1d1f);margin:0;font-size:22px;font-weight:700}.center-msg.svelte-1csbh9o p:where(.svelte-1csbh9o){color:var(--text-secondary,#86868b);margin:0;font-size:15px}.svelte-1wz6mtt{box-sizing:border-box}.student-wrap.svelte-1wz6mtt{background:var(--bg,#f0f4f8);flex-direction:column;align-items:center;min-height:100vh;padding:20px;display:flex}.phase-content.svelte-1wz6mtt{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.center-msg.svelte-1wz6mtt{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.center-msg.svelte-1wz6mtt p:where(.svelte-1wz6mtt){color:var(--text-secondary,#64748b);margin:0;font-size:15px}.spinner.svelte-1wz6mtt{border:3px solid #2563eb26;border-top-color:var(--primary,#2563eb);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite svelte-1wz6mtt-spin}@keyframes svelte-1wz6mtt-spin{to{transform:rotate(360deg)}}.conn-banner.svelte-1wz6mtt{width:100%;max-width:600px;color:var(--danger,#ef4444);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:600;display:flex}.conn-dot.svelte-1wz6mtt{background:var(--danger,#ef4444);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1.4s ease-in-out infinite svelte-1wz6mtt-conn-pulse}@keyframes svelte-1wz6mtt-conn-pulse{0%,to{opacity:1}50%{opacity:.35}}.stepper.svelte-1wz6mtt{justify-content:center;align-items:center;gap:0;padding:16px;display:flex}.step.svelte-1wz6mtt{flex-direction:column;align-items:center;gap:4px;display:flex}.step-num.svelte-1wz6mtt{background:var(--border,#e2e8f0);width:32px;height:32px;color:var(--text-secondary,#64748b);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:background .2s,color .2s;display:flex}.step.active.svelte-1wz6mtt .step-num:where(.svelte-1wz6mtt){background:var(--primary,#2563eb);color:#fff}.step.done.svelte-1wz6mtt .step-num:where(.svelte-1wz6mtt){background:var(--teal,#14b8a6);color:#fff}.step-label.svelte-1wz6mtt{color:var(--text-secondary,#64748b);font-size:11px}.step.active.svelte-1wz6mtt .step-label:where(.svelte-1wz6mtt){color:var(--text,#0f172a);font-weight:600}.step.done.svelte-1wz6mtt .step-label:where(.svelte-1wz6mtt){color:var(--teal,#14b8a6);font-weight:500}.step-line.svelte-1wz6mtt{background:var(--border,#e2e8f0);width:40px;height:2px;margin-bottom:18px}.step-line.done.svelte-1wz6mtt{background:var(--teal,#14b8a6)}.login-wrap.svelte-1iqsbxn{background:#f5f5f7;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card.svelte-1iqsbxn{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:380px;padding:40px 36px;display:flex;box-shadow:0 4px 24px #00000014}.login-logo.svelte-1iqsbxn{margin-bottom:4px;font-size:48px}.login-title.svelte-1iqsbxn{color:#1d1d1f;letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.login-sub.svelte-1iqsbxn{color:#86868b;margin:0 0 16px;font-size:14px}.login-form.svelte-1iqsbxn{flex-direction:column;gap:12px;width:100%;display:flex}input.svelte-1iqsbxn{box-sizing:border-box;border:1.5px solid #0000001a;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .15s}input.svelte-1iqsbxn:focus{border-color:#007aff}.btn-primary.svelte-1iqsbxn{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;width:100%;padding:13px;font-size:15px;font-weight:600;transition:background .15s}.btn-primary.svelte-1iqsbxn:hover:not(:disabled){background:#0066d6}.btn-primary.svelte-1iqsbxn:focus-visible{outline-offset:2px;outline:3px solid #fff;box-shadow:0 0 0 5px #007aff}.btn-primary.svelte-1iqsbxn:disabled{opacity:.6;cursor:default}input.svelte-1iqsbxn:focus-visible{outline-offset:1px;border-color:#007aff;outline:3px solid #007aff}.visually-hidden.svelte-1iqsbxn{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrong-role.svelte-1qkrs0v{background:linear-gradient(170deg,#0f1b2d 0%,#2563eb 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;display:flex}.card.svelte-1qkrs0v{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:460px;padding:40px 32px 32px;position:relative;box-shadow:0 24px 64px #0000004d}.lang.svelte-1qkrs0v{color:#6e6e73;align-items:center;gap:6px;font-size:.78rem;display:flex;position:absolute;top:14px;right:14px}.lang.svelte-1qkrs0v select:where(.svelte-1qkrs0v){cursor:pointer;background:#fff;border:1px solid #d2d2d7;border-radius:8px;padding:4px 8px;font-family:inherit;font-size:.85rem}.bear.svelte-1qkrs0v{margin-bottom:12px;font-size:56px}h1.svelte-1qkrs0v{color:#1d1d1f;margin:0 0 12px;font-size:1.25rem;font-weight:700}p.svelte-1qkrs0v{color:#6e6e73;margin:0 0 24px;font-size:.95rem;line-height:1.5}.actions.svelte-1qkrs0v{flex-direction:column;gap:10px;display:flex}button.svelte-1qkrs0v{cursor:pointer;border:none;border-radius:12px;padding:12px 20px;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,color .15s}.primary.svelte-1qkrs0v{color:#fff;background:#2563eb}.primary.svelte-1qkrs0v:hover{background:#155ec2}.ghost.svelte-1qkrs0v{color:#6e6e73;background:0 0}.ghost.svelte-1qkrs0v:hover{color:#1d1d1f}.loading-screen.svelte-ndf92o{background:var(--surface-bg,#f5f5f7);flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100vh;display:flex}.bear.svelte-ndf92o{font-size:48px;animation:1.5s ease-in-out infinite svelte-ndf92o-pulse}@keyframes svelte-ndf92o-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.dots.svelte-ndf92o{gap:8px;display:flex}.dots.svelte-ndf92o span:where(.svelte-ndf92o){background:#007aff;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite svelte-ndf92o-bounce}.dots.svelte-ndf92o span:where(.svelte-ndf92o):nth-child(2){animation-delay:.2s}.dots.svelte-ndf92o span:where(.svelte-ndf92o):nth-child(3){animation-delay:.4s}@keyframes svelte-ndf92o-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.toast-stack.svelte-1ig2a9j{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.toast.svelte-1ig2a9j{pointer-events:auto;color:#fff;background:#1d1d1f;border-radius:12px;align-items:center;gap:10px;min-width:240px;max-width:420px;padding:12px 14px;font-size:14px;display:flex;box-shadow:0 6px 22px #0000002e}.toast-error.svelte-1ig2a9j{background:#ff3b30}.toast-success.svelte-1ig2a9j{background:#34c759}.toast-info.svelte-1ig2a9j{background:#007aff}.toast-icon.svelte-1ig2a9j{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:inline-flex}.toast-msg.svelte-1ig2a9j{flex:1;line-height:1.35}.toast-close.svelte-1ig2a9j{color:#ffffffd9;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.toast-close.svelte-1ig2a9j:hover{color:#fff}
