:root{
  --bg:#101215;
  --surface:#181d24;
  --surface-2:#222936;
  --surface-3:#2c3544;
  --text:#f8fafc;
  --muted:#aab3c2;
  --line:rgba(255,255,255,.09);
  --accent:#ffb703;
  --accent-2:#fb8500;
  --good:#2fbf8f;
  --danger:#ef476f;
  --violet:#7b61ff;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
  margin:0;
  min-height:100vh;
  background:radial-gradient(circle at 20% 0%,rgba(255,183,3,.16),transparent 30%),linear-gradient(180deg,#151922 0%,var(--bg) 62%);
  color:var(--text);
  font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
button,input{font:inherit}
button{
  width:100%;
  border:0;
  border-radius:12px;
  padding:13px 15px;
  margin-top:12px;
  background:linear-gradient(135deg,#249b88,#1f8676);
  color:white;
  font-weight:800;
  cursor:pointer;
}
button:disabled{opacity:.45;cursor:not-allowed}
button:active:not(:disabled){transform:scale(.985)}
.violet{background:linear-gradient(135deg,var(--violet),#6549dc)}
.next{background:linear-gradient(135deg,#ef8354,#d96b3e)}
.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}
.compact{width:auto;margin-top:6px;padding:8px 10px;font-size:12px}
main{max-width:1100px;min-height:100vh;margin:auto;padding:18px 16px 26px}
header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
h1{margin:0;font-size:34px;line-height:1;letter-spacing:0}
h2{margin:0 0 12px;font-size:22px;letter-spacing:0}
h3{margin:0 0 10px;font-size:17px;letter-spacing:0}
.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:12px;margin:0 0 9px}
.spaced{margin-top:12px}
.pill{background:rgba(255,255,255,.07);color:var(--muted);padding:8px 11px;border-radius:999px;font-size:14px;white-space:nowrap}
.view{display:none}
.view.active{display:block}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:14px}
.single-device-panel{display:grid;gap:12px;align-items:center;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-top:14px}
.single-device-panel h3{margin:0 0 4px}
.single-device-panel p{margin:0}
.tribute{color:var(--accent);font-size:13px;font-weight:800;margin-top:6px}
.text-link{color:var(--accent);font-weight:900;text-decoration:none}
.text-link:hover{text-decoration:underline}
.row{display:flex;gap:10px;align-items:center}
.row.wrap{flex-wrap:wrap}
.row.between{justify-content:space-between}
.field{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#11161d;color:var(--text);padding:0 13px;outline:none}
.field:focus{border-color:rgba(255,183,3,.7)}
.small,.status{color:var(--muted);font-size:14px;line-height:1.4}
.status{min-height:36px;margin-top:12px}
.player-list,.score-list{display:grid;gap:8px;margin-top:10px}
.player-item,.score-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:11px}
.player-meta{color:var(--muted);font-size:13px;line-height:1.35}
.score{font-weight:900;font-size:22px;color:var(--accent)}
.board{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.mood-card{min-height:70px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 8px;color:var(--text);display:flex;align-items:center;justify-content:center;text-align:center;font-size:16px;font-weight:800}
.mood-card:disabled{opacity:1;cursor:default}
.mood-card.selectable{cursor:pointer}
.mood-card.selected{border-color:rgba(123,97,255,.9);box-shadow:0 0 0 2px rgba(123,97,255,.25)}
.mood-card.target{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#181009;border-color:transparent;box-shadow:0 10px 26px rgba(251,133,0,.28)}
.phrase-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:17px;min-height:116px;display:flex;flex-direction:column;justify-content:center}
#phraseText,.secret-phrase{font-size:clamp(22px,5.5vw,34px);line-height:1.24;font-weight:800}
.secret-box{background:linear-gradient(135deg,rgba(255,183,3,.18),rgba(251,133,0,.08));border:1px solid rgba(255,183,3,.36);border-radius:16px;padding:16px}
.secret-mood{font-size:24px;font-weight:900;color:var(--accent)}
.token-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.token{width:46px;min-height:46px;border-radius:50%;padding:0;margin-top:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);border:1px solid var(--line);color:var(--text);font-weight:900}
.token.selected{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#181009;border-color:transparent}
.token.used{opacity:.28;text-decoration:line-through}
.result-line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.result-line:last-child{border-bottom:0}
.notice{border-left:4px solid var(--accent);background:rgba(255,183,3,.08);padding:11px 12px;color:#f4d38b;border-radius:8px;line-height:1.4}
@media(min-width:720px){
  .split{grid-template-columns:1.1fr .9fr}
  .single-device-panel{grid-template-columns:1fr auto}
  .board{grid-template-columns:repeat(5,1fr)}
  .mood-card{min-height:88px}
}
