:root{--bg: #f3f6f2;--surface: #ffffff;--ink: #17211c;--ink-soft: #51605a;--accent: #1f5c3f;--accent-strong: #163f2b;--line: #d7dfd8;--crit: #a93a32;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.5}.page{max-width:640px;margin-inline:auto;padding:24px 20px 64px}.page-wide{max-width:880px}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-block-end:8px}.back-link{display:inline-block;margin-block-end:10px;color:var(--ink-soft);font-size:.88rem;text-decoration:none}.back-link:hover{color:var(--accent)}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;padding:14px 20px;border-block-end:1px solid var(--line);background:var(--surface)}.brand{font-weight:700;color:var(--accent-strong);text-decoration:none;white-space:nowrap}@media (max-width: 560px){.topbar{padding:10px 12px;gap:8px}.topbar a,.topbar button{font-size:.8rem}.brand{font-size:.85rem}.lang-switch button{font-size:.68rem;padding:3px 7px}}@media (max-width: 360px){.brand{display:none}}.lang-switch{display:flex;gap:6px}.lang-switch button{font-size:.8rem;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer}.lang-switch button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.app-version{font-size:.78rem;color:var(--ink-soft)}.app-footer{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-block-start:24px;border-block-start:1px solid var(--line);font-size:.8rem;color:var(--ink-soft)}.footer-copyright a{color:var(--ink-soft)}h1{font-size:1.5rem;margin-block-end:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;margin-block-end:16px}.field{display:flex;flex-direction:column;gap:6px;margin-block-end:14px}.field label{font-size:.85rem;color:var(--ink-soft)}.field input{padding:9px 11px;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:1rem}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field select,.field textarea{padding:9px 11px;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:1rem;font-family:inherit}.field textarea{resize:vertical;min-height:64px}.checkbox-row{display:flex;align-items:center;gap:8px;margin-block-end:14px;font-size:.92rem}.checkbox-row input{inline-size:18px;block-size:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media (max-width: 560px){.settings-grid{grid-template-columns:1fr}}.primary{display:inline-block;background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:1rem;cursor:pointer;text-decoration:none;text-align:center}.primary:hover{background:var(--accent-strong);color:#fff}.primary:disabled{opacity:.6;cursor:default}.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:.9rem;text-decoration:underline}.link.danger{color:var(--crit)}.secondary{display:inline-block;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:9px 15px;border-radius:8px;font-size:.95rem;cursor:pointer;text-decoration:none;text-align:center}.secondary:hover{border-color:var(--accent);color:var(--accent)}.form-actions{display:flex;gap:10px;align-items:center}.error{color:var(--crit);font-size:.88rem;margin-block-end:12px}.error-large{font-size:1.25rem;font-weight:700;line-height:1.4;padding:12px 16px;border:1px solid var(--crit);border-radius:8px;background:color-mix(in srgb,var(--crit) 10%,transparent)}.cohort-row,.list-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-block-end:1px solid var(--line)}.cohort-row{align-items:center}.list-row{align-items:flex-start}.cohort-row:last-child,.list-row:last-child{border-block-end:none}.cohort-name,.list-row-title{font-weight:600}.list-row-title-row{display:flex;align-items:center;gap:10px}.list-row-title a{color:inherit;text-decoration:none}.list-row-title a:hover{color:var(--accent)}.cohort-dates,.list-row-meta{font-size:.82rem;color:var(--ink-soft)}.pill{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--ink-soft)}.pill.published{background:#e1f1e7;border-color:#bfe0cc;color:var(--accent-strong)}.pill.draft{background:#f6ecd9;border-color:#ecd7ab;color:#96631a}.pill.status-in_progress{background:#e6eef5;border-color:#c3d6e8;color:#2b5a82}.pill.status-submitted{background:#e1f1e7;border-color:#bfe0cc;color:var(--accent-strong)}.pill.status-focus_loss,.pill.status-time_expired{background:#f5e3e1;border-color:#e6bdb8;color:var(--crit)}.scores-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}@media (max-width: 560px){.scores-summary{grid-template-columns:repeat(2,1fr);gap:20px}}.scores-stat-value{font-size:1.6rem;font-weight:700;color:var(--accent-strong);font-variant-numeric:tabular-nums}.scores-stat-label{font-size:.78rem;color:var(--ink-soft)}.table-scroll{overflow-x:auto}.scores-table{width:100%;border-collapse:collapse;font-size:.88rem}.scores-table th,.scores-table td{padding:8px 10px;text-align:start;white-space:nowrap;border-block-end:1px solid var(--line)}.scores-table th{color:var(--ink-soft);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.scores-table th:hover{color:var(--accent)}.scores-table tbody tr:hover{background:var(--surface-2)}.muted{color:var(--ink-soft)}.question-card{border:1px solid var(--line);border-radius:9px;padding:14px 16px;margin-block-end:12px}.question-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.question-text{font-weight:600;margin-block-end:8px}.option-list{list-style:none;margin:0;padding:0}.option-list li{display:flex;align-items:center;gap:8px;padding-block:3px;font-size:.92rem;color:var(--ink-soft)}.option-list li.correct{color:var(--accent-strong);font-weight:600}.option-row{display:flex;align-items:center;gap:8px;margin-block-end:8px}.option-row input[type=text]{flex:1;padding:8px 10px;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:.95rem}.exam-topbar{display:flex;align-items:center;justify-content:space-between;margin-block-end:12px}.exam-timer{font-family:ui-monospace,SF Mono,Consolas,monospace;font-weight:600;color:var(--accent-strong)}.exam-teacher-link{margin-block-end:10px;font-size:.78rem}.exam-teacher-link a{color:var(--ink-soft)}.exam-leave-warning{font-size:.85rem;line-height:1.4;padding:10px 14px;margin-block-end:12px;border:1px solid var(--crit);border-radius:8px;background:color-mix(in srgb,var(--crit) 8%,transparent);color:var(--crit)}.question-navigator{display:flex;flex-wrap:wrap;gap:6px;margin-block-end:16px}.nav-dot{inline-size:32px;block-size:32px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-size:.85rem;cursor:pointer}.nav-dot.answered{border-color:var(--accent);color:var(--accent-strong);background:#e1f1e7}.nav-dot.current{outline:2px solid var(--accent);outline-offset:1px;font-weight:700}.answer-choice-list{list-style:none;margin:0 0 10px;padding:0}.answer-choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;margin-block-end:8px;cursor:pointer;font-size:1rem}.answer-choice:hover{border-color:var(--accent)}.answer-choice input{inline-size:20px;block-size:20px;flex:0 0 auto;margin-block-start:2px}.answer-choice-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.warning-list{margin:0 0 18px;padding-inline-start:1.3em;display:flex;flex-direction:column;gap:12px}.warning-list li{font-size:1.02rem;line-height:1.5}.warning-good-luck{font-size:1.15rem;font-weight:700;color:var(--accent-strong);text-align:center;margin-block-end:18px}.result-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-weight:700;margin-block-end:12px}.result-badge.pass{background:#e1f1e7;color:var(--accent-strong)}.result-badge.fail{background:#f5e3e1;color:var(--crit)}.result-score{font-size:2.2rem;font-weight:700;margin-block-end:4px}.review-question{border-inline-start:4px solid var(--line);padding-inline-start:12px;margin-block-end:16px}.review-question.correct{border-inline-start-color:var(--accent)}.review-question.incorrect{border-inline-start-color:var(--crit)}.review-status{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.review-status.correct{color:var(--accent-strong)}.review-status.incorrect{color:var(--crit)}.review-option{padding:4px 0;font-size:.95rem}.review-option.selected{font-weight:600}.review-option.correct-answer{color:var(--accent-strong)}.access-code-row,.join-url-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.join-url-row{margin-block-start:8px;flex-wrap:wrap}.join-url-link{font-size:.82rem;word-break:break-all}.access-code{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:1.3rem;letter-spacing:.08em;font-weight:700;color:var(--accent-strong)}
