footer{padding:0 var(--spacing-md)}.footer-attribution{margin-left:auto;font-size:.7rem;line-height:1.3;color:var(--text-muted);text-align:right}.footer-attribution a{color:var(--primary);text-decoration:none}.footer-attribution a:hover{text-decoration:underline}.emulator-card{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);font-family:Courier New,Lucida Console,Monaco,monospace}.emulator-layout{display:flex;gap:var(--spacing-lg)}.emulator-code{flex:1;min-width:0;display:flex;flex-direction:column}.emulator-display{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.tab-bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.tab{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:var(--gray-100);border:1px solid var(--border-color);border-bottom:none;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;cursor:pointer;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.8rem;color:var(--text-muted);transition:background-color .15s ease,color .15s ease;user-select:none}.tab:hover{background-color:var(--gray-200);color:var(--text-color)}.tab-active{background-color:var(--card-bg);color:var(--primary);border-color:var(--primary);border-bottom:1px solid var(--card-bg);margin-bottom:-1px}.tab-label{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.tab-close{font-size:.9rem;line-height:1;color:var(--gray-500);cursor:pointer;padding:0 2px;border-radius:2px;transition:color .15s ease,background-color .15s ease}.tab-close:hover{color:var(--danger);background-color:#ef476f1a}.tab-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background-color:transparent;border:1px dashed var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-muted);font-size:1rem;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;margin-left:4px}.tab-add:hover{background-color:var(--gray-200);color:var(--primary);border-color:var(--primary)}.tab-rename-input{background-color:var(--input-bg-color);color:var(--text-color);border:1px solid var(--primary);font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.8rem;padding:1px 4px;width:120px;outline:none;border-radius:2px}.editor-wrapper{display:flex;position:relative;border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);height:300px;min-height:200px;resize:vertical;overflow:hidden;margin-bottom:0}.editor-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #4361ee33}.line-numbers{width:44px;min-width:44px;background-color:var(--gray-100);border-right:1px solid var(--border-color);padding:var(--spacing-sm) 4px;text-align:right;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.9rem;line-height:1.5;color:var(--gray-500);overflow:hidden;user-select:none;box-sizing:border-box;white-space:pre}.emulator-card textarea{flex:1;height:100%;background-color:var(--input-bg-color);color:var(--text-color);border:none;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.9rem;padding:var(--spacing-sm);resize:none;border-radius:0;line-height:1.5;overflow-y:auto}.emulator-card textarea:focus{outline:none;box-shadow:none}.emulator-card h3{color:var(--gray-800);font-family:Courier New,Lucida Console,Monaco,monospace;font-size:1rem;margin-bottom:var(--spacing-sm);margin-top:0}.monitor-row{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.emulator-controls{display:flex;gap:var(--spacing-sm)}.controls-col{display:flex;flex-direction:column;gap:var(--spacing-sm)}.emulator-controls button{background-color:var(--primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-family:Courier New,Lucida Console,Monaco,monospace;font-weight:700;font-size:.85rem;border-radius:var(--border-radius-sm);transition:background-color .15s ease}.emulator-controls button:hover{background-color:var(--primary-dark)}.emulator-controls button:active{transform:translateY(1px)}.btn-toolbar{background-color:var(--gray-200)!important;color:var(--text-color)!important;border:1px solid var(--border-color)!important;padding:var(--spacing-xs) var(--spacing-md)!important;font-weight:500!important;font-size:.8rem!important}.btn-toolbar:hover{background-color:var(--gray-300)!important}.speed-control{display:flex;align-items:center;gap:4px;margin-left:var(--spacing-xs)}.speed-control label{color:var(--text-muted);font-size:.8rem;margin-bottom:0;cursor:default}.speed-control input[type=range]{width:80px;height:4px;accent-color:var(--primary);cursor:pointer}.speed-label{font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.7rem;color:var(--text-muted);min-width:48px}.display-controls{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:0;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.8rem;color:var(--text-color)}.display-controls label{color:var(--text-muted);font-size:.75rem}.display-controls input[type=number]{width:56px;background-color:var(--input-bg-color);color:var(--text-color);border:1px solid var(--input-border-color);font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.8rem;padding:2px 4px;text-align:center;border-radius:var(--border-radius-sm)}.display-controls input[type=number]:focus{border-color:var(--primary);outline:none}.display-x{color:var(--text-muted);font-size:.85rem}.display-controls button{background-color:var(--gray-200);color:var(--text-color);border:1px solid var(--border-color);padding:2px 8px;cursor:pointer;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.75rem;border-radius:var(--border-radius-sm);transition:background-color .15s ease,color .15s ease}.display-controls button:hover{background-color:var(--gray-300)}.emulator-display canvas{border:2px solid var(--border-color);image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--border-radius-sm)}.emulator-monitor{background-color:var(--gray-100);border:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);height:320px;overflow-y:auto;font-size:.8rem;font-family:Courier New,Lucida Console,Monaco,monospace;color:var(--text-color);border-radius:var(--border-radius-sm);line-height:1.6}.monitor-registers{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.monitor-address-controls{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:.75rem;flex-wrap:wrap}.monitor-address-controls label{font-size:.75rem;color:var(--text-muted);margin-bottom:0}.monitor-address-controls input{width:60px;padding:1px 4px;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.75rem;text-align:center}.monitor-address-controls button{padding:1px 8px;font-size:.7rem;font-family:Courier New,Lucida Console,Monaco,monospace}.monitor-memory{font-size:.75rem;line-height:1.5;white-space:pre}.monitor-log{flex:1;min-width:0;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--gray-100);padding:var(--spacing-sm);font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.8rem;line-height:1.5;overflow-y:auto;white-space:pre-wrap}.floating-panel{display:none;position:fixed;z-index:3000;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:520px;min-width:200px;min-height:200px;resize:both;overflow:hidden;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);flex-direction:column}.floating-panel--open{display:flex}.floating-panel-titlebar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--gray-200);border-bottom:1px solid var(--border-color);cursor:grab;user-select:none;flex-shrink:0}.floating-panel-titlebar:active{cursor:grabbing}.floating-panel-title{font-weight:600;font-size:.95rem;color:var(--gray-800)}.floating-panel-close{font-size:1.4rem;line-height:1;color:var(--gray-500);cursor:pointer;padding:0 4px;border-radius:2px;transition:color .15s ease,background-color .15s ease}.floating-panel-close:hover{color:var(--danger);background-color:#ef476f1a}.floating-panel-body{flex:1;overflow-y:auto;padding:var(--spacing-md)}.help-tabs{display:flex;border-bottom:2px solid var(--border-color);margin-bottom:var(--spacing-md);gap:0;flex-wrap:wrap}.help-tab-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s ease,border-color .15s ease;font-family:inherit;white-space:nowrap}.help-tab-btn:hover{color:var(--text-color);background:none}.help-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.help-tab-panel{display:none}.help-tab-panel.active{display:block}.opcode-table-wrapper{overflow-x:auto;margin-bottom:var(--spacing-md)}.opcode-table{width:100%;border-collapse:collapse;font-size:.8rem;font-family:Courier New,Lucida Console,Monaco,monospace}.opcode-table th,.opcode-table td{padding:4px 8px;border:1px solid var(--border-color);text-align:left}.opcode-table th{background-color:var(--gray-200);font-weight:600;position:sticky;top:0}.opcode-table tr:nth-child(2n){background-color:var(--gray-100)}.color-palette-table{border-collapse:collapse;font-size:.8rem;margin-bottom:var(--spacing-md)}.color-palette-table th,.color-palette-table td{padding:4px 8px;border:1px solid var(--border-color);text-align:center}.color-palette-table th{background-color:var(--gray-200);font-weight:600}.color-swatch{display:inline-block;width:20px;height:20px;border:1px solid var(--border-color);border-radius:2px;vertical-align:middle}.prog-calc{font-family:Courier New,Lucida Console,Monaco,monospace}.prog-calc .calc-input-group{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.prog-calc .calc-input-group label{min-width:40px;font-size:.8rem;margin-bottom:0}.prog-calc .calc-input-group input{flex:1;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.85rem;padding:var(--spacing-xs) var(--spacing-sm)}.prog-calc .calc-result{background-color:var(--gray-100);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;margin-top:var(--spacing-md)}.prog-calc .calc-result p{margin-bottom:var(--spacing-xs)}.prog-calc .calc-result p:last-child{margin-bottom:0}.prog-calc .calc-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-sm)}.prog-calc .calc-buttons button{font-family:Courier New,Lucida Console,Monaco,monospace;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-md)}.memory-map-table{width:100%;border-collapse:collapse;font-size:.8rem;font-family:Courier New,Lucida Console,Monaco,monospace;margin-bottom:var(--spacing-md)}.memory-map-table th,.memory-map-table td{padding:4px 8px;border:1px solid var(--border-color);text-align:left}.memory-map-table th{background-color:var(--gray-200);font-weight:600}body.dark-theme .footer-attribution{color:#00aa28}body.dark-theme .footer-attribution a{color:#00ff41}body.dark-theme .emulator-card{background-color:#0a0a0a;border-color:#1a3a1a;color:#00ff41}body.dark-theme .emulator-card h3{color:#00ff41}body.dark-theme .tab-bar{border-bottom-color:#1a3a1a}body.dark-theme .tab{background-color:#1a1a1a;border-color:#1a3a1a;color:#00aa28}body.dark-theme .tab:hover{background-color:#222;color:#00ff41}body.dark-theme .tab-active{background-color:#111;color:#00ff41;border-color:#00ff41;border-bottom-color:#111}body.dark-theme .tab-close{color:#666}body.dark-theme .tab-close:hover{color:#f44;background-color:#ff444426}body.dark-theme .tab-add{border-color:#1a3a1a;color:#00aa28}body.dark-theme .tab-add:hover{background-color:#1a3a1a;color:#00ff41;border-color:#00ff41}body.dark-theme .tab-rename-input{background-color:#111;color:#00ff41;border-color:#00ff41}body.dark-theme .editor-wrapper{border-color:#1a3a1a}body.dark-theme .editor-wrapper:focus-within{border-color:#00ff41;box-shadow:0 0 0 2px #00ff4133}body.dark-theme .line-numbers{background-color:#0d0d0d;border-right-color:#1a3a1a;color:#1a5a1a}body.dark-theme .emulator-card textarea{background-color:#111;color:#00ff41}body.dark-theme .emulator-controls button{background-color:#0c3;color:#000}body.dark-theme .emulator-controls button:hover{background-color:#00aa28}body.dark-theme .btn-toolbar{background-color:#1a3a1a!important;color:#0c3!important;border-color:#00aa28!important}body.dark-theme .btn-toolbar:hover{background-color:#00aa28!important;color:#000!important}body.dark-theme .speed-control label{color:#00aa28}body.dark-theme .speed-control input[type=range]{accent-color:#00cc33}body.dark-theme .speed-label{color:#00aa28}body.dark-theme .display-controls{color:#00ff41}body.dark-theme .display-controls label{color:#00aa28}body.dark-theme .display-controls input[type=number]{background-color:#111;color:#00ff41;border-color:#1a3a1a}body.dark-theme .display-controls input[type=number]:focus{border-color:#00ff41}body.dark-theme .display-x{color:#00aa28}body.dark-theme .display-controls button{background-color:#1a3a1a;color:#0c3;border-color:#00aa28}body.dark-theme .display-controls button:hover{background-color:#00aa28;color:#000}body.dark-theme .emulator-display canvas{border-color:#00ff41}body.dark-theme .emulator-monitor{background-color:#111;border-color:#1a3a1a;color:#00ff41}body.dark-theme .monitor-registers{border-bottom-color:#1a3a1a}body.dark-theme .monitor-address-controls label{color:#00aa28}body.dark-theme .monitor-address-controls input{background-color:#0d0d0d;color:#00ff41;border-color:#1a3a1a}body.dark-theme .monitor-address-controls input:focus{border-color:#00ff41}body.dark-theme .monitor-log{background-color:#0d0d0d;border-color:#1a3a1a;color:#00ff41}body.dark-theme .floating-panel{background-color:#0a0a0a;border-color:#1a3a1a;box-shadow:0 4px 24px #0009}body.dark-theme .floating-panel-titlebar{background-color:#111;border-bottom-color:#1a3a1a}body.dark-theme .floating-panel-title{color:#00ff41}body.dark-theme .floating-panel-close{color:#666}body.dark-theme .floating-panel-close:hover{color:#f44;background-color:#ff444426}body.dark-theme .floating-panel-body{color:#00ff41}body.dark-theme .help-tab-btn{color:#00aa28}body.dark-theme .help-tab-btn:hover{color:#00ff41}body.dark-theme .help-tab-btn.active{color:#00ff41;border-bottom-color:#00ff41}body.dark-theme .help-tabs{border-bottom-color:#1a3a1a}body.dark-theme .opcode-table th{background-color:#1a3a1a;color:#00ff41}body.dark-theme .opcode-table td{border-color:#1a3a1a}body.dark-theme .opcode-table tr:nth-child(2n){background-color:#0d1a0d}body.dark-theme .color-palette-table th{background-color:#1a3a1a;color:#00ff41}body.dark-theme .color-palette-table td{border-color:#1a3a1a}body.dark-theme .memory-map-table th{background-color:#1a3a1a;color:#00ff41}body.dark-theme .memory-map-table td{border-color:#1a3a1a}body.dark-theme .prog-calc .calc-result{background-color:#111;border-color:#1a3a1a;color:#00ff41}
