
/* === Tefooz Styles (responsive, TV-friendly) — vSafe === */
:root{ --bg:#0b1220; --card:#121a2b; --ink:#e5e7eb; --muted:#9ca3af; --accent:#60a5fa; }
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Tahoma,Arial,sans-serif;}

.topbar{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:10px 16px;background:#0f172a;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:40px;max-width:200px;object-fit:contain}
#screens{max-width:1200px;margin:0 auto;padding:20px}
.foot{padding:14px;text-align:center;color:var(--muted);font-size:clamp(14px,1.8vw,18px)}
.foot a{color:#93c5fd;text-decoration:none} .foot a:hover{text-decoration:underline}

.setup-card{max-width:min(920px,94vw);margin:6vh auto;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:min(5vw,28px);box-shadow:0 10px 30px rgba(0,0,0,.28);font-size:clamp(18px,3.2vw,30px)}
.setup-title{margin:0 0 12px;font-size:clamp(34px,5vw,56px);font-weight:800}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
.form-grid label{display:flex;align-items:center;gap:.6em;flex-wrap:wrap}
.form-grid select,.form-grid input[type="number"],.form-grid input[type="text"]{font-size:1em;padding:.45em .7em;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0c1220;color:var(--ink);min-width:8ch}
.names-wrap{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
.team-name-input{width:100%}

.btn{background:#1f2937;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.55em 1em;font-size:clamp(16px,2.4vw,24px);cursor:pointer}
.btn.primary{background:#2563eb;border-color:#60a5fa}
.btn.disabled, .btn:disabled{opacity:.6;pointer-events:none}

.checkrow{display:inline-flex;align-items:center;justify-content:center;padding:.2em .6em;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0e1628}

.info-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;border-radius:999px;padding:0;line-height:1;font-weight:900;letter-spacing:-.02em;color:#fff;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border:1px solid #93c5fd;box-shadow:0 2px 6px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.3);cursor:pointer}
.help-bubble{position:fixed;display:none;max-width:min(520px,90vw);background:#111827;color:#fff;padding:10px 14px;border-radius:12px;font-size:clamp(14px,1.8vw,20px);box-shadow:0 6px 20px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);z-index:9999}

.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:14px}
.card{position:relative;background:linear-gradient(180deg,#0f1627,#0c1220);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease}
.card:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.2)}
.card.selected{outline:2px solid var(--accent)}
.card .thumb{width:100%;height:120px;border-radius:12px;background:#0b1220 center/cover no-repeat;margin-bottom:8px}
.card-title{font-weight:700;text-align:center}
.ratio-badge{position:absolute;top:8px;left:8px;background:#111827;color:#fff;padding:4px 10px;border-radius:999px;font-size:.9rem;box-shadow:0 2px 4px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.15);pointer-events:none}

.qwrap{max-width:min(1100px,95vw);margin:4vh auto;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:min(5vw,28px)}
.qmeta{color:var(--muted);font-size:clamp(16px,2.6vw,24px)}
.qtimer{color:#93c5fd;font-weight:700;margin-top:6px}
.qtext{font-size:clamp(26px,6.4vw,100px);line-height:1.5;margin:12px 0}
.choices-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.choice-btn{font-size:clamp(20px,4.8vw,46px);padding:clamp(12px,3.2vw,24px) clamp(18px,4vw,34px);border-radius:18px;background:#1f2937;color:#fff;border:1px solid rgba(255,255,255,.15);cursor:pointer}
.choice-btn.selected{outline:2px solid var(--accent);box-shadow:0 0 0 3px rgba(96,165,250,.35) inset}

.answer-row{display:flex;gap:10px;margin-top:12px}
#answerInput{flex:1;font-size:clamp(20px,3.6vw,36px);padding:.5em .7em;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#0c1220;color:var(--ink)}

.res-card{max-width:min(900px,94vw);margin:6vh auto;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:min(5vw,28px);text-align:center}
.res-card .good{color:#86efac;font-size:clamp(24px,4.6vw,48px);font-weight:800}
.res-card .bad{color:#fca5a5;font-size:clamp(24px,4.6vw,48px);font-weight:800}
#correctAnswer{margin-top:10px;font-size:clamp(16px,3vw,24px)}
.overrideBox{margin-top:14px}

/* Fallback message if JS fails */
.no-js-msg{max-width:900px;margin:10vh auto;background:#1f2937;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:14px;padding:20px;text-align:center}
