:root{
  --bg:#0f1420; --panel:#171e2e; --panel2:#1d2740; --ink:#e8ecf4; --mut:#9aa6bf;
  --line:#28324a; --acc:#5b8cff; --acc2:#3ad0a0; --warn:#ffb454; --bad:#ff6b6b;
  --r:14px;
}
*{box-sizing:border-box}
html[hidden],[hidden]{display:none!important}
body{margin:0;background:linear-gradient(180deg,#0f1420,#0c111b);color:var(--ink);
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}
.qz-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}
.qz-brand{color:var(--ink);text-decoration:none;font-weight:700}
.qz-lang button{background:transparent;border:1px solid var(--line);color:var(--mut);
  padding:4px 10px;border-radius:8px;margin-left:6px;cursor:pointer;font-weight:600}
.qz-lang button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.qz-wrap{flex:1;width:100%;max-width:720px;margin:0 auto;padding:24px 18px 48px}
.qz-foot{text-align:center;color:var(--mut);font-size:13px;padding:18px;border-top:1px solid var(--line)}

.qz-h1{font-size:28px;margin:8px 0 6px;letter-spacing:-.01em}
.qz-lead{color:var(--mut);margin:0 0 20px}
.qz-self{color:var(--mut);font-size:13px;margin:-4px 0 18px}
.qz-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:0 0 16px}
.qz-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-bottom:12px}

.qz-exams{display:grid;gap:10px}
.qz-exam{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--ink);cursor:pointer;transition:.15s}
.qz-exam:hover{border-color:var(--acc);transform:translateY(-1px)}
.qz-exam-name{font-weight:700;font-size:17px}
.qz-exam-lvl{color:var(--mut);font-size:13px}

.qz-progress{height:6px;background:var(--panel2);border-radius:99px;overflow:hidden;margin-bottom:10px}
.qz-progress-fill{height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .25s}
.qz-step-no{color:var(--mut);font-size:13px;margin-bottom:10px}
.qz-q{font-size:21px;margin:0 0 6px}
.qz-hint{color:var(--mut);font-size:14px;margin:0 0 16px}
.qz-opts{display:grid;gap:10px}
.qz-opt{display:flex;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;padding:14px 16px;color:var(--ink);cursor:pointer;font-size:16px;font-weight:600;transition:.12s}
.qz-opt:hover{border-color:var(--acc)}
.qz-opt.sel{border-color:var(--acc);background:#1c2741}
.qz-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--mut);flex:none}
.qz-dot.d1{background:conic-gradient(var(--warn) 50%,transparent 0);border-color:var(--warn)}
.qz-dot.d2{background:var(--acc2);border-color:var(--acc2)}
.qz-nav{display:flex;justify-content:space-between;margin-top:14px}
.qz-ghost{background:transparent;border:1px solid var(--line);color:var(--mut);padding:8px 14px;border-radius:8px;cursor:pointer}
.qz-restart{margin:6px auto 0;display:block}

.qz-result-top{display:flex;gap:20px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.qz-gauge{width:150px;height:150px;flex:none}
.qz-gauge-bg{fill:none;stroke:var(--panel2);stroke-width:12}
.qz-gauge-fg{fill:none;stroke:url(#g);stroke:var(--acc);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .5s}
.qz-gauge-pct{fill:var(--ink);font-size:26px;font-weight:800;text-anchor:middle}
.qz-gauge-sub{fill:var(--mut);font-size:9px;text-anchor:middle;text-transform:uppercase;letter-spacing:.08em}
.qz-grade{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 22px;flex:1;min-width:160px}
.qz-grade-label{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.qz-grade-val{font-size:34px;font-weight:800;line-height:1.1;margin:4px 0}
.qz-grade-sub{color:var(--acc2);font-weight:600}

.qz-bar-row{display:flex;align-items:center;gap:12px;margin:8px 0}
.qz-bar-name{flex:1;font-size:14px}
.qz-bar{flex:1.4;height:10px;background:var(--panel2);border-radius:99px;overflow:hidden}
.qz-bar-fill{height:100%;border-radius:99px;transition:width .5s}
.qz-bar-fill.low{background:var(--bad)}.qz-bar-fill.mid{background:var(--warn)}.qz-bar-fill.hi{background:var(--acc2)}
.qz-bar-pct{width:42px;text-align:right;color:var(--mut);font-size:13px;font-variant-numeric:tabular-nums}

.qz-recs .qz-rec{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.qz-recs .qz-rec:first-of-type{border-top:none}
.qz-rec-n{width:26px;height:26px;flex:none;border-radius:50%;background:var(--acc);color:#fff;font-weight:700;display:grid;place-items:center}
.qz-rec-t{font-weight:700}
.qz-rec-w{color:var(--mut);font-size:14px}

.qz-cta{background:linear-gradient(135deg,#1c2741,#16203a);border:1px solid var(--acc);border-radius:var(--r);padding:22px}
.qz-cta h3{margin:0 0 6px;font-size:20px}
.qz-cta p{color:var(--mut);margin:0 0 16px}
.qz-cta-row{display:flex;gap:10px;flex-wrap:wrap}
.qz-btn{display:inline-block;padding:12px 20px;border-radius:10px;text-decoration:none;font-weight:700;
  border:1px solid var(--line);color:var(--ink);background:var(--panel2)}
.qz-btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}
.qz-btn:hover{transform:translateY(-1px)}

@media(max-width:560px){.qz-h1{font-size:23px}.qz-result-top{justify-content:center}}
