:root { color-scheme: dark; }
html,body { background:#000; }
* { -webkit-tap-highlight-color: transparent; }
.grain { background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size: 3px 3px; opacity:.08; }
.lux-btn { position: relative; overflow: hidden; }
.lux-btn::after { content:""; position:absolute; inset:-1px; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.18) 50%, transparent 65%); transform: translateX(-120%); transition: transform 800ms ease; }
.lux-btn:hover::after { transform: translateX(120%); }
.lux-ring:focus { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,.7), 0 0 0 6px rgba(255,255,255,.08); }

/* Mobile + performance polish */
html { scroll-behavior: smooth; }
body { overscroll-behavior-y: none; }
img { content-visibility: auto; }
section { content-visibility: auto; contain-intrinsic-size: 800px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

