/* ====== Base & Theme ====== */
:root{
  --bg:#0b0c10; --panel:#111318; --elev:#171a20;
  --text:#e6e6e6; --muted:#aab1b8;
  --brand:#4cc9f0; --accent:#22c55e; --focus:#f59e0b;
  --ok:#22c55e; --bad:#ef4444;
  --radius:16px; --shadow:0 10px 24px rgba(0,0,0,.35);
}
@media (prefers-color-scheme: light){
  :root{--bg:#f8fafc;--panel:#ffffff;--elev:#f1f5f9;--text:#101828;--muted:#475569}
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

/* ====== Layout ====== */
.container{max-width:980px;margin-inline:auto;padding:0 18px}
.hidden{display:none !important}

/* ====== Header/Footer ====== */
.site-header{padding:22px 0 6px;border-bottom:1px solid rgba(255,255,255,.06)}
.site-header .subtitle{color:var(--muted);margin:.2rem 0 0}
.site-footer{padding:28px 0;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);text-align:center}

/* ====== Cards ====== */
.card{
  background:var(--panel);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px; margin:18px 0;
}

/* ====== Form (home) ====== */
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:10px 0 12px}
.label{display:block;font-weight:600;margin-bottom:6px}
.input{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:var(--elev);color:var(--text);outline:none
}
.input:focus{box-shadow:0 0 0 2px var(--focus)}

/* ====== Status bar (game) ====== */
.statusbar{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.06);
  padding:10px 12px;border-radius:12px;margin-bottom:12px
}
#q-timer{
  font-weight:700;font-variant-numeric:tabular-nums;
  padding:6px 12px;border-radius:999px;background:var(--elev);
  border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;gap:8px
}
.badge-timebonus{margin-left:8px;color:var(--ok);font-weight:700}

/* Timer pulsando quando baixo */
@keyframes pulseTimer {0%{transform:scale(1)}50%{transform:scale(1.06)}100%{transform:scale(1)}}
#q-timer[data-low="true"]{animation:pulseTimer .9s ease-in-out infinite;background:#2a1212;border-color:rgba(239,68,68,.4)}

/* ====== Pergunta & Opções ====== */
#q-title{font-size:1.15rem;margin:.2rem 0 .6rem}
.options{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.options li{
  background:var(--elev);border:1px solid rgba(255,255,255,.08);
  padding:12px 14px;border-radius:12px;cursor:pointer;
  transition:transform .08s ease, border-color .2s ease, background .2s ease; outline:none
}
.options li:hover{transform:translateY(-1px)}
.options li:focus-visible{box-shadow:0 0 0 2px var(--focus)}
.options li.selected{
  border-color:color-mix(in oklab,var(--brand) 70%, #fff 0%);
  box-shadow:0 0 0 2px color-mix(in oklab,var(--brand) 55%, #000 0%)
}
.options li.correct{
  background:color-mix(in oklab,var(--ok) 18%, transparent);
  border-color:color-mix(in oklab,var(--ok) 55%, #000 0%)
}
.options li.wrong{
  background:color-mix(in oklab,var(--bad) 18%, transparent);
  border-color:color-mix(in oklab,var(--bad) 55%, #000 0%)
}
.feedback{margin-top:8px;color:var(--muted);min-height:1.5em}

/* ====== Ações ====== */
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:var(--elev);color:var(--text);font-weight:600;text-decoration:none
}
.btn.primary{background:var(--brand);color:#06121a;border-color:transparent}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn:not(:disabled):hover{transform:translateY(-1px)}

/* ====== Resultado ====== */
#screen-result p{margin:.3rem 0}
#btn-share{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:10px;background:var(--brand);
  color:#06121a;text-decoration:none;font-weight:700
}

/* ====== Ads ====== */
.ad-slot{margin:18px 0;display:grid;place-items:center}
.ad-slot .label{font-size:.8rem;color:var(--muted);margin-bottom:6px}

/* ====== Responsivo ====== */
@media (max-width:640px){
  #q-title{font-size:1.05rem}
  .options li{font-size:.98rem}
}
