:root{
  --bg:#080b18;
  --bg2:#11162b;
  --card:rgba(255,255,255,.09);
  --card2:rgba(255,255,255,.14);
  --text:#f8fafc;
  --muted:#b7c0d8;
  --line:rgba(255,255,255,.14);
  --yellow:#facc15;
  --cyan:#22d3ee;
  --green:#22c55e;
  --red:#ef4444;
  --radius:24px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{background:
  radial-gradient(circle at top left, rgba(34,211,238,.25), transparent 34vw),
  radial-gradient(circle at bottom right, rgba(250,204,21,.18), transparent 36vw),
  linear-gradient(135deg, var(--bg), var(--bg2));
}
button,input,select{font:inherit}
button{cursor:pointer;border:0}
a{color:inherit}
.hidden{display:none!important}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 80px rgba(0,0,0,.28);backdrop-filter: blur(14px)}
.muted{color:var(--muted)}
.small{font-size:.9rem}.full{width:100%}.soft-line{border:0;border-top:1px solid var(--line);margin:18px 0}
.eyebrow,.screen-kicker{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-weight:800}
.field-label{display:block;margin:14px 0 7px;color:#dbeafe;font-weight:800;font-size:.88rem}
.text-input{width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.24);color:var(--text);border-radius:16px;padding:14px 15px;outline:none}
.text-input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(34,211,238,.14)}
.primary-btn,.secondary-btn,.success-btn,.danger-btn,.danger-soft-btn,.ghost-btn,.tiny-btn{border-radius:16px;padding:13px 16px;font-weight:900;color:var(--text);transition:.18s transform,.18s filter,.18s background;border:1px solid transparent}
.primary-btn{background:linear-gradient(135deg,#facc15,#f97316);color:#111827}.secondary-btn{background:rgba(255,255,255,.13);border-color:var(--line)}.success-btn{background:linear-gradient(135deg,#22c55e,#16a34a)}.danger-btn{background:linear-gradient(135deg,#ef4444,#b91c1c)}.danger-soft-btn{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.34);color:#fecaca}.ghost-btn,.tiny-btn{background:rgba(255,255,255,.08);border-color:var(--line);color:#dbeafe}.tiny-btn{padding:10px 12px;font-size:.82rem}.small-btn{padding:8px 11px;border-radius:12px;font-size:.82rem}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-text,.answer-msg.bad{color:#fecaca}.answer-msg.ok{color:#bbf7d0}

/* JUGADOR */
.player-body{display:grid;place-items:center;padding:18px}.player-shell{width:min(520px,100%)}.player-card{padding:26px}.brand-mini{font-weight:1000;letter-spacing:-.04em;font-size:2.1rem;line-height:.86;margin-bottom:20px}.brand-mini span{color:var(--yellow)}.player-card h1{font-size:clamp(2rem,9vw,3rem);line-height:.95;margin:0 0 8px}.team-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.team-choice{background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.15);color:#fff;border-radius:18px;padding:15px 10px;font-weight:1000;position:relative;overflow:hidden}.team-choice:before{content:"";position:absolute;inset:0;background:var(--team-color);opacity:.25}.team-choice.selected{border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.1)}.team-choice{isolation:isolate}.team-choice *{position:relative}.player-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.player-top h2{margin:0;font-size:1.6rem}.team-pill{padding:10px 14px;border-radius:999px;font-weight:1000;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.2)}.waiting-box{min-height:350px;display:grid;place-items:center;text-align:center}.pulse-dot{width:22px;height:22px;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 0 rgba(250,204,21,.5);animation:pulse 1.5s infinite}@keyframes pulse{70%{box-shadow:0 0 0 24px rgba(250,204,21,0)}}.round-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.status-badge{background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.3);padding:7px 10px;border-radius:999px;color:#a5f3fc;font-weight:900;font-size:.82rem}.player-question{font-size:clamp(1.6rem,7vw,2.6rem);line-height:1.02;margin:0 0 18px}.player-options{display:grid;gap:10px}.answer-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:18px;padding:15px;font-weight:900}.answer-btn span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.18);color:var(--yellow)}.answer-btn.selected-answer{border-color:var(--yellow);background:rgba(250,204,21,.16)}.answer-btn.correct{border-color:#22c55e;background:rgba(34,197,94,.18)}.answer-btn.wrong{border-color:#ef4444;background:rgba(239,68,68,.18)}.player-actions{display:flex;gap:10px;justify-content:space-between;margin-top:20px}.player-actions button{flex:1}

/* PANTALLA */
.screen-body{overflow:hidden}.screen-shell{height:100vh;padding:2.2vh 2.2vw;display:grid;grid-template-rows:auto auto 1fr auto;gap:1.8vh}.screen-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.screen-header h1{font-size:clamp(2rem,4.8vw,5.7rem);letter-spacing:-.08em;line-height:.85;margin:.3vh 0;text-transform:uppercase}.screen-header p{margin:0;color:var(--muted);font-size:clamp(.95rem,1.25vw,1.4rem)}.screen-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1vw}.score-team{background:linear-gradient(135deg, color-mix(in srgb, var(--team-color), transparent 35%), rgba(255,255,255,.07));border:1px solid color-mix(in srgb, var(--team-color), white 15%);border-radius:20px;padding:1.2vh 1vw;display:flex;justify-content:space-between;align-items:center;box-shadow:0 18px 50px rgba(0,0,0,.2)}.score-name{font-weight:1000;font-size:clamp(.9rem,1.6vw,1.7rem)}.score-points{font-weight:1000;font-size:clamp(2rem,4vw,4.8rem);line-height:.9}.screen-grid{min-height:0;display:grid;grid-template-columns:1fr minmax(300px,25vw);gap:1.5vw}.main-question-card,.answers-card{background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:26px;padding:1.8vw;min-height:0}.main-question-card{display:flex;flex-direction:column}.question-meta{font-weight:900;color:#a5f3fc;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.78rem,1vw,1rem)}.main-question-card h2{font-size:clamp(2rem,5vw,6rem);line-height:.95;letter-spacing:-.055em;margin:1vh 0 2vh}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:1vw;margin-top:auto}.screen-option{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:1.4vh 1.2vw;display:flex;align-items:center;gap:12px;font-size:clamp(1rem,1.7vw,2rem)}.screen-option span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(250,204,21,.18);color:var(--yellow);font-weight:1000}.screen-option.correct{background:rgba(34,197,94,.26);border-color:#22c55e;box-shadow:0 0 40px rgba(34,197,94,.18)}.explain-box{margin-top:1.2vh;border-radius:18px;background:rgba(34,197,94,.13);border:1px solid rgba(34,197,94,.35);padding:1.2vh 1vw;color:#dcfce7;font-size:clamp(.95rem,1.3vw,1.35rem)}.answers-card{display:flex;flex-direction:column}.answers-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.answers-head h3{margin:0;font-size:clamp(1.2rem,1.8vw,2rem)}.answers-head span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:14px;background:var(--yellow);color:#111827;font-weight:1000}.answers-list{display:grid;gap:9px;overflow:auto;padding-right:4px}.answer-row{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-left:6px solid var(--team-color);border-radius:16px;padding:10px}.answer-row strong{display:block}.answer-row span{display:block;color:var(--muted);font-size:.88rem}.answer-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.14);font-weight:1000}.answer-row.is-correct .answer-rank{background:#22c55e;color:#052e16}.answer-row.is-wrong .answer-rank{background:#ef4444;color:#fff}.empty{color:var(--muted);padding:16px;border:1px dashed var(--line);border-radius:16px;text-align:center}.screen-footer{display:flex;justify-content:space-between;gap:20px;color:#cbd5e1;font-weight:800;font-size:clamp(.85rem,1.1vw,1.1rem)}

/* ADMIN */
.admin-body{padding:18px;overflow:auto}.admin-shell{max-width:1320px;margin:0 auto}.admin-header{padding:22px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.admin-header h1{margin:4px 0;font-size:clamp(1.8rem,4vw,3.6rem);letter-spacing:-.06em}.admin-links{display:flex;gap:10px;flex-wrap:wrap}.admin-links a{background:rgba(255,255,255,.1);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;font-weight:900}.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.admin-panel{padding:20px}.admin-panel h2{margin:0 0 14px;font-size:1.4rem}.control-panel{grid-row:span 2}.admin-row{margin-bottom:12px}.admin-question-box{background:rgba(0,0,0,.24);border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}.admin-question-box strong{display:block;font-size:1.2rem;margin-bottom:10px}.admin-question-box ol{margin:8px 0;padding-left:24px}.admin-correct{color:#bbf7d0;font-weight:1000}.admin-q-meta{color:#a5f3fc;font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;margin-bottom:6px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.button-grid.two{grid-template-columns:1fr 1fr}.admin-scores{display:grid;gap:10px}.admin-score-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:rgba(255,255,255,.08);border-left:7px solid var(--team-color);border-radius:16px;padding:12px}.admin-score-row strong,.admin-player-row strong{display:block}.admin-score-row span,.admin-player-row span{display:block;color:var(--muted);font-size:.9rem}.score-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.score-buttons button{background:rgba(255,255,255,.12);color:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 9px;font-weight:900}.team-editor{display:grid;gap:10px}.team-edit-row{display:grid;grid-template-columns:1fr 56px auto;gap:8px}.color-input{width:56px;height:49px;border:0;background:transparent;padding:0}.players-panel{grid-column:span 2}.panel-title-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.players-list{display:grid;gap:10px;max-height:420px;overflow:auto}.admin-player-row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(255,255,255,.08);border-left:7px solid var(--team-color);border-radius:16px;padding:12px}.danger-zone{grid-column:span 2}

@media (max-width:900px){
  .admin-grid{grid-template-columns:1fr}.players-panel,.danger-zone{grid-column:auto}.admin-header{align-items:flex-start;flex-direction:column}.button-grid{grid-template-columns:1fr}.scoreboard{grid-template-columns:1fr 1fr}.screen-grid{grid-template-columns:1fr;grid-template-rows:1fr minmax(170px,28vh)}.answers-card{padding:14px}.main-question-card h2{font-size:clamp(1.6rem,6vw,3rem)}.option-grid{grid-template-columns:1fr}.screen-footer{display:none}.screen-body{overflow:auto}.screen-shell{height:auto;min-height:100vh}.screen-header{flex-direction:column}.screen-tools{justify-content:flex-start}.team-edit-row{grid-template-columns:1fr 50px auto}
}
@media (max-width:520px){
  .team-picker{grid-template-columns:1fr}.player-card{padding:20px}.player-actions{flex-direction:column}.scoreboard{grid-template-columns:1fr}.button-grid.two{grid-template-columns:1fr}.admin-score-row{grid-template-columns:1fr}.score-buttons{justify-content:flex-start}
}

/* V4: barras de equipo con primeros participantes en responder */
.score-team{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:stretch;
  gap:.8vh;
  min-width:0;
}
.score-mainline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.score-mainline>div:first-child{min-width:0}
.score-name{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.score-count{
  margin-top:3px;
  color:#dbeafe;
  opacity:.88;
  font-weight:800;
  font-size:clamp(.62rem,.82vw,.9rem);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fast-strip{
  min-height:34px;
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  color:#e0f2fe;
  font-size:clamp(.62rem,.86vw,.92rem);
  line-height:1;
  overflow:hidden;
}
.fast-strip.empty-fast{
  opacity:.72;
  font-weight:800;
  font-size:clamp(.58rem,.78vw,.84rem);
}
.fast-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:118px;
  min-height:24px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.16);
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fast-chip em{
  display:grid;
  place-items:center;
  min-width:17px;
  height:17px;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-style:normal;
  font-size:.72em;
}
.fast-chip.more{
  background:rgba(250,204,21,.2);
  border-color:rgba(250,204,21,.28);
  color:#fde68a;
}
.okmark{color:#86efac;font-size:1.05em}.badmark{color:#fecaca;font-size:1.05em}.compact-empty{padding:10px;font-size:.88rem}
@media (max-width:900px){
  .fast-chip{max-width:150px}
}

/* V5: equipos activos y pantalla limpia */
.scoreboard-empty{
  grid-column:1 / -1;
  color:var(--muted);
  padding:14px 18px;
  border:1px dashed var(--line);
  border-radius:18px;
  text-align:center;
  font-weight:900;
  background:rgba(255,255,255,.06);
}
.team-edit-row.is-inactive{
  opacity:.58;
  filter:saturate(.65);
}
.team-edit-row.is-inactive input{
  border-color:rgba(255,255,255,.08);
}
#activeTeamCount{
  margin-bottom:8px;
}
