/* Layout: the page is the Void. Sections hang between spiked ledges, like rooms in the tower. Single dark look by design. */
:root{
  color-scheme:dark;
  --void:#0a0612; --room:#15102a; --ledge:#1d1736; --line:#2e2650;
  --ink:#efeaff; --muted:#a79fc6;
  --cube:#c9b8ff; --warden:#2bffd0; --gorger:#4fdc6a; --keeper:#ff3355; --spike:#ff5c7a; --gold:#ffd84a;
  --display:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--void);color:var(--ink);font:400 17px/1.65 var(--body)}
img,video{max-width:100%;display:block}
a{color:var(--warden);text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;text-wrap:balance}
p{margin:0;max-width:64ch}
.label{font:500 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.inner{max-width:1040px;margin:0 auto;padding-inline:20px}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:rgba(10,6,18,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;font:700 1rem/1 var(--display);color:var(--ink);text-decoration:none;margin-right:auto}
.brand i{width:22px;height:22px;border-radius:5px;background:var(--cube);box-shadow:0 0 12px var(--cube);position:relative;flex:none}
.brand i::before,.brand i::after{content:"";position:absolute;top:8px;width:3px;height:6px;background:var(--void)}
.brand i::before{left:6px}.brand i::after{right:6px}
.nav nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.nav nav a{font:500 .85rem/1.8 var(--display);color:var(--muted);text-decoration:none}
.nav nav a:hover{color:var(--ink)}

/* hero */
.hero{position:relative;overflow:hidden}
#stars{position:absolute;inset:0;width:100%;height:100%;background:url(stars.svg) 0 0/1600px 900px repeat}
.hero .inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding-block:72px 84px}
.hero-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
h1{font-size:clamp(2.6rem,9vw,5.4rem);line-height:.98;letter-spacing:-.03em}
h1 em{font-style:normal;color:var(--cube);text-shadow:0 0 28px rgba(201,184,255,.55)}
.hero p{font-size:1.15rem;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.btn{font:700 .95rem/1 var(--display);padding:15px 20px;border-radius:4px;text-decoration:none;border:2px solid var(--cube);color:var(--cube)}
.btn.solid{background:var(--cube);color:var(--void)}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--void)}
.cube{flex:none;width:clamp(130px,26vw,220px);aspect-ratio:1;border-radius:14%;background:var(--cube);border:8px solid #ddd2ff;box-shadow:0 0 60px rgba(201,184,255,.6);position:relative;transform:rotate(-9deg)}
.cube::before,.cube::after{content:"";position:absolute;top:38%;width:11%;height:22%;background:var(--void)}
.cube::before{left:31%}.cube::after{right:31%}
@media (prefers-reduced-motion:no-preference){
  .cube{animation:fall 3.2s ease-in-out infinite}
  @keyframes fall{50%{transform:translateY(18px) rotate(7deg)}}
}

/* ledges between sections */
.ledge{height:26px;background:var(--ledge);position:relative}
.ledge::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;
  background:linear-gradient(135deg,var(--spike) 50%,transparent 50%) 0 0/12px 12px repeat-x,
             linear-gradient(225deg,var(--spike) 50%,transparent 50%) 0 0/12px 12px repeat-x}

section{padding-block:76px 64px}
section .inner{display:flex;flex-direction:column;gap:24px}
h2{font-size:clamp(1.8rem,5.5vw,3rem);line-height:1.05;letter-spacing:-.02em}
h3{font-size:1.1rem;line-height:1.3}
.lede{font-size:1.1rem;color:var(--muted)}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:32px;align-items:start}
.split>*{min-width:0;display:flex;flex-direction:column;gap:18px}
video{width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line);border-radius:6px}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border-block:1px solid var(--line)}
.stats div{padding:18px 12px 18px 0}
.stats b{display:block;font:700 2rem/1.1 var(--display);color:var(--cube);font-variant-numeric:tabular-nums}
.stats span{font-size:.88rem;color:var(--muted)}

ul.feat{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
ul.feat li{padding-left:22px;position:relative;color:var(--muted)}
ul.feat li strong{color:var(--ink)}
ul.feat li::before{content:"";position:absolute;left:0;top:.5em;border:6px solid transparent;border-top:10px solid var(--spike)}

.product{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px 40px;align-items:start;padding-top:32px;border-top:1px solid var(--line)}
.product>div{min-width:0;display:flex;flex-direction:column;gap:16px}
.product h3{font-size:clamp(1.4rem,4vw,1.9rem)}
.faq{display:flex;flex-direction:column;max-width:760px}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font:700 1.02rem/1.4 var(--display)}
.faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.faq details p{margin-top:10px;color:var(--muted)}
.shop{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 28px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
.item:last-child{border-bottom:1px solid var(--line)}
.item p{font-size:.95rem;color:var(--muted)}
.price{font:700 1.3rem/1 var(--display);color:var(--gold);font-variant-numeric:tabular-nums}
.soon{font:500 .85rem/1 var(--display);color:var(--muted)}
@media (max-width:560px){.item{grid-template-columns:1fr auto}.item>:first-child{grid-column:1/-1}}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.card{background:var(--room);border:1px solid var(--line);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card p{font-size:.96rem;color:var(--muted)}
.boss{padding:0;overflow:hidden}
.boss img{width:100%;aspect-ratio:1;object-fit:cover}
.boss div{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.w{color:var(--warden)}.g{color:var(--gorger)}.k{color:var(--keeper)}

.eps{display:flex;flex-direction:column}
.eps div{display:grid;grid-template-columns:3.2rem 1fr;gap:4px 12px;padding:12px 0;border-top:1px solid var(--line)}
.eps b{font:700 .85rem/1.9 var(--display);color:var(--gold)}
.eps span{color:var(--muted);font-size:.95rem}
.eps strong{display:block;color:var(--ink);font-family:var(--display);font-size:.98rem}

pre{margin:0;background:#06030b;border:1px solid var(--line);color:var(--cube);padding:18px;border-radius:6px;overflow-x:auto;font:400 .84rem/1.55 var(--display)}
code{font-family:var(--display);font-size:.9em;color:var(--cube)}

footer{border-top:1px solid var(--line);padding-block:32px 48px;color:var(--muted);font-size:.9rem}
footer .inner{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
h1.page{font-size:clamp(2.2rem,7vw,4rem);line-height:1.02}
.nav nav a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--cube)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}

.item .cta{justify-content:flex-end}
@media (max-width:560px){.item .cta{grid-column:1/-1;justify-content:flex-start}}
