:root {
  --bg: #07080c;
  --bg-2: #0c0d12;
  --surface: rgba(255, 255, 255, 0.045);
  --surface-2: rgba(255, 255, 255, 0.07);
  --surface-3: rgba(255, 255, 255, 0.105);
  --border: rgba(255, 255, 255, 0.07);
  --border-2: rgba(255, 255, 255, 0.12);
  --border-3: rgba(255, 255, 255, 0.18);
  --hairline: rgba(255, 255, 255, 0.06);

  --text: rgba(255, 255, 255, 0.96);
  --text-2: rgba(235, 235, 245, 0.62);
  --text-3: rgba(235, 235, 245, 0.36);
  --text-4: rgba(235, 235, 245, 0.18);

  --accent: #0a84ff;
  --accent-2: #4ca8ff;
  --accent-glow: rgba(10, 132, 255, 0.2);
  --accent-tint: rgba(10, 132, 255, 0.14);

  --green: #30d158;
  --orange: #ff9f0a;
  --red: #ff453a;
  --purple: #bf5af2;
  --pink: #ff375f;
  --yellow: #ffd60a;

  --sf: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", system-ui, sans-serif;
  --sf-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;

  --r-xs: 6px;
  --r-sm: 10px;
  --r: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-2xl: 36px;

  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --spring: cubic-bezier(0.34, 1.35, 0.64, 1);

  --max-w: 1200px;
  --nav-h: 56px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { color-scheme: dark; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--sf);
  font-size: 16px;
  line-height: 1.5;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
  min-height: 100dvh;
  overflow-x: hidden;
  font-feature-settings: "ss01", "cv11";
}
button, input, select, textarea { font: inherit; color: inherit; }
button { border: none; background: none; cursor: pointer; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.08; letter-spacing: -0.025em; }
strong { font-weight: 600; }
code, kbd, pre, samp { font-family: var(--sf-mono); font-size: 0.92em; letter-spacing: 0; }
::selection { background: var(--accent-tint); color: var(--text); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 10px; border: 2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.14); }

.bg-base {
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 45% at 18% 0%, rgba(10, 132, 255, 0.08), transparent 55%),
    radial-gradient(ellipse 55% 45% at 85% 15%, rgba(191, 90, 242, 0.05), transparent 60%),
    radial-gradient(ellipse 50% 50% at 50% 100%, rgba(48, 209, 88, 0.035), transparent 70%),
    var(--bg);
}

.glass {
  background: var(--surface);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border: 1px solid var(--border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 1px 2px rgba(0,0,0,0.3);
}

.muted { color: var(--text-3); }
.mono { font-family: var(--sf-mono); }
