:root{
  --bps-bg:#070A12;
  --bps-bg2:#0B1022;
  --bps-card:rgba(255,255,255,.08);
  --bps-card2:rgba(255,255,255,.12);
  --bps-line:rgba(255,255,255,.14);
  --bps-text:#EAF0FF;
  --bps-muted:rgba(234,240,255,.75);
  --bps-accent:#6EE7FF;
  --bps-accent2:#A78BFA;
  --bps-accent3:#34D399;
  --bps-warn:#F59E0B;
  --bps-danger:#FB7185;
  --bps-shadow: 0 25px 55px rgba(0,0,0,.55);
  --bps-radius: 22px;
}

/* Light mode overrides (toggled via [data-theme="light"]) */
:root[data-theme="light"]{
  --bps-bg:#F7FAFF;
  --bps-bg2:#EEF4FF;
  --bps-card:rgba(255,255,255,.85);
  --bps-card2:rgba(255,255,255,.95);
  --bps-line:rgba(15,23,42,.12);
  --bps-text:#0F172A;
  --bps-muted:rgba(15,23,42,.7);
  --bps-shadow: 0 16px 44px rgba(2,6,23,.12);
}

html,body{height:100%;}
body{
  background:
    radial-gradient(1200px 900px at 10% 10%, rgba(110,231,255,.18), transparent 55%),
    radial-gradient(900px 700px at 90% 0%, rgba(167,139,250,.18), transparent 55%),
    radial-gradient(900px 700px at 85% 85%, rgba(52,211,153,.16), transparent 55%),
    linear-gradient(180deg, var(--bps-bg) 0%, var(--bps-bg2) 100%);
  color:var(--bps-text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none;}
a:hover{color:var(--bps-accent);}

/* Subtle animated starfield */
.bps-stars{position:fixed; inset:0; pointer-events:none; opacity:.24; mix-blend-mode:screen;}
.bps-stars::before,
.bps-stars::after{
  content:"";
  position:absolute; inset:-200px;
  background-image:
    radial-gradient(2px 2px at 20px 30px, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(1px 1px at 120px 80px, rgba(255,255,255,.7), transparent 60%),
    radial-gradient(1.5px 1.5px at 80px 140px, rgba(255,255,255,.85), transparent 60%),
    radial-gradient(1px 1px at 200px 160px, rgba(255,255,255,.7), transparent 60%),
    radial-gradient(2px 2px at 260px 40px, rgba(255,255,255,.8), transparent 60%);
  background-size: 320px 220px;
  animation: bpsDrift 26s linear infinite;
}
.bps-stars::after{opacity:.75; filter: blur(.3px); animation-duration: 42s;}
@keyframes bpsDrift{from{transform:translate3d(0,0,0);}to{transform:translate3d(-320px,-220px,0);}}

/* Navbar */
.bps-nav{
  backdrop-filter: blur(14px);
  background: rgba(0,0,0,.25);
  border-bottom: 1px solid var(--bps-line);
}
:root[data-theme="light"] .bps-nav{background: rgba(255,255,255,.65);}

.bps-brand{
  display:flex; align-items:center; gap:.65rem;
  letter-spacing:.3px;
}
.bps-badge{
  width:40px; height:40px; border-radius:14px;
  background: conic-gradient(from 210deg, var(--bps-accent), var(--bps-accent2), var(--bps-accent3), var(--bps-accent));
  box-shadow: 0 12px 26px rgba(110,231,255,.18);
  position:relative;
}
.bps-badge::after{
  content:""; position:absolute; inset:2px; border-radius:12px;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.05));
}
:root[data-theme="light"] .bps-badge::after{background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.15));}

.bps-pill{
  border:1px solid var(--bps-line);
  background: rgba(255,255,255,.06);
  border-radius:999px;
  padding:.35rem .75rem;
}
:root[data-theme="light"] .bps-pill{background: rgba(2,6,23,.03);}

/* Hero */
.bps-hero{
  padding-top: 7.25rem;
  padding-bottom: 2rem;
}
.bps-hero h1{font-weight:800; line-height:1.05; letter-spacing:-.6px;}
.bps-gradient-text{
  background: linear-gradient(90deg, var(--bps-accent), var(--bps-accent2), var(--bps-accent3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.bps-card{
  background: linear-gradient(180deg, var(--bps-card2), var(--bps-card));
  border: 1px solid var(--bps-line);
  border-radius: var(--bps-radius);
  box-shadow: var(--bps-shadow);
}

.bps-section{padding: 3.2rem 0;}
.bps-section-title{font-weight:800; letter-spacing:-.3px;}
.bps-kicker{color:var(--bps-muted);}

/* Carousel */
.bps-carousel .carousel-item{
  min-height: 360px;
  border-radius: calc(var(--bps-radius) + 6px);
  overflow:hidden;
}
.bps-carousel .bps-slide{
  min-height: 360px;
  background-size: cover;
  background-position: center;
  position:relative;
}
.bps-carousel .bps-slide::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.05) 100%);
}
:root[data-theme="light"] .bps-carousel .bps-slide::before{
  background: linear-gradient(90deg, rgba(15,23,42,.72) 0%, rgba(15,23,42,.25) 55%, rgba(15,23,42,.06) 100%);
}
.bps-carousel .bps-slide .bps-slide-content{position:relative; z-index:1; padding:2.25rem;}

.bps-meta{
  display:flex; flex-wrap:wrap; gap:.5rem;
  color:var(--bps-muted);
}

/* Table */
.table{
  --bs-table-bg: transparent;
  --bs-table-color: var(--bps-text);
  --bs-table-border-color: var(--bps-line);
}
.table thead th{color: var(--bps-muted); font-weight:700; text-transform:uppercase; font-size:.75rem; letter-spacing:.08em;}

/* Cards grid */
.bps-list .list-group-item{
  background: rgba(255,255,255,.04);
  border: 1px solid var(--bps-line);
  color: var(--bps-text);
}
:root[data-theme="light"] .bps-list .list-group-item{background: rgba(2,6,23,.03);}
.bps-list .list-group-item:hover{transform: translateY(-1px); transition: .18s ease;}

/* Footer */
.bps-footer{
  border-top: 1px solid var(--bps-line);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(14px);
}
:root[data-theme="light"] .bps-footer{background: rgba(255,255,255,.65);}

/* Utility */
.bps-chip{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid var(--bps-line);
  background: rgba(255,255,255,.06);
  color: var(--bps-muted);
  font-size:.9rem;
}
:root[data-theme="light"] .bps-chip{background: rgba(2,6,23,.03);}

.bps-divider{height:1px; background: var(--bps-line);}

/* Responsive tweaks */
@media (max-width: 576px){
  .bps-hero{padding-top: 6.25rem;}
  .bps-carousel .carousel-item, .bps-carousel .bps-slide{min-height: 320px;}
  .bps-carousel .bps-slide .bps-slide-content{padding:1.35rem;}
}
