.loops:where(.astro-rvrupq44){isolation:isolate;margin:0;position:relative}.loops:where(.astro-rvrupq44):before{content:"";z-index:-1;background-image:radial-gradient(var(--pf-grid-dot) 1.2px, transparent 1.2px);background-size:22px 22px;position:absolute;inset:-8% -12%;-webkit-mask-image:radial-gradient(closest-side,#000 45%,#0000 100%);mask-image:radial-gradient(closest-side,#000 45%,#0000 100%)}.loops:where(.astro-rvrupq44):after{content:"";aspect-ratio:1;z-index:-1;background:radial-gradient(closest-side, var(--pf-glow), transparent);border-radius:50%;width:60%;position:absolute;top:12%;left:18%}.loops__svg:where(.astro-rvrupq44){width:100%;height:auto;display:block;overflow:visible}.loops__chip:where(.astro-rvrupq44){border:1px solid var(--pf-line);border-radius:var(--pf-radius-pill);background:var(--pf-surface);color:var(--pf-text);font-family:var(--pf-font-mono);box-shadow:var(--pf-shadow);align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.75rem;display:inline-flex;position:absolute;top:4%;left:2%}.loops__sep:where(.astro-rvrupq44),.loops__count:where(.astro-rvrupq44){color:var(--pf-text-muted)}.loops__dot:where(.astro-rvrupq44){background:var(--pf-success);border-radius:50%;width:.5rem;height:.5rem;position:relative}.loops__dot:where(.astro-rvrupq44):after{content:"";background:var(--pf-success);animation:ping 2.4s var(--pf-ease-out) infinite;border-radius:50%;position:absolute;inset:0}.ring__track:where(.astro-rvrupq44){fill:none;stroke:var(--pf-line);stroke-width:1.5px}.ring--fix:where(.astro-rvrupq44) .ring__track:where(.astro-rvrupq44){stroke-dasharray:2 5}.ring__name:where(.astro-rvrupq44){fill:var(--pf-text-subtle);font-family:var(--pf-font-display);letter-spacing:-.01em;font-size:22px;font-weight:600}.ring--docs:where(.astro-rvrupq44) .ring__name:where(.astro-rvrupq44){font-size:17px}.ring__head:where(.astro-rvrupq44){transform-box:view-box;animation:spin var(--period) linear infinite}.ring__head--reverse:where(.astro-rvrupq44){animation-direction:reverse}.ring__trail:where(.astro-rvrupq44){fill:none;stroke:var(--pf-accent);stroke-width:2.25px;stroke-dasharray:7 6;stroke-linecap:round}.ring__spark:where(.astro-rvrupq44){fill:var(--pf-accent)}.bubble__body:where(.astro-rvrupq44){fill:var(--pf-surface-2);stroke:var(--pf-line-strong);stroke-width:1.5px}.bubble__halo:where(.astro-rvrupq44){fill:var(--hue);opacity:0}.bubble__lit:where(.astro-rvrupq44){fill:none;stroke:var(--hue);stroke-width:2px;opacity:0}.bubble__icon:where(.astro-rvrupq44){color:var(--pf-text-muted)}.bubble__icon--lit:where(.astro-rvrupq44){color:var(--hue);opacity:0}.bubble__label:where(.astro-rvrupq44){fill:var(--pf-text-muted);font-family:var(--pf-font-body);paint-order:stroke;stroke:var(--pf-bg);stroke-width:4px;stroke-linejoin:round;font-size:12.5px;font-weight:500}.bubble__halo:where(.astro-rvrupq44),.bubble__lit:where(.astro-rvrupq44),.bubble__icon--lit:where(.astro-rvrupq44){animation:arrive var(--period) linear infinite;animation-delay:var(--delay)}.bubble__halo:where(.astro-rvrupq44){animation-name:arrive-halo}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arrive{0%,12%{opacity:1}24%,to{opacity:0}}@keyframes arrive-halo{0%,12%{opacity:.2}26%,to{opacity:0}}@keyframes ping{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}.is-offscreen .ring__head:where(.astro-rvrupq44),.is-offscreen .bubble__halo:where(.astro-rvrupq44),.is-offscreen .bubble__lit:where(.astro-rvrupq44),.is-offscreen .bubble__icon--lit:where(.astro-rvrupq44),.is-offscreen .loops__dot:where(.astro-rvrupq44):after{animation-play-state:paused}@media (width<=40rem){.bubble__label:where(.astro-rvrupq44){display:none}.loops__chip:where(.astro-rvrupq44){top:-2%}}@media (prefers-reduced-motion:reduce){.ring__head:where(.astro-rvrupq44),.bubble__halo:where(.astro-rvrupq44),.bubble__lit:where(.astro-rvrupq44),.bubble__icon--lit:where(.astro-rvrupq44),.loops__dot:where(.astro-rvrupq44):after{animation:none}.ring--app:where(.astro-rvrupq44) .ring__head:where(.astro-rvrupq44),.ring--docs:where(.astro-rvrupq44) .ring__head:where(.astro-rvrupq44){transform:rotate(118deg)}.ring--fix:where(.astro-rvrupq44) .ring__head:where(.astro-rvrupq44){transform:rotate(-60deg)}.ring--app:where(.astro-rvrupq44) .bubble--coder:where(.astro-rvrupq44) :where(.astro-rvrupq44):is(.bubble__lit,.bubble__icon--lit){opacity:1}.ring--app:where(.astro-rvrupq44) .bubble--coder:where(.astro-rvrupq44) .bubble__halo:where(.astro-rvrupq44){opacity:.2}}.how:where(.astro-477lk3b5){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:4rem;display:grid}.how__steps:where(.astro-477lk3b5){margin:0;padding:0;list-style:none}.how__step:where(.astro-477lk3b5){opacity:.4;min-height:62vh;transition:opacity .3s var(--pf-ease-out);flex-direction:column;justify-content:center;padding-block:2rem;display:flex}.how__step:where(.astro-477lk3b5):first-child{justify-content:flex-start;min-height:50vh;padding-top:1rem}.how__step:where(.astro-477lk3b5).is-current,.how__step:where(.astro-477lk3b5):first-child:not(:has(~.is-current)){opacity:1}.how__num:where(.astro-477lk3b5){color:var(--pf-accent);letter-spacing:.08em;margin-bottom:.9rem;font-size:.8rem}.how__step:where(.astro-477lk3b5) h3:where(.astro-477lk3b5){letter-spacing:-.015em;font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);font-stretch:106%;line-height:1.2}.how__step:where(.astro-477lk3b5) p:where(.astro-477lk3b5){color:var(--pf-text-muted);max-width:30rem;margin-top:.9rem;font-size:1.05rem}.how__inline:where(.astro-477lk3b5){display:none}.how__stage-wrap:where(.astro-477lk3b5){position:sticky;top:calc(50vh - 13.5rem)}.how__stage:where(.astro-477lk3b5){background:radial-gradient(var(--pf-grid-dot) 1px, transparent 1px) 0 0 / 22px 22px, var(--pf-surface);height:27rem;position:relative;overflow:hidden}.stage:where(.astro-477lk3b5){opacity:0;transition:opacity .42s var(--pf-ease-out), transform .42s var(--pf-ease-out);pointer-events:none;flex-direction:column;justify-content:center;gap:1rem;padding:2rem;display:flex;position:absolute;inset:0;transform:translateY(12px)}.how__stage:where(.astro-477lk3b5)[data-step="1"] :where(.astro-477lk3b5)[data-layer="1"],.how__stage:where(.astro-477lk3b5)[data-step="2"] :where(.astro-477lk3b5)[data-layer="2"],.how__stage:where(.astro-477lk3b5)[data-step="3"] :where(.astro-477lk3b5)[data-layer="3"],.how__stage:where(.astro-477lk3b5)[data-step="4"] :where(.astro-477lk3b5)[data-layer="4"]{opacity:1;transform:none}.stage__label:where(.astro-477lk3b5){color:var(--pf-text-subtle);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.seg:where(.astro-477lk3b5){border:1px solid var(--pf-line);border-radius:var(--pf-radius-pill);background:var(--pf-bg);align-self:flex-start;padding:.2rem;font-size:.8rem;display:inline-flex}.seg:where(.astro-477lk3b5) span:where(.astro-477lk3b5){border-radius:var(--pf-radius-pill);color:var(--pf-text-muted);padding:.3rem .8rem}.seg:where(.astro-477lk3b5) .is-on:where(.astro-477lk3b5){background:var(--pf-surface-3);color:var(--pf-text);font-weight:600}.msg:where(.astro-477lk3b5){border-radius:var(--pf-radius-panel);max-width:88%;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}.msg--me:where(.astro-477lk3b5){background:var(--pf-surface-3);align-self:flex-end}.msg--mgr:where(.astro-477lk3b5){border:1px solid var(--pf-line-subtle);background:var(--pf-bg);color:var(--pf-text-muted);align-self:flex-start}.q:where(.astro-477lk3b5){gap:.4rem;margin-top:.75rem;display:grid}.q__title:where(.astro-477lk3b5){color:var(--pf-text);font-weight:600}.q__opt:where(.astro-477lk3b5){border:1px solid var(--pf-line);border-radius:var(--pf-radius-control);color:var(--pf-text);justify-content:space-between;gap:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.q__opt:where(.astro-477lk3b5) em:where(.astro-477lk3b5){color:var(--pf-accent);font-size:.75rem;font-style:normal}.q__opt:where(.astro-477lk3b5).is-rec{border-color:color-mix(in srgb, var(--pf-accent) 55%, transparent);background:var(--pf-accent-wash)}.q__opt--free:where(.astro-477lk3b5){color:var(--pf-text-subtle);border-style:dashed}.prop:where(.astro-477lk3b5){border:1px solid var(--pf-line);border-radius:var(--pf-radius-panel);background:var(--pf-bg);padding:1rem}.prop__head:where(.astro-477lk3b5){justify-content:space-between;align-items:baseline;margin-bottom:.75rem;font-size:.95rem;display:flex}.prop__head:where(.astro-477lk3b5) .mono:where(.astro-477lk3b5){color:var(--pf-text-subtle);font-size:.78rem}.prop__roles:where(.astro-477lk3b5){flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.prop__arrow{color:var(--pf-text-subtle)}.prop__detour:where(.astro-477lk3b5){border-top:1px dashed var(--pf-line);color:var(--pf-text-subtle);align-items:center;gap:.45rem;margin-top:.75rem;padding-top:.75rem;font-size:.75rem;display:flex}.stage__cta:where(.astro-477lk3b5){pointer-events:none;align-self:flex-end}.run:where(.astro-477lk3b5){gap:.6rem;display:grid}.run__row:where(.astro-477lk3b5){border:1px solid var(--pf-line);border-radius:var(--pf-radius-panel);background:var(--pf-bg);grid-template-columns:auto auto 1fr;grid-template-areas:"dot name chip""bar bar bar";align-items:center;gap:.5rem .6rem;padding:.85rem 1rem;font-size:.9rem;display:grid}.run__row:where(.astro-477lk3b5) .chip:where(.astro-477lk3b5){grid-area:chip;justify-self:end}.run__dot:where(.astro-477lk3b5){background:var(--pf-success);border-radius:50%;grid-area:dot;width:.5rem;height:.5rem}.run__bar:where(.astro-477lk3b5){background:var(--pf-surface-3);border-radius:3px;grid-area:bar;height:3px;overflow:hidden}.run__bar:where(.astro-477lk3b5) i:where(.astro-477lk3b5){transform-origin:0;width:100%;height:100%;transform:scaleX(var(--w-num,.6));background:var(--pf-accent);display:block}.run__row:where(.astro-477lk3b5):first-child .run__bar:where(.astro-477lk3b5) i:where(.astro-477lk3b5){--w-num:.68}.run__row:where(.astro-477lk3b5):nth-child(2) .run__bar:where(.astro-477lk3b5) i:where(.astro-477lk3b5){--w-num:.4}.book:where(.astro-477lk3b5){grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;display:grid}.book__col:where(.astro-477lk3b5){border:1px solid var(--pf-line-subtle);border-radius:var(--pf-radius-control);background:var(--pf-bg);text-align:center;gap:.15rem;padding:.6rem .5rem;display:grid}.book__n:where(.astro-477lk3b5){font-family:var(--pf-font-display);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:650}.book__name:where(.astro-477lk3b5){color:var(--pf-text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.trail:where(.astro-477lk3b5){color:var(--pf-text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.notice:where(.astro-477lk3b5){border:1px solid color-mix(in srgb, var(--pf-accent) 45%, transparent);border-radius:var(--pf-radius-panel);background:var(--pf-accent-wash);gap:.85rem;padding:1rem 1.1rem;display:flex}.notice__icon:where(.astro-477lk3b5){color:var(--pf-accent);flex:none}.notice__title:where(.astro-477lk3b5){font-weight:600}.notice__body:where(.astro-477lk3b5){color:var(--pf-text-muted);margin-top:.25rem;font-size:.875rem}.hand:where(.astro-477lk3b5){grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.hand__card:where(.astro-477lk3b5){border:1px solid var(--pf-line);border-radius:var(--pf-radius-panel);background:var(--pf-bg);flex-wrap:wrap;align-items:center;gap:.5rem;padding:1rem;font-size:.9rem;font-weight:500;display:flex}@media (width<=60rem){.how:where(.astro-477lk3b5){grid-template-columns:minmax(0,1fr);gap:0}.how__stage-wrap:where(.astro-477lk3b5){display:none}.how__step:where(.astro-477lk3b5),.how__step:where(.astro-477lk3b5):first-child{opacity:1;min-height:0;padding-block:1.5rem 2.5rem}.how__inline:where(.astro-477lk3b5){margin-top:1.5rem;display:block}.how__inline:where(.astro-477lk3b5) .how__inline-panel{background:radial-gradient(var(--pf-grid-dot) 1px, transparent 1px) 0 0 / 22px 22px, var(--pf-surface);padding:1.25rem}.how__inline:where(.astro-477lk3b5) .stage{opacity:1;padding:0;position:static;transform:none}}@media (width<=26rem){.book__name:where(.astro-477lk3b5){font-size:.58rem}}@media (prefers-reduced-motion:reduce){.stage:where(.astro-477lk3b5),.how__step:where(.astro-477lk3b5){transition:opacity .15s linear;transform:none}}.bento:where(.astro-ih6kc4f6){grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"lanes lanes modes""guard search modes""models models lessons";gap:1rem;display:grid}.tile--lanes:where(.astro-ih6kc4f6){grid-area:lanes}.tile--modes:where(.astro-ih6kc4f6){grid-area:modes}.tile--guard:where(.astro-ih6kc4f6){grid-area:guard}.tile--search:where(.astro-ih6kc4f6){grid-area:search}.tile--models:where(.astro-ih6kc4f6){grid-area:models}.tile--lessons:where(.astro-ih6kc4f6){grid-area:lessons}.tile:where(.astro-ih6kc4f6){border:1px solid var(--pf-line-subtle);border-radius:var(--pf-radius-modal);background:linear-gradient(180deg, var(--pf-surface), var(--pf-bg-raised));transition:border-color .2s var(--pf-ease-out);flex-direction:column;padding:1.5rem;display:flex}.tile:where(.astro-ih6kc4f6):hover{border-color:var(--pf-line)}.tile:where(.astro-ih6kc4f6) h3:where(.astro-ih6kc4f6){letter-spacing:-.01em;margin-top:auto;padding-top:1.5rem;font-size:1.15rem;font-stretch:104%}.tile:where(.astro-ih6kc4f6)>p:where(.astro-ih6kc4f6){color:var(--pf-text-muted);margin-top:.5rem;font-size:.95rem;line-height:1.55}.tile__visual:where(.astro-ih6kc4f6){font-size:.85rem}.lanes:where(.astro-ih6kc4f6){gap:.6rem;display:grid}.lane:where(.astro-ih6kc4f6){grid-template-columns:3.5rem minmax(0,1fr) 6.5rem;align-items:center;gap:.75rem;display:grid}.lane:where(.astro-ih6kc4f6) .chip:where(.astro-ih6kc4f6){justify-self:end}.lane__name:where(.astro-ih6kc4f6){color:var(--pf-text-muted);font-weight:500}.lane__track:where(.astro-ih6kc4f6){background:var(--pf-surface-3);border-radius:6px;height:6px;position:relative;overflow:hidden}.lane__track:where(.astro-ih6kc4f6) i:where(.astro-ih6kc4f6){background:linear-gradient(90deg, transparent, var(--pf-accent));transform-origin:0;transform:scaleX(var(--w));border-radius:6px;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.lane__track:where(.astro-ih6kc4f6) i:where(.astro-ih6kc4f6){animation:lane 3.6s var(--pf-ease-smooth) infinite alternate;animation-delay:calc(var(--i) * -1.1s)}}@keyframes lane{0%{transform:scaleX(calc(var(--w) - .2))}to{transform:scaleX(calc(var(--w) + .18))}}.modes:where(.astro-ih6kc4f6){margin:0;display:grid}.modes__row:where(.astro-ih6kc4f6){border-bottom:1px solid var(--pf-line-subtle);gap:.2rem;padding:.8rem 0;display:grid}.modes__row:where(.astro-ih6kc4f6):first-child{padding-top:0}.modes:where(.astro-ih6kc4f6) dt:where(.astro-ih6kc4f6){color:var(--pf-text);font-weight:600}.modes:where(.astro-ih6kc4f6) dd:where(.astro-ih6kc4f6){color:var(--pf-text-muted);margin:0}.guard:where(.astro-ih6kc4f6){gap:.45rem;display:grid}.guard__row:where(.astro-ih6kc4f6){border:1px solid var(--pf-line-subtle);border-radius:var(--pf-radius-control);background:var(--pf-bg);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.guard__row:where(.astro-ih6kc4f6) code:where(.astro-ih6kc4f6){color:var(--pf-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.search:where(.astro-ih6kc4f6){gap:.4rem;display:grid}.search__box:where(.astro-ih6kc4f6){border:1px solid var(--pf-line);border-radius:var(--pf-radius-pill);background:var(--pf-bg);color:var(--pf-text);align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.search__hit:where(.astro-ih6kc4f6){color:var(--pf-text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;padding:.2rem .25rem;display:flex;overflow:hidden}.search__hit--dim:where(.astro-ih6kc4f6){color:var(--pf-text-muted)}.search__src:where(.astro-ih6kc4f6){min-width:4.2rem;color:var(--pf-accent);font-family:var(--pf-font-mono);flex:none;font-size:.7rem}.providers:where(.astro-ih6kc4f6) ul:where(.astro-ih6kc4f6){grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.providers:where(.astro-ih6kc4f6) li:where(.astro-ih6kc4f6){border:1px solid var(--pf-line-subtle);border-radius:var(--pf-radius-panel);background:var(--pf-bg);color:var(--pf-text);align-items:center;gap:.6rem;padding:.7rem .8rem;font-weight:500;display:flex}.providers__mark:where(.astro-ih6kc4f6){color:var(--pf-text-muted);display:inline-grid}.lesson__card:where(.astro-ih6kc4f6){border:1px solid var(--pf-line);border-radius:var(--pf-radius-panel);background:var(--pf-bg);padding:1rem;line-height:1.5}.lesson__meta:where(.astro-ih6kc4f6){justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.lesson__conf:where(.astro-ih6kc4f6){color:var(--pf-text-subtle);font-size:.7rem}@media (width<=60rem){.bento:where(.astro-ih6kc4f6){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"lanes lanes""modes guard""modes search""models models""lessons lessons"}}@media (width<=40rem){.bento:where(.astro-ih6kc4f6){grid-template-columns:minmax(0,1fr);grid-template-areas:"lanes""modes""guard""search""models""lessons"}.tile:where(.astro-ih6kc4f6){padding:1.25rem}}.finish:where(.astro-ih746m55){--demo-bg:#fbfaf7;--demo-ink:#1d1b18;--demo-muted:#6b665d;--demo-line:#e7e3da;--demo-accent:#3f7a5a;margin:0}.finish__frame:where(.astro-ih746m55){background:var(--pf-surface);overflow:hidden}.finish__bar:where(.astro-ih746m55){border-bottom:1px solid var(--pf-line-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.finish__tab:where(.astro-ih746m55){border-radius:var(--pf-radius-pill);background:var(--pf-surface-3);padding:.3rem .8rem;font-size:.85rem;font-weight:600}.finish__grid:where(.astro-ih746m55){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.finish__caption:where(.astro-ih746m55){color:var(--pf-text-subtle);margin-top:.85rem;font-size:.85rem}.pin:where(.astro-ih746m55){background:var(--pf-accent-fill);width:1.6rem;height:1.6rem;color:var(--pf-on-accent);font-family:var(--pf-font-mono);box-shadow:0 0 0 5px var(--pf-accent-wash);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:inline-grid;position:absolute;top:.9rem;right:.9rem}.pin--static:where(.astro-ih746m55){flex:none;position:static}.report:where(.astro-ih746m55){border-right:1px solid var(--pf-line-subtle);align-content:start;gap:1.35rem;padding:1.5rem;display:grid;position:relative}.report:where(.astro-ih746m55) h4:where(.astro-ih746m55){color:var(--pf-text-subtle);font-family:var(--pf-font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .55rem;font-size:.7rem;font-weight:500}.report__files:where(.astro-ih746m55){gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.report__files:where(.astro-ih746m55) li:where(.astro-ih746m55){justify-content:space-between;gap:1rem;font-size:.82rem;display:flex}.report__files:where(.astro-ih746m55) code:where(.astro-ih746m55){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report__add:where(.astro-ih746m55){color:var(--pf-success);font-size:.78rem}.report__note:where(.astro-ih746m55),.report__none:where(.astro-ih746m55){color:var(--pf-text-muted);margin-top:.4rem;font-size:.85rem}.report__none:where(.astro-ih746m55){margin-top:0}.report__cmd:where(.astro-ih746m55){border:1px solid var(--pf-line-subtle);border-radius:var(--pf-radius-control);background:var(--pf-bg);margin:0;padding:.7rem .85rem;font-size:.85rem;line-height:1.6;overflow-x:auto}.report__line:where(.astro-ih746m55){align-items:center;gap:.6rem;font-size:.85rem;display:flex}.preview:where(.astro-ih746m55){background:radial-gradient(var(--pf-grid-dot) 1px, transparent 1px) 0 0 / 22px 22px;align-content:start;gap:1rem;padding:1.5rem;display:grid}.review:where(.astro-ih746m55){border:1px solid var(--pf-line);border-radius:var(--pf-radius-panel);background:var(--pf-bg);align-items:center;gap:1rem;padding:.85rem 3rem .85rem .85rem;display:flex;position:relative}.review:where(.astro-ih746m55) .pin:where(.astro-ih746m55){top:50%;transform:translateY(-50%)}.review__shots:where(.astro-ih746m55){flex:none;align-items:flex-end;gap:.4rem;display:flex}.review__shot:where(.astro-ih746m55){border:1px solid var(--pf-line);background:var(--demo-bg);border-radius:4px;align-content:start;gap:3px;padding:5px;display:grid}.review__shot--wide:where(.astro-ih746m55){width:4.2rem;height:2.6rem}.review__shot--narrow:where(.astro-ih746m55){width:1.5rem;height:2.9rem}.review__shot:where(.astro-ih746m55) i:where(.astro-ih746m55){background:var(--demo-line);border-radius:2px;height:4px;display:block}.review__shot:where(.astro-ih746m55) i:where(.astro-ih746m55):first-child{background:var(--demo-ink);opacity:.7;width:60%}.review__text:where(.astro-ih746m55) p:where(.astro-ih746m55){color:var(--pf-success);font-size:.85rem}.review__text:where(.astro-ih746m55) .review__sub:where(.astro-ih746m55){color:var(--pf-text-muted);margin-top:.15rem;font-size:.78rem}.live:where(.astro-ih746m55){border:1px solid var(--pf-line);border-radius:var(--pf-radius-panel);background:var(--pf-bg);position:relative;overflow:hidden}.live:where(.astro-ih746m55) .pin:where(.astro-ih746m55){top:auto;bottom:.9rem}.live__bar:where(.astro-ih746m55){border-bottom:1px solid var(--pf-line-subtle);color:var(--pf-text-muted);align-items:center;gap:.75rem;padding:.55rem .8rem;font-size:.78rem;display:flex}.live__state:where(.astro-ih746m55){color:var(--pf-success);font-family:var(--pf-font-mono);align-items:center;gap:.4rem;display:inline-flex}.live__dot:where(.astro-ih746m55){background:var(--pf-success);border-radius:50%;width:.45rem;height:.45rem}.live__actions:where(.astro-ih746m55){gap:.6rem;margin-left:auto;display:inline-flex}.demo:where(.astro-ih746m55){background:var(--demo-bg);color:var(--demo-ink);font-family:var(--pf-font-body);border-radius:12px;margin:1rem;padding:1.25rem;box-shadow:0 10px 30px -18px #00000080}.demo__head:where(.astro-ih746m55){justify-content:space-between;align-items:baseline;margin-bottom:.9rem;display:flex}.demo__head:where(.astro-ih746m55) strong:where(.astro-ih746m55){font-size:1.15rem}.demo__head:where(.astro-ih746m55) span:where(.astro-ih746m55){color:var(--demo-accent);font-size:.8rem;font-weight:600}.demo:where(.astro-ih746m55) ul:where(.astro-ih746m55){gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.demo:where(.astro-ih746m55) li:where(.astro-ih746m55){border:1px solid var(--demo-line);border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.demo:where(.astro-ih746m55) li:where(.astro-ih746m55).is-done{color:var(--demo-muted)}.demo__check:where(.astro-ih746m55){border:1.5px solid var(--demo-line);color:#fff;border-radius:5px;place-items:center;width:1.1rem;height:1.1rem;display:inline-grid}.is-done:where(.astro-ih746m55) .demo__check:where(.astro-ih746m55){background:var(--demo-accent);border-color:var(--demo-accent)}.demo__add:where(.astro-ih746m55){color:var(--demo-muted);margin-top:.8rem;font-size:.82rem;display:inline-block}.legend:where(.astro-ih746m55){grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:3rem 0 0;padding:0;list-style:none;display:grid}.legend:where(.astro-ih746m55) li:where(.astro-ih746m55){gap:.9rem;display:flex}.legend:where(.astro-ih746m55) h3:where(.astro-ih746m55){letter-spacing:-.01em;font-size:1.1rem;font-stretch:104%}.legend:where(.astro-ih746m55) p:where(.astro-ih746m55){color:var(--pf-text-muted);margin-top:.45rem;font-size:.95rem}@media (width<=60rem){.finish__grid:where(.astro-ih746m55){grid-template-columns:minmax(0,1fr)}.report:where(.astro-ih746m55){border-right:0;border-bottom:1px solid var(--pf-line-subtle)}.legend:where(.astro-ih746m55){grid-template-columns:minmax(0,1fr);gap:1.5rem}}@media (width<=26rem){.report:where(.astro-ih746m55),.preview:where(.astro-ih746m55){padding:1rem}.review__shots:where(.astro-ih746m55){display:none}}.hero:where(.astro-lcdefpme){padding-top:5rem;padding-bottom:6rem;position:relative}.hero__grid:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2rem;display:grid}.hero__copy:where(.astro-lcdefpme){z-index:1;position:relative}.hero:where(.astro-lcdefpme) h1:where(.astro-lcdefpme){letter-spacing:-.035em;font-size:clamp(2.4rem,1.4rem + 3.3vw,3.9rem);font-weight:700;font-stretch:112%;line-height:1.02}.hero__accent:where(.astro-lcdefpme){color:var(--pf-accent)}.hero__lede:where(.astro-lcdefpme){max-width:31rem;color:var(--pf-text-muted);margin-top:1.5rem;font-size:clamp(1.05rem,1rem + .25vw,1.2rem);line-height:1.6}.hero__actions:where(.astro-lcdefpme){flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:2.25rem;display:flex}.hero__meta:where(.astro-lcdefpme){color:var(--pf-text-subtle);margin-top:1.25rem;font-size:.875rem}.hero__visual:where(.astro-lcdefpme){margin-left:-2%;margin-right:-10%}@media (width<=60rem){.hero:where(.astro-lcdefpme){padding-top:3rem;padding-bottom:4rem}.hero__grid:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr);gap:3rem}.hero__visual:where(.astro-lcdefpme){margin:0 -1rem}}.versus:where(.astro-lcdefpme){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;display:grid}.versus__side:where(.astro-lcdefpme){border:1px solid var(--pf-line-subtle);border-radius:var(--pf-radius-modal);background:var(--pf-surface);padding:1.75rem}.versus__side--line:where(.astro-lcdefpme){background:0 0;border-style:dashed}.versus__label:where(.astro-lcdefpme){color:var(--pf-text-subtle);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;font-size:.75rem;display:flex}.versus__side--loop:where(.astro-lcdefpme) .versus__label:where(.astro-lcdefpme){color:var(--pf-accent)}.versus__hint:where(.astro-lcdefpme){color:var(--pf-text-subtle);letter-spacing:.04em;text-transform:none}.line-run:where(.astro-lcdefpme){flex-wrap:wrap;align-items:center;gap:.5rem 0;display:flex}.line-run__node:where(.astro-lcdefpme){border:1px solid var(--pf-line);border-radius:var(--pf-radius-pill);background:var(--pf-surface-2);white-space:nowrap;padding:.45rem .8rem;font-size:.85rem}.line-run__edge:where(.astro-lcdefpme){background:var(--pf-line-strong);width:1.75rem;height:1.5px}.line-run__edge--end:where(.astro-lcdefpme){background:repeating-linear-gradient(90deg, var(--pf-line-strong) 0 4px, transparent 4px 9px);width:3rem;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.unknowns:where(.astro-lcdefpme){gap:0;margin:2rem 0 0;padding:0;list-style:none;display:grid}.unknowns:where(.astro-lcdefpme) li:where(.astro-lcdefpme){border-top:1px solid var(--pf-line-subtle);color:var(--pf-text-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;font-size:.92rem;display:flex}.trace:where(.astro-lcdefpme){margin:0;padding:0;list-style:none;display:grid}.trace:where(.astro-lcdefpme) li:where(.astro-lcdefpme){border-top:1px solid var(--pf-line-subtle);grid-template-columns:3.6rem 5.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem 0;font-size:.9rem;display:grid}.trace:where(.astro-lcdefpme) li:where(.astro-lcdefpme):first-child{border-top:0;padding-top:0}.trace__loop:where(.astro-lcdefpme){color:var(--pf-text-subtle);font-size:.75rem}.trace__who:where(.astro-lcdefpme){font-weight:600}.trace__did:where(.astro-lcdefpme){color:var(--pf-text-muted);font-family:var(--pf-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.trace__res:where(.astro-lcdefpme){justify-content:flex-end;align-items:center;gap:.4rem;display:inline-flex}.trace__route:where(.astro-lcdefpme){color:var(--pf-text-muted);align-items:center;gap:.2rem;font-size:.75rem;display:inline-flex}@media (width<=60rem){.versus:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr)}}@media (width<=40rem){.versus__side:where(.astro-lcdefpme){padding:1.25rem}.trace:where(.astro-lcdefpme) li:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who res""did did";gap:.3rem .75rem}.trace__loop:where(.astro-lcdefpme){display:none}.trace__who:where(.astro-lcdefpme){grid-area:who}.trace__did:where(.astro-lcdefpme){grid-area:did}.trace__res:where(.astro-lcdefpme){grid-area:res}}.local:where(.astro-lcdefpme){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:4rem;display:grid}.local__head:where(.astro-lcdefpme){margin-bottom:0;position:sticky;top:7rem}.spec:where(.astro-lcdefpme){margin:0}.spec__row:where(.astro-lcdefpme){border-top:1px solid var(--pf-line-subtle);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5rem;padding:1.4rem 0;display:grid}.spec__row:where(.astro-lcdefpme):last-child{border-bottom:1px solid var(--pf-line-subtle)}.spec:where(.astro-lcdefpme) dt:where(.astro-lcdefpme){align-items:flex-start;gap:.65rem;font-weight:600;display:flex}.spec:where(.astro-lcdefpme) dt:where(.astro-lcdefpme) .pf-icon{color:var(--pf-accent);flex:none;margin-top:.2rem}.spec:where(.astro-lcdefpme) dd:where(.astro-lcdefpme){color:var(--pf-text-muted);margin:0;font-size:.95rem}@media (width<=60rem){.local:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr);gap:0}.local__head:where(.astro-lcdefpme){margin-bottom:2.5rem;position:static}}@media (width<=40rem){.spec__row:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr);gap:.4rem}.spec:where(.astro-lcdefpme) dd:where(.astro-lcdefpme){padding-left:1.75rem}}.plans:where(.astro-lcdefpme){grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.plan:where(.astro-lcdefpme){border:1px solid var(--pf-line);border-radius:var(--pf-radius-modal);background:var(--pf-surface);flex-direction:column;padding:2rem;display:flex}.plan--cloud:where(.astro-lcdefpme){border-color:color-mix(in srgb, var(--pf-accent) 45%, var(--pf-line));background:radial-gradient(120% 80% at 100% 0%, var(--pf-accent-wash), transparent 60%), var(--pf-surface)}.plan__title-row:where(.astro-lcdefpme){justify-content:space-between;align-items:center;gap:1rem;display:flex}.plan:where(.astro-lcdefpme) h3:where(.astro-lcdefpme){font-size:1.25rem;font-stretch:108%}.plan__price:where(.astro-lcdefpme){align-items:baseline;gap:.4rem;margin-top:1rem;display:flex}.plan__amount:where(.astro-lcdefpme){font-family:var(--pf-font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3.25rem;font-weight:700;font-stretch:112%;line-height:1}.plan__per:where(.astro-lcdefpme){color:var(--pf-text-muted)}.plan__lede:where(.astro-lcdefpme){color:var(--pf-text-muted);margin-top:.85rem}.plan__list:where(.astro-lcdefpme){border-top:1px solid var(--pf-line-subtle);gap:.75rem;margin:1.75rem 0;padding:1.5rem 0 0;list-style:none;display:grid}.plan__list:where(.astro-lcdefpme) li:where(.astro-lcdefpme){gap:.65rem;font-size:.95rem;display:flex}.plan__list:where(.astro-lcdefpme) .pf-icon{color:var(--pf-success);flex:none;margin-top:.2rem}.founding:where(.astro-lcdefpme){border:1px dashed color-mix(in srgb, var(--pf-accent) 50%, transparent);border-radius:var(--pf-radius-panel);color:var(--pf-text-muted);gap:.65rem;margin-bottom:1.75rem;padding:1rem;font-size:.9rem;display:flex}.founding:where(.astro-lcdefpme) strong:where(.astro-lcdefpme){color:var(--pf-text)}.founding:where(.astro-lcdefpme) .pf-icon{color:var(--pf-accent);flex:none;margin-top:.2rem}.plan__cta:where(.astro-lcdefpme){width:100%;margin-top:auto}.plan__why:where(.astro-lcdefpme){color:var(--pf-text-subtle);text-align:center;margin-top:.65rem;font-size:.82rem}@media (width<=48rem){.plans:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr)}}@media (width<=40rem){.plan:where(.astro-lcdefpme){padding:1.5rem}}.faq:where(.astro-lcdefpme){grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:4rem;display:grid}.faq__head:where(.astro-lcdefpme){margin-bottom:0}.faq__list:where(.astro-lcdefpme){border-top:1px solid var(--pf-line-subtle)}.faq__item:where(.astro-lcdefpme){border-bottom:1px solid var(--pf-line-subtle)}.faq__item:where(.astro-lcdefpme) summary:where(.astro-lcdefpme){cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:1rem 0;font-size:1.02rem;font-weight:600;list-style:none;display:flex}.faq__item:where(.astro-lcdefpme) summary:where(.astro-lcdefpme)::-webkit-details-marker{display:none}.faq__item:where(.astro-lcdefpme) summary:where(.astro-lcdefpme):hover{color:var(--pf-accent)}.faq__item:where(.astro-lcdefpme) .faq__icon{color:var(--pf-text-subtle);transition:transform .2s var(--pf-ease-out);flex:none}.faq__item:where(.astro-lcdefpme)[open] .faq__icon{transform:rotate(45deg)}.faq__item:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--pf-text-muted);max-width:40rem;padding:0 2.5rem 1.35rem 0}@media (width<=60rem){.faq:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr);gap:2rem}}.close:where(.astro-lcdefpme){border-top:1px solid var(--pf-line-subtle);background:radial-gradient(50% 70% at 50% 110%, var(--pf-glow), transparent 70%), radial-gradient(var(--pf-grid-dot) 1px, transparent 1px) 0 0 / 22px 22px;position:relative;overflow:hidden}.close__inner:where(.astro-lcdefpme){text-align:center;justify-items:center;display:grid}.close:where(.astro-lcdefpme) h2:where(.astro-lcdefpme){letter-spacing:-.03em;max-width:16ch;font-size:clamp(2rem,1.2rem + 3vw,3.4rem);font-stretch:112%;line-height:1.05}.close__actions:where(.astro-lcdefpme){flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.5rem;margin-top:2.25rem;display:flex}
