:root {
  --bg: #17181c;
  --bg-2: #1c1d21;
  --card: #232325;
  --card-2: #2b2b2e;
  --line: #2e2f34;
  --line-2: #3a3b41;
  --text: #ffffff;
  --gray: #a7a7a7;
  --faint: #6b6c73;
  --y: #fcd711;
  --y-2: #ffdd23;
  --y-grad: linear-gradient(93deg, #fbd506 0%, #ffdd23 50%, #fbd506 100%);
  --ok: #23d70c;
  --bad: #eb4b4b;
  --r0: #b0c3d9;
  --r1: #4b69ff;
  --r2: #8847ff;
  --r3: #d32ce6;
  --r4: #eb4b4b;
  --r5: #ffae39;
  --exo: 'Manrope', sans-serif;
  --tek: 'Manrope', sans-serif;
  --top: 56px;
  --side: 150px;
  --dock: 64px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--bg); overflow-y: scroll; scrollbar-gutter: stable; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; background: var(--bg); color: var(--text); font: 400 13.5px/1.45 var(--exo); -webkit-font-smoothing: antialiased; }
body.locked { overflow: hidden; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { font-family: var(--tek); font-weight: 700; line-height: 1.15; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
/* Repeated taps activate controls; scrolling and two-finger zoom remain available. */
button, [role="button"], a[href], .item, .icard, .ic-step, .shop-quantity { touch-action: manipulation; }

img { display: block; max-width: 100%; -webkit-user-drag: none; user-select: none; }
button, .item, .drop, .cell, .slot, .dial, .case-card, .reel, .res, .tabs, .chip, .modal-head, .pp-card, .menu, .logo { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--y); outline-offset: 2px; }
[hidden] { display: none !important; }
* { scrollbar-width: thin; scrollbar-color: #3a3b41 transparent; }
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-thumb { background: #3a3b41; border-radius: 6px; }

.ico { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.coin { width: 1em; height: 1em; flex: none; }
.num { font-variant-numeric: tabular-nums; }
.yt { background: var(--y-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.muted { color: var(--gray); }

.r0 { --rc: var(--r0); } .r1 { --rc: var(--r1); } .r2 { --rc: var(--r2); } .r3 { --rc: var(--r3); } .r4 { --rc: var(--r4); } .r5 { --rc: var(--r5); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

:root { --radius-control: 10px; --radius-card: 12px; --radius-panel: 16px; --radius-modal: 20px; }
input, textarea, select { font-family: var(--exo); border-radius: var(--radius-control); }
