:root {
  --bg:#0f1b3d; --bg2:#1a2a5e; --card:#ffffff; --text:#0f1b3d;
  --muted:#6b7280; --border:#e5e7eb;
  --primary:#7c3aed; --primary-h:#6d28d9;
  --red:#e21b3c; --blue:#1368ce; --yellow:#d89e00; --green:#26890c;
  --r1:#e21b3c; --r2:#1368ce; --r3:#d89e00; --r4:#26890c;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
body{background:linear-gradient(135deg,#1a2a5e 0%,#7c3aed 100%);color:var(--text);min-height:100vh}
.wrap{max-width:960px;margin:0 auto;padding:24px 20px}
.wrap-sm{max-width:460px;margin:0 auto;padding:24px 20px}
.brand{color:white;text-align:center;margin:20px 0 30px}
.brand h1{font-size:44px;margin:0;letter-spacing:-1px;font-weight:900}
.brand .tag{opacity:.85;margin-top:4px;font-size:14px}
.card{background:var(--card);border-radius:16px;padding:28px;box-shadow:0 10px 40px rgba(0,0,0,.15)}
h2{margin:0 0 18px;font-size:24px}
.lbl{display:block;font-size:13px;font-weight:700;margin:12px 0 6px;color:#374151}
.ipt,.sel,.txt{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:15px;font-family:inherit;background:white}
.ipt:focus,.sel:focus,.txt:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(124,58,237,.15)}
.txt{resize:vertical;min-height:70px}
.btn{padding:12px 18px;font-size:15px;font-weight:700;border-radius:10px;border:0;cursor:pointer;background:var(--primary);color:white;transition:background .15s}
.btn:hover{background:var(--primary-h)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-full{width:100%}
.btn-sec{background:white;color:var(--primary);border:1px solid var(--primary)}
.btn-sec:hover{background:#faf5ff}
.btn-dng{background:#dc2626;color:white}
.btn-dng:hover{background:#b91c1c}
.btn-big{padding:16px 24px;font-size:18px}
.msg{padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:14px}
.msg.err{background:#fee2e2;color:#991b1b}
.msg.ok{background:#dcfce7;color:#166534}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row > *{flex:1}
.link{color:var(--primary);text-decoration:none;font-weight:600}
.link:hover{text-decoration:underline}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:white}
.topbar .who{font-size:14px;opacity:.85}
.topbar a{color:white;font-size:14px;text-decoration:none;opacity:.85}
.topbar a:hover{opacity:1;text-decoration:underline}
.quiz-card{background:white;border-radius:12px;padding:16px 18px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.quiz-card h3{margin:0 0 4px;font-size:18px}
.quiz-card .meta{font-size:13px;color:var(--muted)}
.quiz-card .acts{display:flex;gap:8px;flex-wrap:wrap}
.empty{background:rgba(255,255,255,.1);color:white;padding:30px;border-radius:12px;text-align:center}

/* EDITOR */
.q-block{background:#f9fafb;border:2px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px}
.q-block .q-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.q-block .q-top h4{margin:0;font-size:15px;color:var(--primary)}
.alt-row{display:flex;gap:10px;margin-top:8px;align-items:center}
.alt-row input[type=text]{flex:1}
.alt-check{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--green);white-space:nowrap}
.alt-color{width:28px;height:28px;border-radius:6px;flex-shrink:0}

/* HOST */
.host-pin{background:white;border-radius:16px;padding:20px 24px;text-align:center}
.host-pin .lbl2{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.host-pin .pin{font-size:72px;font-weight:900;letter-spacing:4px;color:var(--primary);line-height:1}
.host-pin .url{font-size:13px;color:var(--muted);margin-top:6px}
.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:20px}
.player-chip{background:rgba(255,255,255,.95);color:var(--text);padding:10px 14px;border-radius:10px;text-align:center;font-weight:700;font-size:14px}

/* PLAY */
.pergunta{background:white;border-radius:16px;padding:28px;font-size:22px;font-weight:700;text-align:center;margin-bottom:16px;line-height:1.4}
.timer-bar{height:10px;background:rgba(255,255,255,.3);border-radius:5px;overflow:hidden;margin-bottom:16px}
.timer-bar > div{height:100%;background:white;transition:width .2s linear}
.alts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.alt-btn{border:0;color:white;font-size:17px;font-weight:700;padding:22px 16px;border-radius:12px;cursor:pointer;min-height:80px;line-height:1.3;display:flex;align-items:center;gap:12px;text-align:left}
.alt-btn:disabled{opacity:.5;cursor:not-allowed}
.alt-btn .shape{font-size:22px;flex-shrink:0}
.alt-btn.a0{background:var(--r1)} .alt-btn.a1{background:var(--r2)}
.alt-btn.a2{background:var(--r3)} .alt-btn.a3{background:var(--r4)}
.alt-btn.selected{outline:4px solid white;transform:scale(1.02)}
.alt-btn.correct{background:var(--green) !important;box-shadow:0 0 0 4px white}
.alt-btn.wrong{opacity:.35}

.big-center{text-align:center;color:white;padding:40px 20px}
.big-center h2{font-size:32px;color:white;margin:0 0 10px}
.big-center p{font-size:18px;opacity:.9;margin:4px 0}
.big-center .num{font-size:72px;font-weight:900;line-height:1}

.ranking{background:white;border-radius:12px;padding:16px;margin-top:14px}
.ranking h3{margin:0 0 10px;font-size:16px}
.rank-row{display:flex;justify-content:space-between;padding:8px 6px;border-bottom:1px solid var(--border)}
.rank-row:last-child{border-bottom:0}
.rank-row .pos{font-weight:800;color:var(--primary);width:34px}
.rank-row .nome{flex:1}
.rank-row .pts{font-weight:700}

.stats-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:14px}
.stat-bar{background:white;border-radius:10px;padding:10px;text-align:center}
.stat-bar .bar{height:100px;background:var(--r1);border-radius:6px;display:flex;align-items:flex-end;justify-content:center;color:white;font-weight:800;padding-bottom:6px}
.stat-bar:nth-child(2) .bar{background:var(--r2)}
.stat-bar:nth-child(3) .bar{background:var(--r3)}
.stat-bar:nth-child(4) .bar{background:var(--r4)}
.stat-bar .lbl3{font-size:12px;margin-top:4px;color:var(--muted)}

@media (max-width:600px){
  .alts{grid-template-columns:1fr}
  .host-pin .pin{font-size:56px}
  .brand h1{font-size:32px}
  .alt-btn{font-size:15px;padding:18px 12px}
  .pergunta{font-size:18px;padding:20px}
}
