:root{--bg:#f1f5f9;--bg-accent:#e0e7ff;--surface:#fff;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--accent:#4f46e5;--accent-soft:#4f46e514;--accent-border:#4f46e538;--shadow:0 1px 3px #0f172a0f, 0 12px 32px #0f172a14;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}.quiz-shell{box-sizing:border-box;-webkit-user-select:none;user-select:none;background:radial-gradient(1200px 600px at 50% -20%, var(--bg-accent), transparent 55%), var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100svh;padding:clamp(24px,5vw,48px) 16px 56px;display:flex}.quiz-card{background:var(--surface);width:100%;max-width:560px;box-shadow:var(--shadow);border:1px solid var(--border);text-align:left;border-radius:16px;padding:clamp(24px,4vw,32px)}.quiz-card--message{text-align:center}.quiz-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:.75rem;font-weight:600}.quiz-title{color:var(--text);letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(1.5rem,4vw,1.75rem);font-weight:700;line-height:1.25}.quiz-desc-block{margin:0 0 28px}.quiz-desc-block .quiz-desc{margin:0 0 10px}.quiz-desc{white-space:pre-wrap;color:var(--text-muted);margin:0 0 28px;font-size:1rem;line-height:1.6}.quiz-desc-toggle{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-items:center;margin:0;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline;transition:color .15s;display:inline-flex}.quiz-desc-toggle:hover{color:#4338ca}.quiz-desc-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.quiz-meta{flex-direction:column;gap:0;margin:0;display:flex}.quiz-meta-row{border-bottom:1px solid var(--border);gap:4px;padding:14px 0;display:grid}.quiz-meta-row:first-of-type{padding-top:0}.quiz-meta-row:last-of-type{border-bottom:none;padding-bottom:0}.quiz-meta-row dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:600}.quiz-meta-row dd{font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-size:1.05rem;font-weight:500}.quiz-countdown{background:var(--accent-soft);border:1px solid var(--accent-border);text-align:center;border-radius:12px;margin-top:24px;padding:20px 20px 22px}.quiz-countdown-label{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.7rem;font-weight:600}.quiz-countdown-value{font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.02em;margin:0;font-size:clamp(1.35rem,4.5vw,1.85rem);font-weight:700}.quiz-loading,.quiz-message{color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.55}.quiz-loading{text-align:center}.quiz-message{color:var(--text)}.quiz-actions{border-top:1px solid var(--border);margin-top:28px;padding-top:22px}.quiz-start-btn{width:100%;font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:999px;margin:0;padding:14px 20px;font-size:1rem;font-weight:600;transition:background .15s,transform .1s;box-shadow:0 1px 2px #0f172a14}.quiz-start-btn:hover{background:#4338ca}.quiz-start-btn:active{transform:scale(.99)}.quiz-start-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.quiz-start-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.quiz-start-btn:disabled:hover{background:var(--accent)}.quiz-card--quiz{padding-top:20px}.exam-quiz-toolbar{border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;margin:0 0 20px;padding-bottom:16px;display:flex}.exam-timer{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:inline-flex}.exam-timer-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem;font-weight:600}.exam-timer-value{color:var(--text);font-size:1.35rem;font-weight:700}.exam-timer-value--warn{color:#c2410c}.exam-timer-value--zero{color:#b91c1c}.exam-form-title{color:var(--text);margin:0 0 20px;font-size:1.2rem;font-weight:700}.exam-form{flex-direction:column;gap:16px;display:flex}.exam-field{text-align:left;flex-direction:column;gap:6px;display:flex}.exam-field--block{margin-top:4px}.exam-field-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.exam-input,.exam-textarea{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);-webkit-user-select:text;user-select:text;background:#fff;border-radius:10px;margin:0;padding:10px 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.exam-textarea{resize:vertical;min-height:96px;line-height:1.45}.exam-input:focus-visible,.exam-textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.exam-input:disabled,.exam-textarea:disabled{opacity:.65;cursor:not-allowed}.exam-form-error{color:#991b1b;background:#b91c1c14;border:1px solid #b91c1c33;border-radius:10px;margin:0;padding:10px 12px;font-size:.95rem}.exam-progress{color:var(--text-muted);margin:0 0 12px;font-size:.85rem;font-weight:600}.exam-question-title{color:var(--text);margin:0 0 20px;font-size:1.2rem;font-weight:600;line-height:1.35}.exam-options{flex-direction:column;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:flex}.exam-option-label{border:1px solid var(--border);cursor:pointer;background:#fafafa;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.exam-option-label:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:#fff}.exam-option-input{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.exam-option-text{color:var(--text);line-height:1.45}.exam-question-actions{margin-top:8px}.exam-save-error{background:#b91c1c0f;border:1px solid #b91c1c40;border-radius:12px;margin:0 0 16px;padding:12px 14px}.exam-save-error-text{color:#991b1b;margin:0 0 10px;font-size:.95rem;line-height:1.45}.exam-retry-btn{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--surface);cursor:pointer;border-radius:999px;margin:0;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s}.exam-retry-btn:hover:not(:disabled){border-color:var(--text-muted);background:#f1f5f9}.exam-retry-btn:disabled{opacity:.5;cursor:not-allowed}
