/* =====================================================
   CashGame design system
   Natural forest greens, warm cream surfaces, gold accent
   ===================================================== */
:root{
  --cg-forest-900:#0f2a1f;
  --cg-forest-800:#14513a;
  --cg-forest-700:#1a5f43;
  --cg-forest-600:#1f6f4a;
  --cg-forest-500:#2a8559;
  --cg-forest-100:#e3eee7;
  --cg-forest-50:#eff5f0;
  --cg-cream:#f5f6f1;
  --cg-surface:#ffffff;
  --cg-ink:#1d2b24;
  --cg-muted:#5d6b63;
  --cg-line:#e1e5dd;
  --cg-gold:#c8962e;
  --cg-gold-soft:#f7efd9;
  --cg-danger:#b3412f;
  --cg-radius:14px;
  --cg-radius-sm:10px;
  --cg-shadow:0 1px 2px rgba(15,42,31,.05),0 6px 20px rgba(15,42,31,.06);
  --cg-shadow-lg:0 2px 4px rgba(15,42,31,.06),0 16px 40px rgba(15,42,31,.10);
  --cg-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--cg-font) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body, input, select, textarea, button{font-family:var(--cg-font)}
h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.25}
a{transition:color .2s ease, background-color .2s ease, opacity .2s ease}
img{max-width:100%}
::selection{background:var(--cg-forest-100);color:var(--cg-forest-900)}
:focus-visible{outline:3px solid rgba(31,111,74,.35);outline-offset:2px}

/* ---------- Form controls ---------- */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),
select, textarea{
  border:1.5px solid var(--cg-line);
  border-radius:var(--cg-radius-sm);
  background:#fff;
  color:var(--cg-ink);
  font-size:15px;
  line-height:1.4;
  transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus, select:focus, textarea:focus{
  outline:none;
  border-color:var(--cg-forest-600);
  box-shadow:0 0 0 4px rgba(31,111,74,.14);
}
::placeholder{color:#93a098}

/* ---------- Buttons ---------- */
button, .btn, input[type=submit], input[type=button]{
  font-weight:600;
  letter-spacing:.005em;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease, opacity .2s ease;
}
button:not(:disabled):active{transform:translateY(1px)}
button:disabled{opacity:.55;cursor:not-allowed}

/* ---------- Tables ---------- */
table{border-collapse:collapse}
th{font-weight:600;letter-spacing:.02em}
td, th{vertical-align:middle}

/* ---------- Loader ---------- */
.spinner{
  border:4px solid var(--cg-forest-100) !important;
  border-top-color:var(--cg-forest-600) !important;
  border-radius:50%;
}

/* ---------- Floating helpers: calmer than the old glowing pulse ---------- */
.cs-float{
  animation:none !important;
  background:var(--cg-forest-700) !important;
  box-shadow:var(--cg-shadow-lg) !important;
  width:56px !important;height:56px !important;
}
.cs-float i{font-size:26px !important}
#installBtn{
  animation:none !important;
  background:var(--cg-forest-700) !important;
  box-shadow:var(--cg-shadow-lg) !important;
  border-radius:999px !important;
  font-weight:600 !important;
  font-size:14px !important;
  padding:12px 18px !important;
}

/* ---------- Shared top bar (injected by cashgame.js) ---------- */
.cg-topbar{
  position:sticky;top:0;z-index:900;
  display:flex;align-items:center;gap:12px;
  height:56px;padding:0 16px;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(1.4) blur(12px);
  backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid var(--cg-line);
  color:var(--cg-ink);
  font-family:var(--cg-font);
  width:100%;
  box-sizing:border-box;
}
.cg-topbar a{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.cg-topbar .cg-back{
  width:36px;height:36px;border-radius:10px;justify-content:center;
  background:var(--cg-forest-50);color:var(--cg-forest-700);font-size:18px;font-weight:700;
}
.cg-topbar .cg-back:hover{background:var(--cg-forest-100)}
.cg-topbar .cg-brand{margin-left:auto}
.cg-topbar .cg-brand img{width:28px;height:28px;border-radius:50%}
.cg-topbar .cg-brand span{font-weight:700;font-size:15px;color:var(--cg-forest-800);letter-spacing:-.01em}
.cg-topbar .cg-title{font-weight:600;font-size:15px;color:var(--cg-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cg-topbar.cg-dark{background:rgba(15,42,31,.92);border-bottom-color:rgba(255,255,255,.08);color:#fff}
.cg-topbar.cg-dark .cg-back{background:rgba(255,255,255,.1);color:#fff}
.cg-topbar.cg-dark .cg-title{color:#fff}
.cg-topbar.cg-dark .cg-brand span{color:#fff}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
