@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations")}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations")}:root{color-scheme:light dark;--bg:light-dark(#f4efe4,#13110e);--bg-raised:light-dark(#fbf8f0,#1b1814);--bg-sunk:light-dark(#ebe4d3,#0d0b09);--ink:light-dark(#1a1712,#efe9dc);--ink-soft:light-dark(#5a5345,#a8a291);--rule:light-dark(#d8cfba,#2f2a23);--ctf:light-dark(#bf2f0e,#ff7d57);--ctf-wash:light-dark(#bf2f0e14,#ff7d5718);--gen:light-dark(#2342c4,#8aaaff);--gen-wash:light-dark(#2342c412,#8aaaff16);--string:light-dark(#1d6b46,#92d3a9);--number:light-dark(#8a4a00,#f1b86e);--comment:light-dark(#645d4f,#9a9585);--edge:color-mix(in srgb, var(--ink) 28%, transparent);--on-accent:light-dark(#fff8f2,#1b0b04);--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure:68ch;--page:1180px;--gutter:clamp(1rem, 4vw, 2.5rem);--radius:10px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-optical-sizing:auto;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.12}a{color:inherit;text-decoration-color:var(--ctf);text-underline-offset:.18em;text-decoration-thickness:.12em}a:hover{color:var(--ctf)}:focus-visible{outline:2px solid var(--ctf);outline-offset:3px;border-radius:4px}::selection{background:var(--ctf);color:var(--on-accent)}code,pre,textarea{font-family:var(--font-mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}html:not(.js) [data-copy],html:not(.js) [data-theme-toggle]{display:none}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.site-header{z-index:20;padding:.7rem var(--gutter);background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--rule);align-items:center;gap:1.5rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-mono);letter-spacing:-.02em;flex:none;align-items:center;gap:.6rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.mark{width:1.9rem;height:1.9rem}.mark-bg{fill:var(--ctf)}.mark-glyph{fill:var(--on-accent);font:italic 700 24px var(--font-display)}.site-nav{gap:.25rem;display:flex}.site-nav a{white-space:nowrap;color:var(--ink-soft);border-radius:999px;padding:.35rem .75rem;font-size:.92rem;font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--ink);background:var(--ctf-wash)}.site-nav a[aria-current=page]{color:var(--ink);background:var(--ctf-wash);box-shadow:inset 0 0 0 1px var(--ctf)}.search-trigger{margin-inline:auto 0}.header-tools{flex:none;gap:.25rem;display:flex}.icon-button{width:2.4rem;height:2.4rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--ink);background:var(--ctf-wash)}.icon-button svg{width:1.3rem;height:1.3rem}.search-trigger{border:1px solid var(--rule);background:var(--bg-raised);min-height:2.4rem;color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.6rem;padding:0 .7rem;font-size:.9rem;display:inline-flex}.search-trigger:hover{color:var(--ink);border-color:var(--ctf)}.search-trigger svg{width:1.1rem;height:1.1rem}.search-trigger kbd,.search-input-row kbd{border:1px solid var(--rule);background:var(--bg);font:600 .72rem var(--font-mono);color:var(--ink-soft);border-radius:6px;padding:.1rem .4rem}html:not(.js) .search-trigger{display:none}@media (width<=700px){.search-trigger{background:0 0;border-color:#0000;justify-content:center;width:2.4rem;padding:0}.search-label,.search-trigger kbd{display:none}.site-header{gap:.5rem}.brand-name{font-size:.88rem}}main{min-height:70vh}.button{border:1.5px solid var(--ink);border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.3rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:hover{color:var(--ink);background:var(--ctf-wash);transform:translateY(-2px)}.button.primary{background:var(--ctf);border-color:var(--ctf);color:var(--on-accent)}.button.primary:hover{color:var(--on-accent);background:var(--ctf);box-shadow:0 6px 0 -2px color-mix(in srgb, var(--ctf) 40%, transparent)}.actions{flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 0;display:flex}.features{max-width:var(--page);padding-inline:var(--gutter);counter-reset:feature;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:4rem auto 0;display:grid}.feature{border-top:2px solid var(--ink);padding:1.25rem 1.5rem 1.5rem 0;position:relative}.feature+.feature{border-left:1px solid var(--rule);padding-left:1.5rem}.feature h2{margin:0 0 .4rem;font-size:1.35rem}.feature h2:before{counter-increment:feature;content:"0" counter(feature);font:500 .78rem var(--font-mono);letter-spacing:.08em;color:var(--ctf);margin-bottom:.4rem;display:block}.feature p{color:var(--ink-soft);margin:0}@media (width<=700px){.feature+.feature{border-left:0;padding-left:0}}.showcase{max-width:var(--page);padding-inline:var(--gutter);margin:5rem auto 0}.closing{max-width:var(--page);padding:3rem var(--gutter);text-align:center;border-top:1px solid var(--rule);margin:6rem auto 0}.closing h2{margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.closing .actions{justify-content:center}.site-footer{max-width:var(--page);padding:1.5rem var(--gutter) 3rem;border-top:1px solid var(--rule);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin:3rem auto 0;font-size:.92rem;display:flex}.site-footer p{margin:0}.site-footer a{margin-left:1.25rem;padding:.25rem 0;display:inline-block}.site-footer p:first-child a{margin:0}.t-comment{color:var(--comment);font-style:italic}.t-string{color:var(--string)}.t-number{color:var(--number)}.t-kw{color:var(--ink-soft)}.t-tag{color:var(--ink);font-weight:600}.t-ctf{color:var(--ctf);font-weight:700}.t-gen{color:var(--gen);font-weight:600}.code{background:var(--bg-raised);border-radius:var(--radius);min-width:0;position:relative}.code pre{tab-size:2;border-radius:var(--radius);margin:0;padding:1rem 1.15rem;font-size:.86rem;line-height:1.7;overflow-x:auto}.code code{font-family:inherit}.copy{border:1px solid var(--rule);background:var(--bg);width:2rem;height:2rem;color:var(--ink-soft);cursor:pointer;opacity:0;border-radius:8px;place-items:center;padding:0;transition:opacity .15s;display:grid;position:absolute;top:.5rem;right:.5rem}.copy svg{width:1rem;height:1rem}.code:hover .copy,.copy:focus-visible,.copy[data-done]{opacity:1}.copy[data-done]{color:var(--string)}@media (hover:none){.copy{opacity:1}}.pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;margin:1.75rem 0;display:grid;position:relative}.pair-src .code{box-shadow:inset 3px 0 0 var(--ctf)}.pair-out .code{box-shadow:inset 3px 0 0 var(--gen)}.pair:before{content:"";border-left:1.5px dashed var(--rule);pointer-events:none;position:absolute;top:0;bottom:0;left:50%}.pair:after{content:"→";background:var(--bg);border:1.5px solid var(--rule);width:1.9rem;height:1.9rem;color:var(--ink-soft);font:700 .9rem var(--font-mono);border-radius:50%;place-items:center;transition:translate .3s,color .3s,border-color .3s;display:grid;position:absolute;top:1.1rem;left:50%;translate:-50%}.pair:hover:after{color:var(--ctf);border-color:var(--ctf);translate:calc(3px - 50%)}.pair-out{flex-direction:column;gap:.5rem;min-width:0;display:flex}.builds{border:1px solid var(--rule);font:600 .75rem var(--font-mono);border-radius:999px;align-self:flex-end;gap:.15rem;padding:.15rem;display:inline-flex}.builds input{opacity:0;pointer-events:none;position:absolute}.builds label{color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.3rem .8rem}.builds input:checked+label{background:var(--gen);color:var(--bg)}.builds input:focus-visible+label{outline:2px solid var(--ctf);outline-offset:2px}.pair-out:has(input[value=dev]:checked) .out-prod,.pair-out:not(:has(input[value=dev]:checked)) .out-dev{display:none}@media (width<=760px){.pair{grid-template-columns:minmax(0,1fr);gap:2.25rem}.pair:before{border-left:0;border-top:1.5px dashed var(--rule);inset:50% 0 auto}.pair:after{top:50%;left:50%;translate:-50% -50%;rotate:90deg}.pair:hover:after{translate:-50% calc(3px - 50%)}}.pair.has-builds .pair-src{padding-top:2.1rem}.code pre,.panel pre{background:linear-gradient(to right, var(--bg-raised) 30%, transparent) left / 2rem 100% local no-repeat, linear-gradient(to left, var(--bg-raised) 30%, transparent) right / 2rem 100% local no-repeat, linear-gradient(var(--bg-raised) 30%, transparent) top / 100% 2rem local no-repeat, linear-gradient(transparent, var(--bg-raised) 70%) bottom / 100% 2rem local no-repeat, radial-gradient(farthest-side at 0 50%, var(--edge), transparent) left / .7rem 100% scroll no-repeat, radial-gradient(farthest-side at 100% 50%, var(--edge), transparent) right / .7rem 100% scroll no-repeat, radial-gradient(farthest-side at 50% 0, var(--edge), transparent) top / 100% .7rem scroll no-repeat, radial-gradient(farthest-side at 50% 100%, var(--edge), transparent) bottom / 100% .7rem scroll no-repeat}.hero{max-width:var(--page);padding:clamp(2.5rem, 7vw, 5.5rem) var(--gutter) 0;isolation:isolate;margin:0 auto;position:relative;overflow-x:clip}.hero-glyph{z-index:-1;font:italic 700 clamp(18rem, 48vw, 42rem) / 1 var(--font-display);color:var(--ctf);opacity:.09;user-select:none;pointer-events:none;max-width:100%;position:absolute;top:-.15em;right:-.05em;overflow:hidden}.eyebrow{font:600 .8rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ctf);margin:0 0 1.25rem}.hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(3rem,9.5vw,7.5rem);font-weight:700;line-height:.98}.h1-accent{color:var(--gen);font-style:italic}.lead{max-width:44rem;color:var(--ink-soft);margin:1.75rem 0 0;font-size:clamp(1.1rem,2vw,1.3rem)}.lead code{color:var(--ctf);font-size:.9em;font-weight:600}.hero>:not(.hero-glyph){animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.hero>.eyebrow{animation-delay:50ms}.hero>h1{animation-delay:.12s}.hero>.lead{animation-delay:.22s}.hero>.actions{animation-delay:.3s}.hero>.beam{animation-delay:.4s}@property --beam{syntax:"<percentage>";inherits:true;initial-value:50%}.beam{margin-top:clamp(2.5rem,6vw,4.5rem);position:relative}.beam-toggle{z-index:2;border:1px solid var(--rule);background:var(--bg);width:2rem;height:2rem;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:.55rem;right:.55rem}.beam-toggle:hover{color:var(--ctf);border-color:var(--ctf)}.beam-toggle svg{width:1rem;height:1rem}.beam-toggle .icon-play,.beam-toggle[data-paused] .icon-pause{display:none}.beam-toggle[data-paused] .icon-play{display:block}html:not(.js) .beam-toggle{display:none}.beam-code{display:grid;position:relative}.beam-stage{--beam:50%;background:var(--bg-raised);border:1.5px solid var(--ink);box-shadow:8px 8px 0 -1px var(--ctf);cursor:ew-resize;touch-action:pan-y;border-radius:14px;padding:clamp(1.25rem,3vw,2.25rem);animation:7s ease-in-out infinite alternate sweep;position:relative}.beam-stage:hover,.beam-stage:focus-visible,.beam[data-manual] .beam-stage{animation-play-state:paused}.beam[data-manual] .beam-stage{animation:none}@keyframes sweep{0%{--beam:0%}18%{--beam:0%}82%{--beam:100%}to{--beam:100%}}.beam-layer{white-space:pre;grid-area:1/1;margin:0;font-size:clamp(.78rem,2.1vw,1.3rem);line-height:1.9;overflow:hidden}.beam-out{clip-path:inset(0 0 calc(100% - var(--beam)) 0);background:var(--bg-raised)}.beam-src{clip-path:inset(var(--beam) 0 0 0)}.beam-line{left:0;right:0;top:var(--beam);border-top:2px solid var(--ctf);height:0;box-shadow:0 0 18px 2px var(--ctf), 0 0 2px var(--ctf);pointer-events:none;position:absolute}.beam-line:after{content:"";background:var(--ctf);border-radius:50%;width:12px;height:12px;position:absolute;top:-7px;left:-6px}.beam-stage:before,.beam-stage:after{content:"";border:0 solid var(--ink);pointer-events:none;width:14px;height:14px;position:absolute}.beam-stage:before{border-width:2px 0 0 2px;top:8px;left:8px}.beam-stage:after{border-width:0 2px 2px 0;bottom:8px;right:8px}@media (prefers-reduced-motion:reduce){.beam-stage{animation:none}.beam-toggle{display:none}.hero>:not(.hero-glyph){animation:none}}.not-found{padding-bottom:6rem}.doc{max-width:var(--page);padding:3rem var(--gutter) 0;grid-template-columns:16rem minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);margin:0 auto;display:grid}.sidebar{scrollbar-width:thin;align-self:start;max-height:calc(100vh - 7rem);padding-right:.5rem;font-size:.9rem;position:sticky;top:5.5rem;overflow-y:auto}.sidebar ul{border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}.sidebar li a{color:var(--ink-soft);border-left:2px solid #0000;margin-left:-1px;padding:.22rem 0 .22rem .9rem;text-decoration:none;display:block}.sidebar li.sub a{padding-left:1.8rem;font-size:.86rem}.sidebar li a:hover{color:var(--ink)}.sidebar li a[aria-current=true]{color:var(--ink);border-left-color:var(--ctf);font-weight:600}.sidebar-inline{border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-raised);margin-bottom:2rem;display:none}.sidebar-inline summary{cursor:pointer;padding:.7rem 1rem;font-weight:600}.sidebar-inline nav{padding:0 1rem 1rem;font-size:.92rem}.sidebar-inline ul{margin:0;padding:0;list-style:none}.sidebar-inline li.sub{padding-left:1rem}.sidebar-inline a{padding:.2rem 0;display:block}@media (width<=960px){.doc{grid-template-columns:minmax(0,1fr);padding-top:2rem}.sidebar{display:none}.sidebar-inline{display:block}}.prose{min-width:0}.prose>h1,.showcase h1{letter-spacing:-.035em;margin:0 0 1.25rem;font-size:clamp(2.4rem,6vw,4rem);font-weight:700;animation:.6s cubic-bezier(.2,.7,.2,1) both rise}.prose h1+p{max-width:var(--measure);color:var(--ink-soft);font-size:1.2rem}.prose h2{border-top:2px solid var(--ink);margin:4rem 0 1rem;padding-top:1.5rem;font-size:clamp(1.7rem,3.5vw,2.4rem)}.prose h3{margin:2.75rem 0 .75rem;font-size:1.45rem}.prose h3 code{font-size:.9em}.prose p,.prose ul,.prose ol,.prose blockquote{max-width:var(--measure)}.prose li+li{margin-top:.3rem}.prose :not(pre)>code{background:var(--bg-sunk);overflow-wrap:anywhere;border-radius:5px;padding:.12em .4em;font-size:.86em}.prose :not(pre)>code .t-ctf{font-weight:600}.prose h2,.prose h3{position:relative}.anchor{font-family:var(--font-mono);color:var(--ctf);opacity:0;padding-right:.3em;font-size:.7em;text-decoration:none;position:absolute;left:-1.3em}h2:hover .anchor,h3:hover .anchor,.anchor:focus-visible{opacity:1}.prose blockquote{border-left:3px solid var(--gen);background:var(--gen-wash);border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;padding:.1rem 1.25rem}.prose table{border-collapse:collapse;margin:1.5rem 0;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.6rem .9rem}.prose th{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--ink);white-space:nowrap;font-size:.78rem}.prose>.code,.prose div>.code{max-width:52rem;margin:1.25rem 0}.prose div>.pair,.prose>div>.pair{max-width:none}.showcase .prose h2{margin-top:5rem}.showcase .prose h2:first-child{margin-top:0}.next{margin-top:5rem}.next a{border:1.5px solid var(--ink);border-radius:var(--radius);font-family:var(--font-display);padding:1rem 1.5rem;font-size:1.4rem;font-weight:600;text-decoration:none;display:inline-block}.next a:hover{background:var(--ctf-wash);color:var(--ink)}.next span{font:600 .75rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ctf);display:block}.side-page{margin-bottom:.25rem}.side-page>summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.side-page>summary::-webkit-details-marker{display:none}.side-page>summary:after{content:"";border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);width:.45rem;height:.45rem;margin-right:.5rem;transition:rotate .15s;rotate:-45deg}.side-page[open]>summary:after{rotate:45deg}.sidebar .side-link,.sidebar-inline .side-link{color:var(--ink);border-left:0;flex:1;padding:.35rem .5rem;font-weight:600;text-decoration:none;display:block}.side-link[aria-current=page]{color:var(--ctf)}.side-tool{border-top:1px solid var(--rule);margin-top:.75rem;padding-top:.75rem}.sidebar ul{margin-bottom:.5rem}.sidebar-inline .side-page ul{padding-left:.5rem}.sidebar-inline .side-link{padding:.5rem .25rem}.repl-page{max-width:1500px;padding:1rem var(--gutter) 3rem;margin:0 auto}#repl-root{min-height:70vh}.repl-boot{background:var(--bg-raised);border-radius:var(--radius);margin:0;padding:1.25rem;font-size:.9rem;line-height:1.7;overflow:auto}.repl-note{border-left:3px solid var(--number);background:color-mix(in srgb, var(--number) 12%, transparent);color:var(--ink);margin:0;padding:.6rem .9rem;font-size:.9rem}.repl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"bar bar""note note""tabs tabs""editor side";align-items:start;gap:.75rem;display:grid}.repl-bar{flex-wrap:wrap;grid-area:bar;align-items:center;gap:.5rem 1rem;display:flex}.repl>.repl-note{grid-area:note}.repl-tabs{grid-area:tabs;display:none}.repl-status{font:500 .8rem var(--font-mono);color:var(--ink-soft);margin-right:auto}.repl-status[data-state=error]{color:var(--ctf)}.repl-status[data-state=warning]{color:var(--number)}.switch{min-height:1.5rem;font:600 .82rem var(--font-mono);cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.switch input{appearance:none;background:var(--rule);cursor:pointer;border-radius:999px;width:2.6rem;height:1.5rem;margin:0;transition:background .2s;position:relative}.switch input:after{content:"";background:var(--bg-raised);width:1.14rem;height:1.14rem;box-shadow:0 0 0 1px var(--ink-soft);border-radius:50%;transition:translate .2s;position:absolute;top:.18rem;left:.18rem}.switch input:checked{background:var(--ctf)}.switch input:checked:after{translate:1.1rem}.switch input:focus-visible{outline:2px solid var(--ctf);outline-offset:3px}.repl-bar .button{padding:.3rem .9rem;font-size:.85rem}.repl-editor{background:var(--bg-raised);border:1.5px solid var(--ink);border-radius:var(--radius);grid-area:editor;height:calc(100vh - 6.5rem);min-height:24rem;display:grid;position:sticky;top:4.75rem;overflow:hidden}.repl-editor pre,.repl-editor textarea{letter-spacing:0;tab-size:2;white-space:pre;grid-area:1/1;margin:0;padding:1rem 1.15rem;font-size:.88rem;line-height:1.7;overflow:auto}.repl-editor pre{pointer-events:none;color:var(--ink)}.repl-editor textarea{resize:none;color:#0000;caret-color:var(--ctf);background:0 0;border:0;outline:none}.repl-editor:focus-within{box-shadow:0 0 0 2px var(--ctf)}.repl-editor textarea::selection{background:var(--ctf-wash);color:#0000}.err-bar{z-index:1;left:0;right:0;top:calc(1rem + (var(--err-line) - 1) * .88rem * 1.7);background:var(--ctf-wash);border-left:3px solid var(--ctf);pointer-events:none;height:1.496rem;display:none;position:absolute}.err-bar[data-visible]{display:block}.repl-side{flex-direction:column;grid-area:side;gap:.75rem;min-width:0;display:flex}.panel{background:var(--bg-raised);border:1px solid var(--rule);border-radius:var(--radius);resize:vertical;flex-direction:column;height:26rem;min-height:11rem;display:flex;position:relative;overflow:hidden}.panel[data-panel=preview]{height:24rem}.panel-title{border-bottom:1px solid var(--rule);font:600 .72rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);flex:none;align-items:center;gap:.6rem;margin:0;padding:.35rem .9rem;display:flex}.panel-title:before{content:"";background:var(--ctf);border-radius:50%;width:.55rem;height:.55rem}.panel[data-panel=solid] .panel-title:before,.panel[data-panel=preview] .panel-title:before{background:var(--gen)}.panel pre{flex:1;min-height:0;margin:0;padding:.8rem 1rem;font-size:.82rem;line-height:1.65;overflow:auto}.frame-slot{flex:1;min-height:0;display:flex}.frame-slot iframe{background:#fbf8f0;border:0;flex:1;width:100%}.frame-slot[data-dark] iframe{background:#1b1814}.problem{color:var(--ctf);font:500 .84rem / 1.6 var(--font-mono);white-space:pre-wrap;margin:0;padding:.8rem 1rem;overflow:auto}.preview-stopped{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.preview-stopped p{margin:0}.preview-stopped .button{padding:.3rem .9rem;font-size:.85rem}.panel[data-panel=preview]:has(.preview-stopped) .frame-slot{display:none}.panel pre[data-stale]{opacity:.45}@media (width<=960px){.repl{grid-template-columns:minmax(0,1fr);grid-template-areas:"bar""note""tabs""editor""side"}.repl-tabs{border:1px solid var(--rule);border-radius:999px;gap:.25rem;padding:.2rem;display:flex;overflow-x:auto}.repl-tabs button{min-height:2rem;color:var(--ink-soft);font:600 .8rem var(--font-mono);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:.2rem .6rem}.repl-tabs button[aria-selected=true]{background:var(--ink);color:var(--bg)}.repl-editor,.panel{display:none}.repl[data-tab=source] .repl-editor,.repl[data-tab=labels] .panel[data-panel=labels],.repl[data-tab=solid] .panel[data-panel=solid],.repl[data-tab=preview] .panel[data-panel=preview]{display:flex}.repl[data-tab=source] .repl-editor{display:grid}.repl-editor{height:65vh;min-height:20rem;position:relative;top:0}.panel{resize:none;height:65vh;min-height:20rem}}.search{z-index:60;align-content:start;justify-items:center;padding:12vh 1rem 1rem;display:grid;position:fixed;inset:0}.search-overlay{background:color-mix(in srgb, var(--bg-sunk) 70%, transparent);backdrop-filter:blur(4px);animation:.15s ease-out fade;position:fixed;inset:0}.search-panel{background:var(--bg-raised);border:1.5px solid var(--ink);width:min(40rem,100%);box-shadow:8px 8px 0 -1px var(--ctf);border-radius:14px;animation:.2s cubic-bezier(.2,.7,.2,1) rise;position:relative;overflow:hidden}@keyframes fade{0%{opacity:0}}.search-input-row{border-bottom:1px solid var(--rule);color:var(--ink-soft);align-items:center;gap:.75rem;padding:0 1rem;display:flex}.search-icon{flex:none;width:1.2rem;height:1.2rem}.search-input{min-width:0;height:3.5rem;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;font-size:1.05rem}.search-input:focus{outline:none}.search-input::placeholder{color:var(--ink-soft)}.search-results{max-height:min(28rem,60vh);margin:0;padding:.5rem;list-style:none;overflow-y:auto}.search-result{min-height:2.75rem;color:var(--ink-soft);cursor:pointer;border-left:3px solid #0000;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;display:flex}.search-result .search-icon{margin-top:.15rem}.search-result[tc-active]{background:var(--ctf-wash);border-left-color:var(--ctf);color:var(--ink)}.search-result[tc-active] .search-icon,.search-result[tc-active] .search-result-title{color:var(--ctf)}.search-result-body{flex-direction:column;flex:1;min-width:0;display:flex}.search-result-title{color:var(--ink);font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;font-size:.9rem;font-weight:700;display:flex}.search-result-page{color:var(--ink-soft);font:500 .78rem var(--font-body)}.search-result-text{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.search-empty{color:var(--ink-soft);text-align:center;padding:2rem 1rem}@media (width<=700px){.search{padding:0}.search-panel{width:100%;max-height:100dvh;box-shadow:none;border-width:0 0 1.5px;border-radius:0 0 14px 14px}.search-results{max-height:calc(100dvh - 5rem)}.search-input{font-size:1rem}}
