:root{color-scheme:light;--bg:#f7f4fb;--bg-raised:#efeaf7;--bg-sunken:#e9e3f2;--line:#dcd4e8;--line-strong:#c7bdd8;--fg:#1b1626;--fg-soft:#3b3449;--muted:#635b78;--gutter:#6a6381;--r0:#6f41c1;--r1:#843cb2;--r2:#95389f;--r3:#a33589;--r4:#ad3572;--r5:#b3385b;--r6:#b63f43;--r7:#b44829;--r8:#a24f00;--r9:#965700;--r10:#8a5c00;--action:#f2b545;--action-ink:#1b1626;--action-hover:#f6c463;--lava-0:#8f6ce0;--lava-1:#c46ccd;--lava-2:#ec72ab;--lava-3:#ff8382;--lava-4:#ff9f5b;--lava-5:#ffc249;--lava-glyph:#1b16268c;--selection:#6f41c12e;--shadow:0 18px 40px -24px #301c5c59, 0 2px 6px -2px #301c5c1f}.dark-mode{color-scheme:dark;--bg:#100d18;--bg-raised:#171322;--bg-sunken:#0b0911;--line:#241e33;--line-strong:#352d48;--fg:#ece8f5;--fg-soft:#cfc8de;--muted:#9d96b2;--gutter:#857e9b;--r0:#a083ea;--r1:#b981e2;--r2:#ce80d5;--r3:#e181c6;--r4:#f084b4;--r5:#fb89a1;--r6:#ff908e;--r7:#ff9a7c;--r8:#ffa66d;--r9:#ffb362;--r10:#f7c15f;--action:#f2b545;--action-ink:#100d18;--action-hover:#f7c76a;--lava-0:#7a52d0;--lava-1:#a955bf;--lava-2:#d0619f;--lava-3:#e8737c;--lava-4:#f39257;--lava-5:#f2b545;--lava-glyph:#100d1899;--selection:#b981e247;--shadow:0 24px 60px -28px #000000b3, 0 2px 8px -2px #0006}:root{--syn-keyword:var(--r0);--syn-decl:var(--r2);--syn-prop:var(--r3);--syn-type:var(--r5);--syn-fn:var(--r7);--syn-string:var(--r9);--syn-number:var(--r10);--syn-punct:var(--muted);--syn-comment:var(--muted);--font-display:"new-science-extended", "new-science", system-ui, sans-serif;--font-sans:"new-science", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"new-science-mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-code:clamp(.84rem, .8rem + .2vw, .95rem);--text-prose:clamp(1rem, .95rem + .25vw, 1.125rem);--text-h2:clamp(1.9rem, 1.2rem + 3vw, 3.4rem);--text-name:clamp(2.6rem, 1rem + 7.2vw, 6rem);--tabbar-h:44px;--crumb-h:30px;--runtime-w:0px;--statusbar-h:30px;--gutter-w:3.5rem;--indent:2ch;--line-h:1.85;--radius:10px;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--tabbar-h) + var(--crumb-h));scrollbar-color:var(--line-strong) var(--bg)}body{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--font-sans);padding-bottom:var(--statusbar-h);caret-color:var(--action);line-height:1.5;transition:background-color .3s,color .3s}::selection{background:var(--selection);color:inherit}::-webkit-scrollbar{width:12px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg);border-radius:8px}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}ul,ol{list-style:none}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--r0);outline-offset:3px;border-radius:4px}.icon{flex:none;width:1em;height:1em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;border-radius:0 0 var(--radius) var(--radius);background:var(--action);color:var(--action-ink);font-family:var(--font-mono);padding:.6rem 1rem;font-weight:700;text-decoration:none;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:0}.tabbar{z-index:20;height:var(--tabbar-h);background:var(--bg-sunken);border-bottom:1px solid var(--line);align-items:stretch;display:flex;position:sticky;top:0}.tabbar-logo{width:var(--gutter-w);border-right:1px solid var(--line);flex:none;place-items:center;display:grid}.tabbar-logo img{width:20px;height:20px}.logo-dark,.dark-mode .logo-light{display:none}.dark-mode .logo-dark{display:block}.tabs{scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border-right:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:.5rem;padding:0 1.1rem;font-size:.8rem;text-decoration:none;transition:color .2s,background-color .2s;display:flex;position:relative}.tab .icon{color:var(--syn-type);opacity:.8}.tab:hover{color:var(--fg);background:var(--bg-raised)}.tab[aria-current=true]{color:var(--fg);background:var(--bg)}.tab[aria-current=true]:after{content:"";background:var(--r0);height:2px;position:absolute;inset:auto 0 -1px}.tab:focus-visible{outline-offset:-3px}.workspace{counter-reset:ln;flex-direction:column;display:flex}.file{border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--text-code);min-width:0;padding-block:clamp(2.5rem,6vw,4.5rem)}.file--hero{order:0;padding-top:clamp(2rem,5vw,3.5rem)}.runtime{order:1}.hint-coarse{display:none}.runtime-foot>span:last-child{white-space:nowrap}@media (pointer:coarse){.hint-fine{display:none}.hint-coarse{display:inline}}.file:not(.file--hero){order:2}.crumbbar{top:var(--tabbar-h);z-index:15;height:var(--crumb-h);padding-left:var(--gutter-w);border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--bg) 92%, transparent);backdrop-filter:blur(8px);color:var(--gutter);font-family:var(--font-mono);order:-1;align-items:center;gap:.4rem;font-size:.75rem;display:flex;position:sticky}.crumbbar .icon{color:var(--syn-type)}.crumbbar #crumb-file{color:var(--fg-soft)}.ln{counter-increment:ln;min-height:calc(1em * var(--line-h));padding-left:calc(var(--gutter-w) + var(--i,0) * var(--indent));line-height:var(--line-h);overflow-wrap:anywhere;padding-right:clamp(1rem,4vw,3rem);transition:background-color .15s;position:relative}.ln:before{content:counter(ln);width:calc(var(--gutter-w) - 1.25rem);color:var(--gutter);font-family:var(--font-mono);font-size:var(--text-code);line-height:calc(var(--text-code) * var(--line-h));font-variant-numeric:tabular-nums;text-align:right;pointer-events:none;user-select:none;position:absolute;top:0;left:0}.ln[data-n]:before{content:attr(data-n)}.ln:hover,.ln.is-active{background:color-mix(in oklab, var(--bg-raised) 70%, transparent)}.ln:hover:before,.ln.is-active:before{color:var(--fg)}.c-prose{font-family:var(--font-sans)}.ln--display:before{top:.5em}.k{color:var(--syn-keyword)}.d{color:var(--syn-decl)}.p{color:var(--syn-prop)}.t{color:var(--syn-type)}.f{color:var(--syn-fn)}.s{color:var(--syn-string)}.n{color:var(--syn-number)}.o{color:var(--syn-punct)}.c{color:var(--syn-comment)}.name{font-family:var(--font-display);font-size:min(var(--text-name), calc((100vw - var(--runtime-w) - var(--gutter-w) - 3.5rem) / 10.6));overflow-wrap:normal;white-space:nowrap;letter-spacing:-.02em;color:var(--fg);padding-block:.12em;font-weight:700;line-height:1;display:block}.name-line{display:block}.name .o{font-family:var(--font-mono);letter-spacing:0;vertical-align:.35em;font-size:.42em;font-weight:400}.decl{font-family:var(--font-display);font-size:min(var(--text-h2), calc((100vw - var(--runtime-w) - var(--gutter-w) - 2rem) / 12));overflow-wrap:normal;word-break:keep-all;letter-spacing:-.015em;color:var(--fg);font-weight:700;line-height:1.15;display:inline}.ln--heading{padding-block:.35rem}.ln--heading:before{top:calc((var(--text-h2) * 1.15 - var(--text-code) * var(--line-h)) / 2 + .35rem)}.prose{max-width:68ch;font-family:var(--font-sans);font-size:var(--text-prose);color:var(--fg-soft);line-height:1.7}.ln--prose:before{top:calc((var(--text-prose) * 1.7 - var(--text-code) * var(--line-h)) / 2)}.md-mark{color:var(--syn-keyword);font-family:var(--font-mono);margin-right:.6ch;font-weight:400}.typing{border-right:2px solid var(--action);padding-right:1px;animation:1s step-end infinite caret}@keyframes caret{50%{border-color:#0000}}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding-block:.6rem;display:flex}.run,.call{min-height:44px;font-family:var(--font-mono);cursor:pointer;transition:background-color .2s ease, border-color .2s ease, transform .2s var(--ease-out), box-shadow .2s ease;border-radius:8px;align-items:center;gap:.6rem;padding:0 1.15rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.run{background:var(--action);color:var(--action-ink);box-shadow:0 10px 24px -14px color-mix(in oklab, var(--action) 80%, transparent);border:1px solid #0000}.run:hover{background:var(--action-hover);transform:translateY(-1px)}.run:active{transform:translateY(0)}.run:disabled{opacity:.6;cursor:progress;transform:none}.call{border:1px solid var(--line-strong);color:var(--fg);background:0 0}.call:hover{border-color:var(--r0);background:var(--bg-raised)}.call .f{font-weight:700}.run .k{color:inherit;font-weight:400}.socials{gap:.25rem;display:flex}.social{width:44px;height:44px;color:var(--muted);border-radius:8px;place-items:center;transition:color .2s,background-color .2s;display:grid}.social:hover{color:var(--fg);background:var(--bg-raised)}.social svg{width:20px;height:20px}.job-role{font-family:var(--font-sans);color:var(--fg);font-size:clamp(1.15rem,1rem + .6vw,1.45rem);font-weight:700}.job .ln--prose .prose{color:var(--fg-soft)}.entry-gap{height:.75rem}.peek-ln{padding-block:.6rem}.peek{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raised);max-width:56rem;box-shadow:var(--shadow);overflow:hidden}.peek-head{border-bottom:1px solid var(--line);background:var(--bg-sunken);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.55rem 1rem;font-size:.78rem;display:flex}.peek-path{align-items:center;gap:.45rem;display:flex}.peek-status{align-items:center;gap:.4rem;display:inline-flex}.peek-status:before{content:"";background:var(--syn-string);border-radius:50%;width:7px;height:7px}.peek-status[data-state=live]:before{background:var(--r0)}.peek-body{gap:.9rem;padding:1.1rem 1.25rem 1.25rem;display:grid}.peek-title{font-family:var(--font-display);color:var(--fg);font-size:clamp(1.35rem,1rem + 1.4vw,2rem);font-weight:700;line-height:1.1}.peek-desc{max-width:60ch;font-family:var(--font-sans);font-size:var(--text-prose);color:var(--fg-soft);line-height:1.6}.peek-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.peek--featured{border-color:color-mix(in oklab, var(--r0) 45%, var(--line-strong))}.peek--featured .peek-title{font-size:clamp(1.8rem,1rem + 3vw,3rem)}.peek-link{color:var(--fg);align-items:center;gap:.45rem;font-weight:700;text-decoration:none;display:inline-flex}.peek-link:hover{color:var(--syn-fn)}.literals{flex-wrap:wrap;gap:0 .1ch;display:flex}.field-ln{flex-wrap:wrap;align-items:baseline;column-gap:.4ch;display:flex}.field-ln label{color:var(--syn-prop);cursor:text}.field-input{min-width:0;color:var(--syn-string);flex:0 26rem;align-items:baseline;display:inline-flex}.field-input input,.field-input textarea{border:none;border-bottom:1px dashed var(--line-strong);background:color-mix(in oklab, var(--bg-raised) 60%, transparent);min-width:0;color:var(--syn-string);font-family:var(--font-mono);font-size:var(--text-code);border-radius:4px 4px 0 0;flex:1;padding:.15rem .35rem;line-height:1.6;transition:background-color .2s,border-color .2s}.field-input input::placeholder,.field-input textarea::placeholder{color:color-mix(in oklab, var(--syn-string) 55%, var(--bg))}.field-input input:focus,.field-input textarea:focus{border-bottom:1px solid var(--syn-string);background:var(--bg-raised);outline:none}.field-input input[aria-invalid=true],.field-input textarea[aria-invalid=true]{border-bottom:1px solid var(--syn-fn);background:color-mix(in oklab, var(--syn-fn) 10%, transparent)}.field-input--block{flex-direction:column;flex-basis:100%;align-items:stretch;max-width:40rem}.field-input textarea{resize:vertical;min-height:7.5rem}.console{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-sunken);max-width:44rem;font-family:var(--font-mono);margin-top:.5rem;padding:.8rem 1rem;font-size:.85rem;line-height:1.6}.console-line{color:var(--muted);align-items:flex-start;gap:.6rem;display:flex}.console-line .icon{margin-top:.3em}.console[data-state=sending] .console-line{color:var(--fg-soft)}.console[data-state=success] .console-line{color:var(--syn-string)}.console[data-state=error] .console-line,.console[data-state=invalid] .console-line{color:var(--syn-fn)}.console .call{min-height:36px;margin-top:.75rem;font-size:.82rem}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.runtime{border-block:1px solid var(--line);background:var(--bg-sunken);flex-direction:column;height:clamp(260px,40svh,340px);display:flex;position:relative;overflow:hidden}.runtime-head{border-bottom:1px solid var(--line);min-height:38px;color:var(--muted);font-family:var(--font-mono);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;font-size:.75rem;display:flex}.runtime-head .title{color:var(--fg-soft);align-items:center;gap:.45rem;display:flex}.runtime-head .file-now{color:var(--syn-type)}.runtime-canvas{flex:1;min-height:0;position:relative}.runtime-canvas canvas{width:100%;height:100%;position:absolute;inset:0}.runtime-foot{border-top:1px solid var(--line);background:var(--bg-sunken);color:var(--muted);font-family:var(--font-mono);pointer-events:none;flex:none;justify-content:space-between;gap:1rem;padding:.55rem 1rem;font-size:.72rem;display:flex}.statusbar{z-index:20;height:var(--statusbar-h);background:var(--bg-sunken);border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);justify-content:space-between;align-items:stretch;font-size:.72rem;display:flex;position:fixed;inset:auto 0 0}.status-group{align-items:stretch;min-width:0;display:flex}.status-item{white-space:nowrap;align-items:center;gap:.4rem;padding:0 .75rem;display:flex}.status-item--branch{background:color-mix(in oklab, var(--r0) 18%, transparent);color:var(--fg)}.status-file{text-overflow:ellipsis;overflow:hidden}.lang-switch{align-items:stretch;display:flex}.lang-switch a{align-items:center;padding:0 .6rem;text-decoration:none;display:flex}.lang-switch a:hover{color:var(--fg);background:var(--bg-raised)}.lang-switch a[aria-current=page]{color:var(--fg);font-weight:700}.theme-toggle{cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0 .75rem;display:flex}.theme-toggle:hover{color:var(--fg);background:var(--bg-raised)}.theme-toggle .icon-moon,.dark-mode .theme-toggle .icon-sun{display:none}.dark-mode .theme-toggle .icon-moon{display:block}.statusbar :focus-visible{outline-offset:-2px}@media (prefers-reduced-motion:no-preference){.file--hero .ln{animation:compile .7s var(--ease-out) both;animation-delay:calc(var(--n,0) * 45ms + .12s)}.file--hero .name-line{animation:rise .9s var(--ease-out) both;animation-delay:calc(var(--n,0) * 45ms + .12s)}}@keyframes compile{0%{clip-path:inset(0 55% 0 0);opacity:.55}to{clip-path:inset(0);opacity:1}}@keyframes rise{0%{filter:blur(5px);opacity:.5;transform:translateY(.2em)}to{filter:none;opacity:1;transform:none}}@media (width>=1100px){:root{--runtime-w:clamp(320px, 32vw, 520px)}.workspace{grid-template-columns:minmax(0, 1fr) var(--runtime-w);align-items:start;display:grid}.file{grid-column:1}.runtime{top:var(--tabbar-h);height:calc(100svh - var(--tabbar-h) - var(--statusbar-h));border-block:none;border-left:1px solid var(--line);grid-area:1/2/span 20;position:sticky}}@media (width<=640px){.field-ln label{flex-basis:100%}.field-input{flex:1 1 0}.field-input--block{flex-basis:100%}.file--hero{padding-bottom:1.5rem}:root{--gutter-w:2.6rem;--indent:1.5ch}.ln{padding-right:1rem}.ln:before{width:calc(var(--gutter-w) - .8rem)}.status-item--lang-name,.status-item--encoding{display:none}.actions{grid-template-columns:1fr auto;gap:.6rem;display:grid}.actions .run{grid-column:1/-1}.run,.call{justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-inline],.job-role{display:inline}[data-inline]{font:inherit}.literals,.literals li{display:inline}.console-icon{display:inline-flex}.console-icon .icon{display:none}.console[data-state=idle] .i-idle,.console[data-state=sending] .i-sending,.console[data-state=success] .i-success,.console[data-state=error] .i-error,.console[data-state=invalid] .i-error{display:block}.file--footer{border-bottom:none;padding-block:1.5rem 2.5rem}
