:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#1e1e2e;--mantle:#181825;--surface-0:#313244;--surface-1:#45475a;--overlay:#6c7086;--subtext:#bac2de;--text:#cdd6f4;--blue:#89b4fa;--green:#a6e3a1;--peach:#fab387;--mauve:#cba6f7;--lavender:#b4befe;--crust:#11111b;background:var(--base);color:var(--text);--font-ui:"Portfolio Mono", monospace;--font-size-ui:16px;--font-weight-ui:400;--font-weight-strong:600;--line-height-ui:1.5;font-family:var(--font-ui);font-size:var(--font-size-ui);font-weight:var(--font-weight-ui);line-height:var(--line-height-ui);letter-spacing:0;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--base);width:100%;min-height:100%;margin:0}button,input{font:inherit}button{color:inherit}.app-shell{border:1px solid var(--surface-0);background:var(--base);grid-template-rows:minmax(0,1fr) 26px 22px;grid-template-columns:minmax(0,1fr);width:100%;height:100dvh;display:grid}.workspace-frame{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.breadcrumbs{min-width:0;height:40px;box-shadow:inset 0 -1px var(--surface-0);padding:0 1ch;font-size:1rem;line-height:1}.breadcrumbs ol{height:100%;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{flex:none;align-items:center;display:flex}.breadcrumbs a{align-self:stretch;align-items:center;gap:.5ch;padding:0 1ch;text-decoration:none;display:inline-flex}.breadcrumbs a:hover{background:var(--surface-0);color:var(--lavender)}.breadcrumbs a:focus-visible{outline:1px solid var(--lavender);outline-offset:-3px}.breadcrumb-separator{color:var(--overlay);flex:none;padding:0 .5ch}.breadcrumbs .breadcrumb-current{min-width:0;color:var(--subtext);flex:auto}.breadcrumb-current [aria-current]{white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:0 1ch;overflow:hidden}.workspace{scrollbar-color:var(--surface-1) var(--base);grid-row:2;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:auto}.dashboard-view{place-items:center;width:100%;min-height:100%;padding:3rem 1rem;display:grid}.dashboard-content{text-align:center;width:min(74ch,100%);transform:translateY(-1.5dvh)}.ascii-logo{color:var(--mauve);letter-spacing:-.06em;margin:0 0 2rem;font-family:Portfolio Mono,monospace;font-size:clamp(.48rem,1.15vw,1rem);line-height:1.06}.dashboard-content h1{color:var(--lavender);margin:0;font-size:1rem}.dashboard-role{color:var(--text);font-size:1rem;font-weight:var(--font-weight-strong);margin:.65rem 0 0}.dashboard-discipline{color:var(--subtext);margin:.2rem 0 2rem;font-size:1rem}.dashboard-menu{text-align:left;gap:2px;width:min(62ch,100%);margin:0 auto;display:grid}.dashboard-menu a{appearance:none;width:100%;min-height:38px;color:var(--subtext);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:3ch minmax(0,1fr) 3ch;align-items:center;column-gap:1ch;padding:0 1.25ch;text-decoration:none;display:grid;position:relative}.ui-icon{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;width:1.2em;height:1.2em;display:inline-flex}.ui-icon svg{width:100%;height:100%;display:block}.dashboard-menu .ui-icon{width:2ch;color:var(--blue);text-align:center;justify-self:center;font-size:1rem}.dashboard-label{justify-self:start;display:block}.dashboard-key{color:var(--peach);font-weight:var(--font-weight-strong);justify-self:end}.dashboard-menu a:hover{background:color-mix(in srgb, var(--surface-0) 55%, transparent);color:var(--text)}.dashboard-menu [aria-current],.dashboard-menu .is-selected,.dashboard-menu a:focus{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--text)}.dashboard-menu [aria-current] .dashboard-label:first-letter,.dashboard-menu .is-selected .dashboard-label:first-letter{background:var(--lavender);color:var(--crust)}.dashboard-hint{color:var(--subtext);margin:2rem 0 0;font-size:1rem}.document{width:min(82ch,100%);min-width:0;min-height:100%;color:var(--text);text-align:left;margin:0 auto;padding:clamp(2rem,6vh,4.5rem) clamp(1.25rem,4vw,3rem) 5rem;font-size:1rem;line-height:1.7}.document-header{border-bottom:1px solid var(--surface-0);padding-bottom:2rem}.document h1,.document h2{color:var(--text);line-height:1.25}.document h1{margin:0;font-size:clamp(1.65rem,4vw,2.35rem)}.document h2{border-bottom:1px solid var(--surface-0);margin:0 0 .8rem;padding-bottom:.4rem;font-size:1.1rem}.about-name{color:var(--mauve)}.about-origin{color:var(--subtext);margin:.45rem 0 0;font-size:1rem;font-style:italic}.about-lead{max-width:70ch;color:var(--subtext);margin:1.25rem 0 0;font-size:1rem}.about-actions{flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.5rem;display:flex}.about-actions a,.document p a{color:var(--blue);text-underline-offset:.25em}.about-actions a{text-decoration:none}.about-actions a:hover{text-decoration:underline}.about-actions a:focus-visible{text-decoration:underline}.document-section{margin-top:2.5rem}.document-section p{margin:.9rem 0 0}.document code{background:var(--surface-0);color:var(--peach);padding:0 .35ch;font-family:inherit}.article-document{overflow-wrap:anywhere}.article-meta{color:var(--subtext);font-variant-numeric:tabular-nums;margin:.75rem 0 0;font-size:1rem}.article-tags{flex-wrap:wrap;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.article-tags li{border:1px solid var(--surface-1);color:var(--subtext);padding:.15rem .55rem;font-size:1rem}.article-body{min-width:0}.markdown-section{min-width:0;display:flow-root}.instrument{width:100%;min-width:0;max-width:33rem;color:var(--subtext);margin:1.5rem 0 1rem;font-size:1rem}.instrument-label{color:var(--overlay);margin-bottom:.5rem;font-size:1rem}.instrument svg{width:100%;height:auto;max-height:155px;display:block}.recurrent-instrument svg{max-height:none}.circuit-labels,.recurrent-legend{flex-wrap:wrap;gap:.25rem 1.25rem;font-size:1rem;display:flex}.circuit-labels{justify-content:space-between}.recurrent-axis{text-align:right;color:var(--overlay);font-size:1rem}.recurrent-instrument .cue-label{color:var(--peach)}.recurrent-instrument .activity-label{color:var(--blue)}.cue-wire,.feedback-wire,.cue-trace,.activity-trace,.comparison-trace,.history-axis{fill:none;stroke-width:2px}.cue-wire,.cue-trace{stroke:var(--peach)}.cue-trace{stroke-dasharray:4 3}.feedback-wire,.activity-trace{stroke:var(--blue)}.feedback-wire.broken{stroke:var(--overlay);stroke-dasharray:3 5;opacity:.5}.circuit-cell{fill:var(--blue);stroke:var(--blue)}.history-axis{stroke:var(--surface-1);stroke-width:1px}.comparison-trace{stroke:var(--overlay);stroke-dasharray:2 4}.instrument button{min-height:44px;color:var(--subtext);cursor:pointer;background:0 0;border:0;border-bottom:1px solid transparent;padding:.25rem .7rem}.instrument button:hover:not(:disabled),.instrument button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue)}.instrument button:disabled{cursor:default;opacity:.55}.instrument .instrument-readout{min-height:3.5em;margin:.5rem 0 0}.instrument .instrument-fallback,.instrument .instrument-motion{margin:.5rem 0;font-size:1rem}.life-instrument{max-width:384px}.life-instrument canvas{width:100%;max-width:100%;height:auto;display:block}.instrument-controls{flex-wrap:wrap;align-items:center;gap:0 .3ch;display:flex}.life-readout{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:1rem}.article-body .life-seed{background:0 0;border:0;padding:.4rem 0}.article-body h2{margin-top:2.75rem}.article-body p,.article-body ul{color:var(--subtext);margin:1rem 0 0}.article-body ul{padding-left:2ch}.article-body li+li{margin-top:.5rem}.article-body a{color:var(--blue);text-underline-offset:.25em}.article-body a:hover{color:var(--lavender)}.article-body a:focus-visible{color:var(--lavender)}.footnote-reference{line-height:0}.article-body .footnote-reference a{padding:.2em;scroll-margin-block:1rem}.footnote-definition{border-top:1px solid var(--surface-1);color:var(--subtext);margin-top:1.5rem;padding:.75rem 0;scroll-margin-block:1rem}.footnote-definition-label{color:var(--overlay)}.footnote-backlinks{flex-wrap:wrap;gap:.5ch;margin-top:.5rem;display:flex}.footnote-backlinks a{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;display:inline-flex}.footnote-definition:target,.footnote-reference a:target{outline:1px solid var(--lavender);outline-offset:3px}.article-body pre{border:1px solid var(--surface-1);background:var(--mantle);scrollbar-color:var(--surface-1) var(--mantle);max-width:100%;margin:1.25rem 0 0;padding:1rem;overflow-x:auto}.article-body pre code{color:var(--text);white-space:pre;background:0 0;padding:0}.snippet-window{border:1px solid var(--surface-1);background:var(--mantle);min-width:0;max-width:100%;margin:1.25rem 0 0}.snippet-header{border-bottom:1px solid var(--surface-1);background:var(--base);min-height:2.1rem;color:var(--subtext);flex-wrap:wrap;align-items:center;gap:.25rem 1ch;padding:0 .8rem;font-size:1rem;display:flex}.snippet-language{overflow-wrap:anywhere;min-width:0}.snippet-feedback{margin-left:auto;font-size:1rem}.snippet-copy{color:var(--subtext);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:.35rem .5rem}.snippet-copy:hover:not(:disabled){color:var(--blue)}.snippet-copy:disabled{opacity:.5;cursor:default}.article-body .snippet-window pre{border:0;margin:0;padding:.85rem}.snippet-window .syn-comment{color:var(--subtext);font-style:italic}.snippet-window .syn-string{color:var(--green)}.snippet-window .syn-keyword,.snippet-window .syn-storage{color:var(--mauve)}.snippet-window .syn-constant{color:var(--peach)}.snippet-window .syn-entity.syn-name,.snippet-window .syn-support.syn-function{color:var(--blue)}.snippet-window .syn-variable{color:var(--text)}.snippet-window .syn-punctuation{color:var(--subtext)}@media (width<=600px){.snippet-copy{min-width:44px;min-height:44px}}.statusline{background:var(--base);min-width:0;min-height:26px;color:var(--subtext);font-family:inherit;font-size:1rem;font-weight:var(--font-weight-strong);font-variant-numeric:tabular-nums;font-variant-ligatures:none;align-items:stretch;line-height:1;display:flex}.status-segment,.status-path,.status-spacer{white-space:nowrap;align-items:center;min-width:0;display:flex}.status-segment{padding:0 1.1ch}.status-mode{background:var(--blue);min-width:3.2ch;color:var(--crust);font-weight:var(--font-weight-strong);justify-content:center}.status-mode[data-mode=insert]{background:var(--green)}.status-context{text-decoration:none}.status-context,.status-language{background:var(--surface-1);color:var(--text);gap:.8ch}.status-path{color:var(--text);text-overflow:ellipsis;flex:0 auto;padding:0 1.2ch;overflow:hidden}.status-spacer{flex:1}.status-selection,.status-progress{border-left:1px solid var(--base);background:var(--blue);min-width:7ch;color:var(--crust);font-weight:var(--font-weight-strong);justify-content:center}.commandline{min-width:0;color:var(--subtext);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:0 1ch;font-size:1rem;line-height:1;display:flex;overflow:auto}@font-face{font-family:Portfolio Mono;src:url(/fonts/jetbrains-mono-semibold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Portfolio Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}body{overflow-wrap:anywhere}a{color:var(--blue);text-underline-offset:.2em}button,a,input{touch-action:manipulation}:focus-visible{outline:2px solid var(--lavender);outline-offset:3px}.skip-link{z-index:10;background:var(--mantle);padding:1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.catalogue{grid-template-columns:minmax(0,39fr) minmax(0,61fr);gap:6px;width:min(1240px,100% - 32px);height:min(720px,100% - 32px);min-height:240px;margin:auto;padding:8px 7px;display:grid}.frame-panel{border:1px solid var(--blue);min-width:0;min-height:0;position:relative}.frame-title{background:var(--base);max-width:calc(100% - 24px);color:var(--blue);overflow-wrap:anywhere;margin:0;padding:0 7px;font-size:1rem;font-weight:400;line-height:1.1;position:absolute;top:-.65em;left:12px}.list-pane{grid-template-rows:38px minmax(0,1fr);padding:18px 10px 10px;display:grid}.picker-toolbar{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.picker-toolbar:after{content:"";border-bottom:1px solid var(--blue);pointer-events:none;position:absolute;top:55px;left:0;right:0}.filter-row{grid-template-columns:2ch minmax(0,1fr) max-content max-content;align-items:center;gap:.5ch;min-width:0;padding:0 8px;display:grid}.filter-prompt{color:var(--blue)}.filter-row input{width:100%;min-width:0;height:100%;color:var(--text);caret-color:var(--blue);background:0 0;border:0;padding:0}.filter-row input:focus-visible{outline-offset:-2px}.filter-submit{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:1rem}.picker-count{color:var(--subtext);font-variant-numeric:tabular-nums;font-size:1rem}.picker-list{scrollbar-color:var(--surface-1) var(--base);align-content:start;min-height:0;padding:5px 0 1px;display:grid;overflow:auto}.picker-option{min-height:1.65rem;color:var(--text);grid-template-columns:1.35rem 1.6rem minmax(0,1fr);align-items:center;gap:.15rem;padding:0 .5rem 0 0;text-decoration:none;display:grid}.picker-list:focus-visible{outline:none}.dashboard-view:focus-visible{outline:none}.picker-list:focus-visible .is-selected{outline:1px solid var(--lavender);outline-offset:-2px}.picker-option:focus-visible{outline-offset:-2px}.picker-option .nerd-icon,.picker-option .ui-icon{color:var(--peach)}.picker-option .language-go{color:var(--blue)}.picker-option:hover{background:color-mix(in srgb, var(--surface-0) 52%, transparent)}.picker-option.is-selected{background:var(--surface-0)}.selection-cursor{color:transparent;justify-self:center}.is-selected .selection-cursor{color:var(--blue)}#empty-state{color:var(--subtext);position:absolute;top:50px;left:1rem;right:1rem}.preview-pane{padding:17px 9px 9px}.preview-pane .frame-title{color:var(--lavender)}.picker-preview{scrollbar-color:var(--surface-1) var(--base);height:100%;min-height:0;line-height:1.5;overflow:auto}.picker-preview h2{color:var(--text);margin:0;font-size:1rem}.picker-preview .project-image{object-fit:cover;object-position:top;height:min(318px,36dvh);margin-bottom:12px}.picker-preview[data-project=pvt] .project-image{object-fit:contain;object-position:center}.preview-copy{text-wrap:pretty}.preview-copy p,.preview-copy ul{margin:0}.preview-copy .preview-tagline{color:var(--peach);font-weight:var(--font-weight-strong);margin-bottom:1rem}.project-image{object-fit:contain;border:1px solid var(--surface-1);background:var(--mantle);width:100%;height:auto;max-height:320px;display:block}.preview-copy .preview-stack{color:var(--blue);margin-top:1rem}.preview-label{color:var(--subtext)}div.preview-label{margin-top:1rem}.preview-highlights{padding:0;list-style:none}.preview-highlights li:before{content:"• ";color:var(--green)}.repository-link,.detail-link{align-items:center;min-height:32px;display:inline-flex}.repository-link{gap:1ch;margin-top:.5rem;text-decoration:none}.repository-link>span:last-child{text-underline-offset:.2em;text-decoration:underline}.preview-back{display:none}@media (width<=720px){.catalogue{grid-template-columns:minmax(0,1fr);width:100%;height:calc(100% - 16px);padding:8px .75rem}.list-pane{grid-template-rows:44px minmax(0,1fr)}.picker-toolbar:after{top:61px}.breadcrumbs{height:44px;padding:0 .5ch}.picker-option,.filter-submit,.dashboard-menu a{min-height:44px}.preview-open .list-pane{display:none}.preview-open .preview-pane{grid-template-rows:44px minmax(0,1fr);display:grid}.preview-back{text-align:left;color:var(--blue);cursor:pointer;background:0 0;border:0;display:block}.preview-open .picker-preview{overflow:auto}.repository-link,.detail-link{min-height:44px}.status-context{display:none}.status-selection,.status-progress{min-width:6ch}.preview-pane{display:none}.ascii-logo{letter-spacing:-.03em;font-size:clamp(.48rem,1.9vw,.85rem)}.dashboard-view{padding:2rem 1rem}.document{padding:2rem 1rem 3rem;line-height:1.65}.about-lead{font-size:1rem}.about-actions a{align-items:center;min-height:44px;display:inline-flex}.status-language{display:none}}.contact-document{width:min(76ch,100%)}.contact-document .document-header{padding-bottom:1rem}.contact-document h1{font-size:1.4rem}.contact-list{margin:1rem 0 0}.contact-row{border-bottom:1px solid var(--surface-0);grid-template-columns:12ch minmax(0,1fr);gap:.5rem 1rem;padding:.75rem 0 .35rem;display:grid}.contact-row dt{color:var(--subtext);padding-top:.35rem}.contact-row dd{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.75rem;min-width:0;margin:0;display:grid}.contact-value{color:var(--blue);overflow-wrap:anywhere;text-underline-offset:.25em;padding:.35rem 0}.contact-copy{cursor:pointer;background:0 0;border:0;padding:.35rem .5rem}.contact-copy:hover:not(:disabled){color:var(--blue)}.contact-copy:disabled{opacity:.5;cursor:default}.contact-feedback{min-height:1.5em;color:var(--subtext);grid-column:1/-1;font-size:1rem}@media (width<=600px){.contact-row{grid-template-columns:minmax(0,1fr);gap:.15rem}.contact-row dt{padding-top:0}.contact-copy,.contact-value{min-height:44px}.contact-copy{min-width:44px}}