:root {
  --bg: #0b0c10;
  --bg-soft: #101116;
  --panel: rgba(20, 21, 28, .84);
  --panel-solid: #14151c;
  --panel-raised: #191a23;
  --line: rgba(151, 155, 178, .16);
  --line-strong: rgba(165, 169, 194, .28);
  --text: #f6f5fb;
  --muted: #8d91a1;
  --muted-bright: #b9bbc7;
  --accent: #8b16f7;
  --accent-bright: #b768ff;
  --accent-soft: rgba(139, 22, 247, .16);
  --danger: #ff4f70;
  --danger-soft: rgba(255, 79, 112, .13);
  --warning: #ffc05c;
  --success: #67dfae;
  --radius-xl: 24px;
  --radius-lg: 16px;
  --radius-md: 12px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .27);
  --gutter: clamp(20px, 4vw, 64px);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% -15%, rgba(139,22,247,.1), transparent 34rem), var(--bg); color: var(--text); }
button, input, select { font: inherit; }
button, summary { cursor: pointer; }
a { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, a:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 3px; }
