@import "tailwindcss";

/* ─── NetWave Design System: "Sleek Modernism" ─── */

@theme {
  --color-nw-bg: #06080f;
  --color-nw-surface: #0c1018;
  --color-nw-surface-2: #131825;
  --color-nw-surface-3: #1a2035;
  --color-nw-border: #1e2640;
  --color-nw-border-2: #2a3555;
  --color-nw-text: #e8ecf4;
  --color-nw-text-muted: #7a87a6;
  --color-nw-accent: #3b82f6;
  --color-nw-accent-hover: #5b9cff;
  --color-nw-accent-dim: #1d3a6e;
  --color-nw-success: #22c55e;
  --color-nw-danger: #ef4444;
  --color-nw-warning: #f59e0b;
  --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

/* ─── Global Resets ─── */

* {
  box-sizing: border-box;
}

html {
  background: var(--color-nw-bg);
  color: var(--color-nw-text);
  height: 100%;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
  height: 100%;
  overscroll-behavior: none;
}

#root {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* ─── Scrollbar ─── */

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--color-nw-border-2);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-nw-accent-dim);
}

/* ─── Utility ─── */

.nw-glass {
  background: linear-gradient(135deg, rgba(12, 16, 24, 0.85), rgba(19, 24, 37, 0.65));
  backdrop-filter: blur(20px);
  border: 1px solid var(--color-nw-border);
}

.nw-glow {
  box-shadow: 0 0 30px rgba(59, 130, 246, 0.08), 0 1px 3px rgba(0, 0, 0, 0.3);
}

.nw-hover-row:hover {
  background: var(--color-nw-surface-2);
}

input,
button,
select,
textarea {
  font-family: inherit;
}

input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  height: 4px;
}

input[type="range"]::-webkit-slider-runnable-track {
  background: var(--color-nw-border);
  border-radius: 2px;
  height: 4px;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--color-nw-accent);
  margin-top: -4px;
  transition: transform 0.15s;
}

input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.3);
}
