.labs-hub{max-width:var(--wrap-max);margin:0 auto;padding:var(--s5) var(--s5) var(--s8)}.lb-page,.lh-gh,.lh-lab{--lab-ink:var(--lab-accent)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .lb-page,:root:not([data-theme=dark]) .lh-gh,:root:not([data-theme=dark]) .lh-lab{--lab-ink:color-mix(in srgb,var(--lab-accent) 66%,#000)}}:root[data-theme=light] .lb-page,:root[data-theme=light] .lh-gh,:root[data-theme=light] .lh-lab{--lab-ink:color-mix(in srgb,var(--lab-accent) 66%,#000)}.labx-hero{position:relative;overflow:hidden;border-radius:20px;border:1px solid #1c2530;background-color:#070a0e;background-image:radial-gradient(700px 320px at 85% 0,rgba(229,36,59,.18),transparent 60%),radial-gradient(600px 300px at 0 100%,rgba(43,255,136,.1),transparent 60%);color:#eef3f7;padding:44px 40px;margin-bottom:var(--s6)}.labx-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 0);background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse at 80% 30%,#000,transparent 72%);mask-image:radial-gradient(ellipse at 80% 30%,#000,transparent 72%);pointer-events:none}.labx-in{position:relative}.mods-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:#9fb0c0;text-decoration:none;margin-bottom:14px;transition:color .18s,gap .18s}.mods-back .ico{width:14px;height:14px;fill:currentColor}.mods-back:hover{color:#2bff88;gap:9px}.labx-hero .d-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#ff5a63;margin:0 0 6px}.labx-hero .d-title{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4.4vw,50px);line-height:1.04;letter-spacing:-.02em;margin:8px 0 0}.labx-hero .d-sub{margin:14px 0 0;max-width:60ch;color:#aebdcb;font-size:17px;line-height:1.6}.lh-prompt{display:inline-flex;align-items:center;gap:2px;margin-top:20px;font-family:var(--font-mono);font-size:13px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:9px 13px;color:#d6e2ee}.lh-user{color:#3ddc84}.lh-path{color:#8b9bab}.lh-dollar{color:#ff5a63;margin:0 2px}.lh-cmd{color:#d6e2ee}.lh-caret{width:8px;height:15px;margin-left:4px;background:#3ddc84;display:inline-block;animation:lh-blink 1.1s steps(1) infinite}@keyframes lh-blink{50%{opacity:0}}.lh-subnav{position:sticky;top:calc(env(safe-area-inset-top, 0px) + var(--hh));z-index:20;display:flex;gap:6px;margin:22px 0 var(--s6);padding:7px;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--header-bg) 92%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);overflow-x:auto;scrollbar-width:none}.lh-subnav::-webkit-scrollbar{display:none}.lh-pill{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;padding:9px 16px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--ink-muted);text-decoration:none;transition:background .2s,color .2s;cursor:pointer}.lh-pill:hover{color:var(--ink);background:var(--surface)}.lh-pill.is-active{color:var(--on-accent);background:var(--accent-solid);box-shadow:0 6px 18px -6px var(--glow-soft)}.labs-hub .mprv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.labs-hub .mprv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.labs-hub .mprv{opacity:1;transform:none;transition:none}}.lh-reveal{opacity:0}.lh-reveal.is-in{animation:lh-rise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d, 0) * 60ms)}@keyframes lh-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lh-reveal,.lh-reveal.is-in{opacity:1;transform:none;transition:none}.lh-caret{animation:none}}.lh-section{scroll-margin-top:120px;margin-bottom:var(--s8)}.lh-sec-head{margin-bottom:var(--s5)}.lh-browse{font-size:17px;line-height:22px;letter-spacing:.1em}.lh-sec-sub{color:var(--ink-muted);margin:var(--s3) 0 0;font-size:15px;max-width:56ch}.lh-grid{display:grid;gap:var(--s4)}.lh-grid-labs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.lh-grid-gh{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.lh-grid-tools{grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}.lh-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.lh-card-title{font-family:var(--font-display);font-weight:700;font-size:19px;margin:0 0 var(--s2);letter-spacing:-.01em}.lh-lab .lh-card-title{font-size:19px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}.lh-lab .lh-card-blurb{font-size:14px;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.55 * 14px)}.lh-lab .lh-cat,.lh-lab .lh-chip{font-size:11px}.lh-card-blurb{color:var(--ink-muted);font-size:14px;line-height:1.55;margin:0 0 var(--s3)}.lh-lab{position:relative;overflow:hidden;background:radial-gradient(300px 150px at 100% 0,color-mix(in srgb,var(--lab-accent) 12%,transparent),transparent 72%),var(--surface);transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .22s}.lh-lab:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--lab-accent),color-mix(in srgb,var(--lab-accent) 45%,transparent))}.lh-lab:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--lab-accent) 50%,var(--line));box-shadow:0 22px 46px -26px color-mix(in srgb,var(--lab-accent) 72%,transparent)}.lh-lab:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 16%,transparent);pointer-events:none;transition:background .22s}.lh-lab:hover:after{background:transparent}.lh-lab-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:22px 22px 0 26px}.lh-ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--lab-accent),color-mix(in srgb,var(--lab-accent) 55%,#000));box-shadow:0 8px 20px -10px var(--lab-accent);transition:transform .22s cubic-bezier(.2,.7,.2,1)}.lh-ic .ico{width:22px;height:22px;fill:currentColor}.lh-lab:hover .lh-ic{transform:scale(1.06)}.lh-cat{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lab-ink);margin:0 0 6px}.lh-soon-pill{gap:7px;color:var(--activity)}.lh-lock-pill,.lh-soon-pill{margin-left:auto;position:relative;z-index:1;display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.lh-lock-pill{gap:6px;color:var(--ink-muted)}.lh-lock-pill svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.lh-locked-note{display:inline-block;margin-top:var(--s3);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint)}.lh-card.is-locked{cursor:default}.lh-card.is-locked:hover{transform:none;border-color:var(--line);box-shadow:none}.lh-gh.is-locked:hover:after,.lh-lab.is-locked:hover:after{background:color-mix(in srgb,var(--surface) 16%,transparent)}.lh-tool-lock{margin-left:auto;display:inline-flex;align-items:center;color:var(--ink-faint)}.lh-tool-lock svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.lh-tool.is-locked:hover{transform:none;border-color:var(--line);box-shadow:none}.lh-lab.is-live{text-decoration:none;color:inherit}.lh-lab.is-live:after{display:none}.lh-live-pill{margin-left:auto;position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--code-green);white-space:nowrap}.lh-live-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--code-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--code-green) 22%,transparent)}.lh-launch{display:inline-flex;align-items:center;gap:7px;margin-top:var(--s4);font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--lab-ink)}.lh-launch svg{width:15px;height:15px;fill:currentColor;transition:transform .2s}.lh-lab.is-live:hover .lh-launch svg{transform:translateX(4px)}.lh-soon-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--activity);box-shadow:0 0 0 3px color-mix(in srgb,var(--activity) 22%,transparent)}.lh-card-body{padding:var(--s4);flex:1}.lh-lab .lh-card-body{padding:14px 22px 22px 26px;display:flex;flex-direction:column}.lh-lab .lh-chips{margin-top:auto;padding-top:var(--s4)}.lh-lab .lh-chip{transition:color .2s,border-color .2s,background .2s}.lh-lab:hover .lh-chip{color:var(--ink);border-color:color-mix(in srgb,var(--lab-accent) 45%,var(--line));background:color-mix(in srgb,var(--lab-accent) 10%,var(--surface-raised))}.lh-level{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid}.lh-level-b{color:var(--code-green);border-color:var(--code-green);background:color-mix(in srgb,var(--code-green) 14%,transparent)}.lh-level-i{color:var(--activity);border-color:var(--activity);background:color-mix(in srgb,var(--activity) 14%,transparent)}.lh-level-a{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.lh-chips{display:flex;flex-wrap:wrap;gap:6px}.lh-chip{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:6px;background:var(--surface-raised);border:1px solid var(--line);color:var(--ink-muted)}.lh-gh{position:relative;overflow:hidden;background:radial-gradient(300px 150px at 100% 0,color-mix(in srgb,var(--lab-accent) 12%,transparent),transparent 72%),var(--surface);transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .22s}.lh-gh:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--lab-accent),color-mix(in srgb,var(--lab-accent) 45%,transparent))}.lh-gh:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--lab-accent) 50%,var(--line));box-shadow:0 22px 46px -26px color-mix(in srgb,var(--lab-accent) 72%,#000)}.lh-gh:hover .lh-ic{transform:scale(1.06)}.lh-gh .lh-card-body{padding:14px 22px 22px 26px;display:flex;flex-direction:column}.lh-gh .lh-card-title{font-size:19px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}.lh-gh .lh-card-blurb{font-size:14px;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.55 * 14px)}.lh-gh .lh-cat,.lh-gh .lh-chip{font-size:11px}.lh-gh-path{display:flex;align-items:center;gap:7px;margin:14px 0 0;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--code-bg);font-family:var(--font-mono);font-size:11.5px;color:var(--code-muted);overflow:hidden}.lh-gh-path svg{width:13px;height:13px;fill:var(--lab-accent);flex:none}.lh-gh-path span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lh-gh .lh-chips{margin-top:auto;padding-top:var(--s4)}.lh-gh .lh-chip{transition:color .2s,border-color .2s,background .2s}.lh-gh:hover .lh-chip{color:var(--ink);border-color:color-mix(in srgb,var(--lab-accent) 45%,var(--line));background:color-mix(in srgb,var(--lab-accent) 10%,var(--surface-raised))}.lh-tool{position:relative;overflow:hidden;padding:15px 17px 16px 19px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .18s,box-shadow .18s,transform .18s}.lh-tool:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--lab-accent),color-mix(in srgb,var(--lab-accent) 40%,transparent))}.lh-tool:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--lab-accent) 45%,var(--line));box-shadow:0 16px 34px -22px color-mix(in srgb,var(--lab-accent) 70%,#000)}.lh-tool-top{display:flex;align-items:baseline;gap:var(--s2);margin-bottom:7px}.lh-tool-name{margin:0;font-size:15px;color:var(--ink)}.lh-tool-mod,.lh-tool-name{font-family:var(--font-mono);font-weight:700}.lh-tool-mod{margin-left:auto;flex:none;font-size:10.5px;letter-spacing:.04em;color:var(--ink-faint)}.lh-tool-blurb{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-muted)}.lr-loading{font-family:var(--font-mono);color:var(--ink-muted);padding:var(--s7);text-align:center}.lb-page b{color:var(--ink);font-weight:700}.lb-page{max-width:980px;margin:0 auto;padding:var(--s5) var(--s5) var(--s8)}.lb-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink-muted);text-decoration:none;margin-bottom:var(--s5);transition:color .18s,gap .18s}.lb-back:hover{color:var(--ink);gap:9px}.lb-back-ico{width:14px;height:14px;fill:currentColor;transform:rotate(180deg)}.lb-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:var(--s4)}.lb-ic{width:60px;height:60px;flex:none;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--lab-accent),color-mix(in srgb,var(--lab-accent) 55%,#000));box-shadow:0 12px 28px -12px var(--lab-accent)}.lb-ic .ico{width:29px;height:29px;fill:currentColor}.lb-head-txt{min-width:0}.lb-cat{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lab-ink);margin:0 0 6px}.lb-title{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4.4vw,46px);line-height:1.04;letter-spacing:-.025em;margin:0 0 14px}.lb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.lb-meta-item{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--ink)}.lb-meta-item svg{width:13px;height:13px;fill:var(--lab-accent)}.lb-meta .lh-chip{color:var(--ink);font-weight:600;background:var(--surface-raised);border-color:var(--line-strong)}.lb-meta .lh-level{font-weight:700}.lb-overview{font-size:17px;line-height:1.65;color:var(--ink-muted);margin:0 0 var(--s5);max-width:72ch}.lb-launch-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 22px;border:1px solid color-mix(in srgb,var(--lab-accent) 30%,var(--line));border-radius:16px;background:radial-gradient(420px 160px at 0 0,color-mix(in srgb,var(--lab-accent) 14%,transparent),transparent 70%),var(--surface);margin-bottom:var(--s7)}.lb-launch{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;overflow:hidden;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.01em;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--lab-accent),color-mix(in srgb,var(--lab-accent) 58%,#000));box-shadow:0 14px 34px -14px var(--lab-accent);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}.lb-launch:hover{transform:translateY(-2px);box-shadow:0 20px 44px -16px var(--lab-accent)}.lb-launch:active{transform:translateY(0)}.lb-launch-ico{width:18px;height:18px;fill:currentColor}.lb-launch-arrow{width:16px;height:16px;fill:currentColor;transition:transform .2s}.lb-launch:hover .lb-launch-arrow{transform:translateX(4px)}.lb-launch-glow{position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.28) 50%,transparent 80%);transform:translateX(-120%);animation:lb-sheen 3.6s ease-in-out infinite;pointer-events:none}@keyframes lb-sheen{0%,62%{transform:translateX(-120%)}to{transform:translateX(120%)}}.lb-launch-note{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin:0}.lb-sec{margin-bottom:var(--s7)}.lb-h2{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;margin:0 0 10px}.lb-sub{color:var(--ink-muted);font-size:15px;margin:0 0 var(--s4);max-width:62ch}.lb-obj{list-style:none;padding:0;margin:0;display:grid;gap:11px}.lb-obj li{display:flex;align-items:flex-start;gap:11px;font-size:15px;line-height:1.55;color:var(--ink-muted)}.lb-obj svg{width:19px;height:19px;flex:none;margin-top:2px;fill:var(--lab-accent)}.lb-cheat{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.lb-cheat-item{padding:16px 18px;background:var(--surface)}.lb-cheat-title{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--lab-ink);margin:0 0 6px}.lb-cheat-body{color:var(--ink-muted);font-size:15px;line-height:1.6;margin:0}.lb-scn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--s4)}.lb-scn{position:relative;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.lb-scn:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--lab-accent),color-mix(in srgb,var(--lab-accent) 40%,transparent))}.lb-scn:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--lab-accent) 45%,var(--line));box-shadow:0 18px 38px -24px color-mix(in srgb,var(--lab-accent) 70%,#000)}.lb-scn-tag{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lab-ink);margin-bottom:9px}.lb-scn-title{font-family:var(--font-display);font-weight:700;font-size:17px;margin:0 0 7px;letter-spacing:-.01em}.lb-scn-body{color:var(--ink-muted);font-size:15px;line-height:1.6;margin:0}.lb-how{list-style:none;padding:0;margin:0;display:grid;gap:9px}.lb-how li{position:relative;padding-left:20px;color:var(--ink-muted);font-size:15px;line-height:1.55}.lb-how li:before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--lab-accent)}.lb-end{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);flex-wrap:wrap;padding:28px;border-radius:18px;border:1px solid color-mix(in srgb,var(--lab-accent) 30%,var(--line));background:radial-gradient(520px 200px at 100% 0,color-mix(in srgb,var(--lab-accent) 16%,transparent),transparent 70%),var(--surface)}.lb-end-title{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;margin:0}.lrun{position:fixed;inset:0;background:var(--bg)}.lrun-frame,.lrun-react{width:100%;height:100%;border:0;display:block;overflow:auto}.lrun-exit{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 14px);right:calc(env(safe-area-inset-right, 0px) + 14px);z-index:60;display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 6px 20px -6px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.06);color:var(--ink);font-family:var(--font-mono);font-size:12.5px;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:border-color .18s,color .18s,transform .18s,box-shadow .18s}.lrun-exit:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 26px -8px rgba(0,0,0,.5)}.lrun-exit:active{transform:translateY(0)}.lrun-exit:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.lrun-exit-ico{width:15px;height:15px;fill:currentColor;transform:rotate(180deg);transition:transform .18s}.lrun-exit:hover .lrun-exit-ico{transform:rotate(180deg) translateX(3px)}@media (prefers-reduced-motion:reduce){.lb-launch-glow{animation:none;opacity:0}}@media (max-width:640px){.lb-head{gap:13px}.lb-ic{width:48px;height:48px;border-radius:13px}.lb-ic .ico{width:23px;height:23px}.lrun-exit-txt{display:none}}.pk-steps{list-style:none;margin:0;padding:0}.pk-step{position:relative;padding:0 0 24px 48px}.pk-step:last-child{padding-bottom:0}.pk-step:before{content:"";position:absolute;left:15px;top:34px;bottom:0;width:2px;background:color-mix(in srgb,var(--lab-accent) 26%,var(--line))}.pk-step:last-child:before{display:none}.pk-step-n{position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;font-weight:700;color:#fff;background:var(--lab-accent);box-shadow:0 6px 16px -8px var(--lab-accent)}.pk-step.is-alt .pk-step-n{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--lab-ink);background:var(--surface);border:1px dashed color-mix(in srgb,var(--lab-accent) 55%,transparent);box-shadow:none}.pk-step.is-alt .pk-step-txt{color:var(--ink-muted)}.pk-step-txt{margin:5px 0 0;font-size:15.5px;line-height:1.55;color:var(--ink);max-width:70ch}.pk-cmd{display:flex;align-items:center;gap:10px;margin-top:11px;padding:10px 10px 10px 14px;border:1px solid color-mix(in srgb,var(--code-ink) 16%,transparent);border-radius:9px;background:var(--code-bg);overflow:hidden}.pk-cmd-prompt{font-weight:700;color:var(--code-green);flex:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pk-cmd-prompt,.pk-cmd-text{font-family:var(--font-mono);font-size:13px}.pk-cmd-text{color:var(--code-ink);flex:1;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.pk-cmd-text::-webkit-scrollbar{display:none}.pk-cmd-copy{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 11px;border-radius:7px;cursor:pointer;font-family:var(--font-mono);font-size:11.5px;font-weight:700;color:var(--code-muted);background:color-mix(in srgb,var(--code-ink) 9%,transparent);border:1px solid color-mix(in srgb,var(--code-ink) 16%,transparent);transition:color .16s,background .16s,border-color .16s}.pk-cmd-copy svg{width:13px;height:13px;fill:currentColor}.pk-cmd-copy:hover{color:var(--code-bg);background:var(--code-ink);border-color:var(--code-ink)}.pk-cmd-copy.is-done{color:var(--code-bg);background:var(--code-green);border-color:var(--code-green)}.cb{min-width:0}.cb-tabs{position:sticky;top:calc(env(safe-area-inset-top, 0px) + var(--hh));z-index:4;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:6px 6px 0;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px)}.cb-tabs::-webkit-scrollbar{display:none}.cb-tab{flex:none;padding:10px 15px;border:0;border-bottom:2px solid transparent;background:none;cursor:pointer;white-space:nowrap;font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--ink-muted);transition:color .16s,border-color .16s,background .16s;border-radius:7px 7px 0 0}.cb-tab:hover{color:var(--ink);background:var(--surface-raised)}.cb-tab.is-active{color:var(--lab-ink);font-weight:700;border-bottom-color:var(--lab-accent);background:color-mix(in srgb,var(--lab-accent) 10%,transparent)}.cb-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-bottom:0;background:var(--surface)}.cb-bar-lang{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lab-ink);padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--lab-accent) 14%,transparent)}.cb-bar-lang,.cb-bar-lines{font-family:var(--font-mono)}.cb-bar-lines{font-size:11.5px;color:var(--ink-faint)}.cb-copy,.cb-raw{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:9px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:color .16s,background .16s,border-color .16s,transform .12s}.cb-copy svg,.cb-raw svg{width:14px;height:14px;fill:currentColor;flex:none}.cb-copy:active,.cb-raw:active{transform:translateY(1px)}.cb-raw{margin-left:auto;background:none;color:var(--ink-faint)}.cb-raw:hover{color:var(--ink);background:var(--surface-raised)}.cb-copy{color:var(--lab-ink);background:color-mix(in srgb,var(--lab-accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--lab-accent) 42%,transparent)}.cb-copy.is-done,.cb-copy:hover{color:#fff;background:var(--lab-accent);border-color:var(--lab-accent)}.cb-copy.is-done{animation:cb-pop .26s cubic-bezier(.2,.7,.2,1)}@keyframes cb-pop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cb-copy.is-done{animation:none}}.cb-about{padding:17px 18px;border:1px solid var(--line);border-bottom:0;background:color-mix(in srgb,var(--lab-accent) 7%,var(--surface))}.cb-what{margin:0 0 9px;font-family:var(--font-display);font-weight:700;font-size:17.5px;letter-spacing:-.01em;color:var(--ink)}.cb-desc{margin:0;color:var(--ink-muted);font-size:15px;line-height:1.68;max-width:74ch}.cb-inside{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:12px 0 0}.cb-inside-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px}.cb-inside code{font-weight:600;padding:4px 9px;border-radius:6px;color:var(--lab-ink);background:color-mix(in srgb,var(--lab-accent) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--lab-accent) 40%,transparent)}.cb-code,.cb-inside code{font-family:var(--font-mono);font-size:12.5px}.cb-code{max-height:72vh;overflow:auto;padding:14px 0;border:1px solid var(--line);border-radius:0 0 12px 12px;background:var(--code-bg);line-height:1.6;scrollbar-width:thin}.cb-row{display:flex;min-height:20px}.cb-row:hover{background:rgba(255,255,255,.04)}.cb-ln{position:sticky;left:0;z-index:1;flex:none;width:56px;padding-right:14px;padding-left:14px;text-align:right;color:var(--code-muted);opacity:.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--code-bg);border-right:1px solid color-mix(in srgb,var(--code-ink) 11%,transparent)}.cb-row:hover .cb-ln{opacity:.9}.cb-src{white-space:pre;padding:0 22px 0 16px;color:var(--code-ink);font:inherit}.t-c{color:#6a9955;font-style:italic}.t-s{color:#ce9178}.t-k{color:#569cd6}.t-x{color:#c586c0}.t-n{color:#b5cea8}.t-f{color:#dcdcaa}.t-b{color:#4ec9b0}.cb-tab-n{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:7px;border-radius:50%;background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink-faint);font-size:10px;font-weight:700;vertical-align:-3px}.cb-tab.is-active .cb-tab-n{background:var(--lab-accent);color:#fff}.cb-desc b,.cb-desc strong,.lb-overview b{color:var(--ink);font-weight:700}.rt-code{font-size:.88em;padding:1px 6px;border-radius:5px;color:var(--lab-ink,var(--accent));background:color-mix(in srgb,var(--lab-accent,var(--accent)) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--lab-accent,var(--accent)) 30%,transparent);white-space:nowrap}.lb-repo,.rt-code{font-family:var(--font-mono)}.lb-repo{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:9px;border:1px solid color-mix(in srgb,var(--code-ink) 20%,transparent);background:var(--code-bg);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--code-ink)}.lb-repo svg{width:17px;height:17px;fill:var(--lab-accent);flex:none}.lb-stat{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.lb-stat b{color:var(--ink);font-weight:700}.lb-stat i{font-style:normal;color:var(--ink-faint);opacity:.7}.lb-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.lb-tag{font-family:var(--font-mono);font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:8px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong)}.pk-intro{position:relative;overflow:hidden;margin:0 0 var(--s6);padding:20px 24px 22px 26px;border:1px solid color-mix(in srgb,var(--lab-accent) 32%,var(--line));border-radius:14px;background:radial-gradient(560px 220px at 0 0,color-mix(in srgb,var(--lab-accent) 13%,transparent),transparent 72%),var(--surface)}.pk-intro:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--lab-accent),color-mix(in srgb,var(--lab-accent) 40%,transparent))}.pk-intro-label{display:flex;align-items:center;gap:7px;margin:0 0 11px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lab-ink)}.pk-intro-label svg{width:14px;height:14px;fill:var(--lab-accent);flex:none}.pk-intro-text{margin:0;font-size:18px;line-height:1.68;color:var(--ink);max-width:74ch}.pk-intro-text b{font-weight:700;color:var(--ink)}.pk-rule{display:flex;align-items:flex-start;gap:11px;margin:18px 0 0;padding:14px 16px;border-radius:10px;border:1px solid color-mix(in srgb,var(--lab-accent) 34%,transparent);background:color-mix(in srgb,var(--lab-accent) 11%,var(--surface));font-size:15px;line-height:1.6;color:var(--ink);max-width:74ch}.pk-rule svg{width:19px;height:19px;fill:var(--lab-accent);flex:none;margin-top:2px}.pk-rule b{font-weight:700;color:var(--ink)}.pk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:1px;margin:0 0 var(--s6);border:1px solid var(--line);border-radius:12px;background:var(--line);overflow:hidden}.pk-stat{display:flex;flex-direction:column;gap:3px;padding:15px 16px;background:var(--surface)}.pk-stat-n{font-family:var(--font-display);font-weight:700;font-size:27px;line-height:1;letter-spacing:-.03em;color:var(--lab-ink)}.pk-stat-l{font-family:var(--font-mono);font-size:11px;line-height:1.4;color:var(--ink-muted)}.pk-repo-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--s5);padding:11px 15px;border:1px solid color-mix(in srgb,var(--code-ink) 18%,transparent);border-radius:10px;background:var(--code-bg)}.pk-repo-bar svg{width:17px;height:17px;fill:var(--lab-accent);flex:none}.pk-repo-bar code{font-family:var(--font-mono);font-size:13.5px;font-weight:700;color:var(--code-ink)}.pk-repo-soon{margin-left:auto;font-size:10.5px;color:var(--activity);padding:3px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--activity) 45%,transparent);background:color-mix(in srgb,var(--activity) 14%,transparent)}.pk-cmd-os,.pk-repo-soon{font-family:var(--font-mono);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pk-cmd-os{flex:none;font-size:10px;color:var(--code-muted);padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--code-ink) 18%,transparent)}.pk-try{display:grid;gap:var(--s4);margin:0 0 var(--s5);padding:22px 24px;border:1px solid color-mix(in srgb,var(--lab-accent) 30%,var(--line));border-radius:14px;background:radial-gradient(520px 200px at 100% 0,color-mix(in srgb,var(--lab-accent) 12%,transparent),transparent 72%),var(--surface)}.pk-try-label{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lab-ink)}.pk-try-label svg{width:14px;height:14px;fill:var(--lab-accent);flex:none}.pk-try-text{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink);max-width:68ch}.pk-try-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pk-try-main{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:10px;font-family:var(--font-display);font-weight:700;font-size:15.5px;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--lab-accent),color-mix(in srgb,var(--lab-accent) 58%,#000));box-shadow:0 12px 28px -14px var(--lab-accent);transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s}.pk-try-main:hover{transform:translateY(-2px);box-shadow:0 18px 36px -16px var(--lab-accent)}.pk-try-main svg{width:17px;height:17px;fill:currentColor}.pk-try-alt{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink-muted);font-family:var(--font-mono);font-size:12.5px;font-weight:700;text-decoration:none;transition:color .16s,border-color .16s}.pk-try-alt:hover{color:var(--ink);border-color:var(--lab-accent)}.pk-try-alt svg{width:14px;height:14px;fill:currentColor}.pk-try-note{margin:0;font-size:13px;line-height:1.55;color:var(--ink-faint);max-width:76ch}.pk-warn{display:flex;align-items:flex-start;gap:11px;margin:0 0 var(--s6);padding:14px 17px;border-radius:11px;border:1px solid color-mix(in srgb,var(--activity) 45%,transparent);background:color-mix(in srgb,var(--activity) 11%,var(--surface));font-size:14.5px;line-height:1.6;color:var(--ink);max-width:82ch}.pk-warn svg{width:19px;height:19px;fill:var(--activity);flex:none;margin-top:2px}.pk-warn b{font-weight:700;color:var(--ink)}.pk-nav{margin:0 0 var(--s5)}.lb-page [id]{scroll-margin-top:calc(var(--hh) + 86px)}.pk-flow{margin:0 0 var(--s5);padding:20px 22px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.pk-flow svg{width:100%;height:auto;display:block}.pk-flow figcaption{margin-top:14px;font-size:13.5px;line-height:1.55;color:var(--ink-muted);max-width:78ch}.af-box rect{fill:var(--surface-raised);stroke:var(--line-strong);stroke-width:1}.af-box rect.af-box-key{fill:color-mix(in srgb,var(--lab-accent) 14%,var(--surface-raised));stroke:color-mix(in srgb,var(--lab-accent) 55%,transparent)}.af-box rect.af-box-out{fill:var(--surface);stroke:color-mix(in srgb,var(--lab-accent) 42%,transparent);stroke-dasharray:5 4}.af-t{fill:var(--ink);font-family:var(--font-display);font-weight:700;font-size:14px}.af-t.af-key{fill:var(--lab-ink);font-size:13px}.af-s,.af-t.af-key{font-family:var(--font-mono)}.af-s{fill:var(--ink-faint);font-size:10.5px}.af-s.af-ok{fill:var(--lab-ink);font-weight:700}.af-arrow line{stroke:var(--line-strong);stroke-width:2}.af-tip{fill:var(--line-strong)}.af-loop{fill:none;stroke:color-mix(in srgb,var(--lab-accent) 65%,transparent);stroke-width:2;stroke-dasharray:6 5}.af-tip-soft{fill:color-mix(in srgb,var(--lab-accent) 65%,transparent)}.af-loop-label{fill:var(--lab-ink);font-family:var(--font-mono);font-size:11px;font-weight:700}.lh-tool-ic{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--lab-accent),color-mix(in srgb,var(--lab-accent) 55%,#000));box-shadow:0 5px 12px -7px var(--lab-accent)}.lh-tool-ic .ico{width:14px;height:14px;fill:currentColor}.lh-tool-tag{display:inline-block;margin-top:11px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lab-ink);padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--lab-accent) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--lab-accent) 34%,transparent)}.lh-all{flex:none}.lh-all svg{width:16px;height:16px;fill:currentColor;transition:transform .18s}.lh-all:hover svg{transform:translateX(3px)}.tx-page{--lab-accent:var(--accent-solid)}.tx-hero{display:flex;align-items:flex-start;gap:18px;margin-bottom:var(--s5)}.tx-hero-ic{width:56px;height:56px;flex:none;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-solid));box-shadow:0 12px 28px -12px var(--accent-solid)}.tx-hero-ic .ico{width:27px;height:27px;fill:currentColor}.tx-hero-txt{min-width:0;max-width:72ch}.tx-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}.tx-title{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4.4vw,46px);line-height:1.04;letter-spacing:-.025em;margin:0 0 13px}.tx-sub{margin:0;font-size:17px;line-height:1.65;color:var(--ink-muted)}.tx-stats{margin-bottom:var(--s5)}.tx-controls{position:sticky;top:calc(env(safe-area-inset-top, 0px) + var(--hh));z-index:6;padding:var(--s3) 0 var(--s4);margin-bottom:var(--s3);background:linear-gradient(var(--bg) 86%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px)}.tx-bar{gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s3)}.tx-bar,.tx-search{display:flex;align-items:center}.tx-search{gap:10px;flex:1 1 320px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .16s}.tx-search:focus-within{border-color:var(--accent)}.tx-search>svg{width:17px;height:17px;fill:var(--ink-faint);flex:none}.tx-search input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:15px;outline:none}.tx-search input::-moz-placeholder{color:var(--ink-faint)}.tx-search input::placeholder{color:var(--ink-faint)}.tx-search input::-webkit-search-cancel-button{display:none}.tx-clear{border:0;background:none;cursor:pointer;padding:2px;display:grid;place-items:center}.tx-clear svg{width:14px;height:14px;fill:var(--ink-faint)}.tx-clear:hover svg{fill:var(--ink)}.tx-count{margin:0;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-faint)}.tx-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:var(--s5)}.tx-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);font-family:var(--font-mono);font-size:12px;font-weight:700;cursor:pointer;transition:color .16s,border-color .16s,background .16s}.tx-chip:hover{color:var(--ink);border-color:var(--line-strong)}.tx-chip.is-on{color:var(--on-accent);background:var(--accent-solid);border-color:var(--accent-solid)}.tx-empty{padding:var(--s7) 0;color:var(--ink-muted);font-size:15.5px}.tx-count b,.tx-empty b{color:var(--ink)}.tx-count b,.tx-kbd{font-weight:700}.tx-kbd{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);padding:2px 7px;border-radius:5px;border:1px solid var(--line);background:var(--surface-raised)}.tx-chip{display:inline-flex;align-items:center;gap:7px}.tx-chip-n{font-size:10.5px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,currentColor 15%,transparent)}.tx-chip-clear{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.tx-chip-clear:hover{color:var(--accent);border-color:var(--accent)}.tx-chip-clear svg{width:12px;height:12px;fill:currentColor}.tx-empty{display:grid;justify-items:center;gap:9px;padding:var(--s8) var(--s4);border:1px dashed var(--line-strong);border-radius:14px;background:var(--surface);text-align:center}.tx-empty>svg{width:30px;height:30px;fill:var(--ink-faint);opacity:.6}.tx-empty-t{margin:0;font-size:16px;color:var(--ink)}.tx-empty-t b{font-weight:700}.tx-empty-s{margin:0;font-size:14px;color:var(--ink-muted);max-width:46ch}.tx-empty-btn{margin-top:6px;padding:9px 18px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);font-family:var(--font-mono);font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .16s}.tx-empty-btn:hover{border-color:var(--accent)}.lh-tool-blurb{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(3 * 1.55 * 13.5px)}.lh-tool{display:flex;flex-direction:column}.lh-tool-tag{align-self:flex-start;margin-top:auto}