.icon:where(.astro-y6nopbrd){fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.bento:where(.astro-7vvucncb){grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;display:grid}.card:where(.astro-7vvucncb){border:1px solid var(--line);border-radius:var(--radius-l);background:linear-gradient(180deg, #ffffff06, transparent 40%), var(--surface);min-width:0;transition:border-color .3s var(--ease-out), transform .3s var(--ease-out);flex-direction:column;gap:.75rem;padding:clamp(1.25rem,2.4vw,1.75rem);display:flex;position:relative;overflow:hidden}.card:where(.astro-7vvucncb):hover{border-color:var(--line-strong)}.card:where(.astro-7vvucncb) h3:where(.astro-7vvucncb){letter-spacing:-.02em;font-size:1.1875rem}.card:where(.astro-7vvucncb) p:where(.astro-7vvucncb){color:var(--text-2);margin:0;font-size:.9375rem;line-height:1.6}.card__icon:where(.astro-7vvucncb){border:1px solid var(--accent-line);background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent-text);border-radius:.6rem;place-items:center;margin-bottom:.25rem;display:inline-grid}.card__text:where(.astro-7vvucncb){flex-direction:column;gap:.75rem;display:flex}.card--wide:where(.astro-7vvucncb){grid-column:span 3}.card--git:where(.astro-7vvucncb){flex-direction:row;grid-column:span 4;align-items:center;gap:1.5rem}.card--git:where(.astro-7vvucncb) .card__text:where(.astro-7vvucncb){flex:0 38%}.card--git:where(.astro-7vvucncb) .shot:where(.astro-7vvucncb){flex:62%;margin:0 calc(-1*clamp(1.25rem,2.4vw,1.75rem)) 0 0}.card--agents:where(.astro-7vvucncb){background:radial-gradient(28rem 16rem at 100% 0%, #7c7ff229, transparent 70%), var(--surface);grid-column:span 2}.card--small:where(.astro-7vvucncb){grid-column:span 2}.shot:where(.astro-7vvucncb){margin:.75rem calc(-1*clamp(1.25rem,2.4vw,1.75rem)) calc(-1*clamp(1.25rem,2.4vw,1.75rem));padding:0 0 0 clamp(1.25rem,2.4vw,1.75rem)}.card--wide:where(.astro-7vvucncb) .shot:where(.astro-7vvucncb){margin-top:auto;padding-top:1rem}.shot:where(.astro-7vvucncb) img{border:1px solid var(--line-strong);width:100%;box-shadow:var(--shadow-pop);border-bottom:0;border-right:0;border-radius:.75rem 0 0}.card--git:where(.astro-7vvucncb) .shot:where(.astro-7vvucncb) img{border-bottom:1px solid var(--line-strong);border-radius:.75rem 0 0 .75rem}:root[data-theme=dark] .shot:where(.astro-7vvucncb) img{filter:brightness(.9)contrast(1.02)}.tags:where(.astro-7vvucncb){flex-wrap:wrap;gap:.4rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.tags:where(.astro-7vvucncb) li:where(.astro-7vvucncb){border:1px solid var(--line-strong);color:var(--text-2);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:550}@media (width<=63.99rem){.card--wide:where(.astro-7vvucncb),.card--git:where(.astro-7vvucncb),.card--agents:where(.astro-7vvucncb){grid-column:span 6}.card--small:where(.astro-7vvucncb){grid-column:span 3}.card--git:where(.astro-7vvucncb){flex-direction:column;align-items:stretch}.card--git:where(.astro-7vvucncb) .shot:where(.astro-7vvucncb){margin:.5rem calc(-1*clamp(1.25rem,2.4vw,1.75rem)) calc(-1*clamp(1.25rem,2.4vw,1.75rem))}.card--git:where(.astro-7vvucncb) .shot:where(.astro-7vvucncb) img{border-bottom:0;border-radius:.75rem 0 0}}@media (width<=39.99rem){.card--small:where(.astro-7vvucncb){grid-column:span 6}}.cta:where(.astro-i2nq2kku){padding-top:0}.cta__panel:where(.astro-i2nq2kku){isolation:isolate;border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(180deg, #7c7ff214, transparent 60%), var(--surface);text-align:center;justify-items:center;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.cta__glow:where(.astro-i2nq2kku){z-index:-1;background:radial-gradient(closest-side,#7c7ff259,#0000 70%);height:120%;position:absolute;inset:-40% 10% auto}.cta__panel:where(.astro-i2nq2kku) .cta__mark{margin-bottom:1.5rem}h2:where(.astro-i2nq2kku){letter-spacing:-.04em;max-width:40rem;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.05}p:where(.astro-i2nq2kku){max-width:34rem;color:var(--text-2);margin:1.25rem 0 0;font-size:clamp(1rem,1.4vw,1.1875rem)}.cta__actions:where(.astro-i2nq2kku){flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.25rem;display:flex}.cta__docs:where(.astro-i2nq2kku){--button-bg:transparent;--button-border:transparent}.how:where(.astro-hahnwogd){border-block:1px solid var(--line);background:radial-gradient(50rem 30rem at 85% 50%, #7c7ff214, transparent 70%), var(--bg-2)}.how__grid:where(.astro-hahnwogd){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.steps:where(.astro-hahnwogd){gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.steps:where(.astro-hahnwogd) li:where(.astro-hahnwogd){gap:1rem;display:flex}.steps__number:where(.astro-hahnwogd){border:1px solid var(--accent-line);width:2rem;height:2rem;color:var(--accent-text);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:.8125rem;display:grid}.steps:where(.astro-hahnwogd) h3:where(.astro-hahnwogd){letter-spacing:-.015em;font-size:1.0625rem;line-height:2rem}.steps:where(.astro-hahnwogd) p:where(.astro-hahnwogd){color:var(--text-2);margin:.25rem 0 0;font-size:.9375rem}.tree:where(.astro-hahnwogd){border:1px solid var(--line-strong);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-pop);font-family:var(--font-mono);margin:0;font-size:clamp(.75rem,1.1vw,.84375rem);overflow:hidden}.tree__bar:where(.astro-hahnwogd){border-bottom:1px solid var(--line);align-items:center;gap:.4rem;padding:.75rem 1rem;display:flex}.tree__bar:where(.astro-hahnwogd) span:where(.astro-hahnwogd){background:var(--line-strong);border-radius:50%;width:.625rem;height:.625rem}.tree__bar:where(.astro-hahnwogd) p:where(.astro-hahnwogd){color:var(--text-3);margin:0 0 0 .6rem;font-size:.75rem}.tree__rows:where(.astro-hahnwogd){margin:0;padding:.75rem 0;list-style:none}.tree__row:where(.astro-hahnwogd){white-space:pre;align-items:baseline;padding:.2rem 1.25rem;line-height:1.6;display:flex}.tree__row:where(.astro-hahnwogd).is-highlight{background:linear-gradient(90deg, var(--accent-soft), transparent 80%);box-shadow:inset 2px 0 0 var(--accent)}.tree__lines:where(.astro-hahnwogd){color:var(--text-3)}.tree__row--folder:where(.astro-hahnwogd) .tree__name:where(.astro-hahnwogd){color:var(--text);font-weight:600}.tree__row--file:where(.astro-hahnwogd) .tree__name:where(.astro-hahnwogd){color:var(--text-2)}.tree__row--settings:where(.astro-hahnwogd) .tree__name:where(.astro-hahnwogd){color:var(--amber)}.tree__note:where(.astro-hahnwogd){color:var(--text-3);font-family:var(--font-ui);text-overflow:ellipsis;margin-left:auto;padding-left:1.5rem;font-size:.8125rem;overflow:hidden}.is-highlight:where(.astro-hahnwogd) .tree__note:where(.astro-hahnwogd){color:var(--accent-text)}.tree__file:where(.astro-hahnwogd){border-top:1px solid var(--line);background:var(--bg-2)}.tree__file-name:where(.astro-hahnwogd){color:var(--text-3);margin:0;padding:.6rem 1.25rem 0;font-size:.75rem}.tree__file:where(.astro-hahnwogd) pre:where(.astro-hahnwogd){color:var(--text-2);font-size:inherit;margin:0;padding:.5rem 1.25rem 1rem;line-height:1.7;overflow-x:auto}.tree__file:where(.astro-hahnwogd) code:where(.astro-hahnwogd){font-size:inherit}.k:where(.astro-hahnwogd){color:var(--accent-text)}@media (width<=63.99rem){.how__grid:where(.astro-hahnwogd){grid-template-columns:minmax(0,1fr)}}@media (width<=29.99rem){.tree__note:where(.astro-hahnwogd){display:none}}.name__head:where(.astro-3hd6izsl){text-align:center;margin-inline:auto}.name__head:where(.astro-3hd6izsl) .eyebrow:where(.astro-3hd6izsl){justify-content:center}.name__equation:where(.astro-3hd6izsl){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,2.5rem);max-width:62rem;margin-inline:auto;display:grid}.word:where(.astro-3hd6izsl){border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(24rem 14rem at 50% 0%, #7c7ff21a, transparent 70%), var(--surface);text-align:center;height:100%;padding:clamp(1.5rem,3vw,2.5rem)}.word__kanji:where(.astro-3hd6izsl){color:var(--text);font-family:var(--font-jp);margin:0 0 1.25rem;font-size:clamp(3.25rem,7vw,5.25rem);font-weight:500;line-height:1.25}.word__kanji:where(.astro-3hd6izsl) rt:where(.astro-3hd6izsl){color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:.17em}.word:where(.astro-3hd6izsl) h3:where(.astro-3hd6izsl){font-size:1.25rem}.word:where(.astro-3hd6izsl) h3:where(.astro-3hd6izsl) span:where(.astro-3hd6izsl){color:var(--text-2);font-weight:450}.word:where(.astro-3hd6izsl) p:where(.astro-3hd6izsl):last-child{max-width:24rem;color:var(--text-2);margin:.75rem auto 0;font-size:.9375rem}.name__op:where(.astro-3hd6izsl){color:var(--accent-text);font-size:2.5rem;font-weight:300}.name__result:where(.astro-3hd6izsl){max-width:44rem;color:var(--text-2);text-align:center;margin:clamp(2.5rem,5vw,4rem) auto 0;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.7}.name__result:where(.astro-3hd6izsl) strong:where(.astro-3hd6izsl){color:var(--text)}.name__say:where(.astro-3hd6izsl){color:var(--text-3);margin-top:1rem;font-size:.875rem;display:block}@media (width<=47.99rem){.name__equation:where(.astro-3hd6izsl){grid-template-columns:minmax(0,1fr)}.name__op:where(.astro-3hd6izsl){justify-self:center}}.logo:where(.astro-zg5c7w5a){aspect-ratio:1;width:100%;color:var(--text);position:relative}.logo__glow:where(.astro-zg5c7w5a),.logo__spot:where(.astro-zg5c7w5a){pointer-events:none;position:absolute}.logo__glow:where(.astro-zg5c7w5a){background:radial-gradient(closest-side at 50% 50%, var(--logo-glow), transparent 70%), radial-gradient(closest-side at 64% 36%, var(--logo-glow-2), transparent 80%);opacity:.9;inset:-20%}.logo__shadow:where(.astro-zg5c7w5a){pointer-events:none;background:radial-gradient(closest-side,#0009,#0000);height:16%;position:absolute;top:85%;left:12%;right:12%}:root[data-theme=light] .logo__shadow:where(.astro-zg5c7w5a){background:radial-gradient(closest-side,#22313d33,#0000)}.logo__spot:where(.astro-zg5c7w5a){aspect-ratio:1;opacity:0;background:radial-gradient(closest-side,#7c7ff299,#0000 75%);border-radius:50%;width:46%;margin:-23% 0 0 -23%;top:0;left:0}:root[data-theme=light] .logo__spot:where(.astro-zg5c7w5a){background:radial-gradient(closest-side,#7c7ff259,#0000 75%)}.logo__layer:where(.astro-zg5c7w5a),.logo__part:where(.astro-zg5c7w5a){position:absolute;inset:0}.logo__layer:where(.astro-zg5c7w5a) svg:where(.astro-zg5c7w5a){width:100%;height:100%;overflow:visible}:root[data-theme=dark] .logo__layer:where(.astro-zg5c7w5a)[data-layer=wiki] svg:where(.astro-zg5c7w5a),:root[data-theme=dark] .logo__layer:where(.astro-zg5c7w5a)[data-layer=tasks] svg:where(.astro-zg5c7w5a){filter:drop-shadow(0 0 .6px #ffffff8c)}.logo__mono:where(.astro-zg5c7w5a){color:var(--mono-logo);opacity:0}.logo__labels:where(.astro-zg5c7w5a),.logo__files:where(.astro-zg5c7w5a){margin:0;padding:0;list-style:none}.logo__label:where(.astro-zg5c7w5a),.logo__file:where(.astro-zg5c7w5a){left:var(--x);top:var(--y);opacity:0;white-space:nowrap;pointer-events:none;width:max-content;position:absolute;translate:-50% -50%}.logo__label:where(.astro-zg5c7w5a){border:1px solid var(--accent-line);background:color-mix(in srgb, var(--surface) 85%, transparent);color:var(--text);letter-spacing:.01em;box-shadow:var(--shadow-card);border-radius:999px;padding:.3rem .65rem;font-size:clamp(.6875rem,1vw,.8125rem);font-weight:600}.logo__file:where(.astro-zg5c7w5a){border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-family:var(--font-mono);box-shadow:var(--shadow-pop);border-radius:.6rem;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:clamp(.625rem,.95vw,.78125rem);display:inline-flex}.logo__file:where(.astro-zg5c7w5a) svg:where(.astro-zg5c7w5a){fill:none;stroke:var(--accent-text);stroke-width:1.3px;stroke-linejoin:round;flex:none}@media (width<=47.99rem){.logo__file:where(.astro-zg5c7w5a){left:clamp(20%, var(--x), 80%);gap:.3rem;padding:.3rem .5rem;font-size:.625rem}.logo__file:where(.astro-zg5c7w5a) svg:where(.astro-zg5c7w5a){width:11px;height:11px}}.logo__file:where(.astro-zg5c7w5a)[data-kind=yml] svg:where(.astro-zg5c7w5a){stroke:var(--amber)}.logo__file:where(.astro-zg5c7w5a)[data-kind=ts] svg:where(.astro-zg5c7w5a){stroke:#4fa6e8}.story:where(.astro-ysbspz7s){--step:85svh;isolation:isolate;position:relative;overflow-x:clip}.story__stage:where(.astro-ysbspz7s){max-width:var(--content);padding:calc(var(--nav-height) + clamp(2rem, 6vh, 5rem)) var(--gutter) 0;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"hero visual""chapters chapters";column-gap:clamp(2rem,5vw,5rem);margin-inline:auto;display:grid;position:relative}.story__backdrop:where(.astro-ysbspz7s){z-index:-1;pointer-events:none;background:radial-gradient(60rem 40rem at 72% 30%,#7c7ff21f,#0000 70%),radial-gradient(40rem 30rem at 10% 80%,#62a0ff0d,#0000 70%);position:absolute;inset:0 calc(50% - 50vw);overflow:hidden}.story__backdrop:where(.astro-ysbspz7s):before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.55;background-position:top;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70rem 46rem at 70% 32%,#000 0%,#0000 70%);mask-image:radial-gradient(70rem 46rem at 70% 32%,#000 0%,#0000 70%)}.story__copy:where(.astro-ysbspz7s){display:contents}.story__hero:where(.astro-ysbspz7s){grid-area:hero;align-self:center;padding-block:2rem}.story__visual:where(.astro-ysbspz7s){grid-area:visual;align-self:center;place-items:center;display:grid}.story__logo:where(.astro-ysbspz7s){width:min(100%,36rem);padding:7%}.story__line:where(.astro-ysbspz7s){display:inline-block}h1:where(.astro-ysbspz7s){letter-spacing:-.045em;font-size:clamp(2.4rem,4.3vw,3.95rem);font-weight:680;line-height:1.02}.story__accent:where(.astro-ysbspz7s){background:var(--headline-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.story__lead:where(.astro-ysbspz7s){max-width:34rem;color:var(--text-2);margin:1.5rem 0 0;font-size:clamp(1.0625rem,1.45vw,1.25rem);line-height:1.6}.story__actions:where(.astro-ysbspz7s){flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.story__actions:where(.astro-ysbspz7s) svg:where(.astro-ysbspz7s){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.story__platforms:where(.astro-ysbspz7s){color:var(--text-3);margin:1.25rem 0 0;font-size:.8125rem}.story__chapters:where(.astro-ysbspz7s){grid-area:chapters;gap:clamp(4rem,9vw,7rem);margin:0;padding:clamp(5rem,10vw,8rem) 0 clamp(3rem,6vw,5rem);list-style:none;display:grid}.chapter:where(.astro-ysbspz7s){grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.chapter:where(.astro-ysbspz7s):nth-child(2n) .chapter__figure:where(.astro-ysbspz7s){order:2}.chapter__figure:where(.astro-ysbspz7s){justify-self:center;width:min(100%,22rem);overflow:visible}.chapter__figure:where(.astro-ysbspz7s) .is-dim:where(.astro-ysbspz7s){opacity:.18}.chapter__mono:where(.astro-ysbspz7s){color:var(--mono-logo)}.chapter:where(.astro-ysbspz7s) h2:where(.astro-ysbspz7s){letter-spacing:-.04em;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.06}.chapter__body:where(.astro-ysbspz7s){max-width:34rem;color:var(--text-2);margin:1.25rem 0 0;font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.65}.chapter__number:where(.astro-ysbspz7s){color:var(--text-3)}.chapter__extra:where(.astro-ysbspz7s){margin-top:1.75rem}.story__rail:where(.astro-ysbspz7s),.story__progress:where(.astro-ysbspz7s),.story__hint:where(.astro-ysbspz7s){display:none}.demo-ref:where(.astro-ysbspz7s){flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.demo-ref__source:where(.astro-ysbspz7s){border:1px dashed var(--line-strong);color:var(--text-2);border-radius:.5rem;padding:.35rem .6rem;font-size:.8125rem}.demo-ref__arrow:where(.astro-ysbspz7s){fill:none;width:1.5rem;stroke:var(--text-3);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.demo-ref__chip:where(.astro-ysbspz7s){border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-card);border-radius:.55rem;align-items:center;gap:.45rem;padding:.4rem .65rem;font-size:.875rem;font-weight:550;display:inline-flex}.demo-ref__dot:where(.astro-ysbspz7s){background:var(--amber);border-radius:50%;width:.5rem;height:.5rem}.demo-ref__id:where(.astro-ysbspz7s){color:var(--text-3);font-family:var(--font-mono);font-size:.75rem}.demo-ref__status:where(.astro-ysbspz7s){background:color-mix(in srgb, var(--amber) 16%, transparent);color:var(--amber);border-radius:999px;padding:.05rem .45rem;font-size:.75rem;font-weight:600}.demo-log:where(.astro-ysbspz7s){gap:.4rem;max-width:30rem;padding:0;list-style:none;display:grid}.demo-log:where(.astro-ysbspz7s) li:where(.astro-ysbspz7s){border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 80%, transparent);border-radius:.55rem;align-items:center;gap:.65rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.demo-log:where(.astro-ysbspz7s) code:where(.astro-ysbspz7s){color:var(--accent-text);font-size:.75rem}.demo-log:where(.astro-ysbspz7s) span:where(.astro-ysbspz7s){border:1px solid var(--line-strong);color:var(--text-3);border-radius:999px;margin-left:auto;padding:.05rem .45rem;font-size:.6875rem}.demo-file:where(.astro-ysbspz7s){border:1px solid var(--line);background:var(--surface);max-width:22rem;box-shadow:var(--shadow-card);font-family:var(--font-mono);border-radius:.65rem;font-size:.8125rem;line-height:1.7;overflow:hidden}.demo-file__name:where(.astro-ysbspz7s){border-bottom:1px solid var(--line);color:var(--text-3);padding:.45rem .85rem;font-size:.75rem;display:block}.demo-file:where(.astro-ysbspz7s) code:where(.astro-ysbspz7s){font-size:inherit;padding:.65rem .85rem;display:block}.demo-file:where(.astro-ysbspz7s) .line:where(.astro-ysbspz7s){white-space:pre;display:block}.t-key:where(.astro-ysbspz7s){color:var(--accent-text)}.t-val:where(.astro-ysbspz7s){color:var(--amber)}.t-punct:where(.astro-ysbspz7s){color:var(--text-3)}.demo-agents:where(.astro-ysbspz7s){flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.demo-agents:where(.astro-ysbspz7s) li:where(.astro-ysbspz7s){border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:.35rem .75rem;font-size:.8125rem;font-weight:550}.demo-agents__file:where(.astro-ysbspz7s){color:var(--accent-text);font-family:var(--font-mono)}@media (width<=47.99rem){.story__stage:where(.astro-ysbspz7s){padding-top:calc(var(--nav-height) + 1rem);grid-template-columns:minmax(0,1fr);grid-template-areas:"visual""hero""chapters"}.story__logo:where(.astro-ysbspz7s){width:min(80vw,22rem)}.story__hero:where(.astro-ysbspz7s){padding-block:.5rem 0}.chapter:where(.astro-ysbspz7s){grid-template-columns:minmax(0,1fr)}.chapter:where(.astro-ysbspz7s):nth-child(2n) .chapter__figure:where(.astro-ysbspz7s){order:0}.chapter__figure:where(.astro-ysbspz7s){width:min(60vw,14rem)}}@media (prefers-reduced-motion:no-preference){.js .story:where(.astro-ysbspz7s){height:calc(100svh + (var(--steps) - 1) * var(--step) + 30svh)}.js .story__stage:where(.astro-ysbspz7s){max-width:none;height:100svh;padding-bottom:clamp(1rem,4vh,3rem);padding-inline:max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter)));grid-template-rows:minmax(0,1fr);grid-template-areas:"copy visual";position:sticky;top:0}.js .story__copy:where(.astro-ysbspz7s){grid-area:copy;align-self:center;display:grid}.js .story__hero:where(.astro-ysbspz7s),.js .chapter:where(.astro-ysbspz7s){grid-area:1/1}.js .story__chapters:where(.astro-ysbspz7s){display:contents}.js .chapter:where(.astro-ysbspz7s){opacity:0;align-self:center;display:block}.js .story:where(.astro-ysbspz7s).is-live :where(.astro-ysbspz7s):is(.story__hero,.chapter):not(.is-active){pointer-events:none}.js .chapter__figure:where(.astro-ysbspz7s){display:none}.js .story__hero:where(.astro-ysbspz7s){padding-block:0}.js .story__logo:where(.astro-ysbspz7s){will-change:transform}.js .story__logo:where(.astro-ysbspz7s) .logo__layer,.js .story__logo:where(.astro-ysbspz7s) .logo__part{will-change:transform, opacity}.js .story:where(.astro-ysbspz7s):not(.is-live) .logo__part{opacity:0;animation:.6s 2.5s forwards story-fallback}@keyframes story-fallback{to{opacity:1}}.js .story__rail:where(.astro-ysbspz7s){display:block;position:absolute;top:50%;right:clamp(.75rem,2vw,2rem);translate:0 -50%}.js .story__rail:where(.astro-ysbspz7s) ol:where(.astro-ysbspz7s){gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.js .story__rail:where(.astro-ysbspz7s) a:where(.astro-ysbspz7s){color:var(--text-3);border-radius:var(--radius-s);flex-direction:row-reverse;align-items:center;gap:.75rem;padding:.4rem .25rem;font-size:.75rem;font-weight:550;text-decoration:none;display:flex}.js .story__rail-label:where(.astro-ysbspz7s){opacity:0;transition:opacity .3s var(--ease-out), translate .3s var(--ease-out);translate:.5rem}.js .story__rail-dot:where(.astro-ysbspz7s){background:var(--line-strong);width:.45rem;height:.45rem;transition:background-color .3s, scale .3s var(--ease-out);border-radius:50%}.js .story__rail:where(.astro-ysbspz7s):hover .story__rail-label:where(.astro-ysbspz7s),.js .story__rail:where(.astro-ysbspz7s) a:where(.astro-ysbspz7s):focus-visible .story__rail-label:where(.astro-ysbspz7s),.js .story__rail:where(.astro-ysbspz7s) a:where(.astro-ysbspz7s)[aria-current=step] .story__rail-label:where(.astro-ysbspz7s){opacity:1;translate:0}.js .story__rail:where(.astro-ysbspz7s) a:where(.astro-ysbspz7s)[aria-current=step]{color:var(--text)}.js .story__rail:where(.astro-ysbspz7s) a:where(.astro-ysbspz7s)[aria-current=step] .story__rail-dot:where(.astro-ysbspz7s){background:var(--accent);scale:1.5}.js .story__hint:where(.astro-ysbspz7s){color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0;font-size:.75rem;display:flex;position:absolute;bottom:clamp(1rem,3vh,2rem);left:50%;translate:-50%}.js .story__hint:where(.astro-ysbspz7s) svg:where(.astro-ysbspz7s){fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round}.js .story__hint:where(.astro-ysbspz7s) path:where(.astro-ysbspz7s){animation:hint 1.8s var(--ease-in-out) infinite}@keyframes hint{0%,to{opacity:1;transform:translateY(0)}60%{opacity:0;transform:translateY(5px)}}@media (width<=47.99rem){.js .story:where(.astro-ysbspz7s){--step:80svh}.js .story__stage:where(.astro-ysbspz7s){padding-top:calc(var(--nav-height) + .75rem);padding-bottom:calc(var(--notice-room,0px) + 1rem);grid-template:"visual"minmax(0,.95fr)"copy"minmax(0,1.05fr)/minmax(0,1fr);row-gap:.5rem}.js .story__visual:where(.astro-ysbspz7s){align-self:stretch;min-height:0}.js .story__logo:where(.astro-ysbspz7s){aspect-ratio:1;width:auto;max-width:88vw;height:100%;padding:6%}.js .story__copy:where(.astro-ysbspz7s){align-self:start}.js .story__hero:where(.astro-ysbspz7s) h1:where(.astro-ysbspz7s){font-size:clamp(2rem,9vw,2.6rem)}.js .story__lead:where(.astro-ysbspz7s){margin-top:.9rem;font-size:1rem}.js .story__actions:where(.astro-ysbspz7s){flex-wrap:nowrap;gap:.5rem;margin-top:1.25rem}.js .story__actions:where(.astro-ysbspz7s) .button:where(.astro-ysbspz7s){min-height:2.75rem;padding:.65rem .95rem;font-size:.9375rem}.js .story__platforms:where(.astro-ysbspz7s){display:none}.js .chapter:where(.astro-ysbspz7s) h2:where(.astro-ysbspz7s){font-size:clamp(1.6rem,7.4vw,2rem)}.js .chapter__body:where(.astro-ysbspz7s){margin-top:.75rem;font-size:.96875rem;line-height:1.6}.js .chapter:where(.astro-ysbspz7s) .eyebrow:where(.astro-ysbspz7s){margin-bottom:.6rem}.js .chapter__extra:where(.astro-ysbspz7s):not(.story__actions),.js .story__rail:where(.astro-ysbspz7s),.js .story__hint:where(.astro-ysbspz7s){display:none}.js .story__progress:where(.astro-ysbspz7s){top:var(--nav-height);background:var(--line);height:2px;display:block;position:absolute;left:0;right:0}.js .story__progress:where(.astro-ysbspz7s) span:where(.astro-ysbspz7s){background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}}@media (height<=40rem) and (width>=48rem){.js .chapter__extra:where(.astro-ysbspz7s):not(.story__actions){display:none}}}.vision__head:where(.astro-hpuy4ukm){text-align:center;margin-inline:auto}.vision__head:where(.astro-hpuy4ukm) .eyebrow:where(.astro-hpuy4ukm){justify-content:center}.hub:where(.astro-hpuy4ukm){isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);display:grid;position:relative}.hub__lines:where(.astro-hpuy4ukm){z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hub__lines:where(.astro-hpuy4ukm) path:where(.astro-hpuy4ukm){fill:none;stroke:var(--accent-line);stroke-width:1px;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.hub__column:where(.astro-hpuy4ukm){gap:1.25rem;display:grid}.frontend:where(.astro-hpuy4ukm){border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);padding:1.25rem 1.25rem 1.1rem;position:relative}.frontend:where(.astro-hpuy4ukm) h3:where(.astro-hpuy4ukm){letter-spacing:-.015em;font-size:1.0625rem}.frontend:where(.astro-hpuy4ukm) p:where(.astro-hpuy4ukm){color:var(--text-2);margin:.4rem 0 .9rem;font-size:.875rem;line-height:1.55}.status:where(.astro-hpuy4ukm){letter-spacing:.01em;border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .6rem;font-size:.71875rem;font-weight:600;display:inline-flex}.status:where(.astro-hpuy4ukm):before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.status--available:where(.astro-hpuy4ukm){background:color-mix(in srgb, var(--green) 14%, transparent);color:var(--green)}.status--planned:where(.astro-hpuy4ukm){border:1px dashed var(--accent-line);color:var(--accent-text)}.hub__center:where(.astro-hpuy4ukm){place-items:center;display:grid}.repo:where(.astro-hpuy4ukm){border:1px solid var(--accent-line);border-radius:var(--radius-xl);background:radial-gradient(18rem 12rem at 50% 0%, #7c7ff240, transparent 70%), var(--surface);width:100%;max-width:17rem;box-shadow:0 0 0 6px var(--accent-soft), 0 30px 80px -20px #7c7ff273;text-align:center;justify-items:center;gap:.75rem;padding:2rem 1.5rem;display:grid}.repo:where(.astro-hpuy4ukm) svg:where(.astro-hpuy4ukm){fill:none;stroke:var(--accent-text);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.repo:where(.astro-hpuy4ukm) h3:where(.astro-hpuy4ukm){font-size:1.25rem}.repo:where(.astro-hpuy4ukm) ul:where(.astro-hpuy4ukm){flex-wrap:wrap;justify-content:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.repo:where(.astro-hpuy4ukm) li:where(.astro-hpuy4ukm){border:1px solid var(--line-strong);color:var(--text-2);font-family:var(--font-mono);border-radius:.4rem;padding:.15rem .5rem;font-size:.75rem}@media (width<=63.99rem){.hub:where(.astro-hpuy4ukm){grid-template-columns:minmax(0,1fr)}.hub__lines:where(.astro-hpuy4ukm){display:none}.hub__center:where(.astro-hpuy4ukm){order:-1}.repo:where(.astro-hpuy4ukm){max-width:none}}@media (prefers-reduced-motion:no-preference){.reveal-ready [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(24px)}.reveal-ready [data-reveal].is-revealed:not(.is-instant){transition:opacity .8s var(--ease-out), transform .8s var(--ease-out)}}
