/* Games Confirm / mobile primitives v1. Copy into each game's www. */
:root {
  --gc-ink:#f5f3e9; --gc-muted:#b7c8c5; --gc-surface:#142e31;
  --gc-canvas:#091e23; --gc-line:#355154; --gc-accent:#91e3ad;
  --gc-on-accent:#153729; --gc-gold:#ffd784; --gc-danger:#ff9293;
  --gc-space-1:4px; --gc-space-2:8px; --gc-space-3:12px;
  --gc-space-4:16px; --gc-space-6:24px; --gc-space-8:32px;
  --gc-radius-sm:12px; --gc-radius-md:20px; --gc-radius-lg:28px;
  --gc-touch:48px; --gc-fast:140ms; --gc-ease:cubic-bezier(.2,.8,.2,1);
  --gc-shadow:0 18px 48px #0003;
}
.gc-surface{background:var(--gc-surface);color:var(--gc-ink);border:1px solid var(--gc-line);border-radius:var(--gc-radius-lg);box-shadow:var(--gc-shadow);padding:var(--gc-space-6)}
.gc-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--gc-touch);padding:12px 20px;border:1px solid var(--gc-line);border-radius:var(--gc-radius-sm);background:var(--gc-surface);color:var(--gc-ink);font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform var(--gc-fast) var(--gc-ease)}
.gc-button--primary{background:var(--gc-accent);color:var(--gc-on-accent);border-color:transparent}
.gc-button:active:not(:disabled){transform:translateY(2px)}
.gc-button:disabled{opacity:.45;cursor:default}
.gc-button:focus-visible{outline:3px solid var(--gc-gold);outline-offset:4px}
.gc-icon{width:24px;height:24px;flex:none;vertical-align:middle}
.gc-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px;border:1px solid var(--gc-line);border-radius:999px;color:var(--gc-muted);font-size:12px}
@media(prefers-reduced-motion:reduce){.gc-button{transition:none}}

/* Honor the native hidden state even when components set display. */
[hidden]{display:none!important}
