:root{--ink:#12203a;--mut:#5a6474;--line:#e2e6ec;--soft:#f3f5f8;--acc:#f4b400;--acc-t:#9a6b00;--green:#5bb543;--red:#e5312b}
*{box-sizing:border-box}
body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.45}
a{color:#0b74c4}a:hover{color:#d9530f}
.top{border-bottom:2px solid var(--line)}
.top-in{max-width:920px;margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand-row{display:flex;align-items:center;gap:14px}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;display:block}
.dots i:nth-child(1){background:#5bb543}.dots i:nth-child(2){background:#1a8fd6}.dots i:nth-child(3){background:#f4b400}.dots i:nth-child(4){background:#f26b21}.dots i:nth-child(5){background:#e5312b}
.kicker{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.14em;color:var(--mut)}
.logo{height:56px;display:block}
.wrap{max-width:920px;margin:0 auto;padding:32px 24px 80px}
.hero h1{font-size:clamp(36px,6vw,56px);line-height:1.05;margin:0;font-weight:800;letter-spacing:-.025em}
.hero .sub{color:var(--mut);font-size:18px;margin:10px 0 0}
.meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.meta>*{font-family:'IBM Plex Mono',monospace;font-size:14px;padding:8px 16px;border-radius:30px;background:var(--soft);text-decoration:none;color:var(--ink)}
.timer{background:var(--ink)!important;color:#fff!important}
.card{background:var(--soft);border-radius:18px;padding:28px;margin-top:28px;display:flex;flex-direction:column;gap:18px;max-width:520px}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
.opt{color:var(--mut);font-weight:500}
input[type=text],input:not([type]),input[type=email],input[type=password]{font:inherit;font-weight:500;padding:12px 14px;border:2px solid #c8cfd9;border-radius:10px;background:#fff}
input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px #f4b40033}
.btn{font:inherit;font-weight:700;font-size:16px;padding:13px 30px;border:0;border-radius:40px;background:var(--acc);color:var(--ink);cursor:pointer;align-self:flex-start;text-decoration:none;display:inline-block}
.btn:hover{background:#e0a600;color:var(--ink)}
.err{margin:0;color:var(--red);font-weight:600}
.section{display:flex;align-items:center;gap:12px;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:40px 0 4px;font-weight:600}
.section i{width:12px;height:12px;border-radius:50%;background:var(--acc);display:block}
.q{border:0;border-top:1px solid var(--line);margin:0;padding:20px 0;min-width:0}
.q legend,.q .legend{font-weight:600;font-size:17px;display:flex;gap:14px;padding:0;margin-bottom:12px;float:left;width:100%}
.q .opts{clear:both}
.num{font-family:'IBM Plex Mono',monospace;color:var(--acc-t);flex:none;width:30px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-left:44px}
.opt-row{flex-direction:row;align-items:flex-start;gap:12px;font-weight:500;font-size:16px;padding:12px 14px;border:2px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
.opt-row:hover{border-color:#c8cfd9}
.opt-row input{position:absolute;opacity:0;pointer-events:none}
.letter{width:26px;height:26px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;flex:none}
.opt-row:has(input:checked){border-color:var(--acc);background:#fff8e1}
.opt-row:has(input:checked) .letter{background:var(--ink);color:#fff}
.opt-row:has(input:focus-visible){box-shadow:0 0 0 4px #f4b40055}
.submit-bar{position:sticky;bottom:0;background:#fff;border-top:2px solid var(--line);margin-top:24px;padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}
#progress{font-family:'IBM Plex Mono',monospace;color:var(--mut)}
.result .of{color:var(--mut);font-weight:600}
.bar{height:12px;background:var(--soft);border-radius:8px;margin-top:20px;overflow:hidden}.bar i{display:block;height:100%;background:var(--acc)}
.review .ans{display:flex;flex-direction:column;gap:6px;padding-left:44px;font-size:15px}
.review .tag{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:4px 12px;border-radius:20px;align-self:flex-start}
.review.right .tag{background:#e3f4dd;color:#2f6e22}.review.wrong .tag{background:#fde3e1;color:#a3221c}
.why{padding-left:44px;color:var(--mut);font-size:15px;margin:8px 0 0}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:10px 12px 10px 0;border-bottom:2px solid var(--ink)}
td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.foot{max-width:920px;margin:0 auto;padding:18px 24px;border-top:2px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--mut)}
@media (max-width:640px){.opts{grid-template-columns:1fr;padding-left:0}.review .ans,.why{padding-left:0}.logo{height:42px}.kicker{display:none}}
