:root{--ps-gray-000:#000;--ps-gray-050:#050505;--ps-gray-100:#0a0a0a;--ps-gray-200:#1a1a1a;--ps-gray-300:#333;--ps-gray-400:#666;--ps-gray-500:#888;--ps-gray-600:#afafaf;--ps-gray-700:#ccc;--ps-gray-800:#e0e0e0;--ps-gray-900:#fff;--ps-cyan-500:#0cc;--ps-cyan-700:#0ff;--ps-cyan-900:#a0f0ff;--ps-blue-300:#03f;--ps-blue-500:#06f;--ps-blue-700:#0af;--ps-pink-500:#f08;--ps-pink-700:#f4a;--ps-orange-500:#f60;--ps-orange-700:#fa0;--ps-red-500:#f33;--ps-red-700:#f42;--ps-purple-500:#84f;--ps-green-500:#008f11;--ps-green-700:#00bb30;--ps-green-900:#00ff41;--ps-radius-2:2px;--ps-radius-4:4px;--ps-easing-default:ease;--ps-opacity-08:.08;--ps-opacity-15:.15;--ps-opacity-50:.5;--ps-opacity-60:.6;--ps-opacity-85:.85;--ps-opacity-90:.9;--crt-scanline-opacity:.15;--crt-scanline-spacing:4px;--crt-glow-intensity:1;--crt-rgb-separation:.8px;--crt-vignette-intensity:.35;--ps-bg:#000;--ps-bg-elevated:#0a0a0a;--ps-bg-panel:#050505;--ps-text:#ccc;--ps-text-muted:#666;--ps-text-bright:#fff;--ps-accent:#0ff;--ps-accent-dim:#00ffff26;--ps-accent-warm:#f90;--ps-accent-warm-dim:#f903;--ps-error:#f33;--ps-border:#1a1a1a;--ps-border-bright:#333;--ps-cell-dead:#232323cc;--ps-grid-line:#28282880;--ps-playhead:#e0e0e014;--ps-cell-empty:#0a0a0a;--ps-cell-border:#3232324d;--ps-chroma-magenta:#f08;--ps-chroma-cyan:#0ff;--ps-minimap-stroke:#fffc;--ps-minimap-playhead:#ffffff80;--ps-bg-gradient:#0a0012;--ps-playhead-default:#e0e0e0;--ps-playhead-core:#fff;--ps-playhead-glow:#e0e0e033;--ps-row-0:#0ff;--ps-row-1:#00e8ff;--ps-row-2:#00d0ff;--ps-row-3:#00b8ff;--ps-row-4:#00a0ff;--ps-row-5:#08f;--ps-row-6:#0070ff;--ps-row-7:#0058ff;--ps-row-8:#04f;--ps-row-9:#03f;--ps-row-10:#02f;--ps-row-11:#01f;--ps-row-12:#84f;--ps-row-13:#a2f;--ps-row-14:#c0d;--ps-row-15:#e09;--ps-row-16:#f05;--ps-row-17:#f31;--ps-row-18:#f60;--ps-row-19:#f90;--ps-font:"SF Mono", "Monaco", "Inconsolata", "Fira Code", monospace;--ps-font-display:"Share Tech Mono", "SF Mono", monospace;--ps-font-size-xs:.625rem;--ps-font-size-sm:.75rem;--ps-font-size-base:.875rem;--ps-toolbar-height:56px;--ps-row-label-width:32px;--ps-cell-size:20px;--ps-radius:4px;--ps-radius-sm:2px;--ps-transition:.15s ease;--ps-glow-accent:calc(-1 * var(--crt-rgb-separation)) 0 0 #f083, var(--crt-rgb-separation) 0 0 #00ffff40, 0 0 calc(12px * var(--crt-glow-intensity)) #0ff6, 0 0 calc(24px * var(--crt-glow-intensity)) #00d4ff33;--ps-glow-warm:calc(-1 * var(--crt-rgb-separation)) 0 0 #f043, var(--crt-rgb-separation) 0 0 #f083, 0 0 calc(12px * var(--crt-glow-intensity)) #ff008880, 0 0 calc(24px * var(--crt-glow-intensity)) #ff008840;--ps-glow-text:calc(-1 * var(--crt-rgb-separation)) 0 0 #ff008826, var(--crt-rgb-separation) 0 0 #00ffff2e, 0 0 calc(8px * var(--crt-glow-intensity)) #00ffff80;--ps-glow-white:0 0 calc(10px * var(--crt-glow-intensity)) #fffc, 0 0 calc(20px * var(--crt-glow-intensity)) #ffffff80, 0 0 calc(30px * var(--crt-glow-intensity)) #ffffff4d;--ps-glow-white-strong:0 0 calc(10px * var(--crt-glow-intensity)) #fff, 0 0 calc(25px * var(--crt-glow-intensity)) #fffc, 0 0 calc(40px * var(--crt-glow-intensity)) #ffffff80;--ps-glow-white-box:0 0 calc(15px * var(--crt-glow-intensity)) #ffffff80, 0 0 calc(30px * var(--crt-glow-intensity)) #ffffff40;--ps-btn-size:44px;--ps-btn-icon-size:1.25rem;--ps-btn-icon:#fff9;--ps-btn-icon-hover:#ffffffe6;--ps-btn-icon-active:var(--ps-text-bright);--ps-btn-outline:#ffffff80;--ps-btn-outline-hover:var(--ps-btn-icon-hover);--ps-accent-secondary:#c0d;--ps-accent-tertiary:#84f;--ps-ice:#a0f0ff;--ps-backdrop:#000000d9;--ps-backdrop-light:#00000080;--ps-z-canvas:1;--ps-z-labels:10;--ps-z-toolbar:100;--ps-z-backdrop:150;--ps-z-menu:200;--ps-highlight:var(--ps-cyan-700);--ps-state-born:#fe0;--ps-state-dying:#f24;--ps-state-alive:var(--ps-accent);--wtf-born:var(--ps-state-born);--wtf-dying:var(--ps-state-dying);--wtf-alive:var(--ps-state-alive);--ds-background:var(--ps-bg);--ds-surface:var(--ps-bg-panel);--ds-foreground:var(--ps-text);--ds-muted:var(--ps-text-muted);--ds-primary:var(--ps-accent);--ds-primary-foreground:var(--ps-bg);--ds-border:var(--ps-gray-300);--ds-ring:var(--ps-accent);--ds-radius:var(--ps-radius-4);--ds-font-ui:var(--ps-font)}.theme-vaporwave{--crt-rgb-separation:0px;--crt-glow-intensity:1;--ps-row-0:#e085ff;--ps-row-1:#db8afc;--ps-row-2:#d590f8;--ps-row-3:#cf96f4;--ps-row-4:#c89cf0;--ps-row-5:#c0a5eb;--ps-row-6:#b5b2e5;--ps-row-7:#a5c5de;--ps-row-8:#90d8d8;--ps-row-9:#75e5dd;--ps-row-10:#5af0e5;--ps-row-11:#40f8e8;--ps-row-12:#b850d0;--ps-row-13:#d040b8;--ps-row-14:#e535a0;--ps-row-15:#f53088;--ps-row-16:#ff4070;--ps-row-17:#ff5858;--ps-row-18:#ff7545;--ps-row-19:#ff9535;--ps-bg:#0e0b14;--ps-bg-elevated:#1b1626;--ps-bg-panel:#161220;--ps-accent:#e085ff;--ps-accent-secondary:#e535a0;--ps-accent-tertiary:#40f8e8;--ps-accent-warm:#ff9535;--ps-ice:#80ffff;--ps-highlight:#e085ff;--ps-state-born:#fe0;--ps-state-dying:#f24;--ps-state-alive:var(--ps-accent);--ps-glow-accent:0 0 calc(10px * var(--crt-glow-intensity)) #e085ff99, 0 0 calc(20px * var(--crt-glow-intensity)) #40f8e866;--ps-glow-warm:0 0 calc(10px * var(--crt-glow-intensity)) #ff953599, 0 0 calc(20px * var(--crt-glow-intensity)) #e535a066;--ps-glow-text:0 0 calc(8px * var(--crt-glow-intensity)) #e085ffb3;--ps-bg-gradient:#1a0a20}.theme-monochrome{--crt-rgb-separation:0px;--crt-glow-intensity:.8;--ps-row-0:#fff;--ps-row-1:#f7f7f7;--ps-row-2:#f0f0f0;--ps-row-3:#e8e8e8;--ps-row-4:#e0e0e0;--ps-row-5:#d9d9d9;--ps-row-6:#d1d1d1;--ps-row-7:#c9c9c9;--ps-row-8:#c2c2c2;--ps-row-9:#bababa;--ps-row-10:#b2b2b2;--ps-row-11:#aaa;--ps-row-12:#a3a3a3;--ps-row-13:#9b9b9b;--ps-row-14:#939393;--ps-row-15:#8c8c8c;--ps-row-16:#848484;--ps-row-17:#7c7c7c;--ps-row-18:#757575;--ps-row-19:#6d6d6d;--ps-bg:#000;--ps-bg-elevated:#0a0a0a;--ps-bg-panel:#050505;--ps-text:#e0e0e0;--ps-accent:#fff;--ps-accent-secondary:#fff;--ps-accent-tertiary:#d7d7d7;--ps-accent-warm:#afafaf;--ps-ice:#e0e0e0;--ps-highlight:#fff;--ps-state-born:#fe0;--ps-state-dying:#f24;--ps-state-alive:var(--ps-accent-warm);--ps-glow-accent:0 0 calc(10px * var(--crt-glow-intensity)) #ffffff80, 0 0 calc(20px * var(--crt-glow-intensity)) #ffffff40;--ps-glow-warm:0 0 calc(10px * var(--crt-glow-intensity)) #ffffff80, 0 0 calc(20px * var(--crt-glow-intensity)) #ffffff40;--ps-glow-text:0 0 calc(8px * var(--crt-glow-intensity)) #fff9;--ps-bg-gradient:#050505}.theme-matrix{--crt-scanline-opacity:.18;--crt-glow-intensity:1.2;--crt-rgb-separation:0px;--ps-row-0:#00ff41;--ps-row-1:#00f73e;--ps-row-2:#00ef3b;--ps-row-3:#00e838;--ps-row-4:#00e035;--ps-row-5:#00d833;--ps-row-6:#00d030;--ps-row-7:#00c92d;--ps-row-8:#00c12a;--ps-row-9:#00b927;--ps-row-10:#00b124;--ps-row-11:#00a921;--ps-row-12:#00a21e;--ps-row-13:#009a1b;--ps-row-14:#009219;--ps-row-15:#008a16;--ps-row-16:#008313;--ps-row-17:#007b10;--ps-row-18:#00730d;--ps-row-19:#006b0a;--ps-bg:#0d0208;--ps-bg-elevated:#0d0208;--ps-bg-panel:#0a0106;--ps-text:#00bb30;--ps-text-muted:#006618;--ps-text-bright:#00ff41;--ps-accent:#00ff41;--ps-accent-secondary:#00ff41;--ps-accent-tertiary:#00c729;--ps-accent-warm:#00c729;--ps-ice:#80ffaa;--ps-border:#003b00;--ps-border-bright:#005a08;--ps-highlight:#fff;--ps-state-born:#fe0;--ps-state-dying:#f24;--ps-state-alive:var(--ps-accent);--ps-glow-accent:0 0 calc(8px * var(--crt-glow-intensity)) #00ff4199, 0 0 calc(16px * var(--crt-glow-intensity)) #00ff414d, 0 0 calc(32px * var(--crt-glow-intensity)) #00ff4126;--ps-glow-warm:0 0 calc(8px * var(--crt-glow-intensity)) #00ff4199, 0 0 calc(16px * var(--crt-glow-intensity)) #00ff414d;--ps-glow-text:0 0 calc(6px * var(--crt-glow-intensity)) #00ff41cc, 0 0 calc(12px * var(--crt-glow-intensity)) #00ff4166;--ps-cell-empty:#0d0208;--ps-bg-gradient:#0d0208}.mode-light{--crt-scanline-opacity:0;--crt-scanline-spacing:0;--crt-glow-intensity:0;--crt-rgb-separation:0px;--crt-vignette-intensity:0;--ps-bg:#e0e5ec;--ps-bg-elevated:#fff;--ps-bg-panel:#e8ecf2;--ps-bg-gradient:#e0e5ec;--ps-text:#5a6a7a;--ps-text-muted:#8e9aaf;--ps-text-bright:#2d3748;--ps-border:#d1d9e6;--ps-border-bright:#b8c4d4;--ps-cell-empty:#d5dbe5;--ps-cell-border:#a3b1c666;--ps-chroma-magenta:transparent;--ps-chroma-cyan:transparent;--ps-minimap-stroke:#2d3748cc;--ps-minimap-playhead:#2d374880;--ps-playhead-default:#5a6a7a;--ps-playhead-core:#2d3748;--ps-playhead-glow:#5a6a7a33;--ps-accent:#4a90d9;--ps-accent-dim:#4a90d926;--ps-accent-secondary:#7b68ee;--ps-accent-tertiary:#40a0f0;--ps-accent-warm:#f5a623;--ps-accent-warm-dim:#f5a62326;--ps-ice:#60c5e8;--ps-highlight:#4a90d9;--ps-state-born:gold;--ps-state-dying:#ff6b6b;--ps-state-alive:var(--ps-accent);--ps-cell-dead:#b4bed299;--ps-grid-line:#a3b1c64d;--ps-playhead:#4a90d91a;--ps-backdrop:#0000004d;--ps-backdrop-light:#0000001a;--ps-btn-icon:#6b7a8c;--ps-btn-icon-hover:#4a5568;--ps-btn-icon-active:#2d3748;--ps-btn-outline:#2d374880;--ps-btn-outline-hover:#2d3748cc;--ps-font-display:"Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--ps-glow-accent:0 0 12px #4a90d94d, 0 0 24px #4a90d926;--ps-glow-warm:0 0 12px #f5a6234d, 0 0 24px #f5a62326;--ps-glow-text:0 0 8px #4a90d966;--ps-glow-white:none;--ps-glow-white-strong:none;--ps-glow-white-box:none;--wtf-born:var(--ps-state-born);--wtf-dying:var(--ps-state-dying);--wtf-alive:var(--ps-state-alive)}.mode-light:before,.mode-light:after{display:none!important}.mode-light body{background:var(--ps-bg)}.mode-light .toolbar{gap:clamp(16px,4vw,40px)}@media (width<=639px){.mode-light .toolbar{gap:clamp(12px,3vw,24px)}}.mode-light.theme-neumorphic{--neu-socket-gradient-start:#a3b1c659;--neu-socket-gradient-mid:#c8d2dc1a;--neu-socket-gradient-end:#ffffff80;--neu-shadow-raised:-3px -3px 8px #ffffff80, 3px 3px 8px #a3b1c640;--neu-shadow-inset:inset 2px 2px 4px #a3b1c633, inset -2px -2px 4px #ffffff80;--neu-shadow-pressed:inset 3px 3px 6px #a3b1c640, inset -3px -3px 6px #ffffff80;--neu-glow-accent:0 0 16px #4a90d959;--neu-glow-ice:0 0 16px #60c5e866;--ps-row-0:#f55;--ps-row-1:#f64;--ps-row-2:#f83;--ps-row-3:#fa2;--ps-row-4:#fc1;--ps-row-5:#dd2;--ps-row-6:#ad3;--ps-row-7:#6d5;--ps-row-8:#4d8;--ps-row-9:#4db;--ps-row-10:#4dd;--ps-row-11:#4be;--ps-row-12:#49f;--ps-row-13:#47f;--ps-row-14:#55f;--ps-row-15:#64f;--ps-row-16:#73f;--ps-row-17:#82f;--ps-row-18:#91e;--ps-row-19:#a0d}.mode-light.theme-neumorphic .btn{box-sizing:border-box;background:var(--ps-bg);width:48px;height:48px;box-shadow:var(--neu-shadow-raised);padding:0;transition:box-shadow .2s,transform .1s,color .15s}.mode-light.theme-neumorphic .btn .material-symbols-rounded{font-size:28px}.mode-light.theme-neumorphic .btn:hover{color:var(--ps-btn-icon-active);box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent)}.mode-light.theme-neumorphic .btn:active{box-shadow:var(--neu-shadow-pressed);transform:scale(.98)}.mode-light.theme-neumorphic .btn.is-active{color:var(--ps-accent);box-shadow:var(--neu-shadow-inset), var(--neu-glow-accent)}.mode-light.theme-neumorphic .btn--play{width:56px;height:56px;padding:0}.mode-light.theme-neumorphic .btn--play .material-symbols-rounded{font-size:36px}.mode-light.theme-neumorphic .btn--wtf{box-sizing:border-box;background:var(--ps-bg);width:auto;height:32px;box-shadow:var(--neu-shadow-raised);border:none;border-radius:16px;padding:0 16px}.mode-light.theme-neumorphic .btn--wtf:hover{box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent)}.mode-light.theme-neumorphic .btn--wtf:active{box-shadow:var(--neu-shadow-pressed)}.mode-light.theme-neumorphic .btn--close{box-sizing:border-box;width:auto;height:auto;box-shadow:none;background:0 0;padding:8px}.mode-light.theme-neumorphic .btn--close:hover{box-shadow:none}.mode-light.theme-neumorphic .btn--menu{width:48px;height:48px;padding:0}.mode-light.theme-neumorphic .btn--freeze.is-active{color:var(--ps-ice);box-shadow:var(--neu-shadow-inset), var(--neu-glow-ice)}.mode-light.theme-neumorphic .menu-panel{background:var(--ps-bg);box-shadow:-12px 0 32px #a3b1c64d}.mode-light.theme-neumorphic .slider{background:var(--ps-border);box-shadow:var(--neu-shadow-inset);border-radius:6px}.mode-light.theme-neumorphic .slider::-webkit-slider-thumb{background:var(--ps-bg);width:18px;height:18px;box-shadow:var(--neu-shadow-raised)}.mode-light.theme-neumorphic .slider::-webkit-slider-thumb:hover{box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent);transform:scale(1.1)}.mode-light.theme-neumorphic .slider::-moz-range-thumb{background:var(--ps-bg);width:18px;height:18px;box-shadow:var(--neu-shadow-raised)}.mode-light.theme-neumorphic .segment-control{background:var(--ps-bg);box-shadow:var(--neu-shadow-inset);border-radius:12px;padding:4px}.mode-light.theme-neumorphic .segment-control button{background:0 0;border-radius:10px;transition:all .2s}.mode-light.theme-neumorphic .segment-control button.is-active{background:var(--ps-bg);box-shadow:var(--neu-shadow-raised);color:var(--ps-accent)}.mode-light.theme-neumorphic .segment-control button:hover:not(.is-active){color:var(--ps-text-bright)}.mode-light.theme-neumorphic .grid-size-btn{background:var(--ps-bg);box-shadow:var(--neu-shadow-raised);border:none;border-radius:8px;transition:box-shadow .2s}.mode-light.theme-neumorphic .grid-size-btn:hover{box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent)}.mode-light.theme-neumorphic .grid-size-btn.is-active{box-shadow:var(--neu-shadow-inset), var(--neu-glow-accent);border:none}.mode-light.theme-neumorphic .pattern-utilities button{background:var(--ps-bg);box-shadow:var(--neu-shadow-raised);border:none;border-radius:8px;transition:box-shadow .2s,color .15s}.mode-light.theme-neumorphic .pattern-utilities button:hover{box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent);color:var(--ps-accent)}.mode-light.theme-neumorphic .pattern-utilities button:active{box-shadow:var(--neu-shadow-pressed)}.mode-light.theme-neumorphic .ps-select{background-color:var(--ps-bg);box-shadow:var(--neu-shadow-inset);border:none;border-radius:8px}.mode-light.theme-neumorphic .ps-select:focus{box-shadow:var(--neu-shadow-inset), var(--neu-glow-accent)}.mode-light.theme-neumorphic .toggle-row input[type=checkbox]{background:var(--ps-border);box-shadow:var(--neu-shadow-inset);border-radius:12px}.mode-light.theme-neumorphic .toggle-row input[type=checkbox]:after{background:var(--ps-bg);box-shadow:var(--neu-shadow-raised)}.mode-light.theme-neumorphic .toggle-row input[type=checkbox]:checked{background:var(--ps-accent-dim)}.mode-light.theme-neumorphic .toggle-row input[type=checkbox]:checked:after{background:var(--ps-accent);box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent)}.mode-light.theme-neumorphic .wtf-modal{background:var(--ps-bg);box-shadow:0 20px 60px #a3b1c666, var(--neu-shadow-raised);border-radius:16px}.mode-light.theme-neumorphic .wtf-cell{background:var(--ps-border);box-shadow:var(--neu-shadow-inset)}.mode-light.theme-neumorphic .wtf-cell--alive{box-shadow:var(--neu-shadow-raised)}.mode-light.theme-neumorphic .wtf-modal__got-it{background:var(--ps-bg);box-shadow:var(--neu-shadow-raised);border:none;border-radius:12px}.mode-light.theme-neumorphic .wtf-modal__got-it:hover{box-shadow:var(--neu-shadow-raised), var(--neu-glow-accent)}.mode-light.theme-flat{--ps-bg:#f5f5f5;--ps-bg-elevated:#fff;--ps-bg-panel:#fafafa;--ps-bg-gradient:#f5f5f5;--ps-border:#e0e0e0;--ps-border-bright:#d0d0d0;--ps-text:#555;--ps-text-muted:#888;--ps-text-bright:#333;--ps-cell-empty:#ebebeb;--ps-cell-border:#b4b4b466;--ps-cell-dead:#c8c8c899;--ps-grid-line:#b4b4b44d;--ps-btn-icon:#666;--ps-btn-icon-hover:#444;--ps-btn-icon-active:#333;--ps-btn-outline:#33333380;--ps-btn-outline-hover:#333c;--ps-playhead-default:#555;--ps-playhead-core:#333;--ps-playhead-glow:#5553;--ps-row-0:#ff6b6b;--ps-row-1:#ff7b5d;--ps-row-2:#ff9b4d;--ps-row-3:#ffbb3d;--ps-row-4:#ffdb3d;--ps-row-5:#e5eb4d;--ps-row-6:#b5e85d;--ps-row-7:#7de87d;--ps-row-8:#5de8a8;--ps-row-9:#5de8d8;--ps-row-10:#5dd8e8;--ps-row-11:#5db8f8;--ps-row-12:#5d98ff;--ps-row-13:#6b7bff;--ps-row-14:#8b6bff;--ps-row-15:#a85dff;--ps-row-16:#c85dee;--ps-row-17:#dd5dd8;--ps-row-18:#e85dc0;--ps-row-19:#ee5da8}.mode-light.theme-flat .btn{background:var(--ps-bg-elevated);border:1px solid var(--ps-border);box-shadow:none}.mode-light.theme-flat .btn:hover{background:var(--ps-bg);border-color:var(--ps-border-bright)}.mode-light.theme-flat .btn:active{background:var(--ps-border)}.mode-light.theme-flat .btn.is-active{background:var(--ps-accent-dim);border-color:var(--ps-accent);color:var(--ps-accent)}.mode-light.theme-flat .btn--wtf{background:var(--ps-bg-elevated);border:1px solid var(--ps-border-bright)}.mode-light.theme-flat .btn--wtf:hover{background:var(--ps-bg);border-color:var(--ps-accent);color:var(--ps-accent)}.mode-light.theme-flat .btn--freeze.is-active{border-color:var(--ps-ice);color:var(--ps-ice);background:#60c5e826}.mode-light.theme-flat .menu-panel{background:var(--ps-bg-elevated);border-left:1px solid var(--ps-border);box-shadow:none}.mode-light.theme-flat .segment-control{border:1px solid var(--ps-border);border-radius:8px}.mode-light.theme-flat .segment-control button.is-active{background:var(--ps-accent-dim);color:var(--ps-accent)}.mode-light.theme-flat .grid-size-btn{background:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-flat .grid-size-btn.is-active{background:var(--ps-accent-dim);border-color:var(--ps-accent)}.mode-light.theme-flat .pattern-utilities button{background:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-flat .pattern-utilities button:hover{border-color:var(--ps-accent);color:var(--ps-accent)}.mode-light.theme-flat .ps-select{background-color:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-flat .wtf-modal{background:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-analog{--ps-bg:#e0e4d2;--ps-bg-elevated:#e8ebe0;--ps-bg-gradient:#e8ebe0;--ps-text:#4a4a3a;--ps-text-muted:#6a6a58;--ps-border:#c0c4b2;--ps-accent:#d4a84b;--ps-accent-hover:#c49a40;--ps-ice:#8b9b7a;--ps-cell-empty:#a8a99a;--ps-cell-border:#7879684d;--ps-playhead:#d4a84b26;--ps-playhead-default:#d4a84b;--ps-playhead-core:#e8c070;--ps-playhead-glow:#d4a84b4d;--ps-minimap-stroke:#4a4a3a99;--ps-minimap-playhead:#d4a84b80;--ps-btn-icon:#5a5a4a;--ps-btn-icon-active:#4a4a3a;--ps-grid-label-width:48px;--analog-hole-shadow:inset 2px 2px 4px #00000040, inset -1px -1px 2px #fff6;--analog-socket-gradient-start:#78796866;--analog-socket-gradient-mid:#a8a99a26;--analog-socket-gradient-end:#ffffff73;--ps-row-0:#788868;--ps-row-1:#708060;--ps-row-2:#687858;--ps-row-3:#607050;--ps-row-4:#586848;--ps-row-5:#506040;--ps-row-6:#4a5a3c;--ps-row-7:#445438;--ps-row-8:#3e4e34;--ps-row-9:#384830;--ps-row-10:#32422c;--ps-row-11:#2c3c28;--ps-row-12:#8b6b4a;--ps-row-13:#7d5f40;--ps-row-14:#9a6450;--ps-row-15:#8e5846;--ps-row-16:#824c3c;--ps-row-17:#764032;--ps-row-18:#6a3428;--ps-row-19:#5e281e;--ps-font:"Nunito", -apple-system, sans-serif}.mode-light.theme-analog .btn{background:var(--ps-bg-elevated);border:1px solid var(--ps-border);box-shadow:none;transition:border-color .15s,color .15s}.mode-light.theme-analog .btn:hover{border-color:var(--ps-accent);color:var(--ps-accent)}.mode-light.theme-analog .btn:active{background:var(--ps-bg)}.mode-light.theme-analog .btn.is-active{border-color:var(--ps-accent);color:var(--ps-accent);background:#d4a84b1a}.mode-light.theme-analog .btn--wtf:hover{border-color:var(--ps-accent);color:var(--ps-accent)}.mode-light.theme-analog .btn--freeze.is-active{border-color:var(--ps-ice);color:var(--ps-ice);background:#8b9b7a1a}.mode-light.theme-analog .menu-panel{background:var(--ps-bg-elevated);border-left:1px solid var(--ps-border);box-shadow:-4px 0 12px #00000014}.mode-light.theme-analog .segment-control{background:var(--ps-bg);border:1px solid var(--ps-border)}.mode-light.theme-analog .segment-control button.is-active{background:var(--ps-accent);color:#fff}.mode-light.theme-analog .grid-size-btn{background:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-analog .grid-size-btn.is-active{border-color:var(--ps-accent);background:#d4a84b26}.mode-light.theme-analog .pattern-utilities button{background:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-analog .pattern-utilities button:hover{border-color:var(--ps-accent);color:var(--ps-accent)}.mode-light.theme-analog .ps-select{background-color:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-analog .slider{background:linear-gradient(to right, var(--ps-border), var(--ps-accent))}.mode-light.theme-analog .slider::-webkit-slider-thumb{background:var(--ps-bg-elevated);border:2px solid var(--ps-accent)}.mode-light.theme-analog .slider::-moz-range-thumb{background:var(--ps-bg-elevated);border:2px solid var(--ps-accent)}.mode-light.theme-analog .toggle-row input[type=checkbox]{background:var(--ps-bg);border:1px solid var(--ps-border)}.mode-light.theme-analog .toggle-row input[type=checkbox]:checked{background:var(--ps-accent);border-color:var(--ps-accent)}.mode-light.theme-analog .wtf-modal{background:var(--ps-bg-elevated);border:1px solid var(--ps-border)}.mode-light.theme-analog .wtf-cell{background:var(--ps-cell-empty);box-shadow:var(--analog-hole-shadow)}.mode-light.theme-analog .wtf-cell--alive{background:var(--ps-row-7);box-shadow:inset 0 0 6px #60885280}.mode-light.theme-analog .wtf-modal__got-it{background:var(--ps-accent);color:#fff;border:none}.mode-light.theme-analog .wtf-modal__got-it:hover{background:var(--ps-accent-hover)}.grid-labels{display:none}.mode-light.theme-analog .grid-labels{pointer-events:none;z-index:5;display:block;position:absolute;inset:0}.mode-light.theme-analog .grid-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ps-text-muted);opacity:.5;white-space:nowrap;font-family:Nunito,sans-serif;font-size:10px;font-weight:700;position:absolute}.mode-light.theme-analog .grid-wrapper{position:relative}.mode-light.theme-analog .grid-container{overflow:visible}@media (width<=639px){.mode-light.theme-analog .grid-label{letter-spacing:.08em;opacity:.5;font-size:8px}}.mode-light .wtf-cell{border-radius:50%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--ps-font);font-size:var(--ps-font-size-base);color:var(--ps-text);background:radial-gradient(ellipse at center, var(--ps-bg-gradient) 0%, var(--ps-bg) 70%), var(--ps-bg);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;height:100dvh;line-height:1.4;display:flex;overflow:hidden}#pulsar-root{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}body:before{content:"";background:repeating-linear-gradient(0deg, transparent, transparent var(--crt-scanline-spacing), rgba(0, 0, 0, calc(var(--crt-scanline-opacity) * .65)) var(--crt-scanline-spacing), rgba(0, 0, 0, calc(var(--crt-scanline-opacity) * .65)) calc(var(--crt-scanline-spacing) + 2px));pointer-events:none;z-index:50;position:fixed;inset:0}body:after{content:"";background:radial-gradient(ellipse at center, transparent 50%, rgba(0, 0, 0, var(--crt-vignette-intensity)) 100%);pointer-events:none;z-index:49;position:fixed;inset:0}.toolbar{justify-content:center;align-items:center;gap:calc(var(--spacing) * 6);padding:calc(var(--spacing) * 3) max(calc(var(--spacing) * 4), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 3)) max(calc(var(--spacing) * 4), env(safe-area-inset-left));border-color:var(--ps-border);min-height:var(--ps-toolbar-height);z-index:var(--ps-z-toolbar);background:0 0;flex-shrink:0;display:flex;position:relative}.toolbar--top{border-bottom:1px solid var(--ps-border)}.toolbar--bottom{border-top:1px solid var(--ps-border)}.btn{width:48px;height:48px;color:var(--ps-btn-icon-hover);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.btn[hidden],.snapback-btn[hidden]{display:none}.btn .material-symbols-rounded{font-size:28px}.btn:hover{color:var(--ps-btn-icon-active);text-shadow:0 0 20px}.btn:active{transform:scale(.95)}.btn:focus-visible{outline:2px solid var(--ps-btn-icon);outline-offset:4px}.btn--play{width:56px;height:56px;color:var(--ps-text-bright);text-shadow:var(--ps-glow-white)}.btn--play .material-symbols-rounded{font-size:36px}.btn--play:hover{text-shadow:var(--ps-glow-white-strong)}.btn--freeze{color:var(--ps-btn-icon)}.btn--freeze:hover{color:var(--ps-btn-icon-hover);text-shadow:none}.btn--freeze.is-active{color:var(--ps-ice);text-shadow:0 0 10px #a0f0ffcc,0 0 20px #a0f0ff80,0 0 30px #a0f0ff4d}.btn--freeze.is-active:hover{text-shadow:0 0 10px #a0f0ff,0 0 25px #a0f0ffcc,0 0 40px #a0f0ff80}.btn--zoom{font-weight:600;font-size:var(--ps-font-size-base);letter-spacing:-.02em;color:var(--ps-text-bright);text-shadow:var(--ps-glow-white)}.btn--zoom:hover{text-shadow:var(--ps-glow-white-strong)}.btn--menu{right:max(calc(var(--spacing) * 4), env(safe-area-inset-right));color:var(--ps-text-bright);position:absolute}.btn--menu:hover{text-shadow:var(--ps-glow-white-strong)}.btn--close{width:auto;height:auto;padding:calc(var(--spacing) * 2);color:var(--ps-btn-icon);border-radius:0;font-size:1.5rem}.btn--close:hover{color:var(--ps-btn-icon-active);text-shadow:none}.btn--close:focus-visible{outline:none}.btn--wtf{left:max(calc(var(--spacing) * 4), env(safe-area-inset-left));width:auto;height:32px;padding:0 calc(var(--spacing) * 3);border:1px solid var(--ps-btn-icon);border-radius:var(--ps-radius-sm);color:var(--ps-text-bright);font-family:var(--ps-font-display);font-size:var(--ps-font-size-xs);text-transform:uppercase;letter-spacing:.05em;transition:all var(--ps-transition);background:0 0;position:absolute}.btn--wtf:hover,.btn--wtf:focus-visible{border-color:var(--ps-btn-icon-hover);background:var(--ps-accent-dim);text-shadow:var(--ps-glow-white-strong);box-shadow:var(--ps-glow-white-box)}.btn--wtf:active{transform:scale(.97)}.wtf-text--full{display:none}.wtf-text--short{display:inline}@media (width>=640px){.wtf-text--full{display:inline}.wtf-text--short{display:none}}#wtf-modal::backdrop{background:var(--ps-backdrop)}.wtf-modal{width:calc(100% - calc(var(--spacing) * 4) * 2);max-width:420px;max-height:calc(100vh - calc(var(--spacing) * 6) * 2);background:var(--ps-bg-panel);border:1px solid var(--ps-border-bright);border-radius:var(--ps-radius);color:var(--ps-text);font-family:var(--ps-font);z-index:var(--ps-z-menu);padding:0;display:none;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.wtf-modal[open]{display:block}.wtf-modal__header{padding:calc(var(--spacing) * 4);border-bottom:1px solid var(--ps-border)}.wtf-modal__title{font-family:var(--ps-font-display);color:var(--ps-text-bright);text-shadow:var(--ps-glow-text);margin:0;font-size:1.25rem;font-weight:400}.wtf-modal__content{padding:calc(var(--spacing) * 4)}.wtf-section{margin-bottom:calc(var(--spacing) * 6)}.wtf-section:last-child{margin-bottom:0}.wtf-section__title{margin:0 0 calc(var(--spacing) * 2) 0;font-family:var(--ps-font-display);font-size:var(--ps-font-size-base);color:var(--ps-accent);text-transform:uppercase;letter-spacing:.1em;font-weight:400}.wtf-section__intro{margin:0 0 calc(var(--spacing) * 3) 0;font-size:var(--ps-font-size-sm);color:var(--ps-text)}.wtf-section__note{margin:calc(var(--spacing) * 3) 0 0 0;font-size:var(--ps-font-size-xs);color:var(--ps-text-muted);font-style:italic}.wtf-modal__footer{padding:calc(var(--spacing) * 4);border-top:1px solid var(--ps-border);background:var(--ps-bg-panel);text-align:center;position:sticky;bottom:0}.wtf-modal__got-it{padding:calc(var(--spacing) * 2) calc(var(--spacing) * 6);border:1px solid var(--ps-btn-outline);border-radius:var(--ps-radius);color:var(--ps-btn-outline);font-family:var(--ps-font-display);font-size:var(--ps-font-size-sm);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all var(--ps-transition);background:0 0}.wtf-modal__got-it:hover,.wtf-modal__got-it:focus{border-color:var(--ps-btn-outline-hover);color:var(--ps-btn-outline-hover);background:#ffffff0d;outline:none}.wtf-rules{justify-content:space-around;gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.wtf-rule{align-items:center;gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}.wtf-grid{grid-template-rows:repeat(3,20px);grid-template-columns:repeat(3,20px);gap:2px;display:grid}.wtf-cell{background:var(--ps-cell-dead);border-radius:var(--ps-radius-sm)}.wtf-cell--alive{background:var(--wtf-alive);box-shadow:0 0 6px var(--wtf-alive)}.wtf-cell--center{border:2px solid var(--ps-text-muted);box-sizing:border-box}.wtf-cell--dying{background:var(--wtf-dying);box-shadow:0 0 6px var(--wtf-dying)}.wtf-cell--born{background:var(--wtf-born);box-shadow:0 0 8px var(--wtf-born)}.wtf-rule__caption{font-family:var(--ps-font-display);font-size:var(--ps-font-size-xs);color:var(--ps-text-muted)}.wtf-sequencer{align-items:stretch;gap:calc(var(--spacing) * 3);justify-content:center;display:flex}.wtf-strip{border-radius:var(--ps-radius-sm);flex-direction:column;width:24px;display:flex;overflow:hidden}.wtf-strip__row{height:10px}.wtf-strip__labels{font-family:var(--ps-font-display);font-size:var(--ps-font-size-xs);color:var(--ps-text-muted);flex-direction:column;justify-content:space-between;padding:2px 0;display:flex}.wtf-strip__label{align-items:center;display:flex}.wtf-strip__label:before{content:"";background:var(--ps-text-muted);width:8px;height:1px;margin-right:calc(var(--spacing) * 2)}.wtf-strip__label--melody{align-items:flex-start;height:120px;margin-top:0;padding-top:50px}.wtf-strip__label--bass{height:10px}.wtf-strip__label--drums{align-items:center;height:30px}.menu-backdrop{background:var(--ps-backdrop);opacity:0;visibility:hidden;z-index:var(--ps-z-backdrop);transition:opacity .25s,visibility .25s;position:fixed;inset:0}.menu-backdrop.is-visible{opacity:1;visibility:visible}.menu-panel{max-height:70vh;padding-bottom:env(safe-area-inset-bottom);background:var(--ps-bg-panel);border-top:1px solid var(--ps-border-bright);box-shadow:0 -4px 32px var(--ps-backdrop-light);z-index:var(--ps-z-menu);overscroll-behavior:contain;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.menu-panel.is-open{transform:translateY(0)}.menu-panel__header{padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-bottom:1px solid var(--ps-border);background:var(--ps-bg-panel);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.menu-panel__title{font-family:var(--ps-font-display);text-transform:uppercase;letter-spacing:.15em;color:var(--ps-text-bright);text-shadow:var(--ps-glow-white);font-size:1rem}@media (width>=640px){.menu-panel{border-top:none;border-left:1px solid var(--ps-border-bright);width:300px;max-height:none;box-shadow:-4px 0 32px var(--ps-backdrop-light);inset:0 0 0 auto;transform:translate(100%)}.menu-panel.is-open{transform:translate(0)}}.minimap-container{bottom:calc(var(--spacing) * 3);left:calc(var(--spacing) * 3);align-items:center;gap:calc(var(--spacing) * 2);z-index:var(--ps-z-labels);display:none;position:absolute}.minimap-container:has(.minimap.is-visible){display:flex}@media (width>=640px){.minimap-container{--settings-btn-width:48px;bottom:auto;left:auto;top:calc(var(--spacing) * 3);right:calc(max(calc(var(--spacing) * 4), env(safe-area-inset-right)) + var(--settings-btn-width) + calc(var(--spacing) * 3));position:fixed}}.minimap{border:1px solid var(--ps-border-bright);border-radius:var(--ps-radius);pointer-events:auto;background:#000000b3;display:none}.minimap.is-visible{display:block}.snapback-btn{width:36px;height:36px;color:var(--ps-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,transform .15s,text-shadow .15s;display:flex}.snapback-btn .material-symbols-rounded{font-size:24px}.snapback-btn:hover{color:var(--ps-glow-accent);text-shadow:0 0 8px var(--ps-glow-accent)}.snapback-btn:active{transform:scale(.95)}.toggle-row{padding:calc(var(--spacing) * 2) 0;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.toggle-input{display:none}.toggle-switch{background:var(--ps-border-bright);width:44px;height:24px;transition:background var(--ps-transition);border-radius:12px;position:relative}.toggle-switch:after{content:"";background:var(--ps-text-muted);width:20px;height:20px;transition:transform var(--ps-transition), background var(--ps-transition);border-radius:50%;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-switch{background:var(--ps-accent-dim)}.toggle-input:checked+.toggle-switch:after{background:var(--ps-accent);box-shadow:var(--ps-glow-accent);transform:translate(20px)}.menu-section{padding:calc(var(--spacing) * 4);border-bottom:1px solid var(--ps-border);overflow-x:hidden}.menu-section:last-child{border-bottom:none}.menu-section__title{font-family:var(--ps-font-display);font-size:var(--ps-font-size-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--ps-text-bright);margin-bottom:calc(var(--spacing) * 1);text-shadow:var(--ps-glow-white)}.menu-section__subtitle{font-size:var(--ps-font-size-xs);color:var(--ps-text-muted);margin-bottom:calc(var(--spacing) * 3)}.advanced-section{border-bottom:1px solid var(--ps-border)}.advanced-header{padding:calc(var(--spacing) * 4);font-family:var(--ps-font-display);font-size:var(--ps-font-size-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--ps-text-muted);cursor:pointer;transition:color var(--ps-transition);justify-content:space-between;align-items:center;list-style:none;display:flex}.advanced-header::-webkit-details-marker{display:none}.advanced-header:after{content:"";border-top:6px solid;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;transition:transform .2s;transform:rotate(-90deg)}.advanced-section[open] .advanced-header:after{transform:rotate(0)}.advanced-header:hover{color:var(--ps-text)}.advanced-content .menu-section:first-child{border-top:1px solid var(--ps-border)}.advanced-content .menu-section:last-child{border-bottom:none}.segment-control{background:var(--ps-border);border-radius:var(--ps-radius);gap:1px;display:flex;overflow:hidden}.segment-control button{padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);font-family:inherit;font-size:var(--ps-font-size-sm);color:var(--ps-text-muted);background:var(--ps-bg-elevated);cursor:pointer;transition:all var(--ps-transition);border:none;flex:1}.segment-control button:hover{color:var(--ps-text);background:var(--ps-bg)}.segment-control button.is-active{color:var(--ps-accent);background:var(--ps-bg);text-shadow:var(--ps-glow-text)}.segment-control--text button{letter-spacing:.08em;font-size:var(--ps-font-size-xs)}.grid-size-scroll{gap:calc(var(--spacing) * 2);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:calc(var(--spacing) * 1) 0;margin:0 calc(-1 * calc(var(--spacing) * 4));padding-left:calc(var(--spacing) * 4);padding-right:calc(var(--spacing) * 4);display:flex;overflow:auto hidden}.grid-size-scroll::-webkit-scrollbar{display:none}.grid-size-btn{padding:calc(var(--spacing) * 2);background:var(--ps-bg-elevated);border:1px solid var(--ps-border-bright);border-radius:var(--ps-radius);cursor:pointer;transition:all var(--ps-transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.grid-size-btn:hover{border-color:var(--ps-text-muted)}.grid-size-btn.is-active{border-color:var(--ps-accent);box-shadow:var(--ps-glow-accent)}.grid-size-dots{background-image:radial-gradient(circle, var(--ps-text-muted) 1px, transparent 1px);background-size:5px 5px}.grid-size-dots--8{width:20px;height:40px}.grid-size-dots--16{width:40px;height:40px}.grid-size-dots--32{width:80px;height:40px}.grid-size-dots--64{width:160px;height:40px}.grid-size-btn.is-active .grid-size-dots{background-image:radial-gradient(circle, var(--ps-accent) 1px, transparent 1px)}.pattern-utilities{gap:calc(var(--spacing) * 2);margin-bottom:calc(var(--spacing) * 3);display:flex}.pattern-utilities button{padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);font-size:var(--ps-font-size-sm);color:var(--ps-text-muted);background:var(--ps-bg-elevated);border:1px solid var(--ps-border-bright);border-radius:var(--ps-radius);cursor:pointer;transition:all var(--ps-transition);flex:1;font-weight:500}.pattern-utilities button:hover{color:var(--ps-accent);border-color:var(--ps-accent);text-shadow:var(--ps-glow-text);box-shadow:var(--ps-glow-accent)}.pattern-list{gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}.pattern-item{width:100%;padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);text-align:left;background:var(--ps-bg-elevated);border:1px solid var(--ps-border);border-radius:var(--ps-radius);cursor:pointer;transition:all var(--ps-transition);flex-direction:column;align-items:flex-start;gap:2px;font-family:inherit;display:flex}.pattern-item:hover{border-color:var(--ps-accent);box-shadow:var(--ps-glow-accent)}.pattern-item:active{transform:scale(.98)}.pattern-item__name{font-size:var(--ps-font-size-sm);color:var(--ps-text);font-weight:500}.pattern-item__desc{font-size:var(--ps-font-size-xs);color:var(--ps-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.slider-group{align-items:center;gap:calc(var(--spacing) * 3);display:flex}.slider-group input[type=range]{flex:1}.slider{appearance:none;background:var(--ps-border-bright);border-radius:var(--ps-radius-sm);cursor:pointer;width:100%;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ps-accent);cursor:pointer;width:16px;height:16px;transition:transform var(--ps-transition), box-shadow var(--ps-transition);box-shadow:var(--ps-glow-accent);border-radius:50%}.slider::-webkit-slider-thumb:hover{box-shadow:calc(-1.5 * var(--crt-rgb-separation)) 0 0 #f003, calc(1.5 * var(--crt-rgb-separation)) 0 0 #0ff3, 0 0 calc(16px * var(--crt-glow-intensity)) #fff9;transform:scale(1.2)}.slider::-moz-range-thumb{background:var(--ps-accent);cursor:pointer;width:16px;height:16px;box-shadow:var(--ps-glow-accent);border:none;border-radius:50%}.slider-value{font-size:var(--ps-font-size-sm);color:var(--ps-accent);text-align:right;min-width:48px;text-shadow:var(--ps-glow-text);font-variant-numeric:tabular-nums}.slider-labels{font-size:var(--ps-font-size-xs);color:var(--ps-text-muted);margin-top:calc(var(--spacing) * 1);justify-content:space-between;display:flex}.radio-group{gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}.radio-group label{align-items:center;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 2);cursor:pointer;border-radius:var(--ps-radius);transition:background var(--ps-transition);display:flex}.radio-group label:hover{background:var(--ps-bg-elevated)}.radio-group input[type=radio]{appearance:none;border:2px solid var(--ps-border-bright);cursor:pointer;width:16px;height:16px;transition:all var(--ps-transition);border-radius:50%}.radio-group input[type=radio]:checked{border-color:var(--ps-accent);background:var(--ps-accent);box-shadow:var(--ps-glow-accent)}.radio-group input[type=radio]:checked+span{color:var(--ps-accent);text-shadow:var(--ps-glow-text)}.ps-control-group{gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}.ps-label{font-family:var(--ps-font-display);font-size:var(--ps-font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--ps-text-muted)}.ps-select{appearance:none;width:100%;padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);padding-right:calc(calc(var(--spacing) * 3) + 20px);font-family:inherit;font-size:var(--ps-font-size-sm);color:var(--ps-text);background-color:var(--ps-bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666666' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(var(--spacing) * 2) center;border:1px solid var(--ps-border-bright);border-radius:var(--ps-radius);cursor:pointer;transition:all var(--ps-transition)}.ps-select:hover{border-color:var(--ps-text-muted)}.ps-select:focus{border-color:var(--ps-accent);box-shadow:var(--ps-glow-accent);outline:none}.ps-select option{background:var(--ps-bg-elevated);color:var(--ps-text);padding:calc(var(--spacing) * 2)}.toggle-group{gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}.toggle-row{padding:calc(var(--spacing) * 2) 0;cursor:pointer;transition:color var(--ps-transition);justify-content:space-between;align-items:center;display:flex}.toggle-row:hover{color:var(--ps-text-bright)}.toggle-row span{font-size:var(--ps-font-size-sm);color:var(--ps-text)}.toggle-row input[type=checkbox]{appearance:none;background:var(--ps-border-bright);cursor:pointer;width:36px;height:20px;transition:background var(--ps-transition);border-radius:10px;position:relative}.toggle-row input[type=checkbox]:after{content:"";background:var(--ps-text-muted);width:16px;height:16px;transition:transform var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition);border-radius:50%;position:absolute;top:2px;left:2px}.toggle-row input[type=checkbox]:checked{background:var(--ps-accent-dim)}.toggle-row input[type=checkbox]:checked:after{background:var(--ps-accent);box-shadow:var(--ps-glow-accent);transform:translate(16px)}.toggle-row input[type=checkbox]:focus-visible{outline:2px solid var(--ps-accent);outline-offset:2px}.grid-container{flex:1;align-items:stretch;min-height:0;display:flex;position:relative;overflow:hidden}#grid-canvas{z-index:var(--ps-z-canvas);display:block}.grid-wrapper{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:visible}@media (width<=639px){:root{--ps-toolbar-height:52px;--ps-row-label-width:28px;--ps-cell-size:18px}body,#pulsar-root{flex-direction:column-reverse}.toolbar--bottom{border-top:none}}@media (display-mode:standalone),(display-mode:fullscreen){.toolbar--bottom{padding-bottom:max(34px, calc(env(safe-area-inset-bottom) + calc(var(--spacing) * 3)))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body:before,body:after{display:none}}:focus{outline:none}:focus-visible{outline:2px solid var(--ps-accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--ps-bg)}::-webkit-scrollbar-thumb{background:var(--ps-border-bright);border-radius:var(--ps-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--ps-text-muted)}.audio-error{opacity:.5;cursor:not-allowed}
