
:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#eef0f3;--text:#17191c;--muted:#626a73;--line:#d9dde3;--accent:#1d5f4f;--accent-2:#16483d;--ok:#157347;--ok-bg:#e8f5ee;--bad:#b42318;--bad-bg:#fff0ee;--warn:#8a5a00;--warn-bg:#fff7df;--shadow:0 10px 28px rgba(0,0,0,.07)}
@media (prefers-color-scheme:dark){:root{--bg:#111417;--surface:#191d21;--surface-2:#22272d;--text:#f3f5f7;--muted:#aab1b9;--line:#343b43;--accent:#78c8b4;--accent-2:#a0dfcf;--ok:#66d19e;--ok-bg:#143527;--bad:#ff8d86;--bad-bg:#3d1e1d;--warn:#ffd079;--warn-bg:#3c3017;--shadow:none}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{max-width:1480px;margin:auto;padding:28px 32px;display:flex;gap:32px;justify-content:space-between;align-items:end}.eyebrow{margin:0 0 4px;color:var(--accent);font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}h1{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.1;margin:0}.intro{max-width:820px;color:var(--muted);margin:10px 0 0}.progress-card{min-width:240px}.progress-card strong{font-size:.92rem}.progress-track{height:8px;margin-top:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:var(--accent);transition:width .2s}.layout{max-width:1480px;margin:auto;padding:24px 32px 60px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px}.sidebar-sticky{position:sticky;top:20px}.sidebar h2{font-size:1rem;margin:0 0 12px}.question-nav{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-height:60vh;overflow:auto;padding-right:4px}.nav-q{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;min-height:32px;font-size:.75rem;cursor:pointer}.nav-q.answered{background:var(--surface-2);border-color:var(--accent)}.nav-q.correct{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.nav-q.wrong{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.sidebar-actions{display:grid;gap:8px;margin-top:16px}button{font:inherit}.primary,.secondary{border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary:hover{background:var(--accent-2)}@media(prefers-color-scheme:dark){.primary{color:#08120f}}.secondary{border:1px solid var(--line);background:var(--surface);color:var(--text)}.questions{display:grid;gap:18px}.question-card{scroll-margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.question-card.correct{border-color:var(--ok)}.question-card.wrong{border-color:var(--bad)}.question-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.question-card-head h2{font-size:1rem;margin:0}.status-pill{font-size:.76rem;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:var(--muted)}.correct .status-pill{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.wrong .status-pill{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.question-images{display:grid;gap:6px;background:#fff;border:1px solid #e3e3e3;border-radius:8px;padding:10px;overflow:auto}.question-images img{display:block;width:100%;height:auto;min-width:620px}fieldset{border:0;padding:0;margin:14px 0 0}legend{font-size:.83rem;font-weight:750;color:var(--muted);margin-bottom:8px}.answer-grid{display:flex;flex-wrap:wrap;gap:8px}.answer-option{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 14px;background:var(--surface-2);cursor:pointer;font-weight:700}.answer-option:hover{border-color:var(--accent)}.answer-option input{width:18px;height:18px;accent-color:var(--accent)}.feedback{margin-top:14px;padding:11px 13px;border-radius:8px;font-size:.92rem}.correct .feedback{background:var(--ok-bg);color:var(--ok)}.wrong .feedback{background:var(--bad-bg);color:var(--bad)}.result-panel{margin-bottom:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow);scroll-margin-top:16px}.result-panel.pass{border-color:var(--ok)}.result-panel.fail{border-color:var(--bad)}.result-panel h2{margin:0 0 6px}.result-note{color:var(--muted);margin:10px 0 0}.result-stats{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}.stat{background:var(--surface-2);padding:10px 14px;border-radius:8px}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.finish-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}.large{padding:13px 24px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.only-wrong .question-card:not(.wrong){display:none}
@media(max-width:960px){.header-inner{display:block;padding:22px 18px}.progress-card{margin-top:18px;min-width:0}.layout{display:block;padding:18px}.sidebar{margin-bottom:18px}.sidebar-sticky{position:static}.question-nav{grid-template-columns:repeat(10,1fr);max-height:none}.sidebar-actions{grid-template-columns:1fr 1fr}.question-images img{min-width:560px}}
@media(max-width:560px){.question-nav{grid-template-columns:repeat(7,1fr)}.question-card{padding:13px}.answer-option{padding:8px 12px}.question-images{padding:6px}.question-images img{min-width:500px}}

.exam-verdict{margin:12px 0;padding:10px 14px;border-radius:8px;background:var(--surface-2)}
.question-card{overflow-anchor:none}

/* TV / 10-Foot-UI */
.tv-controls{display:none}
.answer-option:has(input:focus-visible),button:focus-visible{outline:4px solid var(--accent);outline-offset:4px}

body.tv-mode{font-size:22px;min-height:100vh;overflow-x:hidden}
body.tv-mode .app-header{position:sticky;top:0;z-index:20}
body.tv-mode .header-inner{max-width:none;padding:18px 4vw;align-items:center}
body.tv-mode .eyebrow{font-size:.72rem}
body.tv-mode h1{font-size:clamp(1.8rem,2.5vw,3rem)}
body.tv-mode .intro{display:none}
body.tv-mode .progress-card{min-width:320px}
body.tv-mode .layout{display:block;max-width:none;padding:2.2vh 4vw 4vh}
body.tv-mode .sidebar{display:none}
body.tv-mode .content{max-width:1800px;margin:0 auto}
body.tv-mode .tv-controls{display:grid;grid-template-columns:minmax(180px,auto) 1fr minmax(180px,auto);align-items:center;gap:24px;margin:0 0 2vh}
body.tv-mode .tv-controls strong{text-align:center;font-size:1.15rem}
body.tv-mode .tv-nav-btn{min-height:64px;font-size:1.05rem}
body.tv-mode .questions{display:block}
body.tv-mode .question-card{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(300px,.8fr);grid-template-rows:auto 1fr auto;gap:20px 28px;min-height:68vh;padding:26px 30px;border-radius:18px;overflow:hidden}
body.tv-mode .question-card[hidden]{display:none!important}
body.tv-mode .question-card-head{grid-column:1/-1;margin:0}
body.tv-mode .question-card-head h2{font-size:1.2rem}
body.tv-mode .status-pill{font-size:.85rem;padding:6px 12px}
body.tv-mode .question-images{grid-column:1;grid-row:2/4;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:12px;min-height:0;overflow:auto}
body.tv-mode .question-images img{width:100%;min-width:0;max-height:58vh;object-fit:contain}
body.tv-mode fieldset{grid-column:2;grid-row:2;margin:0;align-self:center}
body.tv-mode legend{font-size:.95rem;margin-bottom:14px}
body.tv-mode .answer-grid{display:grid;grid-template-columns:1fr;gap:14px}
body.tv-mode .answer-option{min-height:76px;padding:14px 20px;border-radius:14px;font-size:1.35rem;justify-content:flex-start}
body.tv-mode .answer-option input{width:30px;height:30px;flex:0 0 auto}
body.tv-mode .feedback{grid-column:2;grid-row:3;margin:0;font-size:1rem;padding:14px 16px;align-self:end}
body.tv-mode .result-panel{position:relative;margin:0 0 2vh;padding:18px 24px;border-radius:16px}
body.tv-mode .result-panel h2{font-size:1.35rem}
body.tv-mode .result-stats{margin:10px 0}
body.tv-mode .stat{padding:8px 12px}
body.tv-mode .result-actions button{min-height:52px}
body.tv-mode .finish-actions{margin-top:2vh}
body.tv-mode .finish-actions .large{min-height:60px;font-size:1rem}

@media (max-aspect-ratio:4/3){
  body.tv-mode .question-card{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto auto}
  body.tv-mode .question-images{grid-column:1;grid-row:2;max-height:48vh}
  body.tv-mode fieldset{grid-column:1;grid-row:3}
  body.tv-mode .answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tv-mode .feedback{grid-column:1;grid-row:4}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
