/* Gamitop rooms — design tokens.
   Structure = Clastop Shop (Minimal UI): radii, shadows, grey scale, type scale, card/button/input anatomy.
   Colour = Gamitop brand (assembly mark: coral→magenta button, teal, lime lock) on snow white.
   Party-themed screens override --pc / --ps only. Every component reads these tokens; no literal colours elsewhere. */
:root{
  /* surface */
  --g-paper:#FFFFFF; --g-paper2:#FAFAFC; --g-grey:#F4F6F8; --g-grey2:#DFE3E8;
  --g-line:rgba(145,158,171,.2); --g-line2:rgba(145,158,171,.32);
  /* ink (Gamitop) */
  --g-ink:#24212B; --g-ink2:#6B6674; --g-ink3:#919EAB;
  /* brand (Gamitop mark) */
  --g-coral:#F0515D; --g-magenta:#AA3282; --g-teal:#19AFBE; --g-lime:#CDD62C;
  --g-brand:linear-gradient(135deg,var(--g-coral),var(--g-magenta));
  --g-brand-soft:color-mix(in srgb,var(--g-magenta) 8%,#fff);
  /* semantic (Minimal) */
  --g-ok:#22C55E; --g-ok-ink:#118D57; --g-warn:#FFAB00; --g-warn-ink:#B76E00; --g-warn-soft:#FFF5CC; --g-err:#FF5630; --g-err-ink:#B71D18; --g-info:#00B8D9;
  /* charts (Minimal palette, brand first) */
  --g-c1:#AA3282; --g-c2:#19AFBE; --g-c3:#FFAB00; --g-c4:#F0515D; --g-c5:#8E33FF; --g-c6:#919EAB;
  /* party theme (overridden per screen) */
  --pc:var(--g-magenta); --ps:var(--g-coral);
  /* shape */
  --g-r-xs:6px; --g-r-sm:8px; --g-r:12px; --g-r-lg:16px; --g-r-xl:24px; --g-r-pill:999px;
  --g-sh-1:0 1px 2px rgba(145,158,171,.16);
  --g-sh-card:0 0 2px 0 rgba(145,158,171,.2),0 12px 24px -4px rgba(145,158,171,.12);
  --g-sh-pop:0 0 2px 0 rgba(145,158,171,.24),0 20px 40px -4px rgba(145,158,171,.24);
  --g-sh-btn:0 8px 16px -6px color-mix(in srgb,var(--pc) 45%,transparent);
  /* type */
  --g-font-display:"Rubik","Assistant",system-ui,sans-serif;
  --g-font:"Assistant",system-ui,-apple-system,"Segoe UI",sans-serif;
  --g-font-mono:ui-monospace,"SF Mono",Menlo,monospace;
  --g-h1:800 28px/1.15 var(--g-font-display); --g-h2:800 22px/1.2 var(--g-font-display); --g-h3:700 17px/1.3 var(--g-font);
  --g-body:400 15px/1.55 var(--g-font); --g-small:400 13px/1.45 var(--g-font); --g-label:700 12px/1 var(--g-font);
  /* motion (assembly mark) */
  --g-ease-luxe:cubic-bezier(.32,.72,0,1); --g-ease-spring:cubic-bezier(.34,1.56,.64,1); --g-ease-snap:cubic-bezier(.16,1,.3,1);
  color-scheme:light;
}
/* Minimal primitives, Gamitop colours */
.g-card{background:var(--g-paper);border-radius:var(--g-r-lg);box-shadow:var(--g-sh-card)}
.g-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--g-r);font:700 15px var(--g-font);background:var(--pc);color:#fff;box-shadow:var(--g-sh-btn);transition:transform .15s var(--g-ease-snap)}
.g-btn:active{transform:scale(.98)}
.g-btn.brand{background:var(--g-brand)}
.g-btn.soft{background:var(--g-grey);color:var(--g-ink);box-shadow:none}
.g-btn.dark{background:var(--g-ink);box-shadow:none}
.g-btn[disabled]{background:var(--g-grey2);color:var(--g-ink3);box-shadow:none;pointer-events:none}
.g-btn:focus-visible,.g-chip:focus-visible{outline:2px solid var(--g-ink);outline-offset:2px}
.g-input{font:500 16px var(--g-font);padding:14px;border-radius:var(--g-r-sm);border:1px solid var(--g-line2);background:var(--g-paper);color:var(--g-ink)}
.g-input:focus{outline:2px solid var(--pc);outline-offset:1px}
.g-chip{all:unset;cursor:pointer;font:700 12.5px var(--g-font);padding:7px 12px;border-radius:var(--g-r-pill);background:var(--g-grey);color:var(--g-ink)}
.g-chip[aria-pressed="true"]{background:var(--pc);color:#fff}
.g-label{font:var(--g-label);letter-spacing:.06em;color:var(--g-ink2)}
.g-badge{font:800 10.5px/1 var(--g-font);padding:4px 7px;border-radius:var(--g-r-xs);background:var(--g-ink);color:#fff}
.g-badge.live{background:var(--g-err)}
.g-badge.verified{background:var(--g-teal)}
@media (prefers-reduced-motion:reduce){.g-btn{transition:none}}
