.carousel[data-astro-cid-oulirr76]{gap:12px;min-width:0;display:grid}.carousel-track[data-astro-cid-oulirr76]{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius-lg);grid-auto-columns:100%;grid-auto-flow:column;display:grid;overflow-x:auto}.carousel-track[data-astro-cid-oulirr76]::-webkit-scrollbar{display:none}.carousel-track[data-astro-cid-oulirr76]>*{scroll-snap-align:start;scroll-snap-stop:always;min-width:0}.carousel-controls[data-astro-cid-oulirr76]{justify-content:center;align-items:center;gap:6px;display:none}.js .carousel-controls[data-astro-cid-oulirr76]{display:flex}.carousel-arrow[data-astro-cid-oulirr76],.carousel-pause[data-astro-cid-oulirr76]{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--panel);min-width:36px;height:36px;color:var(--text-soft);cursor:pointer;transition:background var(--mo-quick), border-color var(--mo-quick);place-items:center;display:inline-grid}.carousel-arrow[data-astro-cid-oulirr76]:hover,.carousel-pause[data-astro-cid-oulirr76]:hover{background:var(--panel-hover);border-color:var(--border-hover);color:var(--text)}.carousel-arrow[data-astro-cid-oulirr76] svg,.carousel-pause[data-astro-cid-oulirr76] svg{width:16px;height:16px}.carousel-pause[data-astro-cid-oulirr76]{gap:6px;padding:0 12px 0 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.carousel-pause[data-astro-cid-oulirr76][hidden],.carousel-pause[data-astro-cid-oulirr76] .when-paused,.carousel-pause[data-astro-cid-oulirr76][aria-pressed=true] .when-playing{display:none}.carousel-pause[data-astro-cid-oulirr76][aria-pressed=true] .when-paused{display:block}.carousel-count[data-astro-cid-oulirr76]{min-width:64px;color:var(--text-soft);font-variant-numeric:tabular-nums;text-align:center;font-size:.875rem;font-weight:650;display:none}.carousel[data-astro-cid-oulirr76].is-many .carousel-dots[data-astro-cid-oulirr76]{display:none}.carousel[data-astro-cid-oulirr76].is-many .carousel-count[data-astro-cid-oulirr76]{display:block}.carousel-dots[data-astro-cid-oulirr76]{flex-wrap:wrap;justify-content:center;gap:0;min-width:0;margin:0;padding:0;list-style:none;display:flex}.carousel-dot[data-astro-cid-oulirr76]{cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid}.carousel-dot[data-astro-cid-oulirr76]:before{content:"";border-radius:var(--radius-pill);background:var(--border-strong);width:8px;height:8px;transition:background var(--mo-quick), width var(--mo-base) var(--ease-out)}.carousel-dot[data-astro-cid-oulirr76]:hover:before{background:var(--border-hover)}.carousel-dot[data-astro-cid-oulirr76][aria-current]:before{background:var(--accent);width:16px}.tut-fig{border-radius:var(--radius-sm);will-change:transform;width:100%;height:auto;display:block}.tut-fig .f-page{fill:var(--bg);stroke:var(--border)}.tut-fig .f-bar{fill:var(--chrome)}.tut-fig .f-edge{stroke:var(--border);stroke-width:.8px}.tut-fig .f-panel,.tut-fig .f-view{fill:var(--panel);stroke:var(--border);stroke-width:.8px}.tut-fig .f-view{fill:color-mix(in srgb, var(--panel) 55%, var(--bg))}.tut-fig .f-head,.tut-fig .f-line{fill:var(--border-strong)}.tut-fig .f-name{fill:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;font-size:7.5px;font-weight:750}.tut-fig .f-region{transition:opacity var(--mo-base) var(--ease-out)}.tut-fig .f-region:not(.is-lit){opacity:.5}.tut-fig .f-ring{fill:none;stroke:var(--accent);stroke-width:1.6px;transform-box:fill-box;transform-origin:50%;animation:mo-pop var(--mo-base) var(--ease-out) both}.tut-fig .mo-in-pop,.tut-fig .mo-tick{transform-box:fill-box;transform-origin:50%}.tut-fig .f-task{fill:color-mix(in srgb, var(--accent) 16%, var(--panel))}.tut-fig .f-tile,.tut-fig .f-chip,.tut-fig .f-step,.tut-fig .f-finding,.tut-fig .f-card{fill:var(--panel-raised);stroke:var(--border);stroke-width:.8px}.tut-fig .f-finding,.tut-fig .f-card{fill:color-mix(in srgb, var(--danger) 9%, var(--panel));stroke:color-mix(in srgb, var(--danger) 35%, var(--border))}.tut-fig .f-card-edge,.tut-fig .f-why{fill:var(--danger)}.tut-fig .f-step.is-new{stroke:var(--accent)}.tut-fig .f-icon{fill:color-mix(in srgb, var(--accent) 30%, var(--panel));stroke:var(--accent);stroke-width:.8px}.tut-fig .f-line.is-fail{fill:var(--danger)}.tut-fig .f-line.is-on{fill:var(--accent)}.tut-fig .f-dock{fill:var(--chrome);stroke:var(--border);stroke-width:.8px}.tut-fig .f-button{fill:var(--accent)}.tut-fig .f-button-mark{fill:var(--on-accent)}.tut-fig .f-roundel{fill:var(--panel);stroke:var(--border-strong);stroke-width:1.2px}.tut-fig .f-roundel.is-fail,.tut-fig .f-stop{fill:var(--danger);stroke:var(--danger)}.tut-fig .f-roundel.is-pass,.tut-fig .f-done{fill:var(--success);stroke:var(--success)}.tut-fig .f-internet{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:.8px}.tut-fig .f-vpc{fill:none;stroke:var(--text-dim);stroke-width:.9px;stroke-dasharray:3 2}.tut-fig .f-subnet,.tut-fig .f-board{fill:color-mix(in srgb, var(--text) 5%, transparent);stroke:var(--border-strong);stroke-width:.8px}.tut-fig .f-node,.tut-fig .f-source,.tut-fig .f-sink,.tut-fig .f-slot{fill:var(--panel-raised);stroke:var(--text-dim);stroke-width:.9px}.tut-fig .f-slot{stroke-dasharray:2 1.5}.tut-fig .f-wire{stroke:var(--border-strong);stroke-width:.9px;stroke-dasharray:2 2}.tut-fig .f-trail{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.tut-fig .f-trail.is-drawing{stroke-dasharray:1;animation:mo-draw calc(var(--mo-entrance) * 1.6) var(--ease-in-out) var(--mo-delay,0s) both}.tut-fig .f-ghost .f-icon{stroke-width:1.2px}.tut-fig .f-router{fill:var(--accent)}.tut-fig .f-station{fill:var(--panel);stroke:var(--accent);stroke-width:1.3px}.tut-fig .f-pick{fill:color-mix(in srgb, var(--accent) 22%, var(--panel));stroke:var(--accent);stroke-width:.6px}.tut-fig .f-chip.is-accent{stroke:var(--accent)}.tut-fig .f-chip.is-off{opacity:.5}.tut-fig .f-track{stroke:var(--border-strong);stroke-width:2px;stroke-linecap:round}.tut-fig .f-knob{fill:var(--accent)}.tut-fig .f-mark{fill:var(--danger)}.tut-fig .f-meter,.tut-fig .f-lane,.tut-fig .f-switch,.tut-fig .f-tab{fill:var(--panel-raised);stroke:var(--border);stroke-width:.8px}.tut-fig .f-meter.is-fail{stroke:var(--danger)}.tut-fig .f-tab.is-on{stroke:var(--accent)}.tut-fig .f-series{fill:none;stroke:var(--text-dim);stroke-width:1px}.tut-fig .f-over{fill:color-mix(in srgb, var(--danger) 70%, transparent)}.tut-fig .f-under{fill:var(--success)}.tut-fig .f-budget{stroke:var(--text);stroke-width:1px;stroke-dasharray:2 1.5}.tut-fig .f-cell{fill:var(--panel-raised);stroke:var(--border-strong);stroke-width:.7px}.tut-fig .f-cell.is-pass{fill:color-mix(in srgb, var(--success) 30%, var(--panel));stroke:var(--success)}.tut-fig .f-cell.is-fail,.tut-fig .f-cell.is-busy{fill:var(--danger);stroke:var(--danger)}.tut-fig .f-found{fill:color-mix(in srgb, var(--warning) 28%, transparent);stroke:var(--warning);stroke-width:.8px}.tut-fig .mo-in-rise{animation:mo-rise var(--mo-dur,var(--mo-settle)) var(--ease-out) var(--mo-delay,0s) both}.tut-fig .mo-in-pop{animation:mo-pop var(--mo-dur,var(--mo-base)) var(--ease-out) var(--mo-delay,0s) both}.tut-fig .mo-in-wipe{animation:mo-wipe var(--mo-dur,var(--mo-reveal)) var(--ease-out) var(--mo-delay,0s) both}.tut-fig .mo-in-travel{animation:mo-travel var(--mo-dur,var(--mo-entrance)) var(--ease-in-out) var(--mo-delay,0s) both}.tut-fig .mo-tick.mo-ticked{animation:mo-tick .22s var(--ease-out) var(--mo-delay,0s) both}.fig-play:not(.is-on) .tut-fig *,.fig-play:not(.is-on) .tut-fig .f-trail.is-drawing{animation:none}@media (prefers-reduced-motion:reduce){.tut-fig *,.tut-fig .f-trail.is-drawing{transition:none!important;animation:none!important}}
