:root { --bg:#0b1020; --accent:#4cc9f0; --panel:rgba(255,255,255,0.05); --text:#e8ecf8; }
* { box-sizing:border-box; }
html,body { margin:0; height:100%; }
body { font-family:'Segoe UI',system-ui,sans-serif; color:var(--text); background:radial-gradient(1200px 800px at 70% -10%, rgba(76,201,240,0.18), transparent), var(--bg); min-height:100%; }
#app { max-width:1080px; margin:0 auto; padding:16px; }
.topbar { display:flex; align-items:center; justify-content:space-between; }
.logo { font-weight:800; letter-spacing:2px; margin:8px 0; }
.logo span { color:var(--accent); }
.topbar a { color:var(--accent); text-decoration:none; }
.stage { display:grid; grid-template-columns:200px auto 200px; gap:16px; align-items:start; justify-content:center; }
.panel { background:var(--panel); border:1px solid rgba(255,255,255,0.08); border-radius:14px; padding:12px; margin-bottom:14px; backdrop-filter:blur(8px); }
.panel h2 { margin:0 0 8px; font-size:13px; text-transform:uppercase; letter-spacing:1px; opacity:0.7; }
.stat { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid rgba(255,255,255,0.06); }
.stat .value { font-weight:700; color:var(--accent); }
.board-wrap { position:relative; }
#board { background:rgba(0,0,0,0.35); border:2px solid rgba(255,255,255,0.12); border-radius:10px; box-shadow:0 0 40px rgba(76,201,240,0.25); display:block; }
canvas { max-width:100%; }
select { width:100%; margin-bottom:10px; padding:6px; border-radius:8px; background:#10131f; color:var(--text); border:1px solid rgba(255,255,255,0.15); }
.overlay { position:absolute; inset:0; display:none; align-items:center; justify-content:center; background:rgba(5,8,18,0.72); border-radius:10px; }
.overlay.visible { display:flex; }
.overlay-card { text-align:center; }
.overlay-card button { margin-top:10px; padding:10px 20px; border:none; border-radius:10px; background:var(--accent); color:#04121a; font-weight:700; cursor:pointer; }
.controls { text-align:center; opacity:0.7; font-size:13px; margin-top:14px; }
@media (max-width: 760px) {
  .stage { grid-template-columns:1fr; }
  .side { display:flex; gap:12px; }
  .side .panel { flex:1; }
  #board { margin:0 auto; }
}
