:root{
  --bg:#0f1117; --panel:#181c26; --panel2:#1f2532; --line:#2b3140;
  --text:#e8ecf3; --muted:#9aa4b6; --accent:#ff9900; --accent2:#ec7211;
  --green:#2fbf71; --red:#e0556e; --blue:#4a9df0;
  --shadow:0 8px 28px rgba(0,0,0,.45);
}
*{box-sizing:border-box;}
body{margin:0; background:linear-gradient(160deg,#0f1117,#141926 60%,#0f1117);
  color:var(--text); font-family:"Amazon Ember","Segoe UI",Roboto,Arial,sans-serif;
  min-height:100vh; padding:24px;}
a{color:var(--blue);}
.wrap{max-width:900px; margin:0 auto;}
header.top{display:flex; align-items:center; gap:14px; margin-bottom:18px;}
.logo{width:40px;height:40px;flex:0 0 auto;}
header.top h1{font-size:20px; margin:0; font-weight:700;}
header.top .sub{color:var(--muted); font-size:13px; margin-top:2px;}
.card{background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:22px; box-shadow:var(--shadow); margin-bottom:18px;}
h2{font-size:16px; margin:0 0 14px; font-weight:700;}
label{display:block; font-size:13px; color:var(--muted); margin-bottom:6px;}
input[type=number], select{background:var(--panel2); color:var(--text); border:1px solid var(--line);
  border-radius:9px; padding:10px 12px; font-size:15px; width:100%;}
input:focus, select:focus{outline:2px solid var(--accent); border-color:var(--accent);}
.row{display:flex; gap:16px; flex-wrap:wrap;}
.row>div{flex:1; min-width:180px;}
.btn{background:var(--accent); color:#1a1a1a; border:none; border-radius:10px;
  padding:12px 22px; font-size:15px; font-weight:700; cursor:pointer;}
.btn:hover{background:var(--accent2);}
.btn.secondary{background:var(--panel2); color:var(--text); border:1px solid var(--line);}
.btn.secondary:hover{background:var(--line);}
.btn:disabled{opacity:.5; cursor:not-allowed;}
.btnrow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
.switch{display:flex; align-items:center; gap:10px; margin:8px 0;}
.switch input{width:auto;}
.muted{color:var(--muted); font-size:13px; line-height:1.5;}
.hidden{display:none !important;}
.tag{font-size:11px; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:2px 8px; color:var(--muted);}
.qbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:14px;}
.progress{flex:1; height:8px; background:var(--panel2); border-radius:99px; overflow:hidden;}
.progress>i{display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent2)); width:0%; transition:width .3s;}
.timer{font-variant-numeric:tabular-nums; font-weight:700; font-size:18px; min-width:64px; text-align:center;
  padding:6px 10px; border-radius:9px; background:var(--panel2); border:1px solid var(--line);}
.timer.warn{color:var(--accent); border-color:var(--accent);}
.timer.danger{color:#fff; background:var(--red); border-color:var(--red);}
.qmeta{color:var(--muted); font-size:12px; margin-bottom:6px;}
.qtext{font-size:18px; line-height:1.5; margin:0 0 18px; font-weight:600;}
.opt{display:flex; gap:12px; align-items:flex-start; background:var(--panel2); border:1.5px solid var(--line);
  border-radius:11px; padding:14px 16px; margin-bottom:10px; cursor:pointer; transition:border-color .12s, background .12s;}
.opt:hover{border-color:var(--accent);}
.opt.selected{border-color:var(--accent); background:rgba(255,153,0,.08);}
.opt.correct{border-color:var(--green); background:rgba(47,191,113,.12);}
.opt.wrong{border-color:var(--red); background:rgba(224,85,110,.12);}
.opt .key{flex:0 0 auto; width:26px; height:26px; border-radius:7px; background:var(--panel);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px;}
.opt.selected .key{background:var(--accent); color:#1a1a1a; border-color:var(--accent);}
.opt.correct .key{background:var(--green); color:#0a0a0a; border-color:var(--green);}
.opt.wrong .key{background:var(--red); color:#fff; border-color:var(--red);}
.opt .txt{flex:1; font-size:15px; line-height:1.45;}
.scorebig{font-size:52px; font-weight:800; line-height:1;}
.statgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin:16px 0;}
.stat{background:var(--panel2); border:1px solid var(--line); border-radius:11px; padding:14px;}
.stat .n{font-size:24px; font-weight:800;}
.stat .l{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px;}
.topicbar{margin:10px 0;}
.topicbar .lab{display:flex; justify-content:space-between; font-size:13px; margin-bottom:5px;}
.topicbar .track{height:9px; background:var(--panel2); border-radius:99px; overflow:hidden;}
.topicbar .track>i{display:block; height:100%;}
.review-item{border:1px solid var(--line); border-radius:11px; padding:14px 16px; margin-bottom:12px; background:var(--panel2);}
.review-item .rq{font-weight:600; margin-bottom:8px;}
.badge-ok{color:var(--green); font-weight:700;}
.badge-no{color:var(--red); font-weight:700;}
.scaled-inner{display:flex; gap:20px; align-items:center; background:var(--panel2);
  border:1px solid var(--line); border-radius:12px; padding:16px 20px; flex-wrap:wrap; margin:14px 0;}
.scaled-num{font-size:42px; font-weight:800; line-height:1;}
.scaled-num small{font-size:16px; color:var(--muted); font-weight:600;}
.scaled-verdict{font-size:22px; font-weight:800; letter-spacing:1.5px; margin-bottom:4px;}
.scaled-verdict.pass{color:var(--green);}
.scaled-verdict.fail{color:var(--red);}
.trial-cta{border-color:var(--accent) !important;}
.trial-cta a{color:var(--accent);}
table.hist{width:100%; border-collapse:collapse; font-size:13px;}
table.hist th, table.hist td{text-align:left; padding:8px 10px; border-bottom:1px solid var(--line);}
table.hist th{color:var(--muted); font-weight:600; font-size:11px; text-transform:uppercase;}
.footer{text-align:center; color:var(--muted); font-size:12px; margin-top:8px;}
.errbox{background:rgba(224,85,110,.1); border:1px solid var(--red); border-radius:11px; padding:14px 16px; font-size:14px;}
