/* admin console — extends style.css */
body.admin{background:var(--bg);min-height:100dvh;padding-bottom:80px}
.admin-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(90% 70% at 12% 0%, rgba(216,39,58,.10), transparent 60%),
    radial-gradient(70% 60% at 88% 10%, rgba(100,132,184,.08), transparent 60%),
    linear-gradient(180deg,#08090b,#060709 70%);
}
.admin-bg::after{
  content:'';position:absolute;inset:0;opacity:.4;
  background-image:linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:calc(100%/8) 100%;
  mask-image:linear-gradient(180deg,#000,transparent 70%);
}

.admin-top{
  position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:18px clamp(16px,3vw,40px);border-bottom:1px solid var(--line);
  background:rgba(8,9,11,.7);backdrop-filter:blur(10px);
  position:sticky;top:0;
}
.admin-brand{display:flex;align-items:center;gap:12px}
.admin-brand img{width:30px;height:30px;object-fit:contain}
.brand-k{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.2em;color:var(--dim-2)}
.brand-t{display:block;font-family:var(--display);font-weight:700;font-size:17px;
  text-transform:uppercase;letter-spacing:.02em;line-height:1.1}
.admin-top-right{display:flex;align-items:center;gap:16px}

.admin-login{position:relative;z-index:10;display:grid;place-items:center;min-height:calc(100dvh - 70px);padding:20px}
.login-card{width:100%;max-width:420px}
.login-kicker{color:var(--us);display:block;margin-bottom:12px}
.login-card .h-section{margin-bottom:8px}
.login-card .nameform{margin-top:20px;margin-bottom:0}
.login-card .field input{border:1px solid var(--line);background:rgba(255,255,255,.035);
  font-family:var(--mono);font-size:15px;letter-spacing:.24em;padding:13px 14px;text-transform:none}
.login-card .field input:focus{border-color:rgba(216,39,58,.6)}
.login-card .field-line{display:none}
.login-card .field-label{margin-bottom:7px}
.inline{font-family:var(--mono);font-size:.85em;background:rgba(255,255,255,.06);
  padding:1px 5px;border:1px solid var(--line)}

.admin-main{position:relative;z-index:10;max-width:1500px;margin:0 auto;padding:clamp(16px,3vw,34px)}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin-bottom:clamp(14px,2vw,22px)}
.stat{background:#0a0c0f;padding:14px 16px}
.stat-k{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.2em;color:var(--dim-2);margin-bottom:6px}
.stat-v{font-family:var(--display);font-weight:700;font-size:26px;line-height:1;text-transform:uppercase}
.stat-v small{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.1em;font-weight:400}

.admin-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(12px,1.6vw,20px);margin-bottom:clamp(12px,1.6vw,20px)}
.card{border:1px solid var(--line);background:rgba(11,13,16,.72);backdrop-filter:blur(8px);padding:clamp(16px,1.8vw,22px)}
.card--danger{border-color:rgba(216,39,58,.28)}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.card-kicker{display:block;font-size:8.5px;letter-spacing:.2em;color:var(--dim-2);margin-bottom:6px}
.card-title{font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,2vw,1.9rem);
  text-transform:uppercase;line-height:1;margin:0}
.card-head-right{display:flex;align-items:center;gap:10px;flex:none}
.card-note{color:var(--dim);font-size:12.5px;line-height:1.55;margin:0 0 14px;max-width:52ch}
.pill{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;
  padding:4px 8px 3px;border:1px solid var(--line);color:var(--dim)}
.pill.is-voting{color:var(--amber);border-color:rgba(232,163,60,.4);background:rgba(232,163,60,.07)}
.pill.is-revealed{color:var(--us);border-color:rgba(216,39,58,.45);background:rgba(216,39,58,.08)}
.pill.is-locked{color:var(--them);border-color:rgba(100,132,184,.45);background:rgba(100,132,184,.08)}

/* vote matrix */
.matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mcell{background:#0a0c0f;padding:11px 12px;display:flex;flex-direction:column;gap:4px}
.mcell.is-empty{opacity:.5}
.mname{font-family:var(--display);font-weight:700;font-size:15px;text-transform:uppercase;line-height:1}
.mvotes{display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--dim)}
.mvotes .mp{color:var(--ink-2)}
.mvotes .mb{color:var(--them)}
.tally-mini{margin-top:16px;display:grid;gap:5px}
.tally-mini .trow{grid-template-columns:92px 1fr 42px;padding:6px 0}
.tally-mini .tname{font-size:13px}

/* decide */
.decide-maps{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px;margin-bottom:12px}
.dmap{position:relative;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;padding:0;background:var(--panel)}
.dmap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.8);transition:all .3s var(--ease)}
.dmap span{position:relative;z-index:2;display:block;padding:6px;font-family:var(--display);
  font-weight:700;font-size:13px;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px #000}
.dmap:hover img{filter:brightness(.8) saturate(1)}
.dmap.is-sel{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}
.dmap.is-sel img{filter:brightness(.95) saturate(1.1)}
.dmap:disabled{opacity:.35;cursor:not-allowed}

.decide-kinds{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.kindbtn{border:1px solid var(--line);padding:11px 10px;font-family:var(--display);font-weight:700;
  font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);text-align:left;
  transition:all .2s var(--ease)}
.kindbtn:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}
.kindbtn.is-sel{background:var(--amber);border-color:var(--amber);color:#160f02}

.queue{display:flex;flex-direction:column;gap:1px;margin:12px 0;background:var(--line)}
.qitem{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0a0c0f;padding:9px 11px}
.qmap{font-family:var(--display);font-weight:700;font-size:15px;text-transform:uppercase}
.qkind{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;color:var(--amber)}
.qx{color:var(--dim-2);font-family:var(--mono);font-size:14px;line-height:1;padding:0 4px}
.qx:hover{color:var(--us)}
.force{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:11.5px;color:var(--dim);line-height:1.4}
.force input{margin-top:2px;accent-color:var(--us)}

/* history */
.history{display:flex;flex-direction:column;gap:8px}
.hround{border:1px solid var(--line);background:#0a0c0f}
.hhead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;
  border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--dim)}
.hbody{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}
.hvote{display:flex;flex-direction:column;gap:1px;border:1px solid var(--line-soft);padding:5px 8px;min-width:96px}
.hname{font-family:var(--display);font-weight:600;font-size:13px;text-transform:uppercase;line-height:1.1}
.hpick{font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:var(--ink-2)}
.hban{font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:var(--them)}
.hdec{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px;width:100%}
.dtag{font-family:var(--mono);font-size:8px;letter-spacing:.12em;padding:3px 6px;border:1px solid var(--line);
  color:var(--dim);background:rgba(255,255,255,.02)}
.dtag.k-pick_we{color:#fff;border-color:rgba(216,39,58,.5);background:rgba(216,39,58,.1)}
.dtag.k-pick_them{color:#dbe6f6;border-color:rgba(100,132,184,.5);background:rgba(100,132,184,.1)}
.dtag.k-ban_we,.dtag.k-ban_them{color:var(--dim);text-decoration:line-through}

/* settings + danger */
.settings{display:flex;flex-direction:column;gap:1px;background:var(--line);margin-bottom:14px}
.setrow{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0a0c0f;padding:9px 11px}
.setrow span{color:var(--dim-2);font-size:8.5px;letter-spacing:.16em}
.setrow input{background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--ink);
  font-family:var(--mono);font-size:12px;padding:6px 8px;width:150px;outline:none}
.setrow input:focus{border-color:var(--amber)}
.setrow--check input{width:auto;accent-color:var(--us)}
.danger-actions{display:flex;flex-direction:column;gap:8px}
.btn.is-armed{background:var(--amber);border-color:var(--amber);color:#160f02}
.btn--danger{background:rgba(216,39,58,.14);border-color:rgba(216,39,58,.5);color:#ff9a92}
.btn--danger:hover{background:var(--us);color:#fff;border-color:var(--us)}
.danger-confirm{margin-top:12px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.danger-confirm .mono{font-size:8.5px;color:var(--dim)}
.danger-confirm b{color:var(--us)}
.danger-confirm input{background:rgba(255,255,255,.03);border:1px solid rgba(216,39,58,.35);
  color:var(--ink);font-family:var(--mono);font-size:13px;padding:9px 10px;letter-spacing:.2em;outline:none}

@media (max-width:1080px){
  .admin-cols{grid-template-columns:1fr}
  .card--wide{order:-1}
}
@media (max-width:560px){
  .decide-kinds{grid-template-columns:1fr}
  .admin-top{flex-wrap:wrap;gap:10px}
  .brand-k{display:none}
}
