:root{
  --bg:#0b0d10; --card:#12151a; --text:#e9eef5; --muted:#a8b2c1;
  --accent:#6ee7ff; --accent2:#8b5cf6; --ok:#22c55e; --bad:#ef4444;
  --shadow:0 10px 25px rgba(0,0,0,.35); --radius:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;
  background: radial-gradient(80% 60% at 50% 0%, #12151a 0%, #0b0d10 60%, #080a0e 100%) fixed;
  color:var(--text);
}
.wrap{max-width:980px;margin:32px auto;padding:0 16px}
.site-header,.site-footer{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1100px;margin:0 auto;padding:12px 16px;color:var(--muted)
}
.brand{display:flex;align-items:center;gap:10px}
.logo{font-size:22px}
.title{font-weight:800;color:var(--text)}
.nav{display:flex;gap:10px;flex-wrap:wrap}
.ghost{
  background:transparent;border:1px solid #233; color:var(--text);
  padding:8px 12px;border-radius:999px;cursor:pointer
}
.ghost:hover{border-color:#345}
.ghost.bad{border-color:#442}
.card{
  background:linear-gradient(180deg,#131720, #0f141b);
  border:1px solid #1b2430;border-radius:var(--radius); padding:20px; box-shadow:var(--shadow)
}
.hero h1{margin:0 0 6px 0;font-size:26px}
.muted{color:var(--muted);margin:0 0 16px}
.controls{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start
}
@media (min-width:900px){
  .controls{grid-template-columns:auto auto 1fr auto auto}
}
.select{display:flex;flex-direction:column;gap:6px}
select, input[type="email"], textarea{
  background:#0c1117;border:1px solid #1d2734;color:var(--text);
  padding:10px 12px;border-radius:12px;width:100%
}
.primary{
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  color:#031018;border:0;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer
}
.primary:disabled{opacity:.5;cursor:not-allowed}
.timer{
  font-size:22px;font-weight:800;padding:6px 12px;border-radius:999px;border:1px solid #233;min-width:64px;text-align:center;justify-self:end
}
.submodes{display:flex;gap:8px;flex-wrap:wrap}
.subbtn{
  background:#0c1117;border:1px solid #1d2734;color:var(--text);
  padding:8px 10px;border-radius:10px;cursor:pointer
}
.subbtn.active{border-color:var(--accent)}
.hidden{display:none}
.question{font-size:20px;margin-bottom:12px}
.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.options{grid-template-columns:1fr}}
.option{
  background:#0c1117;border:1px solid #1d2734;color:var(--text);
  padding:12px;border-radius:12px;cursor:pointer;text-align:left
}
.option:hover{border-color:#2a3647}
.option.correct{border-color:var(--ok)}
.option.wrong{border-color:var(--bad)}
.feedback{margin-top:10px;min-height:24px}
.progress{margin-top:8px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:700px){.stats{grid-template-columns:1fr 1fr}}
.results{display:grid;gap:8px}
.result-item{
  display:flex;justify-content:space-between;gap:8px;
  background:#0c1117;border:1px solid #1d2734;border-radius:12px;padding:10px
}
.site-footer{justify-content:center;margin-top:24px;color:var(--muted)}
/* modal */
dialog{border:0;background:transparent}
.modal{max-width:560px;margin:auto}
.row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
