.lab{--bg:oklch(95.55% 0.0099 87.5);--bg-elev:oklch(92.83% 0.014 88.7);--bg-card:oklch(98.77% 0.0054 95.1);--fg:oklch(19.51% 0.0074 164.1);--fg-soft:oklch(37.97% 0.0104 156.7);--fg-muted:oklch(49.04% 0.0088 151.7);--fg-faint:oklch(50.78% 0.0099 145.4);--rule:oklch(86.36% 0.0127 91.5);--rule-strong:oklch(76.64% 0.0187 92.7);--bg-tint:color-mix(in srgb,var(--bg-elev) 60%,transparent);--font-display:var(--font-lab);--font-mono:var(--font-lab-mono);--accent:oklch(89.28% 0.2016 127.2);--accent-deep:oklch(74.82% 0.1852 129.7);--accent-text:oklch(51.22% 0.1279 129.1);--accent-soft:oklch(89.28% 0.2016 127.2/0.16);--signal-ink:oklch(24.29% 0.05 125.9);--tech:oklch(59.91% 0.2171 268.6);--ease-out:cubic-bezier(0.2,0.7,0.2,1);--dur-fast:160ms;--dur-mid:240ms;--dur-slow:480ms;background:var(--bg);color:var(--fg);min-height:100dvh}.lab ::-moz-selection{background:var(--accent);color:var(--signal-ink)}.lab ::selection{background:var(--accent);color:var(--signal-ink)}.lab-dark{--bg:oklch(19.06% 0.0074 164.1);--bg-elev:oklch(22.44% 0.0094 159.2);--bg-card:oklch(23.72% 0.0093 159.3);--fg:oklch(95.55% 0.0099 87.5);--fg-soft:oklch(82.36% 0.0158 90.3);--fg-muted:oklch(67.36% 0.0152 88.7);--fg-faint:oklch(62% 0.0128 89.8);--rule:oklch(30.28% 0.0099 151.5);--rule-strong:oklch(38.28% 0.0128 145.3);--accent-soft:oklch(89.28% 0.2016 127.2/0.12);--bg-tint:color-mix(in srgb,var(--bg-elev) 60%,transparent);background:var(--bg);color:var(--fg)}.bg-signal{background:var(--accent)}.text-signal-ink{color:var(--signal-ink)}.text-signal{color:var(--accent-text)}.lab-dark .text-signal{color:var(--accent)}.border-signal{border-color:var(--accent)}.text-tech{color:var(--tech)}.bg-tech-soft{background:color-mix(in srgb,var(--tech) 10%,transparent)}.bg-tint{background:var(--bg-tint)}.lab-mark{background:var(--accent);color:var(--signal-ink);padding:.06em 0 .16em;box-shadow:.16em 0 0 var(--accent),-.16em 0 0 var(--accent);box-decoration-break:clone;-webkit-box-decoration-break:clone}.lab-grid-bg{background-image:linear-gradient(to right,color-mix(in srgb,var(--rule) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--rule) 55%,transparent) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,black 55%,transparent);-webkit-mask-image:linear-gradient(180deg,black 55%,transparent)}.lab,.lab h1,.lab h2,.lab h3{overflow-wrap:break-word}.lab h1,.lab h2,.lab h3{min-width:0}.lab-reveal{opacity:0;transform:translateY(14px);transition:opacity .64s var(--ease-out),transform .64s var(--ease-out);will-change:opacity,transform}.lab-reveal.is-visible{opacity:1;transform:translateY(0)}.lab-connector{position:relative;width:2px;background:var(--rule);overflow:hidden}.lab-connector:after{content:"";position:absolute;inset:0;background:var(--accent-deep);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-slow) var(--ease-out)}.lab-connector.is-filled:after{transform:scaleY(1)}.lab-dot{transition:background-color var(--dur-mid) var(--ease-out),border-color var(--dur-mid) var(--ease-out),box-shadow var(--dur-mid) var(--ease-out)}.lab-dot.is-active{background:var(--accent);border-color:var(--accent-deep);box-shadow:0 0 0 5px var(--accent-soft)}.lab-dot.is-done{background:var(--fg);border-color:var(--fg)}.lab-node{transition:border-color var(--dur-mid) var(--ease-out),background-color var(--dur-mid) var(--ease-out)}.lab-node.is-active{border-color:var(--accent-deep);background:var(--bg-card)}.lab .focus-ring:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.lab .lab-dark .focus-ring:focus-visible,.lab-dark .focus-ring:focus-visible{outline-color:var(--accent)}.lab form button[type=submit]{border:1px solid var(--accent-deep);border-radius:.5rem;background:var(--accent);color:var(--signal-ink);box-shadow:none;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.lab form button[type=submit]:hover:not(:disabled){transform:none;background:var(--accent-deep);color:var(--bg-card);box-shadow:none}.lab form button[type=submit]:active:not(:disabled){transform:none;box-shadow:none}.lab .bg-accent-raw.text-\[var\(--bg\)\]{color:var(--signal-ink)}@media (prefers-reduced-motion:reduce){.lab-reveal{opacity:1;transform:none}.lab-connector:after,.lab-dot,.lab-node,.lab-reveal{transition:none}.lab-dot.is-active{box-shadow:none}}