.fig[data-astro-cid-vry7qqyw]{background:var(--card-bg);border:1.5px dashed var(--dash);border-radius:12px;padding:28px 30px 26px;margin-top:18px}.fig-label[data-astro-cid-vry7qqyw]{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.5px;color:var(--faint);margin-bottom:16px}.mono[data-astro-cid-vry7qqyw]{font-family:var(--font-mono)}.gl-loop[data-astro-cid-vry7qqyw]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:9px 10px;margin-bottom:10px}.gl-loop-step[data-astro-cid-vry7qqyw]{display:flex;flex-direction:column;align-items:center;font-size:10.5px;font-weight:700;color:var(--ink);background:#f8fafc;border:1.5px solid var(--line);border-radius:7px;padding:5px 10px;animation:gl-loop 2.4s infinite;animation-delay:calc(var(--i) * .8s)}.gl-loop-step[data-astro-cid-vry7qqyw] small[data-astro-cid-vry7qqyw]{font-size:8.5px;font-weight:400;color:var(--faint)}.gl-loop-arrow[data-astro-cid-vry7qqyw]{font-size:12px;color:var(--faint)}@keyframes gl-loop{0%,30%{background:#ecfdf5;border-color:var(--accent)}34%,to{background:#f8fafc;border-color:var(--line)}}.gl-modes[data-astro-cid-vry7qqyw]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.gl-mode[data-astro-cid-vry7qqyw]{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:inherit;background:#f8fafc;border:1.5px solid var(--line);border-radius:8px;padding:8px 4px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.gl-mode[data-astro-cid-vry7qqyw]:hover{border-color:var(--accent)}.gl-mode[data-astro-cid-vry7qqyw]:disabled{cursor:default}.gl-mode-name[data-astro-cid-vry7qqyw]{font-size:11px;font-weight:700;color:var(--muted)}.gl-mode-sub[data-astro-cid-vry7qqyw]{font-size:9px;color:var(--faint)}.gl-mode[data-astro-cid-vry7qqyw].is-on{background:var(--accent);border-color:var(--accent)}.gl-mode[data-astro-cid-vry7qqyw].is-on .gl-mode-name[data-astro-cid-vry7qqyw],.gl-mode[data-astro-cid-vry7qqyw].is-on .gl-mode-sub[data-astro-cid-vry7qqyw]{color:#fff}.gl-code[data-astro-cid-vry7qqyw]{margin:0 0 10px;font-family:var(--font-mono);font-size:10.5px;line-height:1.7;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:8px 11px;white-space:pre;overflow-x:auto}.gl-lanes[data-astro-cid-vry7qqyw]{display:flex;flex-direction:column;gap:8px}.gl-lane[data-astro-cid-vry7qqyw]{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px 10px}.gl-lane-head[data-astro-cid-vry7qqyw]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:7px}.gl-lane-name[data-astro-cid-vry7qqyw]{font-size:11.5px;font-weight:700;color:var(--ink)}.gl-fps[data-astro-cid-vry7qqyw]{display:flex;align-items:center;gap:6px}.gl-fps[data-astro-cid-vry7qqyw] input[data-astro-cid-vry7qqyw][type=range]{width:110px;accent-color:var(--accent);cursor:pointer}.gl-fps[data-astro-cid-vry7qqyw] span[data-astro-cid-vry7qqyw]{font-size:11px;font-weight:700;color:var(--accent);min-width:40px}.gl-lane-stat[data-astro-cid-vry7qqyw]{margin-left:auto;font-size:10px;color:var(--muted)}.gl-track[data-astro-cid-vry7qqyw]{position:relative;height:34px;background:repeating-linear-gradient(90deg,#f8fafc 0 24px,#f1f5f9 24px 48px);border-radius:6px;overflow:hidden}.gl-wall[data-astro-cid-vry7qqyw]{position:absolute;top:3px;bottom:3px;left:85%;width:1.4%;min-width:5px;background:#475569;border-radius:2px}.gl-runner[data-astro-cid-vry7qqyw]{position:absolute;top:50%;left:4%;width:18px;height:18px;margin:-9px 0 0 -9px;background:var(--accent);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0f172a40;z-index:2}.gl-strip[data-astro-cid-vry7qqyw]{display:block;width:100%;height:18px;margin-top:6px}.gl-hint[data-astro-cid-vry7qqyw]{font-size:9.5px;color:var(--faint);text-align:right;margin-top:5px}.fig-control[data-astro-cid-vry7qqyw]{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 24px;margin-top:16px}.step-no[data-astro-cid-vry7qqyw]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:1px;margin-bottom:7px}.step-title[data-astro-cid-vry7qqyw]{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:7px}.step-desc[data-astro-cid-vry7qqyw]{font-size:13.5px;line-height:2;color:#475569;min-height:54px}.step-btns[data-astro-cid-vry7qqyw]{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.step-btns[data-astro-cid-vry7qqyw] button[data-astro-cid-vry7qqyw]{font-family:inherit;font-size:12.5px;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:7px;padding:9px 14px;cursor:pointer;transition:background .2s,opacity .2s}.step-btns[data-astro-cid-vry7qqyw] button[data-astro-cid-vry7qqyw]:hover{background:#0c5d57}.step-btns[data-astro-cid-vry7qqyw] button[data-astro-cid-vry7qqyw]:disabled{opacity:.45;cursor:default}.step-btns[data-astro-cid-vry7qqyw] button[data-astro-cid-vry7qqyw].ghost{color:var(--muted);background:#fff;border:1.5px solid #d8dde4}.step-btns[data-astro-cid-vry7qqyw] button[data-astro-cid-vry7qqyw].ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}@media(max-width:640px){.fig[data-astro-cid-vry7qqyw]{padding:20px 14px}.gl-modes[data-astro-cid-vry7qqyw]{grid-template-columns:1fr}.gl-mode-sub[data-astro-cid-vry7qqyw]{display:none}.gl-lane-stat[data-astro-cid-vry7qqyw]{margin-left:0;width:100%}}#fig-gl .gl-runner.is-stop{background:#0c5d57;animation:gl-bump .3s ease}#fig-gl .gl-runner.is-tunnel{background:#dc2626}#fig-gl .gl-runner.is-freeze{box-shadow:0 0 0 4px #f59e0b73}@keyframes gl-bump{50%{transform:translate(-3px) scale(1.15)}}#fig-gl .gl-wall.is-hit{background:var(--accent)}#fig-gl .gl-wall.is-broken{background:repeating-linear-gradient(180deg,#dc2626 0 4px,#fca5a5 4px 8px)}#fig-gl .gl-jump{position:absolute;top:50%;height:0;border-top:2px dashed #f59e0b;z-index:1;animation:gl-fade 2.2s ease forwards}#fig-gl .gl-jump:after{content:attr(data-label);position:absolute;top:-16px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:8.5px;font-weight:700;color:#b45309;white-space:nowrap}@keyframes gl-fade{0%,70%{opacity:1}to{opacity:0}}#fig-gl .gl-lane-stat .ok{color:var(--accent);font-weight:700}#fig-gl .gl-lane-stat .bad{color:#dc2626;font-weight:700}#fig-gl .gl-code .kw{color:var(--accent);font-weight:700}#fig-gl .gl-code .cm{color:var(--faint)}#gl-desc strong{color:var(--ink)}#gl-desc b{font-family:var(--font-mono);font-weight:700;color:var(--accent)}
