/* Shared theme for the 20-game arcade */
:root{
  --bg:#0d0f1a; --panel:#161a2b; --ink:#e8ecff; --muted:#8b93b8;
  --accent:#5cf2c7; --accent2:#ff5c8a; --line:#262b44;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink);
  font-family:"Segoe UI",system-ui,-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  line-height:1.5;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{
  display:flex;align-items:center;gap:14px;
  padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:10;
}
.topbar h1{font-size:16px;margin:0;font-weight:700;letter-spacing:.5px}
.topbar .hub{
  background:var(--line);padding:6px 12px;border-radius:8px;color:var(--ink);font-size:13px;
}
.topbar .hub:hover{background:#33395c;text-decoration:none}
.wrap{max-width:980px;margin:0 auto;padding:20px 16px}
.help{color:var(--muted);font-size:13px;margin:8px 0 16px}
.hud{display:flex;gap:18px;flex-wrap:wrap;font-variant-numeric:tabular-nums;margin:10px 0}
.hud b{color:var(--accent)}
canvas{
  background:#05060d;border:1px solid var(--line);border-radius:10px;
  display:block;margin:0 auto;max-width:100%;touch-action:none;
}
.btn{
  display:inline-block;cursor:pointer;border:none;border-radius:8px;
  background:var(--accent);color:#06231b;font-weight:700;padding:8px 16px;font-size:14px;
}
.btn:hover{filter:brightness(1.08)}
.btn.alt{background:var(--accent2);color:#2a0512}
.center{text-align:center}

/* Hub grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:14px;transition:transform .12s,border-color .12s;display:block;color:var(--ink);
}
.card:hover{transform:translateY(-3px);border-color:var(--accent);text-decoration:none}
.card .no{color:var(--muted);font-size:12px}
.card .t{font-weight:700;font-size:15px;margin:2px 0 4px}
.card .g{color:var(--muted);font-size:12px}
.card .tag{
  display:inline-block;margin-top:8px;font-size:11px;color:var(--accent);
  border:1px solid var(--line);border-radius:6px;padding:1px 7px;
}
.lead{color:var(--muted);margin:6px 0 20px}

/* Hub card pixel-art icons */
.card{text-align:center}
.card .ico{margin:2px auto 10px;display:flex;justify-content:center}
.card .ico img{image-rendering:pixelated;width:72px;height:72px;display:block;margin:0 auto}
.card .tag{margin-left:auto;margin-right:auto}
