:root{--bg:#0a0f0a;--bg2:#0d150d;--bg3:#111a11;--surface:#0f1a0f;--surface2:#162016;--border:#031;--border2:#004d18;--green:#00ff41;--green-dim:#0c3;--green-faint:#042;--green-glow:#00ff4126;--green-glow2:#00ff4159;--amber:#ffb800;--red:#f33;--red-dim:#c20;--text:#0c3;--text-dim:#062;--text-bright:#00ff41;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, Consolas, monospace;--cell-size:40px;--tape-height:72px;--transition-fast:.12s ease;--transition-med:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);width:100%;min-height:100vh;color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-x:hidden}.crt-overlay{pointer-events:none;z-index:9999;mix-blend-mode:multiply;background:radial-gradient(#0000 60%,#0000008c 100%);position:fixed;inset:0}.scanlines{pointer-events:none;z-index:9998;background:repeating-linear-gradient(#0000 0 2px,#0000001f 2px 4px);animation:8s linear infinite scanlineFlicker;position:fixed;inset:0}@keyframes scanlineFlicker{0%{opacity:.85}48%{opacity:.85}49%{opacity:.72}50%{opacity:.85}97%{opacity:.85}98%{opacity:.78}to{opacity:.85}}#app{border-left:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;width:100%;max-width:1400px;min-height:100vh;margin:0 auto;display:flex}.site-header{border-bottom:1px solid var(--border);background:var(--bg2);justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:relative;overflow:hidden}.site-header:after{content:"";background:linear-gradient(90deg, transparent, var(--green), transparent);opacity:.6;height:1px;position:absolute;bottom:0;left:0;right:0}.header-logo{align-items:baseline;gap:8px;display:flex}.logo-bracket{color:var(--green-dim);letter-spacing:-2px;font-size:20px;font-weight:700}.logo-text{letter-spacing:6px;color:var(--green);text-shadow:0 0 8px var(--green), 0 0 20px #00ff4166;font-size:20px;font-weight:800;animation:4s ease-in-out infinite phosphorPulse}@keyframes phosphorPulse{0%,to{text-shadow:0 0 8px var(--green), 0 0 20px #00ff4166}50%{text-shadow:0 0 12px var(--green), 0 0 30px #00ff4199}}.logo-sub{color:var(--text-dim);letter-spacing:3px;text-transform:uppercase;font-size:9px;font-weight:400}.header-status{letter-spacing:2px;color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.status-dot{background:var(--text-dim);width:8px;height:8px;transition:background var(--transition-med), box-shadow var(--transition-med);border-radius:50%}.status-dot.running{background:var(--green);box-shadow:0 0 6px var(--green), 0 0 12px #00ff4180;animation:.8s step-start infinite blink}.status-dot.halted{background:var(--amber);box-shadow:0 0 6px var(--amber)}.status-dot.error{background:var(--red);box-shadow:0 0 6px var(--red)}@keyframes blink{50%{opacity:.3}}.tab-nav{border-bottom:1px solid var(--border);background:var(--bg2);display:flex}.tab-btn{border:none;border-right:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:3px;cursor:pointer;transition:all var(--transition-med);background:0 0;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:11px;font-weight:700;display:flex;position:relative;overflow:hidden}.tab-btn:last-child{border-right:none}.tab-btn:before{content:"";background:var(--green);width:80%;height:2px;box-shadow:0 0 8px var(--green);transition:transform var(--transition-med);position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(0)}.tab-btn:hover{background:var(--green-glow);color:var(--green-dim)}.tab-btn.active{background:var(--surface);color:var(--green);text-shadow:0 0 8px #00ff4180}.tab-btn.active:before{transform:translate(-50%)scaleX(1)}.tab-icon{opacity:.8;font-size:16px}.panel{flex-direction:column;flex:1;animation:.2s panelIn;display:none}.panel.active{display:flex}@keyframes panelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 24px;display:flex}.toolbar-group{border-right:1px solid var(--border);align-items:center;gap:8px;padding-right:16px;display:flex}.toolbar-group:last-child{border-right:none;padding-right:0}.btn{font-family:var(--font-mono);letter-spacing:2px;cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;border:1px solid;padding:6px 14px;font-size:10px;font-weight:700;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:currentColor;position:absolute;inset:0}.btn:hover:after{opacity:.08}.btn:active:after{opacity:.15}.btn-primary{color:var(--bg);background:var(--green);border-color:var(--green);text-shadow:none}.btn-primary:hover{background:var(--text-bright);box-shadow:0 0 12px var(--green-glow2)}.btn-secondary{color:var(--green);border-color:var(--border2);background:0 0}.btn-secondary:hover{border-color:var(--green);box-shadow:0 0 8px var(--green-glow)}.btn-danger{color:var(--red);border-color:var(--red-dim);background:0 0}.btn-danger:hover{color:#fff;background:var(--red-dim);border-color:var(--red);box-shadow:0 0 8px #ff33334d}.btn-sm{padding:4px 10px;font-size:9px}.ctrl-label{letter-spacing:2px;color:var(--text-dim);white-space:nowrap;font-size:9px}.ctrl-value{color:var(--green);letter-spacing:1px;white-space:nowrap;min-width:44px;font-size:10px}.slider{appearance:none;background:var(--border2);cursor:pointer;outline:none;width:100px;height:2px}.slider.slider-wide{width:160px}.slider::-webkit-slider-thumb{appearance:none;background:var(--green);cursor:pointer;width:12px;height:12px;box-shadow:0 0 6px var(--green);transition:box-shadow var(--transition-fast)}.slider::-webkit-slider-thumb:hover{box-shadow:0 0 12px var(--green)}.slider::-moz-range-thumb{background:var(--green);cursor:pointer;width:12px;height:12px;box-shadow:0 0 6px var(--green);border:none}.num-input{font-family:var(--font-mono);color:var(--green);background:var(--surface2);border:1px solid var(--border2);text-align:center;width:60px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:4px 8px;font-size:13px;font-weight:700}.num-input:focus{border-color:var(--green);box-shadow:0 0 8px var(--green-glow)}.select{font-family:var(--font-mono);letter-spacing:1px;color:var(--green);background:var(--surface2);border:1px solid var(--border2);cursor:pointer;transition:border-color var(--transition-fast);outline:none;padding:5px 8px;font-size:10px}.select:focus,.select:hover{border-color:var(--green)}.select option{background:var(--bg2);color:var(--green)}.canvas-wrapper{background:var(--surface);border-bottom:1px solid var(--border);position:relative}.canvas-label{letter-spacing:3px;color:var(--text-dim);z-index:2;pointer-events:none;font-size:9px;position:absolute;top:8px;left:16px}.tape-wrapper{height:var(--tape-height);overflow:hidden}.tape-wrapper canvas{width:100%;height:100%;display:block}.info-bar{border-bottom:1px solid var(--border);background:var(--bg2);gap:0;display:flex}.info-item{border-right:1px solid var(--border);flex-direction:column;flex:1;align-items:center;padding:8px 16px;display:flex}.info-item:last-child{border-right:none}.info-label{letter-spacing:3px;color:var(--text-dim);margin-bottom:4px;font-size:8px}.info-value{color:var(--green);text-shadow:0 0 8px #00ff4166;letter-spacing:1px;transition:color var(--transition-med);font-size:14px;font-weight:700}.info-value.halted{color:var(--amber);text-shadow:0 0 8px #ffb80066}.info-value.error{color:var(--red);text-shadow:0 0 8px #f336}.info-value.accepted{color:var(--green)}.bottom-panels{flex:1;min-height:0;display:flex}.panel-section{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.panel-section:last-child{border-right:none}.table-section{flex:1;min-width:0}.diagram-section{flex-shrink:0;width:320px}.section-label{letter-spacing:3px;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--bg2);padding:8px 16px;font-size:9px}.table-wrapper{flex:1;min-height:0;overflow-y:auto}.table-wrapper::-webkit-scrollbar{width:6px}.table-wrapper::-webkit-scrollbar-track{background:var(--bg2)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--border2)}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--green-dim)}.transition-table{border-collapse:collapse;width:100%;font-size:11px}.transition-table th{background:var(--bg2);color:var(--text-dim);letter-spacing:2px;text-align:left;border-bottom:1px solid var(--border);z-index:1;padding:8px 12px;font-size:9px;font-weight:700;position:sticky;top:0}.transition-table td{border-bottom:1px solid var(--green-faint);padding:4px 8px}.transition-table tr{transition:background var(--transition-fast)}.transition-table tr:hover td{background:var(--green-glow)}.transition-table tr.active-row td{background:#00ff411f}.transition-table tr.active-row td:first-child{border-left:2px solid var(--green)}.tt-input{font-family:var(--font-mono);color:var(--text-bright);width:100%;transition:border-color var(--transition-fast), background var(--transition-fast);background:0 0;border:1px solid #0000;outline:none;padding:3px 6px;font-size:11px}.tt-input:focus{border-color:var(--green);background:var(--surface2)}.tt-select{font-family:var(--font-mono);color:var(--text-bright);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);background:0 0;border:1px solid #0000;outline:none;padding:3px 4px;font-size:11px}.tt-select:focus,.tt-select:hover{border-color:var(--green);background:var(--surface2)}.tt-select option{background:var(--bg2)}.tt-del{font-family:var(--font-mono);color:var(--red-dim);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0 6px;font-size:14px;line-height:1}.tt-del:hover{color:var(--red)}.table-section>.btn-sm{align-self:flex-start;margin:8px 16px}.diagram-section canvas{width:100%;height:100%;display:block}.rule-display{background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:12px 24px;display:flex}.rule-cell{flex-direction:column;align-items:center;gap:4px;display:flex}.rule-pattern{gap:1px;display:flex}.rule-bit{border:1px solid var(--border2);width:14px;height:14px;transition:background var(--transition-fast), box-shadow var(--transition-fast)}.rule-bit.on{background:var(--green);box-shadow:0 0 4px var(--green)}.rule-bit.off{background:var(--bg)}.rule-arrow{color:var(--text-dim);letter-spacing:0;font-size:9px}.rule-output{width:14px;height:14px;transition:background var(--transition-fast), box-shadow var(--transition-fast);border:1px solid}.rule-output.on{background:var(--green);border-color:var(--green);box-shadow:0 0 6px var(--green)}.rule-output.off{background:var(--bg);border-color:var(--border2)}.rule-label{color:var(--text-dim);letter-spacing:0;font-size:8px}.ca-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.ca-wrapper canvas{cursor:crosshair;flex:1;min-height:0;display:block}.zoom-controls{z-index:2;align-items:center;gap:6px;display:flex;position:absolute;top:8px;right:12px}.ca-hint{letter-spacing:2px;color:var(--text-dim);pointer-events:none;opacity:.6;font-size:9px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2)}::-webkit-scrollbar-thumb:hover{background:var(--green-dim)}.glow{text-shadow:0 0 8px var(--green), 0 0 16px #00ff4166}
