:root{
  --bg:#07111f;--bg2:#0f1d34;--panel:rgba(14,23,43,.70);--panel-border:rgba(255,255,255,.08);
  --text:#eff6ff;--muted:#93c5fd;--muted2:#cbd5e1;--primary:#60a5fa;--primary2:#22d3ee;
  --danger:#fb7185;--smart:#a78bfa;--smart2:#22c55e;--ai:#f59e0b;--ai2:#f97316;
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#edf4ff;--bg2:#dceaff;--panel:rgba(255,255,255,.80);--panel-border:rgba(15,23,42,.08);
    --text:#0f172a;--muted:#2563eb;--muted2:#475569;--primary:#2563eb;--primary2:#06b6d4;
    --danger:#e11d48;--smart:#7c3aed;--smart2:#16a34a;--ai:#ea580c;--ai2:#f59e0b;
  }
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;font-family:Arial,sans-serif;color:var(--text);
  background:
    radial-gradient(circle at top left,rgba(96,165,250,.20),transparent 28%),
    radial-gradient(circle at bottom right,rgba(34,211,238,.18),transparent 22%),
    linear-gradient(150deg,var(--bg),var(--bg2));
}
.bg-orb{position:fixed;border-radius:999px;filter:blur(70px);opacity:.22;z-index:0;pointer-events:none}
.orb-1{width:220px;height:220px;background:#38bdf8;top:-50px;right:-40px}
.orb-2{width:200px;height:200px;background:#a78bfa;left:-50px;bottom:40px}
.wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:18px}
.glass{background:var(--panel);border:1px solid var(--panel-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px rgba(0,0,0,.18);border-radius:24px}

.hero{display:flex;justify-content:space-between;gap:18px;padding:24px;margin-bottom:16px}
.hero-text h1{margin:4px 0 8px;font-size:34px}
.sub{margin:0;color:var(--muted2);line-height:1.5}
.mini-label{color:var(--muted);font-weight:700;letter-spacing:.08em;font-size:12px}
.hero-side{display:flex;gap:10px;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end}
.pill{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--panel-border);font-weight:700;white-space:nowrap}

.toolbar{padding:16px;margin-bottom:16px}
.toolbar-grid{display:grid;grid-template-columns:repeat(10,minmax(92px,1fr));gap:10px;align-items:end}
.field{display:flex;flex-direction:column;gap:8px}
.field span{font-size:12px;color:var(--muted2);font-weight:700}
select,.btn,.icon-btn,textarea{font-family:inherit}
select,.btn{width:100%;border:none;border-radius:16px;padding:14px 16px;font-size:15px}
select{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--panel-border)}
.btn{cursor:pointer;background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--panel-border);font-weight:700}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#082f49;border:none}
.btn-danger{background:linear-gradient(135deg,#fb7185,#f43f5e);color:#fff;border:none}
.btn-smart{background:linear-gradient(135deg,var(--smart),var(--smart2));color:#fff;border:none}
.btn-ai{background:linear-gradient(135deg,var(--ai),var(--ai2));color:#fff;border:none}

.stats-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:16px}
.stat{padding:16px 18px}
.stat .label{font-size:12px;color:var(--muted2);margin-bottom:6px}
.stat .value{font-size:28px;font-weight:800}
.stat .value.small{font-size:18px}

.progress-wrap{padding:14px 16px;margin-bottom:16px}
.progress-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--muted2);font-size:13px}
.progress-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
#progressFill{width:0%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary2));transition:width .28s ease}

.question-card{padding:22px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.badge{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--panel-border);color:var(--muted2);font-size:12px;font-weight:700}
.question{font-size:31px;line-height:1.5;margin:10px 0 8px;font-weight:800}
.furi{color:var(--muted2);margin-bottom:16px;font-size:22px}
.choices{display:grid;gap:12px}
.choice{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--panel-border);cursor:pointer;transition:transform .12s ease,border-color .18s ease,background .18s ease;font-size:20px}
.choice:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.45)}
.choice.correct{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.75)}
.choice.wrong{background:rgba(244,63,94,.16);border-color:rgba(244,63,94,.75)}
.smart-hint{margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.28);color:var(--muted2)}
.explain{margin-top:16px;padding:16px;border-radius:18px;background:rgba(96,165,250,.10);border:1px solid rgba(96,165,250,.28)}
.explain-row{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:6px 0}
.explain-row span{color:var(--muted2)}

.ai-panel{
  position:fixed;top:12px;right:12px;bottom:12px;width:min(430px,calc(100vw - 24px));
  z-index:20;background:rgba(10,18,34,.92);border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:26px;box-shadow:0 22px 50px rgba(0,0,0,.28);
  display:flex;flex-direction:column;padding:14px;
}
@media (prefers-color-scheme: light){
  .ai-panel{background:rgba(255,255,255,.94);border-color:rgba(15,23,42,.08)}
}
.ai-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.ai-title{font-size:20px;font-weight:800}
.ai-sub{font-size:12px;color:var(--muted2);line-height:1.45;margin-top:4px}
.icon-btn{border:none;background:rgba(255,255,255,.08);color:var(--text);width:40px;height:40px;border-radius:12px;cursor:pointer}
.ai-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.chip{border:none;background:rgba(255,255,255,.08);color:var(--text);padding:10px 12px;border-radius:999px;cursor:pointer;font-size:12px}
.ai-context{display:flex;gap:8px;align-items:center;margin-bottom:10px;color:var(--muted2);font-size:13px}
.ai-messages{
  flex:1;overflow:auto;padding:8px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid var(--panel-border);
  display:flex;flex-direction:column;gap:10px;
}
.msg{padding:12px 14px;border-radius:18px;max-width:92%;line-height:1.55;white-space:pre-wrap}
.msg.user{align-self:flex-end;background:rgba(249,115,22,.16);border:1px solid rgba(249,115,22,.28)}
.msg.ai{align-self:flex-start;background:rgba(96,165,250,.14);border:1px solid rgba(96,165,250,.24)}
.msg.meta{align-self:center;background:rgba(255,255,255,.08);color:var(--muted2);font-size:12px}
.ai-compose{display:grid;grid-template-columns:1fr 92px;gap:10px;margin-top:10px}
.ai-compose textarea{
  min-height:92px;max-height:180px;resize:vertical;background:rgba(255,255,255,.08);color:var(--text);
  border:1px solid var(--panel-border);border-radius:16px;padding:12px 14px;
}
.ai-status{margin-top:8px;color:var(--muted2);font-size:12px}
.hidden{display:none !important}

@media (max-width:1180px){
  .toolbar-grid{grid-template-columns:repeat(5,minmax(120px,1fr))}
  .stats-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:720px){
  .hero{flex-direction:column}
  .hero-text h1{font-size:28px}
  .toolbar-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .question{font-size:24px}
  .furi{font-size:18px}
  .choice{font-size:18px}
  .explain-row{grid-template-columns:1fr}
  .ai-panel{left:12px;right:12px;width:auto}
  .ai-compose{grid-template-columns:1fr}
}
