:root{
  color-scheme: light dark;
  --bg: #0b1220;
  --bg2: #070b14;
  --stroke: color-mix(in oklab, white 12%, transparent);
  --text: color-mix(in oklab, white 92%, transparent);
  --muted: color-mix(in oklab, white 72%, transparent);
  --muted2: color-mix(in oklab, white 60%, transparent);
  --shadow: 0 18px 60px color-mix(in oklab, black 58%, transparent);
  --radius: 18px;
  --radius2: 14px;
  --max: 1100px;
  --g1: #a78bfa;
  --g2: #22c55e;
  --g3: #0ea5e9;
  --focus: color-mix(in oklab, var(--g3) 75%, white);
}

html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.45;
  background:
    radial-gradient(1000px 700px at 20% -10%, color-mix(in oklab, var(--g1) 30%, transparent), transparent 60%),
    radial-gradient(900px 600px at 90% 10%, color-mix(in oklab, var(--g2) 24%, transparent), transparent 60%),
    radial-gradient(900px 700px at 20% 110%, color-mix(in oklab, var(--g3) 18%, transparent), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  color:var(--text);
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *, *::before, *::after{animation:none !important; transition:none !important}
}

.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.skip{
  position:absolute; left:10px; top:10px;
  padding:10px 12px; border-radius:12px;
  background:color-mix(in oklab, black 70%, transparent);
  border:1px solid var(--stroke);
  color:var(--text); text-decoration:none;
  transform:translateY(-140%); transition:transform .2s ease;
  z-index:50;
}
.skip:focus{transform:translateY(0)}

.topbar{
  position:sticky; top:0; z-index:40;
  border-bottom:1px solid color-mix(in oklab, white 10%, transparent);
  background:color-mix(in oklab, black 30%, transparent);
  backdrop-filter: blur(12px);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text)}
.brand__mark{
  width:34px; height:34px; border-radius:12px;
  display:grid; place-items:center;
  background:
    radial-gradient(120% 120% at 20% 10%, color-mix(in oklab, var(--g1) 55%, transparent), transparent 55%),
    radial-gradient(120% 120% at 80% 30%, color-mix(in oklab, var(--g2) 40%, transparent), transparent 60%),
    color-mix(in oklab, white 8%, transparent);
  border:1px solid var(--stroke);
  box-shadow: 0 10px 34px color-mix(in oklab, black 55%, transparent);
  font-weight:800;
}
.brand__name{font-weight:800; letter-spacing:.2px}
.nav{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.nav__link{
  color:var(--muted);
  text-decoration:none;
  padding:10px 10px;
  border-radius:12px;
}
.nav__link:hover{color:var(--text); background:color-mix(in oklab, white 8%, transparent)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:14px;
  padding:11px 14px;
  border:1px solid var(--stroke);
  background:color-mix(in oklab, white 6%, transparent);
  color:var(--text);
  text-decoration:none;
  font-weight:650;
  cursor:pointer;
  box-shadow: 0 12px 40px color-mix(in oklab, black 40%, transparent);
}
.btn:hover{transform: translateY(-1px); transition:transform .14s ease}
.btn:active{transform: translateY(0)}
.btn:focus-visible{outline:3px solid var(--focus); outline-offset:3px}
.btn--primary{
  border-color: color-mix(in oklab, var(--g3) 25%, white 8%);
  background:
    radial-gradient(110% 110% at 15% 15%, color-mix(in oklab, var(--g1) 28%, transparent), transparent 55%),
    radial-gradient(110% 110% at 90% 25%, color-mix(in oklab, var(--g2) 20%, transparent), transparent 60%),
    linear-gradient(180deg, color-mix(in oklab, var(--g3) 28%, transparent), color-mix(in oklab, white 4%, transparent));
}
.btn--secondary{background:color-mix(in oklab, white 4%, transparent)}
.btn--ghost{background:transparent; box-shadow:none}
.btn__icon{opacity:.9}
.btn__label{display:none}
@media (min-width: 820px){.btn__label{display:inline}}

.hero{padding:56px 0 10px}
.hero__grid{display:grid; grid-template-columns: 1.25fr .95fr; gap:34px; align-items:center}
.hero__copy{padding: 24px 0}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  margin:0 0 12px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:color-mix(in oklab, white 5%, transparent);
  color:var(--muted);
  letter-spacing:.2px;
}
.hero__title{margin:0 0 14px; font-size: clamp(2.1rem, 1.1rem + 3.5vw, 3.6rem); line-height:1.02; letter-spacing:-.02em}
.grad{
  background: linear-gradient(90deg, var(--g1), var(--g2), var(--g3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero__subtitle{margin:0 0 20px; color:var(--muted); font-size:1.05rem; max-width: 56ch}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin: 0 0 18px}
.hero__stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin: 22px 0 0;
}
.stat{
  border:1px solid var(--stroke);
  background: color-mix(in oklab, white 4%, transparent);
  border-radius: var(--radius2);
  padding: 12px 12px;
}
.stat dt{font-size:.82rem; color:var(--muted2); margin:0 0 4px}
.stat dd{margin:0; font-weight:750; letter-spacing:.2px}

.hero__art{position:relative; min-height: 360px}
.orb{
  position:absolute; inset:auto;
  width: 220px; height: 220px; border-radius: 999px;
  filter: blur(18px);
  opacity: .9;
  animation: float 9s ease-in-out infinite;
}
.orb--a{left: 10%; top: 10%; background: color-mix(in oklab, var(--g1) 35%, transparent)}
.orb--b{right: 2%; bottom: 8%; background: color-mix(in oklab, var(--g2) 28%, transparent); animation-delay: -3.4s}
@keyframes float{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-14px,0)}
}
.panel{
  position:absolute; inset: 36px 0 0 0;
  margin-left:auto;
  width:min(460px, 100%);
  border-radius: var(--radius);
  border:1px solid var(--stroke);
  background:
    radial-gradient(130% 110% at 20% 10%, color-mix(in oklab, var(--g3) 12%, transparent), transparent 60%),
    color-mix(in oklab, black 20%, transparent);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.panel__top{
  display:flex; align-items:center; gap:8px;
  padding: 12px 14px;
  border-bottom:1px solid color-mix(in oklab, white 10%, transparent);
  background: color-mix(in oklab, black 18%, transparent);
}
.dot{width:10px; height:10px; border-radius:99px; border:1px solid color-mix(in oklab, white 30%, transparent)}
.dot--r{background:#ef4444}
.dot--y{background:#f59e0b}
.dot--g{background:#22c55e}
.panel__body{padding: 18px 18px 22px}
.chip{
  border:1px solid var(--stroke);
  border-radius: 16px;
  padding: 14px 14px 12px;
  background: color-mix(in oklab, white 4%, transparent);
}
.chip__title{font-weight:850; letter-spacing:.2px; margin:0 0 10px}
.chip__row{display:flex; gap:8px; flex-wrap:wrap}
.pill{
  border:1px solid color-mix(in oklab, white 14%, transparent);
  background: color-mix(in oklab, white 6%, transparent);
  padding:7px 10px;
  border-radius:999px;
  font-size:.85rem;
  color:var(--muted);
}
.lines{display:grid; gap:10px; margin-top:14px}
.line{
  height:12px; border-radius:999px;
  background: linear-gradient(90deg,
    color-mix(in oklab, white 16%, transparent),
    color-mix(in oklab, white 6%, transparent));
}
.line:nth-child(2){width:92%}
.line:nth-child(3){width:82%}
.line:nth-child(4){width:60%}

.section{padding: 52px 0}
.section--alt{
  border-top:1px solid color-mix(in oklab, white 10%, transparent);
  border-bottom:1px solid color-mix(in oklab, white 10%, transparent);
  background: color-mix(in oklab, black 14%, transparent);
}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom: 18px}
.section__title{margin:0; font-size: 1.65rem; letter-spacing:-.01em}
.section__lead{margin:0; color:var(--muted); max-width: 72ch}

.cards{display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:16px}
.card{
  border:1px solid var(--stroke);
  border-radius: var(--radius);
  background: color-mix(in oklab, white 4%, transparent);
  box-shadow: 0 14px 50px color-mix(in oklab, black 42%, transparent);
  padding: 18px 18px 16px;
}
.card--muted{background: color-mix(in oklab, white 2%, transparent)}
.card__badge{
  display:inline-flex; align-items:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid color-mix(in oklab, white 14%, transparent);
  background: color-mix(in oklab, white 6%, transparent);
  color:var(--muted2);
  font-size:.84rem;
  margin-bottom: 10px;
}
.card__title{margin:0 0 10px; font-size: 1.25rem; letter-spacing:-.01em}
.card__text{margin:0 0 14px; color:var(--muted)}
.card__actions{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.link{color: color-mix(in oklab, var(--g3) 60%, white); text-decoration:none; font-weight:700}
.link:hover{text-decoration:underline}

.grid3{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px}
.feature{
  border:1px solid var(--stroke);
  border-radius: var(--radius);
  background: color-mix(in oklab, white 3%, transparent);
  padding: 18px 18px 16px;
}
.feature__title{margin:0 0 10px; letter-spacing:-.01em}
.feature__text{margin:0; color:var(--muted)}

.cta{
  border:1px solid var(--stroke);
  border-radius: calc(var(--radius) + 4px);
  background:
    radial-gradient(1200px 500px at 10% 10%, color-mix(in oklab, var(--g1) 18%, transparent), transparent 50%),
    radial-gradient(900px 500px at 90% 10%, color-mix(in oklab, var(--g2) 14%, transparent), transparent 55%),
    color-mix(in oklab, white 3%, transparent);
  box-shadow: var(--shadow);
  padding: 20px 20px 18px;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  align-items:center;
}
.cta__title{margin:0 0 6px; font-size: 1.6rem; letter-spacing:-.01em}
.cta__text{margin:0; color:var(--muted)}
.cta__actions{display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap}
.cta__hint{grid-column: 1 / -1; margin: 0; color:var(--muted2)}
.kbd{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:.92rem;
  border:1px solid color-mix(in oklab, white 14%, transparent);
  padding:6px 10px;
  border-radius: 12px;
  background: color-mix(in oklab, black 22%, transparent);
}

.footer{padding: 26px 0 42px; color:var(--muted2)}
.footer__inner{display:flex; gap:16px; justify-content:space-between; align-items:center; flex-wrap:wrap}
.footer__brand{margin:0; font-weight:700}
.footer__meta{margin:0}
.footer__link{color:inherit; text-decoration:none}
.footer__link:hover{text-decoration:underline}

@media (max-width: 900px){
  .hero__grid{grid-template-columns: 1fr; gap: 12px}
  .hero__art{min-height: 320px}
  .panel{position:relative; inset:auto; margin: 14px 0 0; width:100%}
  .cards{grid-template-columns: 1fr}
  .grid3{grid-template-columns: 1fr}
  .cta{grid-template-columns: 1fr}
  .cta__actions{justify-content:flex-start}
  .topbar__inner{padding:12px 16px}
  .container{padding:0 16px}
}

/* Light theme override via toggle */
[data-theme="light"]{
  --bg: #f7f7fb;
  --bg2: #eef1f8;
  --text: color-mix(in oklab, black 92%, transparent);
  --muted: color-mix(in oklab, black 68%, transparent);
  --muted2: color-mix(in oklab, black 58%, transparent);
  --stroke: color-mix(in oklab, black 12%, transparent);
  --shadow: 0 18px 60px color-mix(in oklab, black 18%, transparent);
}
[data-theme="light"] .topbar{background: color-mix(in oklab, white 75%, transparent)}
[data-theme="light"] .skip{background: color-mix(in oklab, white 85%, transparent)}

