  /* :root{
    --bg:#0B0C0F; --ink:#E7E9EE; --mute:#9AA0AA; --line:#2a2e3a; --brand:#6AA8FF; --card:#171e2b;
  }
  body{background:var(--bg); color:var(--ink);}
  .text-mute{color:var(--mute)!important}
  .border-line{border-color:var(--line)!important}
  .hoverable:hover{border-color:rgba(106,168,255,.8)!important}
  .bg-card{background:var(--card)}
  .btn-brand{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#5a9bff;--bs-btn-hover-border-color:#5a9bff;color:#081022}
  .btn-ghost{--bs-btn-bg:transparent;--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:rgba(255,255,255,.05)}
  .rounded-xl{border-radius:1rem}
  .shadow-brand{box-shadow:0 15px 40px rgba(0,0,0,.35)}
  .hero-glow{position:absolute;inset:0;pointer-events:none}
  .hero-glow::before{content:"";position:absolute;left:50%;top:-60px;transform:translateX(-50%);width:720px;height:280px;border-radius:999px;background:rgba(106,168,255,.2);filter:blur(100px)}
  .sticky-cta{box-shadow:0 -8px 30px rgba(0,0,0,.35);background:#0E1117}
  .shadow-brand {box-shadow:0 -8px 60px rgba(59, 134, 177, 0.75)} */

  /* DARK (default) */
  :root{
    --bg:#0B0C0F; 
    --ink:#E7E9EE; 
    --mute:#9AA0AA; 
    --line:#1E212A; 
    --brand:#6AA8FF; 
    --card:#0E121A;
    --blockquote:#1E212A;

    /* --bs-body-bg: var(--neutral-950); */
    /* --bs-body-color: var(--neutral-50); */
    /* --bs-form-check-bg: var(--neutral-600); */

    --neutral-50:  #0a0a0a;
    --neutral-100: #171717;
    --neutral-200: #262626;
    --neutral-300: #404040;
    --neutral-400: #525252;
    --neutral-500: #737373;
    --neutral-600: #a3a3a3;
    --neutral-700: #d4d4d4;
    --neutral-800: #e5e5e5;
    --neutral-900: #f5f5f5;
    --neutral-950: #fafafa;
  }
  body{background:var(--bg); color:var(--ink);}
  .text-mute{color:var(--mute)!important}
  .text-brand{color:var(--brand)}
  .text-ink{color: var(--ink);}
  .border-line{border-color:var(--line)!important}
  .hoverable:hover{border-color:rgba(106,168,255,.8)!important}
  .bg-card{background:var(--card)}
  .btn-brand{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#5a9bff;--bs-btn-hover-border-color:#5a9bff;color:#081022}
  .btn-ghost{--bs-btn-bg:transparent;--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:rgba(255,255,255,.05)}
  .rounded-xl{border-radius:1rem}
  .shadow-brand{box-shadow:0 15px 40px rgba(0,0,0,.35)}
  .hero-glow{position:absolute;inset:0;pointer-events:none}
  .hero-glow::before{content:"";position:absolute;left:50%;top:-60px;transform:translateX(-50%);width:720px;height:280px;border-radius:999px;background:rgba(106,168,255,.18);filter:blur(100px)}
  
  /* LIGHT theme overrides */
  html[data-theme="light"]{
    --bg:#FFFFFF;
    --ink:#0B0C0F;
    --mute:#5B6371;
    --line:#E6E8EE;
    --brand:#3F8EFC;
    --card:#F8FAFE;
    --blockquote:#eceef4;

    --neutral-50: #fafafa;
    --neutral-100: #f5f5f5;
    --neutral-200: #e5e5e5;
    --neutral-300: #d4d4d4;
    --neutral-400: #a3a3a3;
    --neutral-500: #737373;
    --neutral-600: #525252;
    --neutral-700: #404040;
    --neutral-800: #262626;
    --neutral-900: #171717;
    --neutral-950: #0a0a0a;

    /* --bs-font-serif: Georgia, 'Times New Roman', Times, serif;     */

  }
  
  html[data-theme="light"] .btn-ghost{
    --bs-btn-color:var(--ink);
    --bs-btn-border-color:var(--line);
    --bs-btn-hover-bg:#F2F5FB;
  }
  
  html[data-theme="dark"] .shadow-brand{box-shadow:0 15px 40px rgba(63,142,252,.75)}
  /* html[data-theme="dark"] .shadow-brand{ box-shadow:0 8px 24px rgba(15, 23, 42, .08); } */
  html[data-theme="light"] .hero-glow::before{ background:rgba(63,142,252,.18); }
  
  /* Make header/footer backgrounds follow variables (less “flashy”) */
  header.sticky-top{ background:color-mix(in oklab, var(--bg) 86%, transparent); backdrop-filter:blur(8px); }
  footer{ background:var(--bg); }

  /* Tables / accordions / text colors for light mode */
  .accordion-item{ border-color:var(--line)!important; }
  .accordion-button{ background:transparent!important; color:var(--ink)!important; }
  .accordion-button:not(.collapsed){ box-shadow:none; }
  .accordion-body{ color:var(--ink)!important; }
  .link-secondary{ text-decoration:none; }
  .link-secondary:hover{ color:var(--ink)!important; }
  /* Cards & dividers */
  .bg-soft{ background:color-mix(in oklab, var(--bg) 96%, white 4%); }
  blockquote{padding:16px 16px 1px 16px;border:0;border-left:6px solid #d00;background-color: var(--blockquote);}

pre {
  padding: 2rem;
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
}
.navbar a.navbar-brand {
  color: var(--bs-primary);
}
.navbar a.navbar-brand img {
  padding-right: 0.4rem;
}
.x {
  margin:1px;
  padding: 0px 3px;
  border-radius: 4px;
  background-color: var(--bs-danger);
  color: var(--bs-white);
}
.ink {color: var(--ink);}




@keyframes fadeUp { 
    from { opacity: 0; transform: translateY(8px);} 
    to { opacity: 1; transform: translateY(0);} 
}
.reveal { animation: fadeUp .6s ease-out both; }


/* Text colors */
.text-neutral-50 { color: var(--neutral-50) !important; }
.text-neutral-100 { color: var(--neutral-100) !important; }
.text-neutral-200 { color: var(--neutral-200) !important; }
.text-neutral-300 { color: var(--neutral-300) !important; }
.text-neutral-400 { color: var(--neutral-400) !important; }
.text-neutral-500 { color: var(--neutral-500) !important; }
.text-neutral-600 { color: var(--neutral-600) !important; }
.text-neutral-700 { color: var(--neutral-700) !important; }
.text-neutral-800 { color: var(--neutral-800) !important; }
.text-neutral-900 { color: var(--neutral-900) !important; }
.text-neutral-950 { color: var(--neutral-950) !important; }

/* Background colors */
.bg-neutral-50 { background-color: var(--neutral-50) !important; }
.bg-neutral-100 { background-color: var(--neutral-100) !important; }
.bg-neutral-200 { background-color: var(--neutral-200) !important; }
.bg-neutral-800 { background-color: var(--neutral-800) !important; }
.bg-neutral-900 { background-color: var(--neutral-900) !important; }
.bg-neutral-950 { background-color: var(--neutral-950) !important; }

/* Backdrop blur */
.backdrop-blur { backdrop-filter: blur(8px); }

/* Custom utilities */
.bg-opacity-80 { background-color: rgba(255, 255, 255, 0.8) !important; }
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Aspect ratios */
.aspect-16-9 {
    aspect-ratio: 16 / 9;
}
.aspect-21-9 {
    aspect-ratio: 21 / 9;
}
.aspect-4-3 {
    aspect-ratio: 4 / 3;
}

/* Custom button styles */
.nav-link-custom {
    color: var(--neutral-600);
    text-decoration: none;
    transition: color 0.2s;
}
.nav-link-custom:hover {
    color: var(--neutral-900);
}

.icon-btn {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 9999px;
    transition: background-color 0.2s;
}
.icon-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.chip {
    padding: 0.375rem 0.75rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 9999px;
    white-space: nowrap;
    text-decoration: none;
    color: inherit;
}

.menu-link {
    border-radius: 0.75rem;
    padding: 0.625rem 0.75rem;
    display: block;
    text-decoration: none;
    color: inherit;
}
.menu-link:hover {
    background-color: rgba(0, 0, 0, 0.06);
}

/* Marquee animation */
@keyframes marquee {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}
.animate-marquee {
    display: inline-block;
    animation: marquee 30s linear infinite;
}

/* Group hover effects */
.group:hover .group-hover-underline {
    text-decoration: underline;
}

/* Border utilities */
.border-opacity-5 {
    border-color: rgba(0, 0, 0, 0.05) !important;
}

/* Tracking */
.tracking-tight { letter-spacing: -0.025em; }
.tracking-wide { letter-spacing: 0.025em; }

/* Leading */
.leading-snug { line-height: 1.375; }
.leading-6 { line-height: 1.5rem; }

/* Personalization  */
.icon-btn {
background-color: #fff;
display:inline-flex;align-items:center;justify-content:center;
height:2rem;width:2rem;border-radius:9999px;
border:1px solid color-mix(in oklab,black 10%,transparent);
color:rgb(82,82,91);
}
.icon-btn:hover {background:color-mix(in oklab,black 6%,transparent);}
.dark .icon-btn{border-color:color-mix(in oklab,white 12%,transparent);color:rgb(163,163,163);}
.dark .icon-btn:hover{background:color-mix(in oklab,white 8%,transparent);}

.ff-serif {
    font-family: var(--bs-font-serif);
}
p.site-title {
    margin: 0.5rem auto;
}
p, article{
    font-family: var(--bs-font-serif);
}
p.text-sm {font-size:x-small}
div.ff-sans-serif p {
    font-family: var(--bs-font-sans-serif);
}

a h3 {
    font-family: var(--bs-font-sans-serif);
    font-size: 1.5rem;
}

a h4 {
    font-family: var(--bs-font-sans-serif);
    font-size: 1rem;
}

.form-check-input {background-color: #eee;}
.form-check-input:checked {background-color: #111;}
