:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef4f8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#090b0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}body.is-viewport-fullscreen{overscroll-behavior:none;background:#020305;overflow:hidden}body.is-resizing-control{cursor:ew-resize;-webkit-user-select:none;user-select:none}button,input,select{font:inherit}button{border:0}.app-shell{width:100vw;height:var(--app-height,100vh);background:linear-gradient(135deg,#090b0f 0%,#12151a 45%,#0c1113 100%);min-height:520px;position:relative;overflow:hidden}#visualizerCanvas{background:#020305;width:100%;height:100%;position:absolute;inset:0}.control-surface{width:min(var(--control-width,380px), calc(100vw - 32px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080a0dd1;border:1px solid #ccd6dd2e;border-radius:8px;flex-direction:column;gap:14px;min-width:288px;padding:18px;transition:right .16s;display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow:auto;box-shadow:0 18px 44px #0000005c}.control-resize-handle{top:16px;right:calc(16px + var(--control-width,380px) - 5px);z-index:8;cursor:ew-resize;width:10px;position:absolute;bottom:16px}.control-resize-handle:before{content:"";background:0 0;border-radius:999px;width:2px;position:absolute;top:12px;bottom:12px;left:4px}.control-resize-handle:hover:before,body.is-resizing-control .control-resize-handle:before{background:#72dfcfa6}.app-shell.has-popped-out-controls .control-resize-handle{display:none}@media (width>=920px){.app-shell.has-parameter-drawer .control-surface{right:388px}.app-shell.has-parameter-drawer .control-resize-handle{right:calc(388px + var(--control-width,380px) - 5px)}}.control-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.header-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.eyebrow{color:#79d4c9;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}h1{letter-spacing:0;margin:0;font-size:1.15rem;line-height:1.2}.control-group{border-top:1px solid #ccd6dd24;flex-direction:column;gap:8px;padding-top:12px;display:flex}.control-group:first-of-type{border-top:0;padding-top:0}.button-row,.transport-row{align-items:center;gap:8px;display:flex}.button-row .secondary-button{flex:1 1 0;min-width:0}.button-row.compact{justify-content:space-between}.source-actions{align-items:stretch}.source-actions .primary-button,.source-actions .secondary-button{flex:1 1 0;width:auto;min-width:0;padding:0 8px}.source-actions span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.primary-button,.secondary-button,.icon-button{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.primary-button,.secondary-button{width:100%;padding:0 14px;font-weight:700}.primary-button{color:#061015;background:#72dfcf}.secondary-button{color:#eef4f8;background:#ccd6dd21}.secondary-button.is-active{color:#061015;background:#f3c969}.parameter-toggle{justify-content:space-between}.icon-button{color:#eef4f8;background:#ccd6dd1f;flex:0 0 40px;width:40px;height:40px}.icon-button.compact-icon{flex-basis:38px;width:38px;height:38px;min-height:38px}.icon-button.is-active{color:#061015;background:#f3c969}.icon-button.is-active .lucide{fill:currentColor}.icon-button.large{color:#061015;background:#f3c969;flex-basis:48px;width:48px;height:48px}.primary-button:hover,.secondary-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:focus-visible,.secondary-button:focus-visible,.icon-button:focus-visible,.text-input:focus-visible,.select-input:focus-visible,.preset-list:focus-visible,.parameter-number:focus-visible,.range-input:focus-visible{outline-offset:2px;outline:2px solid #f3c969}.primary-button:active,.secondary-button:active,.icon-button:active{transform:translateY(0)}.status-line{color:#b9c5cb;overflow-wrap:anywhere;min-height:34px;margin:0;font-size:.88rem}.status-line[data-tone=ready]{color:#86e4a7}.status-line[data-tone=error]{color:#ff9b8d}.field-label,.slider-field,.toggle-field{color:#d7e1e6;font-size:.86rem;font-weight:700}.text-input,.select-input,.preset-list{color:#eef4f8;background:#0203058f;border:1px solid #ccd6dd2e;border-radius:7px;width:100%}.text-input{height:38px;padding:0 11px}.select-input{min-height:38px;padding:0 11px}.station-picker{flex-direction:column;gap:6px;display:flex}.station-picker[hidden]{display:none}.station-picker-row{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.preset-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.preset-heading .field-label{margin-right:auto}.preset-shortcut-select{width:112px;min-height:34px}.preset-tool-row,.preset-folder-row{align-items:center;gap:8px;display:grid}.preset-tool-row{grid-template-columns:minmax(0,1fr) minmax(112px,.45fr)}.preset-folder-row{grid-template-columns:minmax(92px,.8fr) minmax(0,1fr) 38px}.preset-list{height:128px;padding:5px;overflow-y:auto}.preset-option{color:#eef4f8;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-height:27px;padding:4px 7px;display:grid}.preset-option:hover,.preset-option.is-selected{background:#72dfcf26}.preset-marks{color:#f3c969;letter-spacing:0;white-space:nowrap;font-size:.68rem}.preset-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preset-context-menu{z-index:20;background:#090d12fa;border:1px solid #ccd6dd33;border-radius:7px;flex-direction:column;min-width:190px;max-width:min(340px,100vw - 16px);max-height:min(420px,100vh - 16px);padding:5px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 16px 34px #0000006b}.preset-context-menu[hidden]{display:none}.preset-context-menu button{color:#eef4f8;text-overflow:ellipsis;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:32px;padding:0 10px;overflow:hidden}.preset-context-menu button:hover{background:#72dfcf26}.tag-drop-row{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.tag-drop-target{color:#d7e1e6;text-overflow:ellipsis;white-space:nowrap;background:#ccd6dd14;border:1px dashed #ccd6dd42;border-radius:7px;flex:none;max-width:130px;min-height:30px;padding:0 9px;overflow:hidden}.tag-drop-target.is-assigned{color:#f6dda1;background:#f3c9691f;border-color:#f3c969bf}.tag-drop-target.is-drag-over{color:#061015;background:#72dfcf}.preset-context-menu button.is-danger{color:#ffb7b7}.toggle-field{color:#d7e1e6;align-items:center;gap:8px;min-height:40px;padding:0 8px;display:inline-flex}.toggle-field input{accent-color:#72dfcf;width:18px;height:18px}.time-readout{color:#c8d2d7;font-variant-numeric:tabular-nums;flex:1;justify-content:space-between;gap:10px;min-width:0;display:flex}.range-input{accent-color:#72dfcf;width:100%}.range-input:disabled{opacity:.45}.slider-field{grid-template-columns:minmax(92px,max-content) 1fr;align-items:center;gap:12px;display:grid}.slider-field span{align-items:center;gap:7px;display:inline-flex}.slider-with-value{grid-template-columns:1fr 50px;align-items:center;gap:8px;display:grid}.value-readout{color:#c8d2d7;font-variant-numeric:tabular-nums;text-align:right;font-size:.8rem}.parameter-count{color:#061015;text-align:center;background:#72dfcf;border-radius:999px;min-width:30px;font-size:.72rem;line-height:1.6}.parameter-drawer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080a0de6;border:1px solid #ccd6dd2e;border-radius:8px;flex-direction:column;gap:14px;width:min(360px,100vw - 32px);min-width:288px;padding:18px;display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow:hidden;box-shadow:0 18px 44px #0000005c}.parameter-drawer[hidden]{display:none}.drawer-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawer-header h2{letter-spacing:0;margin:0;font-size:1rem;line-height:1.2}.parameter-actions{flex:none}.parameter-list,.parameter-group{flex-direction:column;gap:8px;display:flex}.parameter-list{gap:14px;min-height:0;padding-right:4px;overflow:auto}.parameter-group-title{color:#79d4c9;letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.parameter-row{color:#d7e1e6;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:10px;font-size:.78rem;display:grid}.parameter-name{overflow-wrap:anywhere;min-width:0}.parameter-number{color:#eef4f8;font-variant-numeric:tabular-nums;background:#0203058f;border:1px solid #ccd6dd2e;border-radius:6px;width:92px;min-height:30px;padding:0 7px}.parameter-checkbox{accent-color:#72dfcf;justify-self:end;width:18px;height:18px}.parameter-empty{color:#95a3aa;margin:0;font-size:.78rem}.credits{color:#95a3aa;border-top:1px solid #ccd6dd24;flex-direction:column;gap:4px;margin-top:auto;padding-top:14px;font-size:.75rem;display:flex}.credits a{color:#9be7dd;text-decoration:none}.credits a:hover{text-decoration:underline}.drop-target{pointer-events:none;opacity:0;background:#020305b8;place-items:center;transition:opacity .14s;display:grid;position:absolute;inset:0}.drop-target.is-visible{opacity:1}.drop-target div{color:#eef4f8;background:#080a0de6;border:1px solid #72dfcf7a;border-radius:8px;align-items:center;gap:10px;padding:14px 18px;font-weight:700;display:inline-flex}.lucide{stroke-width:2px;width:18px;height:18px}.icon-button.large .lucide{width:22px;height:22px}@media (width<=720px){body{background:#090b0f;overflow:auto}.app-shell{min-height:860px;overflow:auto}#visualizerCanvas{height:44vh;min-height:280px;position:fixed}.control-surface{border-bottom:0;border-left:0;border-right:0;border-radius:0;width:100%;min-width:0;min-height:56vh;inset:44vh 0 auto}.control-resize-handle{display:none}.parameter-drawer{border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0;width:100%;min-width:0;max-height:58vh;position:fixed;inset:auto 0 0}}.app-shell.is-viewport-fullscreen{z-index:10000;width:100vw;height:var(--app-height,100dvh);min-height:0;position:fixed;inset:0;overflow:hidden}.app-shell.is-viewport-fullscreen #visualizerCanvas{width:100%;height:100%;min-height:0;position:absolute;inset:0}.app-shell.is-viewport-fullscreen .control-surface{width:min(var(--control-width,380px), calc(100vw - 32px));border:1px solid #ccd6dd2e;border-radius:8px;min-width:288px;min-height:0;position:absolute;inset:16px 16px 16px auto}.app-shell.is-viewport-fullscreen .parameter-drawer{border:1px solid #ccd6dd2e;border-radius:8px;width:min(360px,100vw - 32px);min-width:288px;max-height:none;position:absolute;inset:16px 16px 16px auto}@media (width>=920px){.app-shell.is-viewport-fullscreen.has-parameter-drawer .control-surface{right:388px}}body.panel-popout-host{background:#090b0f;width:100vw;min-width:320px;height:100vh;min-height:520px;position:relative;overflow:hidden}body.panel-popout-host .control-surface{width:auto;min-width:0;min-height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#080a0df5;border:0;border-radius:0;padding:18px;position:absolute;inset:0;overflow:auto}body.panel-popout-host.has-parameter-drawer .control-surface{right:min(360px,44vw)}body.panel-popout-host .parameter-drawer{width:min(360px,44vw);min-width:0;min-height:100vh;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#080a0df5;border:0;border-left:1px solid #ccd6dd2e;border-radius:0;position:absolute;inset:0 0 0 auto}@media (width<=680px){body.panel-popout-host.has-parameter-drawer .control-surface{right:0}body.panel-popout-host .parameter-drawer{border-left:0;width:100%;left:0}}
