:root{
  --bg:#101218;
  --bg-2:#161923;
  --line:#232837;
  --line-soft:#1c2130;
  --ink:#e6e8ee;
  --ink-2:#9aa1b2;
  --ink-3:#929bad;
  --red:#FF6E63; --orange:#FFB454; --yellow:#FFE066;
  --green:#7BD88F; --blue:#62A8FF; --indigo:#7B8CFA; --violet:#9B8CF5;
  --mono:"JetBrainsMono NFM","JetBrainsMono Nerd Font Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@font-face{
  font-family:"JetBrainsMono NFM";
  src:url("../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff") format("woff");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrainsMono NFM";
  src:url("../assets/fonts/JetBrainsMonoNerdFontMono-Medium.woff") format("woff");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrainsMono NFM";
  src:url("../assets/fonts/JetBrainsMonoNerdFontMono-SemiBold.woff") format("woff");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrainsMono NFM";
  src:url("../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff") format("woff");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrainsMono NFM";
  src:url("../assets/fonts/JetBrainsMonoNerdFontMono-ExtraBold.woff") format("woff");
  font-weight:800;font-style:normal;font-display:swap;
}
body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
code,.mono{font-family:var(--mono)}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(16,18,24,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.nav-i{display:flex;align-items:center;height:64px;gap:36px}
.brand{
  display:flex;align-items:center;gap:11px;
  font-family:var(--mono);
  font-weight:700;font-size:15.5px;letter-spacing:.8px;
  text-transform:uppercase;
}
.brand img{width:24px;height:24px}
.nav-r{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14px;color:var(--ink-2)}
.nav-r a:hover{color:var(--ink)}
.nav-toggle{
  display:none;margin-left:auto;padding:10px;
  background:none;border:1px solid var(--line);border-radius:8px;
  cursor:pointer;
}
.nav-toggle span{
  display:block;width:18px;height:2px;margin:4px 0;
  background:var(--ink);border-radius:1px;transition:.2s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.btn{
  display:inline-flex;align-items:center;gap:8px;border-radius:8px;
  padding:9px 18px;font-size:14px;font-weight:600;transition:.16s;
}
.btn-ghost{
  border:1px solid var(--line);color:var(--ink);
  background:rgba(16,18,24,.2);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.btn-ghost:hover{
  border-color:#39415a;
  background:rgba(16,18,24,.35);
}
.btn-solid{background:var(--ink);color:#101218}
.btn-solid:hover{background:#fff}

/* hero */
.hero{padding:110px 0 90px;position:relative;overflow:hidden}
.beam{
  position:absolute;left:-4%;right:-4%;top:68%;height:1px;
  pointer-events:none;z-index:0;
}
.beam--sharp{z-index:0}
.beam i{
  position:absolute;left:0;width:160%;height:1.5px;
  transform:rotate(var(--r, 0deg));
  transform-origin:0 50%;
  opacity:.5;
}
.beam--blur i{filter:blur(1.5px)}
.beam--sharp i{filter:none;height:1px;opacity:.5}
.beam i:nth-child(8n+1){background:linear-gradient(90deg,transparent,var(--red) 30%,transparent)}
.beam i:nth-child(8n+2){background:linear-gradient(90deg,transparent,var(--orange) 35%,transparent)}
.beam i:nth-child(8n+3){background:linear-gradient(90deg,transparent,var(--yellow) 40%,transparent)}
.beam i:nth-child(8n+4){background:linear-gradient(90deg,transparent,var(--green) 45%,transparent)}
.beam i:nth-child(8n+5){background:linear-gradient(90deg,transparent,var(--blue) 50%,transparent)}
.beam i:nth-child(8n+6){background:linear-gradient(90deg,transparent,var(--indigo) 55%,transparent)}
.beam i:nth-child(8n+7){background:linear-gradient(90deg,transparent,var(--violet) 60%,transparent)}
.beam i:nth-child(8n){background:linear-gradient(90deg,transparent,#fff 50%,transparent)}
.hero > .wrap{position:relative;z-index:1}
.eyebrow{
  display:block;font-family:var(--mono);font-size:13px;
  color:var(--ink-2);letter-spacing:1.5px;text-transform:uppercase;
  text-align:center;margin-bottom:28px;
}
.eyebrow .dot{display:inline-block;margin:0 10px;color:var(--ink-3);letter-spacing:0}
/* splash ART — canvas animation (frames from prismattyc-core) */
.splash-art{
  margin:0 0 48px;line-height:0;
}
.splash-art img, .splash-art svg, .splash-art-canvas{
  display:block;width:100%;height:auto;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.hero p.lede{margin:0 0 36px;font-size:18px;color:var(--ink-2);max-width:520px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-lg{padding:13px 24px;font-size:15px}
.hero .made-by{margin-top:30px;font-size:13.5px;color:var(--ink-3)}
.hero .made-by a{color:var(--ink-2);border-bottom:1px solid var(--line)}
.hero .made-by a:hover{color:var(--violet);border-color:var(--violet)}

/* hero terminal card */
.hcard{
  border:1px solid var(--line);border-radius:14px;background:var(--bg-2);
  box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.02) inset;
  overflow:hidden;font-family:var(--mono);font-size:13px;
}
.hcard-top{display:flex;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}
.hcard-top i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.hcard pre{padding:20px 22px;line-height:1.95;overflow-x:auto;color:var(--ink-2)}
.hcard .g{color:var(--green)}.hcard .b{color:var(--blue)}.hcard .d{color:var(--ink-3)}
.hcard .k{color:var(--ink)}
.caret{display:inline-block;width:7px;height:14px;background:var(--green);vertical-align:-2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* demo reel band */
.reelband{
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  background:var(--bg-2);padding:64px 0;
}
.reel-frame{
  position:relative;aspect-ratio:16/9;max-width:880px;margin:0 auto;
  background:#0d0f15;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.reel-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.reel-frame.loaded video{display:block}
.reel-frame.loaded .reel-ph{display:none}
.reel-ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:26px;
}
.reel-ph::before{
  content:"";position:absolute;inset:0;opacity:.14;
  background:
    linear-gradient(115deg,transparent 30%,rgba(255,110,99,.5) 38%,rgba(255,180,84,.5) 43%,
    rgba(255,224,102,.5) 48%,rgba(123,216,143,.5) 53%,rgba(98,168,255,.5) 58%,
    rgba(155,140,245,.5) 63%,transparent 71%);
}
.reel-ph img{position:relative;width:min(420px,70%);opacity:.85}
.reel-play{
  position:relative;width:72px;height:72px;border-radius:50%;
  border:1px solid var(--line);background:rgba(22,25,35,.85);
  display:flex;align-items:center;justify-content:center;transition:.16s;
}
.reel-ph:hover .reel-play{border-color:var(--green);transform:scale(1.06)}
.reel-play::after{
  content:"";display:block;margin-left:6px;
  border-left:18px solid var(--ink);border-top:11px solid transparent;border-bottom:11px solid transparent;
}
.reel-ph .cap{position:relative;font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:1px}
.reel-ph .cap b{color:var(--ink-2);font-weight:500}

/* sections */
section{padding:104px 0}
.kicker{font-family:var(--mono);font-size:13px;color:var(--ink-3);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px}
h2{font-size:clamp(28px,3.4vw,38px);font-weight:800;letter-spacing:-1px;line-height:1.15;margin-bottom:14px}
.sec-sub{color:var(--ink-2);font-size:16.5px;margin-bottom:56px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden}
.feat{
  background:var(--bg);padding:32px 28px;transition:background .18s;position:relative;
}
.feat:hover{background:var(--bg-2)}
.feat::before{content:"";position:absolute;top:0;left:28px;right:28px;height:2px;border-radius:0 0 2px 2px;opacity:0;transition:opacity .18s}
.feat:hover::before{opacity:1}
.feat:nth-child(1)::before{background:var(--red)}
.feat:nth-child(2)::before{background:var(--orange)}
.feat:nth-child(3)::before{background:var(--yellow)}
.feat:nth-child(4)::before{background:var(--green)}
.feat:nth-child(5)::before{background:var(--blue)}
.feat:nth-child(6)::before{background:var(--violet)}
.feat:nth-child(7)::before{background:linear-gradient(90deg,var(--red),var(--orange),var(--yellow),var(--green),var(--blue),var(--violet))}
.feat-span{grid-column:1/-1}
.feat code.cmd{font-size:12px;color:var(--ink-3);display:inline-block;margin-bottom:16px;background:var(--bg-2);border:1px solid var(--line-soft);padding:3px 9px;border-radius:6px}
.feat:hover code.cmd{color:var(--ink-2)}
.feat h3{
  font-size:16.5px;font-weight:500;margin-bottom:8px;
  text-transform:uppercase;letter-spacing:.6px;
}
.feat p{font-size:14.5px;color:var(--ink-2)}

/* lineage timeline */
#lineage{padding-top:96px;padding-bottom:96px}
#lineage .line-head{text-align:center;margin-bottom:64px}
#lineage .line-head h2{text-wrap:balance}
#lineage .line-head .sec-sub{margin:14px auto 0}
.timeline{
  display:grid;grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto auto auto 1fr;
  gap:0 20px;position:relative;max-width:960px;margin:0 auto;
  align-items:stretch;
}
.timeline::before{
  content:"";position:absolute;top:26px;left:16%;right:16%;height:1.5px;
  background:linear-gradient(90deg,var(--red),var(--orange),var(--yellow),var(--green),var(--blue),var(--violet));
  opacity:.45;
}
.era{
  display:grid;grid-template-rows:subgrid;grid-row:span 4;
  text-align:center;padding:0 18px 8px;position:relative;
  border:none;background:transparent;box-shadow:none;
}
.era .node{
  width:52px;height:52px;margin:0 auto 20px;border-radius:50%;position:relative;z-index:1;
  background:var(--bg-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--ink-2);
  transition:.18s;
}
.era:hover .node{transform:translateY(-2px)}
.era:nth-child(1) .node{border-color:rgba(255,110,99,.45);box-shadow:0 0 26px rgba(255,110,99,.14)}
.era:nth-child(2) .node{border-color:rgba(255,224,102,.4);box-shadow:0 0 26px rgba(255,224,102,.12)}
.era:nth-child(3) .node{border-color:rgba(123,216,143,.5);box-shadow:0 0 26px rgba(123,216,143,.16)}
.era .yr{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:2px;margin:0}
.era h3{
  font-size:clamp(13.5px,1.45vw,16.5px);font-weight:500;
  margin:10px 0 12px;line-height:1.25;
  white-space:nowrap;text-transform:uppercase;letter-spacing:.6px;
}
.era > p:not(.yr){font-size:14px;color:var(--ink-2);margin:0;align-self:start}
.era p code{font-size:12.5px;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line-soft);border-radius:5px;padding:1px 7px}

/* install */
#install{background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.inst-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.dl-primary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:var(--ink);color:#101218;border-radius:12px;padding:22px 26px;margin-bottom:14px;transition:.16s;
}
.dl-primary:hover{background:#fff;transform:translateY(-2px)}
.dl-primary .t{font-weight:700;font-size:16.5px}
.dl-primary .s{font-size:13px;opacity:.65;font-family:var(--mono)}
.dl-primary svg{flex-shrink:0}
.dl-others{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dl-row{
  display:flex;justify-content:space-between;align-items:center;padding:15px 22px;
  background:var(--bg);font-size:14px;transition:background .15s;
}
.dl-row:hover{background:#1a1e2a}
.dl-row.dl-soon{opacity:.45;cursor:default}
.dl-row.dl-soon:hover{background:transparent}
.dl-row span:last-child{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.dl-note{margin-top:18px;font-size:13px;color:var(--ink-3)}
.dl-note a{color:var(--ink-2);border-bottom:1px solid var(--line)}
.termbox{border:1px solid var(--line);border-radius:12px;background:var(--bg);overflow:hidden}
.termbox .tb-head{padding:12px 20px;font-family:var(--mono);font-size:12px;color:var(--ink-3);border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between}
.termbox .copy{cursor:pointer;color:var(--ink-2)}
.termbox .copy:hover{color:var(--ink)}
.termbox pre{padding:20px 22px;font-family:var(--mono);font-size:12px;line-height:2;color:var(--ink-2);overflow-x:auto}
.termbox .g{color:var(--green)}.termbox .k{color:var(--ink)}

/* maker */
#maker .maker-card{
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid #303541;border-radius:16px;padding:52px 68px 52px 52px;
  display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:clamp(32px,4vw,58px);align-items:center;
  background:
    linear-gradient(rgba(230,232,238,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(230,232,238,.035) 1px,transparent 1px),
    radial-gradient(circle at 13% 50%,rgba(230,232,238,.05),transparent 23%),
    #07080a;
  background-size:96px 96px,96px 96px,auto,auto;
  box-shadow:0 28px 70px rgba(0,0,0,.25),inset 0 0 80px rgba(255,255,255,.018);
}
.moonbase-lockup{
  position:relative;display:flex;align-items:flex-end;gap:17px;min-width:0;
}
.moonbase-orbit{
  position:relative;display:block;width:88px;aspect-ratio:1;border:1px solid rgba(230,232,238,.88);border-radius:50%;
}
.moonbase-orbit::before{
  content:"";position:absolute;left:-14px;right:-14px;top:50%;height:1px;background:rgba(230,232,238,.9);transform:rotate(-17deg);
}
.moonbase-orbit::after{
  content:"";position:absolute;right:6px;top:24px;width:4px;aspect-ratio:1;border-radius:50%;background:var(--ink);box-shadow:0 0 9px rgba(230,232,238,.7);
}
.moonbase-orbit i{
  position:absolute;inset:18px;border:1px solid rgba(230,232,238,.2);border-radius:50%;
}
.moonbase-lockup__code{
  color:var(--ink-3);font-size:8px;letter-spacing:.18em;line-height:1.8;text-transform:uppercase;white-space:nowrap;
}
.maker-copy{min-width:0}
#maker .kicker{margin-bottom:11px;font-size:10px;letter-spacing:.2em}
.maker-wordmark{display:flex;align-items:baseline;gap:.22em;margin-bottom:13px;font-family:"Rajdhani",sans-serif;font-size:clamp(36px,4vw,58px);font-weight:300;letter-spacing:.07em;line-height:.9;text-transform:uppercase}
.maker-wordmark span:last-child{color:transparent;-webkit-text-stroke:1px rgba(230,232,238,.85);font-size:.78em;letter-spacing:.13em}
#maker .maker-copy>p:last-child{color:var(--ink-2);max-width:590px;font-size:14px}
.maker-cta{position:relative;z-index:1;white-space:nowrap;border-color:#3a404d;border-radius:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.maker-edge-code{
  position:absolute;right:17px;top:50%;color:var(--ink-3);font-size:7px;letter-spacing:.22em;writing-mode:vertical-rl;transform:translateY(-50%);text-transform:uppercase;
}

/* footer */
footer{padding:44px 0;border-top:1px solid var(--line-soft)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13.5px;color:var(--ink-3)}
footer .f-links{display:flex;gap:22px}
footer a:hover{color:var(--ink)}
.spectrum-dot{display:inline-flex;gap:4px;vertical-align:middle}
.spectrum-dot i{width:5px;height:5px;border-radius:50%}
.spectrum-dot i:nth-child(1){background:var(--red)}.spectrum-dot i:nth-child(2){background:var(--orange)}
.spectrum-dot i:nth-child(3){background:var(--yellow)}.spectrum-dot i:nth-child(4){background:var(--green)}
.spectrum-dot i:nth-child(5){background:var(--blue)}.spectrum-dot i:nth-child(6){background:var(--violet)}

@media(max-width:920px){
  .js-enabled .nav-toggle{display:block}
  .nav-r{
    position:absolute;top:64px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:4px;
    padding:12px 20px 18px;
    background:rgba(16,18,24,.97);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line-soft);
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .18s,transform .18s,visibility .18s;
  }
  .nav-r.open{opacity:1;visibility:visible;transform:none}
  .nav-r a{padding:10px 4px;font-size:15px}
  .nav-r .btn-ghost{justify-content:center;margin-top:8px}
  .hero-grid{grid-template-columns:1fr}
  .timeline{
    grid-template-columns:1fr;grid-template-rows:none;gap:44px;
  }
  .timeline::before{display:none}
  .era{
    display:flex;flex-direction:column;align-items:center;
    grid-row:auto;grid-template-rows:none;
  }
  .era h3{white-space:normal}
  .feat-grid{grid-template-columns:1fr 1fr}
  .inst-grid{grid-template-columns:1fr}
  #maker .maker-card{grid-template-columns:1fr;padding:46px;text-align:center;justify-items:center}
  #maker .maker-copy>p:last-child{max-width:640px}
  .maker-edge-code{right:14px}
}
@media(max-width:560px){
  .feat-grid{grid-template-columns:1fr}
  #maker .maker-card{padding:38px 24px 42px;gap:30px}
  .moonbase-lockup{transform:translateX(8px)}
  .moonbase-orbit{width:76px}
  .maker-wordmark{flex-direction:column;align-items:center;gap:8px;font-size:clamp(37px,12vw,50px)}
  .maker-wordmark span:last-child{font-size:.68em}
  #maker .maker-copy>p:last-child{font-size:13px}
  .maker-cta{width:100%;justify-content:center;padding-inline:14px}
  .maker-edge-code{display:none}
}

/* Current release content and keyboard access. */
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
section, #main{scroll-margin-top:80px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:12px;z-index:100;padding:10px 16px;background:var(--ink);color:var(--bg);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.motion-toggle{display:block;margin:-28px auto 32px;padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink-2);font:inherit;font-size:12px;cursor:pointer}
.motion-toggle[hidden]{display:none}
.hcard-image{display:block}
.hcard img{display:block;width:100%;height:auto}
.hcard figcaption{padding:14px 16px;font-size:12px;line-height:1.6;color:var(--ink-2)}
.hcard figcaption a,.feat p a,.reel-note a{text-decoration:underline;text-underline-offset:3px}
.hero-grid>*{min-width:0}
.reel-note{max-width:880px;margin:16px auto 0;color:var(--ink-2);font-size:13px}
.copy{font-family:inherit;background:transparent;border:1px solid var(--line);border-radius:4px;padding:4px 10px;color:var(--ink);cursor:pointer}
.feat p kbd{font:inherit;color:var(--ink)}
@media(max-width:560px){.wrap{padding-inline:20px}.hero{padding-top:64px}.hero-grid{gap:30px}footer .f-links{flex-wrap:wrap;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.build-note{padding:0 20px 20px;font-size:13px;color:var(--ink-2)}
.build-note a{text-decoration:underline;text-underline-offset:3px}

/* Beam angles are stylesheet rules so CSP can reject inline styles. */
.beam i:nth-child(1){--r:0.0deg}
.beam i:nth-child(2){--r:0.8deg}
.beam i:nth-child(3){--r:1.6deg}
.beam i:nth-child(4){--r:2.4deg}
.beam i:nth-child(5){--r:3.2deg}
.beam i:nth-child(6){--r:4.0deg}
.beam i:nth-child(7){--r:4.8deg}
.beam i:nth-child(8){--r:5.6deg}
.beam i:nth-child(9){--r:6.4deg}
.beam i:nth-child(10){--r:7.2deg}
.beam i:nth-child(11){--r:8.0deg}
.beam i:nth-child(12){--r:8.8deg}
.beam i:nth-child(13){--r:9.6deg}
.beam i:nth-child(14){--r:10.4deg}
.beam i:nth-child(15){--r:11.2deg}
.beam i:nth-child(16){--r:12.0deg}
.beam i:nth-child(17){--r:12.8deg}
.beam i:nth-child(18){--r:13.6deg}
.beam i:nth-child(19){--r:14.4deg}
.beam i:nth-child(20){--r:15.2deg}
.beam i:nth-child(21){--r:16.0deg}
.beam i:nth-child(22){--r:16.8deg}
.beam i:nth-child(23){--r:17.6deg}
.beam i:nth-child(24){--r:18.4deg}
.beam i:nth-child(25){--r:19.2deg}
.beam i:nth-child(26){--r:20.0deg}
.beam i:nth-child(27){--r:20.8deg}
.beam i:nth-child(28){--r:21.6deg}
.beam i:nth-child(29){--r:22.4deg}
.beam i:nth-child(30){--r:23.2deg}
.beam i:nth-child(31){--r:24.0deg}
.beam i:nth-child(32){--r:24.8deg}
.beam i:nth-child(33){--r:25.6deg}
.beam i:nth-child(34){--r:26.4deg}
.beam i:nth-child(35){--r:27.2deg}
.beam i:nth-child(36){--r:28.0deg}
.beam i:nth-child(37){--r:28.8deg}
.beam i:nth-child(38){--r:29.6deg}
.beam i:nth-child(39){--r:30.4deg}
.beam i:nth-child(40){--r:31.2deg}
.beam i:nth-child(41){--r:32.0deg}
.beam i:nth-child(42){--r:32.8deg}
.beam i:nth-child(43){--r:33.6deg}
.beam i:nth-child(44){--r:34.4deg}
.beam i:nth-child(45){--r:35.2deg}
.beam i:nth-child(46){--r:36.0deg}
.beam i:nth-child(47){--r:36.8deg}
.beam i:nth-child(48){--r:37.6deg}
.beam i:nth-child(49){--r:38.4deg}
.beam i:nth-child(50){--r:39.2deg}
.beam i:nth-child(51){--r:40.0deg}
.beam i:nth-child(52){--r:40.8deg}
.beam i:nth-child(53){--r:41.6deg}
.beam i:nth-child(54){--r:42.4deg}
.beam i:nth-child(55){--r:43.2deg}
.beam i:nth-child(56){--r:44.0deg}
.beam i:nth-child(57){--r:44.8deg}
.beam i:nth-child(58){--r:45.6deg}
.beam i:nth-child(59){--r:46.4deg}
.beam i:nth-child(60){--r:47.2deg}
.beam i:nth-child(61){--r:48.0deg}
.beam i:nth-child(62){--r:48.8deg}
.beam i:nth-child(63){--r:49.6deg}
.beam i:nth-child(64){--r:50.4deg}
.beam i:nth-child(65){--r:51.2deg}
.beam i:nth-child(66){--r:52.0deg}
.beam i:nth-child(67){--r:52.8deg}
.beam i:nth-child(68){--r:53.6deg}
.beam i:nth-child(69){--r:54.4deg}
.beam i:nth-child(70){--r:55.2deg}
.beam i:nth-child(71){--r:56.0deg}
.beam i:nth-child(72){--r:56.8deg}
.beam i:nth-child(73){--r:57.6deg}
.beam i:nth-child(74){--r:58.4deg}
.beam i:nth-child(75){--r:59.2deg}
.beam i:nth-child(76){--r:60.0deg}
.beam i:nth-child(77){--r:60.8deg}
.beam i:nth-child(78){--r:61.6deg}
.beam i:nth-child(79){--r:62.4deg}
.beam i:nth-child(80){--r:63.2deg}
.beam i:nth-child(81){--r:64.0deg}
.beam i:nth-child(82){--r:64.8deg}
.beam i:nth-child(83){--r:65.6deg}
.beam i:nth-child(84){--r:66.4deg}
.beam i:nth-child(85){--r:67.2deg}
.beam i:nth-child(86){--r:68.0deg}
.beam i:nth-child(87){--r:68.8deg}
.beam i:nth-child(88){--r:69.6deg}
.beam i:nth-child(89){--r:70.4deg}
.beam i:nth-child(90){--r:71.2deg}
.beam i:nth-child(91){--r:72.0deg}
.beam i:nth-child(92){--r:72.8deg}
.beam i:nth-child(93){--r:73.6deg}
.beam i:nth-child(94){--r:74.4deg}
.beam i:nth-child(95){--r:75.2deg}
.beam i:nth-child(96){--r:76.0deg}
.beam i:nth-child(97){--r:76.8deg}
.beam i:nth-child(98){--r:77.6deg}
.beam i:nth-child(99){--r:78.4deg}
.beam i:nth-child(100){--r:79.2deg}
.beam i:nth-child(101){--r:80.0deg}
.beam i:nth-child(102){--r:80.8deg}
.beam i:nth-child(103){--r:81.6deg}

/* Keyboard focus, reflow, and the demo's text alternative. */
.hero-grid>div:first-child{padding:22px;background:var(--bg);border-radius:12px}
nav{position:relative;background:var(--bg)}
button,a,summary,[tabindex]{scroll-margin-top:84px}
.hcard-image:focus-visible,.dl-row:focus-visible,.termbox pre:focus-visible{outline-offset:-4px}
footer .f-links a,.nav-r>a{min-height:24px;display:inline-flex;align-items:center}
.dl-row.dl-soon{opacity:1;color:var(--ink-2)}
.demo-transcript{max-width:880px;margin:20px auto 0;color:var(--ink-2);font-size:14px}
.demo-transcript summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.demo-transcript p{margin:16px 0}
.demo-transcript ol{list-style:none}
.demo-transcript li{margin:0 0 12px;line-height:1.8}
.transcript-time{display:inline-block;margin-right:12px;color:var(--ink);font-variant-numeric:tabular-nums}
@media(max-width:920px){html:not(.js-enabled) .nav-i{height:auto;flex-wrap:wrap;padding-block:16px}html:not(.js-enabled) .nav-r{position:static;visibility:visible;opacity:1;transform:none;width:100%;padding:8px 0}}
@media(max-width:560px){.hero-grid>div:first-child{padding:16px}.hero-ctas .btn{padding:12px 15px}.hero .made-by{overflow-wrap:anywhere}.termbox pre{white-space:pre-wrap;overflow-wrap:anywhere}}

/* Keep content usable when readers enlarge text independently of the page. */
.nav-i{min-height:64px;height:auto;padding-block:10px;flex-wrap:wrap}
.nav-r{flex-wrap:wrap}
.timeline,.feat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.era,.feat,.inst-grid>*{min-width:0;overflow-wrap:anywhere}
.era h3{white-space:normal}
.inst-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.termbox pre{white-space:pre-wrap;overflow-wrap:anywhere}
.maker-wordmark{flex-wrap:wrap;overflow-wrap:anywhere}
.maker-cta{white-space:normal;text-align:center}
footer .f-links{flex-wrap:wrap}
@media(max-width:920px){.timeline,.inst-grid{grid-template-columns:1fr}.feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}
