.hero:where(.astro-i3irphx7){background:linear-gradient(to bottom, var(--bg) 0, var(--bg) calc(100% - 22vw), var(--surface) calc(100% - 22vw));border-bottom:1px solid var(--border);padding-top:clamp(40px,8vw,88px);position:relative;overflow:hidden}@media (width>=1184px){.hero:where(.astro-i3irphx7){background:linear-gradient(to bottom, var(--bg) 0, var(--bg) calc(100% - 260px), var(--surface) calc(100% - 260px))}}.hero:where(.astro-i3irphx7):before{content:"";background-image:radial-gradient(color-mix(in srgb, var(--ink) 9%, transparent) 1px, transparent 1.2px);pointer-events:none;background-size:22px 22px;position:absolute;inset:0 0 40%;-webkit-mask-image:radial-gradient(70% 80% at 30% 20%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 80% at 30% 20%,#000 20%,#0000 75%)}.hero-text:where(.astro-i3irphx7){position:relative}.status:where(.astro-i3irphx7){margin-bottom:var(--space-5);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.status:where(.astro-i3irphx7):hover{color:var(--ink);border-color:var(--field-border)}.status-dot:where(.astro-i3irphx7){background:var(--warn-ink);border-radius:999px;width:7px;height:7px}.status-version:where(.astro-i3irphx7){background:var(--bg-2);font-family:var(--font-mono);color:var(--ink-2);border-radius:999px;padding:1px 8px;font-size:12px}h1:where(.astro-i3irphx7){max-width:30ch;margin-bottom:var(--space-5);letter-spacing:-.035em;font-size:clamp(38px,6.4vw,66px);line-height:1.03}.title:where(.astro-i3irphx7),.title-muted:where(.astro-i3irphx7){text-wrap:balance;display:block}.title-muted:where(.astro-i3irphx7){color:var(--ink-3)}.lead:where(.astro-i3irphx7){max-width:60ch;margin:0;font-size:clamp(17px,2vw,19.5px);line-height:1.55}.actions:where(.astro-i3irphx7){gap:var(--space-3);margin:var(--space-6) 0 0;flex-wrap:wrap;display:flex}.hero-shot:where(.astro-i3irphx7){padding-bottom:var(--space-6);margin-top:clamp(40px,6vw,64px);position:relative}.shot-caption:where(.astro-i3irphx7){margin:var(--space-3) 0 0;color:var(--ink-3);text-align:center;font-size:13.5px}@media (width<=479px){.actions:where(.astro-i3irphx7)>*{flex:auto}}.journey:where(.astro-wj4iumeo){--ease:cubic-bezier(.2, .7, .2, 1);position:relative}.steps:where(.astro-wj4iumeo){gap:var(--space-6) var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=960px){.steps:where(.astro-wj4iumeo){grid-template-columns:repeat(3,minmax(0,1fr))}}.step:where(.astro-wj4iumeo){gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.step-text:where(.astro-wj4iumeo){position:relative}.step-when:where(.astro-wj4iumeo){margin:0 0 var(--space-2);color:var(--ink-3);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.step-num:where(.astro-wj4iumeo){background:var(--accent-soft);width:24px;height:24px;color:var(--ink);border-radius:999px;place-items:center;font-size:12.5px;font-weight:600;display:grid}.step-title:where(.astro-wj4iumeo){margin:0 0 var(--space-2);font-size:19px}.step-desc:where(.astro-wj4iumeo){color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.55}.step-progress:where(.astro-wj4iumeo),.controls:where(.astro-wj4iumeo){display:none}.scene:where(.astro-wj4iumeo){border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);min-width:0;font-size:14px;line-height:1.5;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 12px 32px -12px #0000001f;container-type:inline-size}.bar:where(.astro-wj4iumeo){justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink-3);padding:8px 14px;font-size:12.5px;display:flex}.bar-who:where(.astro-wj4iumeo){color:var(--ink-2);align-items:center;gap:7px;min-width:0;font-weight:500;display:inline-flex}.bar-mcp:where(.astro-wj4iumeo),.bar-time:where(.astro-wj4iumeo){border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.bar-time:where(.astro-wj4iumeo){font-family:var(--font-mono)}.dot:where(.astro-wj4iumeo){background:var(--ok);border-radius:999px;width:7px;height:7px}.scene:where(.astro-wj4iumeo){flex-direction:column;flex:1;display:flex}.body:where(.astro-wj4iumeo){flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.scene-chat:where(.astro-wj4iumeo) .body:where(.astro-wj4iumeo){justify-content:flex-end}.composer:where(.astro-wj4iumeo){border:1px solid var(--border);background:var(--surface);color:var(--ink-3);border-radius:999px;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:7px 8px 7px 14px;font-size:13px;display:flex}.send:where(.astro-wj4iumeo){background:var(--bg-2);width:24px;height:24px;color:var(--ink-3);border-radius:999px;place-items:center;display:grid}.scene:where(.astro-wj4iumeo) code:where(.astro-wj4iumeo){font-family:var(--font-mono);font-size:.9em}.msg:where(.astro-wj4iumeo){max-width:92%;margin:0}.msg-user:where(.astro-wj4iumeo){background:var(--accent-soft);color:var(--ink);border-radius:14px 14px 4px;align-self:flex-end;padding:9px 13px}.msg-ai:where(.astro-wj4iumeo){color:var(--ink)}.msg-ai:where(.astro-wj4iumeo) code:where(.astro-wj4iumeo){background:var(--bg-2);border-radius:5px;padding:1px 5px}.link:where(.astro-wj4iumeo){color:var(--accent);text-underline-offset:2px;text-decoration:underline}.tool:where(.astro-wj4iumeo){border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink-2);align-self:flex-start;align-items:center;gap:8px;margin:0;padding:5px 10px 5px 8px;font-size:12.5px;display:flex}.mark:where(.astro-wj4iumeo){width:16px;height:16px;color:var(--ink)}.mark-dot:where(.astro-wj4iumeo){fill:var(--accent)}.tool:where(.astro-wj4iumeo) code:where(.astro-wj4iumeo){color:var(--ink);font-weight:500}.tool-arg:where(.astro-wj4iumeo){font-family:var(--font-mono);color:var(--ink-3);font-size:11.5px}.tool-state:where(.astro-wj4iumeo){width:14px;height:14px;display:grid}.tool-state:where(.astro-wj4iumeo)>:where(.astro-wj4iumeo){grid-area:1/1}.spin:where(.astro-wj4iumeo){border:2px solid var(--border);border-top-color:var(--accent);opacity:0;border-radius:999px;width:12px;height:12px;margin:1px}.ok:where(.astro-wj4iumeo){color:var(--ok);display:inline-flex}.note:where(.astro-wj4iumeo),.result:where(.astro-wj4iumeo){border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.note-label:where(.astro-wj4iumeo),.result-title:where(.astro-wj4iumeo){color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:inline-flex}.note-title:where(.astro-wj4iumeo){color:var(--ink);font-weight:600}.note-hint:where(.astro-wj4iumeo){color:var(--ink-3);font-size:12.5px}.result-title:where(.astro-wj4iumeo){color:var(--ink);font-size:13.5px;font-weight:600}.result-path:where(.astro-wj4iumeo){color:var(--ink-3);background:0 0!important;padding:0!important;font-size:11.5px!important}.result-excerpt:where(.astro-wj4iumeo){color:var(--ink-2);font-size:13px}mark:where(.astro-wj4iumeo){background:var(--warn-bg);color:var(--ink);border-radius:3px;padding:0 2px;font-weight:600}.source:where(.astro-wj4iumeo){color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:0;font-size:12.5px;display:flex}.source:where(.astro-wj4iumeo) code:where(.astro-wj4iumeo){font-size:11.5px}.scene-tidy:where(.astro-wj4iumeo) .bar:where(.astro-wj4iumeo){color:#8b95a5;background:#161b22;border-bottom-color:#262c36}.scene-tidy:where(.astro-wj4iumeo) .bar-who:where(.astro-wj4iumeo){color:#e6eaf0}.scene-tidy:where(.astro-wj4iumeo) .bar-who:where(.astro-wj4iumeo) svg{color:#b6f36a}.scene-tidy:where(.astro-wj4iumeo) .bar-time:where(.astro-wj4iumeo){color:#c9d1dc;border-color:#262c36}.tidy:where(.astro-wj4iumeo){grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;display:grid}@container (width<=519px){.line-extra:where(.astro-wj4iumeo){display:none}}@container (width>=520px){.tidy:where(.astro-wj4iumeo){grid-template-rows:1fr auto;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-content:stretch}.tidy:where(.astro-wj4iumeo) .commit:where(.astro-wj4iumeo){grid-column:1/-1}}.inbox:where(.astro-wj4iumeo),.file:where(.astro-wj4iumeo){border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0}.inbox-head:where(.astro-wj4iumeo),.file-head:where(.astro-wj4iumeo){border-bottom:1px solid var(--border);color:var(--ink-3);align-items:center;gap:6px;margin:0;padding:7px 10px;font-size:12px;font-weight:500;display:flex}.file-head:where(.astro-wj4iumeo) code:where(.astro-wj4iumeo){color:var(--ink-2);overflow-wrap:anywhere;font-size:11.5px}.inbox:where(.astro-wj4iumeo){flex-direction:column;display:flex}.inbox:where(.astro-wj4iumeo) ul:where(.astro-wj4iumeo){margin:0;padding:4px;list-style:none}.inbox-foot:where(.astro-wj4iumeo){border-top:1px solid var(--border);color:var(--ink-3);margin:auto 0 0;padding:7px 10px;font-size:12px}.diff:where(.astro-wj4iumeo) .line-ctx:where(.astro-wj4iumeo)+.line:where(.astro-wj4iumeo),.diff:where(.astro-wj4iumeo) .line:where(.astro-wj4iumeo)+.line-ctx:where(.astro-wj4iumeo){margin-top:8px}.item:where(.astro-wj4iumeo){border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 8px;font-size:13px;display:flex}.item-title:where(.astro-wj4iumeo){color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--ink-3)}.item-state:where(.astro-wj4iumeo){flex:none;font-size:11.5px;display:grid}.item-state:where(.astro-wj4iumeo)>:where(.astro-wj4iumeo){grid-area:1/1;justify-self:end}.a-reading:where(.astro-wj4iumeo){opacity:0;color:var(--ink-3);font-style:italic}.a-filed:where(.astro-wj4iumeo){color:var(--ok);align-items:center;gap:4px;font-weight:500;display:inline-flex}.diff:where(.astro-wj4iumeo){font-family:var(--font-mono);padding:6px 0;font-size:12px;line-height:1.55}.line:where(.astro-wj4iumeo){color:var(--ink-2);gap:8px;margin:0;padding:2px 10px 2px 8px;display:flex}.sign:where(.astro-wj4iumeo){width:1ch;color:var(--ink-3);user-select:none;flex:none}.line:where(.astro-wj4iumeo) del:where(.astro-wj4iumeo),.line:where(.astro-wj4iumeo) ins:where(.astro-wj4iumeo){text-decoration:none}.line-del:where(.astro-wj4iumeo){background:var(--danger-bg)}.line-del:where(.astro-wj4iumeo) .sign:where(.astro-wj4iumeo){color:var(--danger)}.line-del:where(.astro-wj4iumeo) del:where(.astro-wj4iumeo){text-decoration:line-through;text-decoration-color:var(--danger);color:var(--ink-2)}.line-add:where(.astro-wj4iumeo){background:var(--ok-bg);color:var(--ink)}.line-add:where(.astro-wj4iumeo) .sign:where(.astro-wj4iumeo){color:var(--ok);font-weight:600}.commit:where(.astro-wj4iumeo){border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:9px 12px;font-size:13px;display:flex}.commit-icon:where(.astro-wj4iumeo){color:var(--accent);display:inline-flex}.hash:where(.astro-wj4iumeo){color:var(--accent);font-size:12px!important}.commit-msg:where(.astro-wj4iumeo){color:var(--ink);font-weight:600}.commit-meta:where(.astro-wj4iumeo){color:var(--ink-3);flex-basis:100%;padding-left:26px;font-size:12px}.a-pushed:where(.astro-wj4iumeo){color:var(--ok);align-items:center;gap:4px;display:inline-flex}.journey:where(.astro-wj4iumeo).is-animated{gap:var(--space-3);grid-template-columns:minmax(0,1fr);grid-template-areas:"text""stage""ctrl";display:grid}.is-animated:where(.astro-wj4iumeo) .steps:where(.astro-wj4iumeo),.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo){display:contents}.is-animated:where(.astro-wj4iumeo) .step-text:where(.astro-wj4iumeo){grid-area:text}@media (width<=959px){.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo):not(.is-active) .step-text:where(.astro-wj4iumeo){opacity:0;pointer-events:none}.is-animated:where(.astro-wj4iumeo) .step-jump:where(.astro-wj4iumeo){display:none}}.is-animated:where(.astro-wj4iumeo) .scene:where(.astro-wj4iumeo){opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);pointer-events:none;grid-area:stage;transform:scale(.985)}.is-animated:where(.astro-wj4iumeo) .is-active:where(.astro-wj4iumeo) .scene:where(.astro-wj4iumeo){opacity:1;z-index:1;transform:none}.is-animated:where(.astro-wj4iumeo) .step-text:where(.astro-wj4iumeo){border-radius:var(--radius-lg);padding:14px 16px 14px 22px;transition:opacity .3s,background .3s,box-shadow .3s}.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo):not(.is-active) :where(.astro-wj4iumeo):is(.step-title,.step-desc){color:var(--ink-3)}.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo):not(.is-active) .step-text:where(.astro-wj4iumeo):hover :where(.astro-wj4iumeo):is(.step-title,.step-desc){color:var(--ink-2)}.is-animated:where(.astro-wj4iumeo) .is-active:where(.astro-wj4iumeo) .step-text:where(.astro-wj4iumeo){background:var(--bg);box-shadow:0 0 0 1px var(--border)}.is-animated:where(.astro-wj4iumeo) .step-progress:where(.astro-wj4iumeo){background:var(--border);border-radius:2px;width:2px;display:block;position:absolute;top:16px;bottom:16px;left:9px;overflow:hidden}.step-progress-fill:where(.astro-wj4iumeo){background:var(--accent);width:100%;height:0;display:block}.is-animated:where(.astro-wj4iumeo) .is-active:where(.astro-wj4iumeo) .step-progress-fill:where(.astro-wj4iumeo){animation:journey-progress var(--dur) linear forwards}@keyframes journey-progress{to{height:100%}}.step-jump:where(.astro-wj4iumeo){border-radius:var(--radius-lg);background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.step-jump:where(.astro-wj4iumeo)[hidden]{display:none}.step-jump:where(.astro-wj4iumeo):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.is-animated:where(.astro-wj4iumeo) .controls:where(.astro-wj4iumeo){justify-content:space-between;align-items:center;gap:var(--space-3);grid-area:ctrl;display:flex}.dots:where(.astro-wj4iumeo){gap:6px;display:flex}.dot-jump:where(.astro-wj4iumeo){background:0 0;border:0;width:28px;height:28px;padding:0;position:relative}.dot-jump:where(.astro-wj4iumeo):before{content:"";background:var(--field-border);border-radius:999px;width:8px;height:8px;transition:width .3s,background .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dot-jump:where(.astro-wj4iumeo)[aria-current=step]:before{background:var(--accent);width:22px}.dot-jump:where(.astro-wj4iumeo)[hidden]{display:none}.toggle:where(.astro-wj4iumeo){border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);height:30px;color:var(--ink-2);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.toggle:where(.astro-wj4iumeo):hover{color:var(--ink);background:var(--hover)}.toggle:where(.astro-wj4iumeo)[hidden]{display:none}@media (width<=959px){.dots:where(.astro-wj4iumeo){gap:0}.dot-jump:where(.astro-wj4iumeo){width:40px;height:40px}.toggle:where(.astro-wj4iumeo){height:40px;padding:0 14px}}.toggle:where(.astro-wj4iumeo) :where(.astro-wj4iumeo):is(.icon-pause,.icon-play){display:inline-flex}.toggle:where(.astro-wj4iumeo) :where(.astro-wj4iumeo):is(.icon-play,.toggle-play){display:none}.is-user-paused:where(.astro-wj4iumeo) .toggle:where(.astro-wj4iumeo) :where(.astro-wj4iumeo):is(.icon-play,.toggle-play){display:inline-flex}.is-user-paused:where(.astro-wj4iumeo) .toggle:where(.astro-wj4iumeo) :where(.astro-wj4iumeo):is(.icon-pause,.toggle-pause){display:none}@media (width>=960px){.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo):first-child .step-text:where(.astro-wj4iumeo){grid-area:t1}.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo):nth-child(2) .step-text:where(.astro-wj4iumeo){grid-area:t2}.is-animated:where(.astro-wj4iumeo) .step:where(.astro-wj4iumeo):nth-child(3) .step-text:where(.astro-wj4iumeo){grid-area:t3}.is-animated:where(.astro-wj4iumeo) .dots:where(.astro-wj4iumeo){display:none}.journey:where(.astro-wj4iumeo).is-animated{column-gap:var(--space-7);row-gap:var(--space-2);grid-template:".stage"1fr"t1 stage""t2 stage""t3 stage""ctrl stage"".stage"1fr/minmax(0,.72fr) minmax(0,1.28fr)}.is-animated:where(.astro-wj4iumeo) .controls:where(.astro-wj4iumeo){padding:var(--space-2) 0 0 22px;justify-content:flex-start}}.is-paused:where(.astro-wj4iumeo) *,.is-paused:where(.astro-wj4iumeo) :before,.is-paused:where(.astro-wj4iumeo) :after{animation-play-state:paused!important}@keyframes j-in{0%{opacity:0;transform:translateY(10px)}}@keyframes j-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes j-fade{0%{opacity:0}}@keyframes j-out{to{opacity:0}}@keyframes j-show{0%{opacity:1}to{opacity:1}}@keyframes j-spin{to{transform:rotate(360deg)}}@keyframes j-ring{0%{box-shadow:0 0 0 0 var(--accent-soft)}40%{box-shadow:0 0 0 6px var(--accent-soft)}to{box-shadow:0 0 #0000}}@keyframes j-strike{0%{background:0 0;text-decoration-color:#0000}}@keyframes j-unstrike{0%{color:var(--ink);text-decoration-color:#0000}}@keyframes j-highlight{0%,to{background:0 0}15%,80%{background:var(--accent-soft)}}@keyframes j-slide{0%{opacity:0;transform:translate(-8px)}}.is-active:where(.astro-wj4iumeo) .a-tool:where(.astro-wj4iumeo){animation:j-in .45s var(--ease) 1.4s both}.is-active:where(.astro-wj4iumeo) .a-wait:where(.astro-wj4iumeo){animation:10ms 1.4s forwards j-show,.7s linear 1.4s infinite j-spin,.15s 2.5s forwards j-out}.is-active:where(.astro-wj4iumeo) .a-done:where(.astro-wj4iumeo){animation:j-pop .3s var(--ease) 2.55s both}.is-active:where(.astro-wj4iumeo) .a-note:where(.astro-wj4iumeo){animation:j-pop .5s var(--ease) 2.7s both, j-ring 1.2s ease-out 3.1s}.is-active:where(.astro-wj4iumeo) .a-result:where(.astro-wj4iumeo){animation:j-pop .5s var(--ease) 2.7s both}.is-active:where(.astro-wj4iumeo) .a-ai:where(.astro-wj4iumeo){animation:j-in .5s var(--ease) 3.9s both}.is-active:where(.astro-wj4iumeo) .a-source:where(.astro-wj4iumeo){animation:j-in .5s var(--ease) 4.6s both}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item:where(.astro-wj4iumeo){animation:j-fade .4s var(--ease) both}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-2:where(.astro-wj4iumeo){animation-delay:.1s}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-3:where(.astro-wj4iumeo){animation-delay:.2s}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-main:where(.astro-wj4iumeo){animation:.4s both j-fade,3.4s .8s both j-highlight}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-title:where(.astro-wj4iumeo){animation:.3s 4.3s both j-unstrike}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-2:where(.astro-wj4iumeo) .item-title:where(.astro-wj4iumeo){animation-delay:5.4s}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-3:where(.astro-wj4iumeo) .item-title:where(.astro-wj4iumeo){animation-delay:5.9s}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .a-reading:where(.astro-wj4iumeo){animation:10ms .9s forwards j-show,.2s 4.1s forwards j-out}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .a-filed:where(.astro-wj4iumeo){animation:j-pop .3s var(--ease) 4.3s both}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-2:where(.astro-wj4iumeo) .a-filed:where(.astro-wj4iumeo){animation-delay:5.4s}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .item-3:where(.astro-wj4iumeo) .a-filed:where(.astro-wj4iumeo){animation-delay:5.9s}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .line-del:where(.astro-wj4iumeo),.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .line-del:where(.astro-wj4iumeo) del:where(.astro-wj4iumeo){animation:.5s 2.2s both j-strike}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .line-del:where(.astro-wj4iumeo) .sign:where(.astro-wj4iumeo){animation:.3s 2.2s both j-fade}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .line-add:where(.astro-wj4iumeo){animation:j-slide .6s var(--ease) 3s both}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .a-commit:where(.astro-wj4iumeo){animation:j-in .5s var(--ease) 6.3s both}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .a-pushed:where(.astro-wj4iumeo){animation:.4s 7.2s both j-fade}.is-active:where(.astro-wj4iumeo) .scene-2:where(.astro-wj4iumeo) .a-summary:where(.astro-wj4iumeo){animation:.4s 6.3s both j-fade}.features:where(.astro-f5sfuhox){border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);grid-template-columns:minmax(0,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}@media (width>=640px){.features:where(.astro-f5sfuhox){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.features:where(.astro-f5sfuhox){grid-template-columns:repeat(4,minmax(0,1fr))}}.feature:where(.astro-f5sfuhox){padding:var(--space-5);background:var(--surface);flex-direction:column;min-width:0;display:flex}.icon:where(.astro-f5sfuhox){width:34px;height:34px;margin-bottom:var(--space-4);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);place-items:center;display:grid}h3:where(.astro-f5sfuhox){margin:0 0 var(--space-2);font-size:16.5px}p:where(.astro-f5sfuhox){margin:0 0 var(--space-3);color:var(--ink-2);font-size:14.5px;line-height:1.55}.more:where(.astro-f5sfuhox){margin-top:auto;font-size:14px;font-weight:500;text-decoration:none}.more:where(.astro-f5sfuhox):hover{text-decoration:underline}.gallery:where(.astro-424vo76r){gap:var(--space-6) var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.gallery:where(.astro-424vo76r){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.gallery:where(.astro-424vo76r){grid-template-columns:repeat(3,minmax(0,1fr))}}figure:where(.astro-424vo76r){min-width:0;margin:0}.frame:where(.astro-424vo76r){border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:transform .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 10px 28px -14px #0000002e}.frame:where(.astro-424vo76r):hover{transform:translateY(-2px);box-shadow:0 1px 2px #0000000a,0 16px 36px -14px #0000003d}.frame:where(.astro-424vo76r) img{width:100%;height:auto;display:block}figcaption:where(.astro-424vo76r){margin-top:var(--space-3);color:var(--ink-2);font-size:14.5px;line-height:1.5}figcaption:where(.astro-424vo76r) strong:where(.astro-424vo76r){color:var(--ink);font-weight:600}@media (prefers-reduced-motion:reduce){.frame:where(.astro-424vo76r),.frame:where(.astro-424vo76r):hover{transition:none;transform:none}}.formats:where(.astro-rv5jcgis){gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.format:where(.astro-rv5jcgis){gap:var(--space-4);min-width:0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);flex-direction:column;display:flex}.first:where(.astro-rv5jcgis){border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--bg);grid-column:1/-1}@media (width>=640px){.formats:where(.astro-rv5jcgis){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=800px){.first:where(.astro-rv5jcgis){gap:var(--space-6);grid-template-columns:minmax(0,.9fr) minmax(0,2fr);align-items:start;display:grid}.first:where(.astro-rv5jcgis) dl:where(.astro-rv5jcgis){gap:var(--space-3) var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.first:where(.astro-rv5jcgis) dl:where(.astro-rv5jcgis)>div:where(.astro-rv5jcgis)+div:where(.astro-rv5jcgis){border-top:0;border-left:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));padding-top:0;padding-left:var(--space-5)}}@media (width>=1000px){.formats:where(.astro-rv5jcgis){grid-template-columns:repeat(3,minmax(0,1fr))}}.head:where(.astro-rv5jcgis){align-items:flex-start;gap:var(--space-3);display:flex}.icon:where(.astro-rv5jcgis){border-radius:var(--radius);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:grid}.first:where(.astro-rv5jcgis) .icon:where(.astro-rv5jcgis){background:var(--accent);color:var(--on-accent)}.names:where(.astro-rv5jcgis){min-width:0}h3:where(.astro-rv5jcgis){align-items:center;gap:4px var(--space-2);flex-wrap:wrap;margin:0;font-size:16.5px;line-height:1.3;display:flex}.badge:where(.astro-rv5jcgis){background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--accent);letter-spacing:.02em;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.types:where(.astro-rv5jcgis){font-family:var(--font-mono);color:var(--ink-3);overflow-wrap:anywhere;margin:4px 0 0;font-size:12.5px;line-height:1.45}.text:where(.astro-rv5jcgis){margin:var(--space-3) 0 0;color:var(--ink-2);font-size:14.5px;line-height:1.5}dl:where(.astro-rv5jcgis){gap:var(--space-3);margin:0;display:grid}dl:where(.astro-rv5jcgis)>div:where(.astro-rv5jcgis)+div:where(.astro-rv5jcgis){border-top:1px solid var(--border);padding-top:var(--space-3)}dt:where(.astro-rv5jcgis){letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-size:12px;font-weight:600}dd:where(.astro-rv5jcgis){color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.5}.after:where(.astro-rv5jcgis){margin-top:var(--space-6)}.compare:where(.astro-ofthzxzb){border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(to left, var(--surface) 40%, transparent) right / 48px 100% no-repeat local, radial-gradient(farthest-side at 100% 50%, #00000029, transparent) right / 18px 100% no-repeat scroll, var(--surface);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.compare:where(.astro-ofthzxzb):focus-visible{outline:2px solid var(--accent);outline-offset:2px}table:where(.astro-ofthzxzb){table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:14px;line-height:1.45}th:where(.astro-ofthzxzb),td:where(.astro-ofthzxzb){text-align:left;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:normal;word-break:normal;padding:14px}tbody:where(.astro-ofthzxzb) tr:where(.astro-ofthzxzb):last-child>:where(.astro-ofthzxzb){border-bottom:0}thead:where(.astro-ofthzxzb) th:where(.astro-ofthzxzb){color:var(--ink);white-space:nowrap;font-size:14px;font-weight:600}thead:where(.astro-ofthzxzb) .criterion:where(.astro-ofthzxzb){background:var(--surface)}.criterion:where(.astro-ofthzxzb){z-index:1;background:var(--surface);border-right:1px solid var(--border);width:180px;color:var(--ink);font-weight:600;position:sticky;left:0}.hint:where(.astro-ofthzxzb){color:var(--ink-3);margin-top:2px;font-size:12.5px;font-weight:400;display:block}td:where(.astro-ofthzxzb){color:var(--ink-2)}.ours:where(.astro-ofthzxzb){background:color-mix(in srgb, var(--accent) 7%, var(--surface))}thead:where(.astro-ofthzxzb) .ours:where(.astro-ofthzxzb){color:var(--accent)}td:where(.astro-ofthzxzb).ours{color:var(--ink)}td:where(.astro-ofthzxzb){padding-left:36px;position:relative}.level:where(.astro-ofthzxzb){border-radius:999px;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:15px;left:12px}.level-yes:where(.astro-ofthzxzb) .level:where(.astro-ofthzxzb){color:var(--ok);background:var(--ok-bg)}.level-partial:where(.astro-ofthzxzb) .level:where(.astro-ofthzxzb){color:var(--warn-ink);background:var(--warn-bg)}.level-no:where(.astro-ofthzxzb) .level:where(.astro-ofthzxzb){color:var(--ink-3);background:var(--bg-2)}@media (width<=719px){table:where(.astro-ofthzxzb){min-width:1100px;font-size:13.5px}.criterion:where(.astro-ofthzxzb){width:128px;padding-inline:12px}th:where(.astro-ofthzxzb),td:where(.astro-ofthzxzb){padding-block:12px}.hint:where(.astro-ofthzxzb){font-size:12px}}.home-journey{padding-top:var(--space-7)!important;border-top:0!important}.home-split{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=960px){.home-split{gap:var(--space-7);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.home-steps{margin:0 0 var(--space-5);counter-reset:step;gap:var(--space-4);padding:0;list-style:none;display:grid}.home-steps li{counter-increment:step;color:var(--ink-2);padding-left:40px;font-size:15.5px;position:relative}.home-steps li:before{content:counter(step);background:var(--accent-soft);width:26px;height:26px;color:var(--ink);border-radius:999px;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;top:0;left:0}.home-steps strong{color:var(--ink);margin-bottom:2px;font-size:16px;display:block}.home-note{padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-2);margin:0;font-size:15px}.home-note strong{color:var(--ink)}.home-code :is(figure){margin-bottom:var(--space-3)}.home-code .home-after{color:var(--ink-3);margin:0;font-size:14px}.home-links{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.home-files-foot{gap:var(--space-4);padding:var(--space-5);border:1px dashed var(--field-border);border-radius:var(--radius-lg);display:grid}.home-files-title{margin:0;font-size:16.5px}.home-files-ways{gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=800px){.home-files-ways{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}}.home-files-ways li{gap:var(--space-3);color:var(--ink-2);align-items:flex-start;font-size:14.5px;line-height:1.5;display:flex}.home-files-ways svg{color:var(--accent);flex:none;margin-top:2px}.home-files-ways strong{color:var(--ink);font-size:15px;display:block}.home-files-foot .home-small{max-width:none;margin:0}.home-files-links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;margin:0;font-size:14.5px;font-weight:500;display:flex}.home-files-links a{text-decoration:none}.home-files-links a:hover{text-decoration:underline}.home-small{margin:var(--space-4) 0 0;color:var(--ink-3);max-width:80ch;font-size:14px}.home-arch-list{margin:var(--space-6) 0 0;gap:var(--space-4);padding:0;list-style:none;display:grid}@media (width>=720px){.home-arch-list{gap:var(--space-5) var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr))}}.home-arch-list li{padding-left:var(--space-4);border-left:2px solid var(--border);color:var(--ink-2);font-size:15.5px}.home-arch-list strong{color:var(--ink)}.home-arch .screenshot .frame{background:var(--surface)}.home-oss{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=960px){.home-oss{gap:var(--space-8);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}.home-oss p{color:var(--ink-2);max-width:62ch;font-size:16.5px}.home-link-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.home-link-list a{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-weight:500;text-decoration:none;display:flex}.home-link-list a:hover{border-color:var(--field-border);background:var(--hover)}.home-link-list a>svg:first-child{color:var(--accent)}.home-link-list .home-link-sub{color:var(--ink-3);font-size:13.5px;font-weight:400;display:block}.home-link-list .home-arrow{color:var(--ink-3);margin-left:auto}.home-hosted{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border:1px dashed var(--field-border);border-radius:var(--radius-lg);color:var(--ink-2);font-size:15px}.home-hosted strong{color:var(--ink)}.home-cta{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:20px;padding:clamp(32px,6vw,64px);position:relative;overflow:hidden}.home-cta:before{content:"";background-image:radial-gradient(color-mix(in srgb, var(--ink) 9%, transparent) 1px, transparent 1.2px);pointer-events:none;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 70%,#000 10%,#0000 70%);mask-image:radial-gradient(60% 70%,#000 10%,#0000 70%)}.home-cta>*{position:relative}.home-cta h2{max-width:22ch;margin-inline:auto;font-size:clamp(26px,4vw,40px)}.home-cta p{max-width:56ch;color:var(--ink-2);margin:0 auto;font-size:17px}.home-cta .home-links{justify-content:center}.home-cta-band{padding-top:var(--space-8)}
