/* Unified site theme layer applied across root, legal, admin, and website pages. */
:root {
  --u-bg-0: #060b18;
  --u-bg-1: #0a1426;
  --u-surface: rgba(15, 23, 42, 0.72);
  --u-surface-2: rgba(30, 41, 59, 0.58);
  --u-text: #dce8f8;
  --u-text-soft: #b8cbe3;
  --u-border: rgba(56, 189, 248, 0.22);
  --u-accent: #67e8f9;
  --u-accent-2: #38bdf8;
  --u-radius: 14px;
  --u-shadow: 0 18px 45px rgba(2, 6, 23, 0.35);
}

html,
body {
  background:
    radial-gradient(
      1200px 600px at 10% -10%,
      rgba(14, 165, 233, 0.18),
      transparent 45%
    ),
    radial-gradient(
      900px 500px at 100% 0%,
      rgba(99, 102, 241, 0.14),
      transparent 45%
    ),
    linear-gradient(180deg, var(--u-bg-1), var(--u-bg-0));
  color: var(--u-text);
}

body {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

a {
  color: var(--u-accent);
}

a:hover {
  color: #a5f3fc;
}

nav,
.top-shell,
.topbar,
.section-page-top,
.nav-links,
.chat-card,
.panel,
.card,
.hero-card,
.side-card,
.status-box {
  border-color: var(--u-border) !important;
}

.panel,
.card,
.chat-card,
.hero-card,
.side-card,
.status-box {
  background: var(--u-surface) !important;
  border-radius: var(--u-radius);
  box-shadow: var(--u-shadow);
}

button,
.talkBtn,
#talkBtn,
#dockSend,
.ghost,
.top-tab,
.nav-links a,
.banner-buttons a,
.cta a {
  border-color: rgba(56, 189, 248, 0.35) !important;
}

input,
textarea,
select,
.chat-box,
#chat-box,
#dockLog,
#promptInput,
#dockInput {
  background: rgba(2, 6, 23, 0.78) !important;
  color: var(--u-text) !important;
  border-color: rgba(148, 163, 184, 0.28) !important;
}

h1,
h2,
h3,
.section-title,
.brand-copy strong {
  color: #e2e8f0;
}

p,
li,
.section-sub,
.sub-copy,
.hero-sub {
  color: var(--u-text-soft);
}
