:root{
  color-scheme:dark;
  --accent:#87f6ff;
  --accent-2:#7ef0c2;
  --text:#f6fbff;
  --muted:#9fb7ca;
  --shadow:0 18px 60px rgba(0,0,0,0.34);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{
  margin:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#020510;
  color:var(--text);
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
button,input{font:inherit}
.app{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  background:#020510;
}
#gameCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  touch-action:none;
  background:radial-gradient(circle at 50% 20%, rgba(135,246,255,0.25), transparent 30%), #020510;
}
.hud{
  position:absolute;
  z-index:3;
  display:flex;
  gap:10px;
  pointer-events:none;
}
.hud.top{top:max(12px, env(safe-area-inset-top))}
.hud.left{left:max(12px, env(safe-area-inset-left))}
.hud.right{right:max(12px, env(safe-area-inset-right))}
.hud.bottom{
  bottom:max(14px, calc(env(safe-area-inset-bottom) + 10px));
  left:50%;
  transform:translateX(-50%);
}
.hud.controls{
  pointer-events:auto;
  gap:12px;
}
.pill{
  min-width:78px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(6,12,24,0.62);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
}
.pill span{
  display:block;
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.pill strong{
  display:block;
  margin-top:4px;
  font-size:22px;
  line-height:1;
}
.status{
  position:absolute;
  z-index:3;
  left:50%;
  top:max(12px, env(safe-area-inset-top));
  transform:translateX(-50%);
  max-width:min(80vw, 560px);
  padding:8px 12px;
  border-radius:999px;
  background:rgba(6,12,24,0.52);
  border:1px solid rgba(255,255,255,0.08);
  color:var(--muted);
  font-size:11px;
  text-align:center;
  backdrop-filter:blur(10px);
}
.overlay{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(2,5,16,0.24);
  backdrop-filter:blur(6px);
}
.overlay.hidden{display:none}
.card{
  width:min(92vw, 440px);
  padding:20px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(8,14,28,0.82);
  box-shadow:var(--shadow);
}
.card.compact{
  width:min(84vw, 360px);
  text-align:center;
}
.eyebrow{
  margin:0 0 10px;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent);
}
h1,h2{margin:0}
h1{font-size:clamp(30px, 9vw, 46px);line-height:0.95}
h2{font-size:clamp(24px, 8vw, 36px)}
.subtitle,.result-copy{
  margin:12px 0 0;
  color:var(--muted);
  line-height:1.35;
}
.result-actions,.submit{
  display:flex;
  gap:10px;
  margin-top:14px;
}
.submit{flex-wrap:wrap}
.submit input{
  flex:1 1 160px;
  border:0;
  border-radius:999px;
  padding:12px 16px;
  background:rgba(255,255,255,0.08);
  color:var(--text);
}
.board-list{
  margin:16px 0 0;
  padding-left:22px;
  display:grid;
  gap:8px;
  max-height:24vh;
  overflow:auto;
  color:var(--muted);
}
.board-list strong{color:var(--text)}
button{
  border:0;
  border-radius:999px;
  cursor:pointer;
  box-shadow:var(--shadow);
}
.primary{
  padding:12px 18px;
  font-weight:700;
  color:#03101b;
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
}
.primary.big{
  width:100%;
  margin-top:16px;
  padding:14px 18px;
}
.ghost{
  padding:12px 16px;
  color:var(--text);
  background:rgba(8,14,28,0.72);
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(10px);
}
.controls .ghost,.controls .primary{
  min-width:90px;
}
@media (max-width: 640px){
  .pill{min-width:70px;padding:8px 10px}
  .pill strong{font-size:19px}
  .status{top:auto;bottom:calc(env(safe-area-inset-bottom) + 86px);font-size:10px}
  .hud.controls{width:calc(100vw - 24px);justify-content:space-between}
  .controls .ghost,.controls .primary{flex:1 1 0;min-width:0}
  .card{padding:18px}
  .card.compact{width:min(78vw, 300px)}
  .board-list{max-height:20vh}
}