@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/IBMPlexMono-Medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{--signal:#3ab246;--paper:#e6e6e6;--dim:#838883;--faint:#3f4540;--void:#090b09;--error:#d85b52;--mono:"IBM Plex Mono", "Courier New", monospace;color:var(--paper);background:var(--void);font:400 13px/19px var(--mono);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{background:var(--void);width:100%;height:100%;overflow:hidden}body{margin:0}button,input{color:inherit;font:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{color:var(--faint);cursor:not-allowed}::selection{color:var(--void);background:var(--signal)}:focus-visible{color:var(--signal);outline-offset:3px;outline:1px dotted}.app-shell{background:var(--void);grid-template-columns:20vw 1ch minmax(0,1fr);width:100vw;height:100vh;display:grid;overflow:hidden}.control-rail{isolation:isolate;flex-direction:column;min-width:0;height:100vh;padding:2vh 1.25vw;display:flex;position:relative;overflow:hidden}.pathfinder-background{z-index:0;color:#c3cdc4;font:400 11px/13px var(--mono);opacity:.18;white-space:pre;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute;inset:0;overflow:hidden}.rail-header{z-index:1;flex:none;padding-bottom:3vh;position:relative}.wordmark{color:var(--paper);letter-spacing:.08em;margin:0;font-size:17px;font-weight:500;line-height:21px;display:block}.rail-scroll-shell{z-index:1;flex:auto;min-height:0;position:relative}.rail-scroll-region{overscroll-behavior:contain;scrollbar-width:none;width:100%;height:100%;padding-right:0;overflow:hidden auto}.rail-scroll-region::-webkit-scrollbar{display:none}.rail-scroll-region:focus-visible{outline-offset:1px}.rail-scroll-content{min-width:0}.rail-divider{width:1ch;height:100vh;color:var(--dim);font:400 11px/11px var(--mono);text-align:center;white-space:pre;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}.rail-divider.is-scrollable{cursor:ns-resize}.rail-divider.is-scrollable:focus-visible{color:var(--signal)}.rail-section{padding:0 0 2.5vh}.source-actions{justify-items:start;gap:.35vh;display:grid}.source-action{max-width:100%;color:var(--paper);text-align:left;white-space:nowrap;font-weight:500;display:block}.source-action:hover:not(:disabled),.source-action:focus-visible:not(:disabled),.source-action.is-dragging,.source-action.is-selected{color:var(--signal)}.loading-sequence{width:5ch;color:var(--signal);white-space:pre;display:inline-block}.demo-options{gap:.2vh;padding:.8vh 0 0 1ch;font-size:11px;line-height:16px;display:grid}.demo-option{width:100%;min-width:0;color:var(--paper);text-align:left;justify-content:space-between;align-items:baseline;gap:1ch;display:flex}.demo-option>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.demo-option__artist{color:var(--dim)}.demo-option:hover:not(:disabled),.demo-option:focus-visible:not(:disabled),.demo-option.is-selected,.demo-option.is-selected .demo-option__artist{color:var(--signal)}.source-summary{min-width:0;color:var(--dim);grid-template-columns:minmax(0,1fr) auto;gap:1ch;margin-top:1vh;font-size:11px;line-height:16px;display:grid}.source-summary p,.source-status,.error-message,.operation-error{margin:0}.source-summary p:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-status{color:var(--dim);margin-top:1vh;font-size:11px;line-height:16px}.error-message,.operation-error{color:var(--error);font-size:11px;line-height:16px}.error-message{margin-top:1vh}.ascii-divider{width:100%;color:var(--dim);font:400 11px/11px var(--mono);white-space:nowrap;-webkit-user-select:none;user-select:none;margin:0 0 2.5vh;overflow:hidden}.ascii-select{color:var(--paper);font-size:11px;line-height:16px}.ascii-select__header{width:100%;color:var(--dim);text-align:left;justify-content:space-between;align-items:center;gap:1ch;display:flex}.ascii-select__header[aria-expanded=true]{margin-bottom:.5vh}.ascii-select__header:hover:not(:disabled),.ascii-select__header:focus-visible:not(:disabled){color:var(--signal)}.ascii-select__value{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ascii-select__control{gap:0;padding-left:1ch;display:grid}.ascii-select__option{width:100%;color:var(--paper);text-align:left;justify-content:space-between;align-items:center;gap:1ch;display:flex}.ascii-select__option:hover:not(:disabled),.ascii-select__option:focus-visible:not(:disabled),.ascii-select__option.is-selected{color:var(--signal);font-weight:500}.renderer-selection .ascii-select__header{font-size:13px;font-weight:500;line-height:19px}.step-control{justify-content:space-between;align-items:center;margin-bottom:1vh;font-size:11px;line-height:16px;display:flex}.step-control__actions{align-items:center;gap:.5ch;display:flex}.step-control button:hover,.step-control button:focus-visible{color:var(--signal)}.parameter-number-value{min-width:10ch;color:var(--dim);text-align:right;justify-content:flex-end;align-items:center;gap:.5ch;display:flex}.parameter-number-input{width:6ch;color:var(--dim);font:inherit;text-align:right;background:0 0;border:0;outline:0;padding:0}.parameter-number-input:focus-visible{color:var(--signal);outline:1px dotted}.parameter-group-toggle{width:100%;color:var(--dim);text-align:left;justify-content:flex-start;align-items:center;gap:1ch;margin:0;font-size:13px;font-weight:500;line-height:19px;display:flex}.parameter-group-toggle:hover,.parameter-group-toggle:focus-visible{color:var(--signal)}.parameter-group-content{padding-top:1.25vh;font-size:11px;line-height:16px}.parameter-control{margin-bottom:1vh}.parameter-color,.fixed-parameter{justify-content:space-between;align-items:center;gap:1ch;margin:0 0 1vh;display:flex}.parameter-color input{width:9ch;color:var(--dim);font:inherit;text-align:right;text-transform:uppercase;background:0 0;border:0;outline:0;padding:0}.parameter-color input:focus-visible{color:var(--signal);outline:1px dotted}.palette-color-control{margin-bottom:1.25vh}.palette-options{grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;gap:.25vw;display:grid}.palette-option{justify-content:center;min-width:0;display:flex}.option-icon{aspect-ratio:1;flex:none;width:min(1.3vw,18px);min-width:14px;display:block;position:relative}.option-icon img,.option-icon__fill{display:block;position:absolute}.option-icon__empty{z-index:1;width:94.34%;height:94.34%;top:0;left:0}.option-icon__selected-color{z-index:1;width:100%;height:100%;inset:0}.option-icon__selected-option{width:96.23%;height:96.23%;inset:0}.option-icon__fill--empty{z-index:0;width:86.79%;height:86.79%;top:3.77%;left:3.77%}.option-icon__fill--selected{z-index:2;width:84.91%;height:84.91%;top:5.66%;left:5.66%}.icon-option-control{text-align:left;align-items:center;gap:1ch;width:100%;margin-bottom:1vh;display:flex}.icon-option-control:hover:not(:disabled),.icon-option-control:focus-visible:not(:disabled){color:var(--signal)}.fixed-parameter output{color:var(--dim);text-align:right;font-size:11px}.ascii-select__control[aria-disabled=true]{color:var(--faint);cursor:default}.visualizer-stage{grid-template-rows:minmax(0,1fr) auto;width:100%;min-width:0;height:100vh;padding:2vh 2vw 1.5vh;display:grid;overflow:hidden}.stage-surface{min-width:0;min-height:0;position:relative;overflow:hidden}.spectrum-canvas{width:100%;height:100%;display:block}.review-video{background:var(--void);object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.stage-controls{white-space:nowrap;align-items:center;gap:2ch;min-width:0;min-height:19px;padding-top:1.5vh;display:flex}.transport{flex:auto;grid-template-columns:8ch 2ch 5ch minmax(0,1fr) 5ch 2ch 13ch 10ch;align-items:center;gap:1ch;min-width:0;display:grid}.transport button:hover:not(:disabled),.transport button:focus-visible:not(:disabled),.transport button.is-active,.export-actions button:hover:not(:disabled),.export-actions button:focus-visible:not(:disabled),.export-actions button.is-active{color:var(--signal)}.timecode{color:var(--dim);text-align:center;font-size:11px;line-height:16px}.ascii-timeline{min-width:0;color:var(--dim);white-space:nowrap;display:flex;position:relative}.ascii-timeline__track{flex:1;justify-content:space-between;min-width:0;display:flex;overflow:hidden}.ascii-timeline__track span{color:var(--faint)}.ascii-timeline__track .is-complete{color:var(--signal)}.ascii-timeline input{cursor:pointer;opacity:0;width:100%;margin:0;position:absolute;inset:-6px 0}.export-actions{flex:none;justify-content:flex-end;align-items:center;gap:2ch;min-height:19px;margin:0;display:flex}.export-actions button{font-weight:500}.operation-error{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;margin:0;overflow:hidden}.export-canvas{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
