.lab-root{--lab-bg:#0c0f14;--lab-bg-alt:#11151c;--lab-panel:#161b24;--lab-panel-2:#1c2330;--lab-line:#232a37;--lab-line-strong:#2e3647;--lab-ink:#d6def0;--lab-ink-mute:#8a93a8;--lab-ink-dim:#5a6378;--lab-accent:#7ee2c4;--lab-accent-2:#c891f5;--lab-warn:#f5a35c;--lab-bad:#ff7a7a;--lab-string:#f2c389;--lab-key:#7dc4ff;--lab-fn:#f5d273;--lab-link:#7dc4ff;--lab-glow-1:#7ee2c40f;--lab-glow-2:#c891f50d}.lab-root[data-lab-theme=light]{--lab-bg:#f7f8fb;--lab-bg-alt:#eef1f6;--lab-panel:#fff;--lab-panel-2:#f1f3f8;--lab-line:#dde2eb;--lab-line-strong:#c5ccd9;--lab-ink:#1a1f2c;--lab-ink-mute:#5b6478;--lab-ink-dim:#8a93a8;--lab-accent:#1f9d77;--lab-accent-2:#8b5cf6;--lab-warn:#b76a16;--lab-bad:#c4413c;--lab-string:#b5651d;--lab-key:#2563c4;--lab-fn:#9a6700;--lab-link:#2563c4;--lab-glow-1:#1f9d770d;--lab-glow-2:#8b5cf60a}.lab-root{background:radial-gradient(1100px 700px at 15% -10%, var(--lab-glow-1), transparent 60%), radial-gradient(900px 600px at 110% 20%, var(--lab-glow-2), transparent 60%), var(--lab-bg);min-height:100vh;color:var(--lab-ink);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.55;transition:background-color .25s,color .25s}.lab-root a{color:inherit;text-decoration:none}.lab-root ::selection{background:color-mix(in srgb, var(--lab-accent) 28%, transparent)}.lab-nav{z-index:20;background:color-mix(in srgb, var(--lab-bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--lab-line);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex;position:sticky;top:0}.lab-nav__brand{color:var(--lab-ink);align-items:center;gap:.5rem;font-weight:600;display:flex}.lab-nav__brand-prompt{color:var(--lab-accent)}.lab-nav__brand-name{letter-spacing:.01em}.lab-nav__brand-cursor{background:var(--lab-accent);width:8px;height:14px;margin-left:2px;animation:1.1s step-end infinite lab-blink;display:inline-block}.lab-nav__tabs{gap:.4rem;display:flex}.lab-nav__tabs a{color:var(--lab-ink-mute);border:1px solid #0000;border-radius:5px;padding:.35rem .75rem;font-size:12.5px;transition:color .15s,background .15s,border-color .15s}.lab-nav__tabs a:hover{color:var(--lab-ink);background:var(--lab-panel);border-color:var(--lab-line)}.lab-nav__back{color:var(--lab-ink-dim);border:1px solid var(--lab-line);border-radius:5px;padding:.3rem .65rem;font-size:12px;transition:color .15s,border-color .15s}.lab-nav__back:hover{color:var(--lab-ink);border-color:var(--lab-line-strong)}.lab-nav__burger{cursor:pointer;width:38px;height:38px;color:var(--lab-ink-mute);background:0 0;border:0;border-radius:6px;margin:-4px -4px -4px 0;display:none;position:relative}.lab-nav__burger:hover{color:var(--lab-ink);background:var(--lab-panel)}.lab-nav__burger span{background:currentColor;border-radius:1px;height:2px;transition:transform .25s,opacity .2s,top .25s;position:absolute;left:9px;right:9px}.lab-nav__burger span:first-child{top:12px}.lab-nav__burger span:nth-child(2){top:18px}.lab-nav__burger span:nth-child(3){top:24px}.lab-nav__burger--open span:first-child{top:18px;transform:rotate(45deg)}.lab-nav__burger--open span:nth-child(2){opacity:0}.lab-nav__burger--open span:nth-child(3){top:18px;transform:rotate(-45deg)}.lab-nav__backdrop{background:color-mix(in srgb, var(--lab-bg) 60%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;display:none;position:fixed;inset:0}.lab-nav__sheet{z-index:31;background:var(--lab-panel);border-left:1px solid var(--lab-line);flex-direction:column;gap:.35rem;width:min(82vw,320px);padding:4.5rem 1.25rem 1.5rem;transition:transform .28s;display:none;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px -20px #00000080}.lab-nav__sheet--open{transform:translate(0)}.lab-nav__sheet a{color:var(--lab-ink-mute);border:1px solid #0000;border-radius:6px;padding:.7rem .85rem;font-size:14px;transition:color .15s,background .15s,border-color .15s}.lab-nav__sheet a:hover,.lab-nav__sheet a:focus-visible{color:var(--lab-ink);background:var(--lab-bg);border-color:var(--lab-line)}.lab-nav__sheet-exit{text-align:center;margin-top:auto;color:var(--lab-ink-dim)!important;border:1px solid var(--lab-line)!important}@media (width<=720px){.lab-nav{padding:.55rem .9rem}.lab-nav__tabs,.lab-nav>.lab-nav__back{display:none}.lab-nav__burger{display:inline-block}.lab-nav__backdrop{display:block}.lab-nav__sheet{display:flex}}.lab-main{max-width:1100px;margin:0 auto;padding:3.5rem 1.5rem 6rem}.lab-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:center;gap:2.5rem;min-height:calc(100vh - 120px);display:grid}@media (width<=880px){.lab-hero{grid-template-columns:1fr;gap:1.5rem;min-height:auto}}.lab-hero__eyebrow{color:var(--lab-ink-dim);margin-bottom:1rem;font-size:12.5px;display:inline-block}.lab-hero__name{letter-spacing:-.02em;margin:0 0 1.25rem;font-family:Instrument Sans,Reem Kufi Fun,system-ui,sans-serif;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:600;line-height:1.02}.lab-hero__name-accent{background:linear-gradient(110deg, var(--lab-accent), var(--lab-accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.lab-hero__tagline{color:var(--lab-ink-mute);max-width:30ch;font-size:14.5px}.lab-term{background:var(--lab-panel);border:1px solid var(--lab-line);border-radius:10px;flex-direction:column;min-height:420px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff08,0 30px 60px -30px #0009,0 10px 25px -15px #0006}.lab-term__chrome{background:var(--lab-panel-2);border-bottom:1px solid var(--lab-line);align-items:center;gap:.4rem;padding:.55rem .85rem;display:flex}.lab-term__dot{border-radius:50%;width:11px;height:11px;display:inline-block}.lab-term__dot--r{background:#ff5f57}.lab-term__dot--y{background:#febc2e}.lab-term__dot--g{background:#28c840}.lab-term__title{text-align:center;color:var(--lab-ink-dim);flex:1;font-size:12px}.lab-term__title-spacer{width:50px}.lab-term__body{scrollbar-width:thin;scrollbar-color:var(--lab-line-strong) transparent;flex:1;max-height:60vh;padding:1rem 1.1rem;font-size:13.5px;overflow-y:auto}.lab-term__row{align-items:baseline;gap:.55rem;margin:2px 0;display:flex}.lab-term__row--active{margin-top:4px}.lab-term__prompt{color:var(--lab-accent);white-space:nowrap;-webkit-user-select:none;user-select:none}.lab-term__cmd{color:var(--lab-ink)}.lab-term__out{color:var(--lab-ink);white-space:pre-wrap;margin:1px 0;padding-left:calc(.55rem + 21ch)}@media (width<=600px){.lab-term__out{padding-left:.2rem}}.lab-term__out--muted{color:var(--lab-ink-mute)}.lab-term__out--accent,.lab-term__out--ok{color:var(--lab-accent)}.lab-term__out--warn{color:var(--lab-warn)}.lab-term__input{color:var(--lab-ink);font:inherit;caret-color:#0000;background:0 0;border:none;outline:none;flex:1;padding:0}.lab-term__caret{background:var(--lab-accent);width:8px;height:15px;margin-left:-6px;animation:1.1s step-end infinite lab-blink}.lab-term__hints{background:var(--lab-panel-2);border-top:1px solid var(--lab-line);flex-wrap:wrap;gap:.4rem;padding:.65rem .85rem;display:flex}.lab-term__hints button{font:inherit;color:var(--lab-ink-mute);background:var(--lab-bg-alt);border:1px solid var(--lab-line);cursor:pointer;border-radius:4px;padding:.25rem .6rem;font-size:11.5px;transition:color .15s,border-color .15s,background .15s}.lab-term__hints button:hover{color:var(--lab-accent);border-color:var(--lab-accent);background:var(--lab-bg)}.lab-section{padding:5rem 0 1rem}.lab-section__head{margin-bottom:1.25rem}.lab-section__comment{color:var(--lab-ink-dim);margin-bottom:.4rem;font-size:12.5px;display:block}.lab-section h2{letter-spacing:-.015em;margin:0;font-family:Instrument Sans,system-ui,sans-serif;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600}.lab-codeblock{background:var(--lab-panel);border:1px solid var(--lab-line);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.lab-codeblock__header{background:var(--lab-panel-2);border-bottom:1px solid var(--lab-line);color:var(--lab-ink-mute);justify-content:space-between;align-items:center;padding:.5rem .9rem;font-size:12px;display:flex}.lab-codeblock__file{color:var(--lab-ink)}.lab-codeblock__lang{color:var(--lab-ink-dim);text-transform:lowercase}.lab-codeblock__body{white-space:pre-wrap;color:var(--lab-ink);margin:0;padding:1.1rem 1.25rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13.5px}.lab-work{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem;display:grid}.lab-codeblock--work{transition:border-color .2s,transform .2s}.lab-codeblock--work:hover{border-color:var(--lab-line-strong);transform:translateY(-2px)}.lab-work__body{flex-direction:column;gap:.7rem;display:flex}.lab-work__title{font-size:13px}.lab-work h3{letter-spacing:-.01em;margin:.1rem 0 0;font-family:Instrument Sans,system-ui,sans-serif;font-size:1.25rem;font-weight:600}.lab-work p{color:var(--lab-ink-mute);margin:0;font-family:Instrument Sans,system-ui,sans-serif;font-size:13px;line-height:1.55}.lab-work__tags{flex-wrap:wrap;gap:.35rem;margin-top:.2rem;display:flex}.lab-tag{background:var(--lab-bg-alt);border:1px solid var(--lab-line);color:var(--lab-ink-mute);border-radius:4px;padding:.18rem .5rem;font-size:11px}.lab-syntax-keyword{color:var(--lab-accent-2)}.lab-syntax-fn{color:var(--lab-fn)}.lab-syntax-str{color:var(--lab-string)}.lab-syntax-key{color:var(--lab-key)}.lab-syntax-op{color:var(--lab-ink-mute)}.lab-syntax-link{color:var(--lab-link);text-underline-offset:3px;-webkit-text-decoration:underline #7dc4ff66;text-decoration:underline #7dc4ff66}.lab-syntax-link:hover{-webkit-text-decoration-color:var(--lab-link);text-decoration-color:var(--lab-link)}.lab-statusbar{z-index:30;background:var(--lab-panel-2);border-top:1px solid var(--lab-line);color:var(--lab-ink-mute);align-items:center;gap:1.4rem;padding:.4rem 1rem;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}.lab-statusbar__group{align-items:center;gap:.4rem;display:flex}.lab-statusbar__dot{background:var(--lab-accent);width:7px;height:7px;box-shadow:0 0 8px var(--lab-accent);border-radius:50%}@media (width<=600px){.lab-statusbar{gap:.7rem;padding:.35rem .65rem;font-size:10px}.lab-statusbar__group:nth-child(3){display:none}}.lab-footer{border-top:1px dashed var(--lab-line);color:var(--lab-ink-dim);justify-content:space-between;margin-top:4rem;padding:1.5rem 0 3rem;font-size:12px;display:flex}@media (width<=600px){.lab-footer{flex-direction:column;gap:.5rem}}@keyframes lab-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}
