@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--glow:#2dd4ff}*,:before,:after,::backdrop{--aurora-shift:0%}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.static{position:static}.hidden{display:none}.resize{resize:both}}@property --glow{syntax:"<color>";inherits:true;initial-value:#2dd4ff}@property --aurora-shift{syntax:"<percentage>";inherits:false;initial-value:0%}:root{color-scheme:dark;--void:#0a0b1e;--void-deep:#06060f;--panel:#14152e;--panel-glass:oklab(23.7961% .00940615 -.0540503/.86);--panel-raised:#1d1f42;--rule:#2b2d57;--rule-soft:oklab(38.8769% .0146809 -.0974054/.5);--frag:#e7ecff;--frag-dim:#9aa0d4;--frag-faint:#6b71a8;--glow:#2dd4ff;--linked:#7cf67a;--fault:#ff5fa2;--uniform:#c08bff;--font-mono:"Berkeley Mono", ui-monospace, "JetBrains Mono", "Cascadia Code", "Fira Code", "Source Code Pro", monospace;--code-font-size:.8rem;--code-line-height:1.6;--code-padding:1rem 1.1rem;--radius:16px;--radius-sm:.6rem}body[data-mind=ok]{--glow:var(--linked)}body[data-mind=error]{--glow:var(--fault)}body[data-mind=compiling]{--glow:#2dd4ff}body{min-block-size:100dvh;color:var(--frag);font-family:var(--font-mono);background:radial-gradient(120% 70% at 50% -8%,var(--glow),transparent 60%),radial-gradient(90% 55% at calc(15% + var(--aurora-shift)) 12%,var(--uniform),transparent 55%),linear-gradient(180deg,var(--void) 0%,var(--void-deep) 100%);margin:0}@supports (color:color-mix(in lab,red,red)){body{background:radial-gradient(120% 70% at 50% -8%,color-mix(in oklab,var(--glow) 14%,transparent),transparent 60%),radial-gradient(90% 55% at calc(15% + var(--aurora-shift)) 12%,color-mix(in oklab,var(--uniform) 10%,transparent),transparent 55%),linear-gradient(180deg,var(--void) 0%,var(--void-deep) 100%)}}body{background-attachment:fixed;transition:--glow .7s;animation:22s ease-in-out infinite alternate aurora-drift}@keyframes aurora-drift{0%{--aurora-shift:0%}to{--aurora-shift:40%}}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){body:before{background-image:linear-gradient(color-mix(in oklab,var(--rule) 28%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--rule) 28%,transparent) 1px,transparent 1px)}}body:before{background-size:44px 44px;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 35%,#0000 78%);mask-image:radial-gradient(120% 90% at 50% 0,#000 35%,#0000 78%)}.app{box-sizing:border-box;gap:1.15rem;inline-size:min(96vw,1220px);margin-inline:auto;padding-block:clamp(1.1rem,3.4vh,2.4rem);display:grid}.app__head{border-block-end:1px solid var(--rule-soft);flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;padding-block-end:.9rem;display:flex}.app__title{letter-spacing:.22em;text-transform:lowercase;color:var(--frag);margin:0;padding-inline-start:1.5rem;font-size:clamp(1.05rem,2.8vw,1.45rem);font-weight:500;position:relative}.app__title:before{content:"";background:var(--glow);block-size:.7rem;inline-size:.7rem;box-shadow:0 0 0 3px var(--glow),0 0 14px var(--glow);border-radius:50%;position:absolute;inset-block-start:50%;inset-inline-start:0;translate:0 -50%}@supports (color:color-mix(in lab,red,red)){.app__title:before{box-shadow:0 0 0 3px color-mix(in oklab,var(--glow) 22%,transparent),0 0 14px var(--glow)}}.app__title:before{transition:background .7s,box-shadow .7s;animation:2.4s ease-in-out infinite diode-pulse}@keyframes diode-pulse{50%{box-shadow:0 0 0 5px color-mix(in oklab,var(--glow) 14%,transparent),0 0 22px var(--glow)}}.app__sub{letter-spacing:.04em;color:var(--frag-faint);margin:0;font-size:.72rem}.fps{letter-spacing:.08em;color:var(--frag-dim);font-variant-numeric:tabular-nums;border:1px solid var(--rule);background:var(--panel);border-radius:999px;margin-inline-start:auto;padding:.28rem .6rem;font-size:.68rem}@supports (color:color-mix(in lab,red,red)){.fps{background:color-mix(in oklab,var(--panel) 70%,transparent)}}.app__grid{grid-template-columns:1fr;align-items:start;gap:1.15rem;display:grid}@media(min-width:900px){.app__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);block-size:min(74dvh,660px)}}.panel{background:linear-gradient(180deg,var(--panel-raised),transparent 22%),var(--panel-glass);grid-template-rows:auto 1fr auto;block-size:100%;min-block-size:0;display:grid}@supports (color:color-mix(in lab,red,red)){.panel{background:linear-gradient(180deg,color-mix(in oklab,var(--panel-raised) 60%,transparent),transparent 22%),var(--panel-glass)}}.panel{border:1px solid var(--rule);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 60px -30px var(--void-deep),inset 0 1px 0 var(--frag);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.panel{box-shadow:0 24px 60px -30px color-mix(in oklab,var(--void-deep) 90%,#000),inset 0 1px color-mix(in oklab,var(--frag) 8%,transparent)}}.panel__bar{border-block-end:1px solid var(--rule);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .95rem;display:flex}@supports (color:color-mix(in lab,red,red)){.panel__bar{background:color-mix(in oklab,var(--panel) 70%,transparent)}}.field{color:var(--frag-faint);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:.5rem;font-size:.66rem;display:inline-flex}.field__label:before{content:"#";color:var(--uniform);margin-inline-end:.15rem}.select{font:inherit;letter-spacing:.02em;color:var(--frag);background:var(--void);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;padding:.38rem .6rem;font-size:.74rem;transition:border-color .18s,box-shadow .18s}.select:hover{border-color:var(--glow)}@supports (color:color-mix(in lab,red,red)){.select:hover{border-color:color-mix(in oklab,var(--glow) 50%,var(--rule))}}.select:focus-visible{border-color:var(--glow);box-shadow:0 0 0 3px var(--glow);outline:none}@supports (color:color-mix(in lab,red,red)){.select:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--glow) 28%,transparent)}}.panel__actions{align-items:center;gap:.55rem;display:inline-flex}.status{letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--glow);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem;font-size:.64rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.status{border:1px solid color-mix(in oklab,var(--glow) 45%,var(--rule))}}.status{color:var(--frag)}@supports (color:color-mix(in lab,red,red)){.status{color:color-mix(in oklab,var(--frag) 70%,var(--glow) 30%)}}.status{background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.status{background:color-mix(in oklab,var(--panel) 78%,var(--glow) 16%)}}.status{font-variant-numeric:tabular-nums;transition:color .3s,border-color .3s,background .3s}.status:before{content:"";background:var(--glow);block-size:.45rem;inline-size:.45rem;box-shadow:0 0 8px var(--glow);border-radius:50%}.status[data-state=error]{border-color:var(--fault)}@supports (color:color-mix(in lab,red,red)){.status[data-state=error]{border-color:color-mix(in oklab,var(--fault) 60%,var(--rule))}}.status[data-state=error]{color:var(--fault);background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.status[data-state=error]{background:color-mix(in oklab,var(--panel) 74%,var(--fault) 22%)}}.status[data-state=error]:before{background:var(--fault);box-shadow:0 0 8px var(--fault)}.status[data-state=ok]{border-color:var(--linked)}@supports (color:color-mix(in lab,red,red)){.status[data-state=ok]{border-color:color-mix(in oklab,var(--linked) 50%,var(--rule))}}.status[data-state=ok]{color:var(--linked);background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.status[data-state=ok]{background:color-mix(in oklab,var(--panel) 76%,var(--linked) 20%)}}.status[data-state=ok]:before{background:var(--linked);box-shadow:0 0 8px var(--linked)}.btn{font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--rule);background:var(--panel-raised);padding:.36rem .8rem;font-size:.66rem}@supports (color:color-mix(in lab,red,red)){.btn{background:color-mix(in oklab,var(--panel-raised) 60%,transparent)}}.btn{color:var(--frag-dim);transition:color .16s,background .16s,border-color .16s,box-shadow .16s}.btn:hover{color:var(--frag);border-color:var(--glow)}@supports (color:color-mix(in lab,red,red)){.btn:hover{border-color:color-mix(in oklab,var(--glow) 55%,var(--rule))}}.btn:hover{background:var(--glow)}@supports (color:color-mix(in lab,red,red)){.btn:hover{background:color-mix(in oklab,var(--glow) 14%,var(--panel-raised))}}.btn:hover{box-shadow:0 0 16px -4px var(--glow)}@supports (color:color-mix(in lab,red,red)){.btn:hover{box-shadow:0 0 16px -4px color-mix(in oklab,var(--glow) 50%,transparent)}}.btn:focus-visible{border-color:var(--glow);box-shadow:0 0 0 3px var(--glow);outline:none}@supports (color:color-mix(in lab,red,red)){.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--glow) 28%,transparent)}}.code{background:linear-gradient(90deg,var(--glow) 0 2.4rem,transparent 2.4rem),var(--void-deep);min-block-size:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.code{background:linear-gradient(90deg,color-mix(in oklab,var(--glow) 5%,transparent) 0 2.4rem,transparent 2.4rem),var(--void-deep)}}.code:after{content:"";background:var(--rule-soft);pointer-events:none;inline-size:1px;position:absolute;inset-block:0;inset-inline-start:2.4rem}.code__highlight,.code__input{box-sizing:border-box;padding:var(--code-padding);font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--code-line-height);tab-size:2;white-space:pre;overflow-wrap:normal;word-break:normal;border:0;margin:0;padding-inline-start:3rem;position:absolute;inset:0}.code__highlight{color:var(--frag)}@supports (color:color-mix(in lab,red,red)){.code__highlight{color:color-mix(in oklab,var(--frag) 88%,var(--glow) 12%)}}.code__highlight{pointer-events:none;overflow:hidden}.code__highlight .hl-error{background:var(--fault);inline-size:100%;display:inline-block}@supports (color:color-mix(in lab,red,red)){.code__highlight .hl-error{background:color-mix(in oklab,var(--fault) 24%,transparent)}}.code__highlight .hl-error{box-shadow:-3rem 0 0 var(--fault)}@supports (color:color-mix(in lab,red,red)){.code__highlight .hl-error{box-shadow:-3rem 0 color-mix(in oklab,var(--fault) 24%,transparent)}}.code__input{resize:none;color:#0000;block-size:100%;inline-size:100%;caret-color:var(--glow);background:0 0;overflow:auto}.code__input::selection{background:var(--glow)}@supports (color:color-mix(in lab,red,red)){.code__input::selection{background:color-mix(in oklab,var(--glow) 32%,transparent)}}.code__input:focus-visible{outline:none}.errors{border-block-start:1px solid var(--rule);background:var(--fault);max-block-size:9.5rem;margin:0;padding:.6rem .95rem;list-style:none;overflow:auto}@supports (color:color-mix(in lab,red,red)){.errors{background:color-mix(in oklab,var(--fault) 8%,var(--panel))}}.errors{gap:.4rem;font-size:.7rem;line-height:1.55;display:grid}.errors[data-empty=true]{display:none}.errors .error-item{border-inline-start:2px solid var(--fault);align-items:baseline;gap:.6rem;padding-inline-start:.6rem;display:flex}@supports (color:color-mix(in lab,red,red)){.errors .error-item{border-inline-start:2px solid color-mix(in oklab,var(--fault) 70%,transparent)}}.errors .error-line{color:var(--fault);letter-spacing:.04em;font-variant-numeric:tabular-nums;flex:none;font-weight:600}.errors .error-msg{color:var(--frag)}@supports (color:color-mix(in lab,red,red)){.errors .error-msg{color:color-mix(in oklab,var(--frag) 74%,var(--fault) 26%)}}.errors .error-msg{word-break:break-word}.stage{border:1px solid var(--rule);border-radius:var(--radius);background:var(--void-deep);block-size:100%;min-block-size:18rem;box-shadow:0 24px 60px -30px var(--void-deep),inset 0 0 0 1px var(--glow);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.stage{box-shadow:0 24px 60px -30px color-mix(in oklab,var(--void-deep) 90%,#000),inset 0 0 0 1px color-mix(in oklab,var(--glow) 10%,transparent)}}.stage:after{content:"frag · out";z-index:1;pointer-events:none;letter-spacing:.16em;text-transform:uppercase;color:var(--frag-faint);border:1px solid var(--rule-soft);background:var(--void-deep);border-radius:999px;padding:.22rem .5rem;font-size:.58rem;position:absolute;inset-block-start:.7rem;inset-inline-end:.7rem}@supports (color:color-mix(in lab,red,red)){.stage:after{background:color-mix(in oklab,var(--void-deep) 60%,transparent)}}.stage:after{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:899px){.stage{aspect-ratio:16/10}}.preview{touch-action:none;block-size:100%;inline-size:100%;display:block}.intro{pointer-events:none;background:var(--void-deep);place-content:center;gap:.9rem;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.intro{background:color-mix(in srgb,var(--void-deep) 62%,transparent)}}.intro{color:var(--frag-dim);letter-spacing:.18em;text-transform:uppercase;text-align:center;font-size:.74rem}.intro:before{content:"";background:linear-gradient(90deg,transparent,var(--glow),transparent);border-radius:999px;justify-self:center;block-size:2px;inline-size:7rem;animation:1.4s ease-in-out infinite boot-scan}.intro[hidden]{display:none}@keyframes boot-scan{0%,to{opacity:.3;transform:scaleX(.5)}50%{opacity:1;transform:scaleX(1)}}.toast{border:1px solid var(--glow);border-radius:999px;justify-self:center;margin:0;padding:.55rem 1.05rem}@supports (color:color-mix(in lab,red,red)){.toast{border:1px solid color-mix(in oklab,var(--glow) 50%,var(--rule))}}.toast{background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.toast{background:color-mix(in oklab,var(--panel) 80%,var(--glow) 18%)}}.toast{color:var(--frag);letter-spacing:.04em;box-shadow:0 0 24px -8px var(--glow);font-size:.7rem}@supports (color:color-mix(in lab,red,red)){.toast{box-shadow:0 0 24px -8px color-mix(in oklab,var(--glow) 60%,transparent)}}.toast{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,translate .22s,visibility .22s;translate:0 .5rem}.toast.is-visible{opacity:1;visibility:visible;translate:0}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
