:root {
  color-scheme: dark;
  --bg: #090d1b;
  --surface: #101627;
  --surface-raised: #171e33;
  --line: #252d45;
  --text: #f2f4fc;
  --muted: #9ca9c4;
  --cyan: #65dff4;
  --violet: #a794ff;
  --gradient: linear-gradient(115deg, #34ccef, #8a70f4 65%, #c17af1);
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--text);
  background: var(--bg);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--bg); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; color: inherit; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
[hidden] { display: none !important; }
.icon { width: 20px; height: 20px; display: inline-block; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 2px; color: var(--cyan); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* === CURSOR ESTILO FRIV VIP === */
@media (pointer: fine) {
  *, *::before, *::after {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 3 L4 25 L10 19 L15 29 L19 27 L14 17 L22 17 Z' fill='%23000000' opacity='0.35' transform='translate(1,1)'/%3E%3Cpath d='M4 3 L4 25 L10 19 L15 29 L19 27 L14 17 L22 17 Z' fill='%23FFDD00' stroke='%23000000' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M6 6 L6 21 L10 17 L14 25 L16 24 L12 16 L18 16 Z' fill='%23FFF066'/%3E%3Ccircle cx='6' cy='6' r='1' fill='%23FFFFFF'/%3E%3C/svg%3E") 4 3, default !important;
  }
  a, button, [role="button"], input, select, textarea, label, .game-thumb-link, .category-chip, .cat-btn, .random-btn {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M10 2 C9 2 8 3 8 5 L8 14 L7 14 C5.5 14 4 15.5 4 17 C4 20 7 24 11 27 C14 29 20 29 22 26 C24 23 24 18 24 15 C24 13.5 22.5 12.5 21 13 C20.5 11.5 19 10.5 17.5 11 C17 9.5 15.5 8.5 14 9 L14 5 C14 3.5 13 2 12 2 Z' fill='%23000000' opacity='0.35' transform='translate(1,1)'/%3E%3Cpath d='M10 2 C9 2 8 3 8 5 L8 14 L7 14 C5.5 14 4 15.5 4 17 C4 20 7 24 11 27 C14 29 20 29 22 26 C24 23 24 18 24 15 C24 13.5 22.5 12.5 21 13 C20.5 11.5 19 10.5 17.5 11 C17 9.5 15.5 8.5 14 9 L14 5 C14 3.5 13 2 12 2 Z' fill='%23FFDD00' stroke='%23000000' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M10 4 L10 14 L12 14 L12 4 Z' fill='%23FFF066'/%3E%3C/svg%3E") 10 2, pointer !important;
  }
}
