/* ===== shared game UI (used by every game) ===== */
.game-root{--g-bg:#101624;--g-panel:#18223a;--g-fg:#eef2ff;--g-muted:#9aa6c4;--g-accent:#7c5cff;--g-accent2:#22d3ee;--g-good:#22c55e;--g-bad:#ef4444;--g-warn:#f59e0b;
  position:relative;max-width:560px;margin:0 auto;background:var(--g-bg);color:var(--g-fg);border-radius:18px;padding:14px;user-select:none;-webkit-user-select:none;touch-action:manipulation;font-family:Inter,system-ui,sans-serif;box-shadow:0 10px 40px rgba(16,22,36,.25)}
.game-root.wide{max-width:760px}
.g-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.g-stat{background:var(--g-panel);border-radius:10px;padding:6px 12px;font-size:.8rem;color:var(--g-muted);line-height:1.2;min-width:70px;text-align:center}
.g-stat b{display:block;color:var(--g-fg);font-size:1.15rem}
.g-spacer{flex:1}
.g-btn{background:var(--g-accent);color:#fff;border:0;border-radius:10px;padding:9px 16px;font:inherit;font-weight:700;cursor:pointer;font-size:.92rem}
.g-btn:hover{filter:brightness(1.1)}
.g-btn.alt{background:var(--g-panel);color:var(--g-fg)}
.g-btn:disabled{opacity:.5;cursor:default}
.g-select{background:var(--g-panel);color:var(--g-fg);border:0;border-radius:10px;padding:9px 10px;font:inherit;font-size:.9rem}
.g-area{position:relative;width:100%}
.g-canvas{display:block;width:100%;height:auto;border-radius:12px;background:#0b1020;touch-action:none}
.g-over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(8,12,24,.82);border-radius:12px;text-align:center;padding:20px;z-index:5}
.g-over[hidden]{display:none}
.g-over h3{font-size:1.6rem;margin:0}
.g-over p{margin:0;color:var(--g-muted)}
.g-msg{min-height:1.4em;text-align:center;color:var(--g-muted);font-size:.92rem;margin-top:10px}
.g-pad{display:none;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,48px);gap:8px;justify-content:center;margin-top:12px}
.g-pad button{background:var(--g-panel);color:var(--g-fg);border:0;border-radius:10px;font-size:1.3rem;cursor:pointer}
@media (hover:none),(max-width:700px){.g-pad{display:grid}}
.g-fs{position:absolute;top:10px;right:10px}
