.sl-nav-diagram:where(.astro-bifo44lt){margin-bottom:48px;display:flex;justify-content:center}.sl-nav-diagram:where(.astro-bifo44lt) svg:where(.astro-bifo44lt){width:100%;max-width:800px;height:auto}.sl-nav-node:where(.astro-bifo44lt){cursor:pointer;outline:none;pointer-events:bounding-box}.sl-nav-node:where(.astro-bifo44lt):focus-visible .sl-node-ring:where(.astro-bifo44lt){stroke:var(--blue-400);stroke-width:3;opacity:1}.sl-node-circle:where(.astro-bifo44lt){transition:r .25s ease,fill .25s ease,stroke .25s ease}.sl-node-label:where(.astro-bifo44lt){font-family:var(--font-body);font-size:13px;font-weight:600;fill:#ffffff80;text-anchor:middle;pointer-events:none;transition:fill .25s ease}.sl-node-number:where(.astro-bifo44lt){font-family:var(--font-body);font-size:12px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:fill .25s ease}.sl-node-ring:where(.astro-bifo44lt){fill:#0369a1;stroke:transparent;stroke-width:2;opacity:1;transition:opacity .25s ease,stroke .25s ease}.sl-nav-node:where(.astro-bifo44lt):hover .sl-node-ring:where(.astro-bifo44lt){stroke:#ffffff4d}.sl-nav-node:where(.astro-bifo44lt).active .sl-node-ring:where(.astro-bifo44lt){stroke:#fff3}.sl-progress-track:where(.astro-bifo44lt){stroke:#ffffff26;stroke-width:2;fill:none}.sl-progress-fill:where(.astro-bifo44lt){stroke:#fffc;stroke-width:2;fill:none;transition:stroke-dashoffset .5s ease}.sl-content-panel:where(.astro-bifo44lt){background:linear-gradient(180deg,#ffffff1f,#ffffff0a);border:1px solid rgba(255,255,255,.15);border-top-color:#ffffff40;border-radius:var(--radius-lg);padding:40px;box-shadow:0 8px 32px #00000040,0 2px 8px #00000026,inset 0 1px #ffffff1a;position:relative;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sl-content-wrapper:where(.astro-bifo44lt){transition:opacity var(--duration-fast) ease}.sl-content-wrapper.fade-out{opacity:0}.sl-reveal{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.sl-reveal.visible{opacity:1;transform:translateY(0)}.sl-phase-title{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.01em;margin-bottom:20px}.sl-phase-visual{display:flex;justify-content:center;margin-bottom:28px}.sl-phase-visual svg{width:100%;max-width:680px;height:auto}.sl-phase-text{font-size:1rem;color:#ffffffd9;line-height:1.7;margin-bottom:28px;max-width:680px;margin-inline:auto;text-align:center}.sl-phase-text code{font-family:var(--font-mono);font-size:.88em;background:#ffffff1a;color:#fffffff2;padding:2px 7px;border-radius:4px}.sl-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.sl-two-col .sl-phase-text{margin-bottom:0;margin-inline:0;text-align:left}.sl-two-col .sl-code-frame{margin-bottom:0}@media(max-width:768px){.sl-two-col{grid-template-columns:1fr}}.sl-code-frame{position:relative;background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);margin-bottom:28px;overflow:hidden;box-shadow:inset 0 2px 6px #00000026}.sl-code-label{position:absolute;top:10px;left:14px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;background:#ffffff14;padding:2px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.sl-code-frame pre{margin:0;padding:40px 20px 20px;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.65;color:#ffffffbf}.sl-code-frame .token-key{color:#93c5fd}.sl-code-frame .token-string{color:#86efac}.sl-code-frame .token-number{color:#fcd34d}.sl-code-frame .token-comment{color:#ffffff59;font-style:italic}.sl-code-frame .token-method{color:#c4b5fd}.sl-code-frame .token-url{color:#86efac}.sl-code-frame .token-header{color:#fcd34d}.sl-code-frame .token-bracket{color:#ffffff80}.sl-diagram-node{fill:#ffffff14;stroke:#ffffff59;stroke-width:1.5}.sl-diagram-node-active{fill:#ffffff1f;stroke:#fff9;stroke-width:1.5}.sl-diagram-label{font-family:var(--font-mono);font-size:14px;font-weight:600;fill:#fff9}.sl-diagram-label-active{fill:#fff}.sl-diagram-arrow{stroke:#ffffff4d;stroke-width:1.5;fill:none;marker-end:url(#sl-arrowhead)}.sl-diagram-arrow-active{stroke:#ffffffb3;marker-end:url(#sl-arrowhead-active)}.sl-diagram-badge{font-family:var(--font-mono);font-size:12px;font-weight:600}.sl-panel-header:where(.astro-bifo44lt){display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.sl-panel-header:where(.astro-bifo44lt) .sl-phase-title:where(.astro-bifo44lt){margin-bottom:0}.sl-btn-prev:where(.astro-bifo44lt),.sl-btn-next:where(.astro-bifo44lt){display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s,border-color .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);flex-shrink:0}.sl-btn-prev:where(.astro-bifo44lt):hover,.sl-btn-next:where(.astro-bifo44lt):hover{background:#ffffff40;border-color:#fff6}.sl-btn-prev:where(.astro-bifo44lt):active,.sl-btn-next:where(.astro-bifo44lt):active{transform:scale(.98)}.sl-btn-prev:where(.astro-bifo44lt) svg:where(.astro-bifo44lt),.sl-btn-next:where(.astro-bifo44lt) svg:where(.astro-bifo44lt){width:16px;height:16px;transition:transform .2s}.sl-btn-prev:where(.astro-bifo44lt):hover svg:where(.astro-bifo44lt){transform:translate(-2px)}.sl-btn-next:where(.astro-bifo44lt):hover svg:where(.astro-bifo44lt){transform:translate(2px)}.sl-btn-next.restart svg:where(.astro-bifo44lt){transform:none}.sl-btn-next.restart:hover svg:where(.astro-bifo44lt){transform:rotate(-45deg)}@media(max-width:768px){.sl-content-panel:where(.astro-bifo44lt){padding:24px 20px}.sl-nav-diagram:where(.astro-bifo44lt) svg:where(.astro-bifo44lt){max-width:100%}}@media(max-width:480px){.sl-panel-header:where(.astro-bifo44lt){flex-wrap:wrap}.sl-btn-prev:where(.astro-bifo44lt),.sl-btn-next:where(.astro-bifo44lt){padding:10px 20px;font-size:13px}}@media(prefers-reduced-motion:reduce){.sl-reveal{opacity:1;transform:none;transition:none}.sl-content-wrapper:where(.astro-bifo44lt){transition:none}.sl-progress-fill:where(.astro-bifo44lt){transition:none}.sl-node-circle:where(.astro-bifo44lt),.sl-node-label:where(.astro-bifo44lt),.sl-node-number:where(.astro-bifo44lt),.sl-node-ring:where(.astro-bifo44lt){transition:none}}
