:root {
  --max-width: 1100px;
  --border-radius: 12px;
  --font-mono:
    ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono',
    'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro',
    'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace;

  --foreground-rgb: 0, 0, 0;
  --background-start-rgb: 214, 219, 220;
  --background-end-rgb: 255, 255, 255;

  --primary-glow: conic-gradient(
    from 180deg at 50% 50%,
    #16abff33 0deg,
    #0885ff33 55deg,
    #54d6ff33 120deg,
    #0071ff33 160deg,
    transparent 360deg
  );
  --secondary-glow: radial-gradient(
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0)
  );

  --tile-start-rgb: 239, 245, 249;
  --tile-end-rgb: 228, 232, 233;
  --tile-border: conic-gradient(
    #00000080,
    #00000040,
    #00000030,
    #00000020,
    #00000010,
    #00000010,
    #00000080
  );

  --callout-rgb: 238, 240, 241;
  --callout-border-rgb: 172, 175, 176;
  --card-rgb: 180, 185, 188;
  --card-border-rgb: 131, 134, 135;

  /* Example theme tokens (used by app/page.module.css) */
  --bs-bg: #f6f7fb;
  --bs-bg-2: #ffffff;
  --bs-text: #0b1220;
  --bs-muted: #5b6577;
  --bs-surface: #ffffffcc;
  --bs-border: #e6eaf2;
  --bs-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
  --bs-link: #2563eb;
  --bs-primary: #2563eb;
  --bs-primary-hover: #1d4ed8;
  --bs-danger: #dc2626;
  --bs-danger-hover: #b91c1c;
  --bs-success: #059669;
  --bs-success-hover: #047857;
}

@media (prefers-color-scheme: dark) {
  :root {
    --foreground-rgb: 255, 255, 255;
    --background-start-rgb: 0, 0, 0;
    --background-end-rgb: 0, 0, 0;

    --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));
    --secondary-glow: linear-gradient(
      to bottom right,
      rgba(1, 65, 255, 0),
      rgba(1, 65, 255, 0),
      rgba(1, 65, 255, 0.3)
    );

    --tile-start-rgb: 2, 13, 46;
    --tile-end-rgb: 2, 5, 19;
    --tile-border: conic-gradient(
      #ffffff80,
      #ffffff40,
      #ffffff30,
      #ffffff20,
      #ffffff10,
      #ffffff10,
      #ffffff80
    );

    --callout-rgb: 20, 20, 20;
    --callout-border-rgb: 108, 108, 108;
    --card-rgb: 100, 100, 100;
    --card-border-rgb: 200, 200, 200;

    /* Example theme tokens (dark) */
    --bs-bg: #070b14;
    --bs-bg-2: #0b1220;
    --bs-text: #e5e7eb;
    --bs-muted: #a4adbd;
    --bs-surface: rgba(17, 24, 39, 0.72);
    --bs-border: rgba(148, 163, 184, 0.18);
    --bs-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    --bs-link: #60a5fa;
    --bs-primary: #3b82f6;
    --bs-primary-hover: #2563eb;
    --bs-danger: #f87171;
    --bs-danger-hover: #ef4444;
    --bs-success: #34d399;
    --bs-success-hover: #10b981;
  }
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html,
body {
  max-width: 100vw;
  overflow-x: hidden;
  min-height: 100vh;
}

body {
  color: rgb(var(--foreground-rgb));
  background:
    radial-gradient(
      1200px 500px at 30% -10%,
      rgba(37, 99, 235, 0.22),
      transparent 55%
    ),
    radial-gradient(
      900px 450px at 80% 0%,
      rgba(16, 185, 129, 0.14),
      transparent 60%
    ),
    linear-gradient(180deg, var(--bs-bg), var(--bs-bg-2));
  background-attachment: fixed;
}

a {
  color: var(--bs-link);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
  html {
    color-scheme: dark;
  }
}
