/* ssoul.io Light Theme */
:root {
  --dm-bg: #f7f7f4;
  --dm-bg-elevated: #ffffff;
  --dm-bg-card: rgba(255, 255, 255, 0.9);
  --dm-bg-card-hover: rgba(248, 250, 252, 0.96);
  --dm-text: #09090b;
  --dm-text-secondary: rgba(9, 9, 11, 0.72);
  --dm-text-muted: rgba(9, 9, 11, 0.52);
  --dm-border: rgba(9, 9, 11, 0.1);
  --dm-border-focus: rgba(27, 77, 255, 0.45);
  --gradient-accent: linear-gradient(135deg, #111827 0%, #1b4dff 100%);
  --accent-blue: #1b4dff;
  --accent-purple: #4f46e5;
  --accent-pink: #0ea5e9;
  --dm-shadow: 0 18px 60px rgba(9, 9, 11, 0.09);
  --dm-shadow-card: 0 14px 40px rgba(9, 9, 11, 0.08);
  --gradient-primary: linear-gradient(180deg, #f7f7f4 0%, #ffffff 48%, #f7f7f4 100%);
  --glass-bg: rgba(255, 255, 255, 0.88);
  --glass-border: var(--dm-border);
  --accent-cyan: #0f766e;
  --text: var(--dm-text);
  --text-muted: var(--dm-text-muted);
  --text-secondary: var(--dm-text-secondary);
  --transition: all 0.3s ease;
  /* Landing light tokens (shared with subpages) */
  --lp-bg: #f7f7f4;
  --lp-surface: #ffffff;
  --lp-surface-soft: #f0f0ec;
  --lp-text: #09090b;
  --lp-muted: #626266;
  --lp-subtle: #8b8b91;
  --lp-line: rgba(9, 9, 11, 0.1);
  --lp-line-strong: rgba(9, 9, 11, 0.18);
  --lp-accent: #1b4dff;
  --lp-accent-soft: rgba(27, 77, 255, 0.08);
  --lp-shadow: 0 28px 80px rgba(9, 9, 11, 0.08);
  --lp-radius: 18px;
  --lp-max: 1180px;
}

@keyframes pageOrbFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -18px) scale(1.05); }
}

/* Subpages: match homepage light-section tone */
body.has-global-nav:not(.landing-redesign) {
  background:
    radial-gradient(ellipse at 74% 34%, rgba(77, 139, 255, 0.14), transparent 31%),
    radial-gradient(ellipse at 18% 82%, rgba(108, 99, 255, 0.08), transparent 24%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 45%, #f7f7f4 100%) !important;
  color: var(--lp-text) !important;
}

body.has-global-nav:not(.landing-redesign) .bg-effects {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

body.has-global-nav:not(.landing-redesign) .bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(140px);
  opacity: 0.32;
  animation: pageOrbFloat 20s ease-in-out infinite;
}

body.has-global-nav:not(.landing-redesign) .bg-orb-1 {
  width: 620px;
  height: 620px;
  background: radial-gradient(circle, rgba(94, 179, 255, 0.18) 0%, transparent 70%);
  top: -260px;
  right: -160px;
}

body.has-global-nav:not(.landing-redesign) .bg-orb-2 {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(199, 125, 216, 0.16) 0%, transparent 70%);
  bottom: -210px;
  left: -120px;
  animation-delay: -7s;
}

body.has-global-nav:not(.landing-redesign) .bg-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

.list-group-item {
  background-color: var(--dm-bg-elevated) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

.list-group-item.text-muted {
  color: var(--dm-text-muted) !important;
}
