/* Roadsign Base — reset, typography, global elements */

:root { color-scheme: dark; }

* { box-sizing: border-box; }

/* Thin scrollbar — matches macOS overlay style on Windows/Linux */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.15) transparent;
}
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 3px; }
*::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.25); }

html, body {
  margin: 0;
  height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Selection */
::selection { background: rgba(78, 140, 255, 0.4); color: #eef2f7; }

a { color: inherit; text-decoration: none; }

button, input, select { font: inherit; }

/* Placeholder — Firefox renders at 0.54 opacity by default */
input::placeholder, textarea::placeholder { color: rgba(255,255,255,0.2); opacity: 1; }

/* Number input spinners — hide across all browsers */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; }

/* Select — reset appearance globally */
select { appearance: none; -webkit-appearance: none; -moz-appearance: none; }

/* Range slider — Firefox track/thumb */
input[type="range"] { -webkit-appearance: none; appearance: none; }
input[type="range"]::-moz-range-track { background: transparent; border: none; }

/* Focus — visible only on keyboard navigation */
:focus { outline: none; }
:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
  border-radius: 4px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
