@font-face{font-family:ZXSpectrum;src:url(/fonts/zx-spectrum.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg-primary: #141416;--bg-secondary: #1a1a1d;--text-primary: #e0e0e0;--text-secondary: #999;--text-muted: #666;--border-color: #333;--accent-color: #cc0000;--glass-bg: rgba(13, 17, 23, .85);--glass-bg-header: rgba(33, 38, 45, .6);--glass-border: rgba(48, 54, 61, .6);--overlay-hover: rgba(255, 255, 255, .08);--overlay-active: rgba(255, 255, 255, .15);--overlay-white-10: rgba(255, 255, 255, .1);--accent-blue: #00FFFF;--accent-blue-bg: rgba(0, 255, 255, .12);--accent-blue-bg-strong: rgba(0, 255, 255, .2);--accent-blue-bg-stronger: rgba(0, 255, 255, .3);--accent-blue-border: rgba(0, 255, 255, .4);--accent-blue-border-light: rgba(0, 255, 255, .3);--accent-green: #00FF00;--accent-green-bg: rgba(0, 255, 0, .15);--accent-green-bg-strong: rgba(0, 255, 0, .2);--accent-green-bg-stronger: rgba(0, 255, 0, .25);--accent-green-border: rgba(0, 255, 0, .4);--accent-green-border-light: rgba(0, 255, 0, .3);--accent-red: #FF0000;--accent-red-bg: rgba(255, 0, 0, .12);--accent-red-bg-strong: rgba(255, 0, 0, .18);--accent-red-bg-stronger: rgba(255, 0, 0, .2);--accent-red-border: rgba(255, 0, 0, .4);--accent-purple: #FF00FF;--accent-purple-bg: rgba(255, 0, 255, .12);--accent-purple-bg-strong: rgba(255, 0, 255, .2);--accent-orange: #FFFF00;--accent-orange-bg: rgba(255, 255, 0, .12);--accent-orange-bg-strong: rgba(255, 255, 0, .2);--accent-orange-bg-stronger: rgba(255, 255, 0, .25);--accent-orange-border: rgba(255, 255, 0, .4);--accent-orange-border-light: rgba(255, 255, 0, .3);--accent-orange-border-strong: rgba(255, 255, 0, .5);--overlay-subtle: rgba(255, 255, 255, .04);--overlay-faint: rgba(255, 255, 255, .03);--glass-bg-solid: rgba(13, 17, 23, .95);--glass-border-subtle: rgba(48, 54, 61, .3);--input-bg: rgba(0, 0, 0, .15);--input-bg-deep: rgba(0, 0, 0, .25);--separator-bg: rgba(48, 54, 61, .6);--control-bg: rgba(33, 38, 45, .5);--reg-flash-color: #FFFF00;--reg-flash-bg: rgba(255, 255, 0, .15);--flag-active-glow: rgba(0, 255, 0, .2);--input-bg-dark: rgba(22, 27, 34, .5);--input-bg-deeper: rgba(10, 12, 16, .6);--badge-dim-bg: rgba(48, 54, 61, .5);--overlay-white-02: rgba(255, 255, 255, .02);--border-default: rgba(48, 54, 61, .6);--border-muted: rgba(48, 54, 61, .4);--canvas-bg: #05050a;--canvas-line: #1a1a2a;--screen-surround: #c8b89a;--channel-a: #00FFFF;--channel-b: #00FF00;--channel-c: #FF0000;--beeper-color: #00FF00;--control-border: rgba(48, 54, 61, .8);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-window: 0 2px 12px rgba(0, 0, 0, .4);--shadow-window-focused: 0 16px 64px rgba(0, 0, 0, 1), 0 6px 24px rgba(0, 0, 0, .9), 0 0 0 1px rgba(0, 255, 255, .6);--radius-sm: 4px;--radius-md: 8px;--shimmer-peak: rgba(255, 255, 255, .85);--shimmer-edge: rgba(255, 255, 255, .35);--stripe-red: #FF0000;--stripe-yellow: #FFFF00;--stripe-green: #00FF00;--stripe-cyan: #00FFFF;--stripe-opacity: .2;--logo-red: var(--accent-red);--logo-yellow: var(--accent-orange);--logo-green: var(--accent-green);--logo-blue: var(--accent-blue);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Menlo", monospace}html[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--text-primary: #1f2328;--text-secondary: #656d76;--text-muted: #8b949e;--border-color: #d0d7de;--accent-color: #b42d31;--glass-bg: rgba(255, 255, 255, .92);--glass-bg-header: rgba(246, 248, 250, .8);--glass-border: rgba(208, 215, 222, .8);--overlay-hover: rgba(31, 35, 40, .08);--overlay-active: rgba(31, 35, 40, .12);--overlay-white-10: rgba(31, 35, 40, .06);--accent-blue: #0000CD;--accent-blue-bg: rgba(0, 0, 205, .1);--accent-blue-bg-strong: rgba(0, 0, 205, .16);--accent-blue-bg-stronger: rgba(0, 0, 205, .22);--accent-blue-border: rgba(0, 0, 205, .4);--accent-blue-border-light: rgba(0, 0, 205, .3);--accent-green: #008A00;--accent-green-bg: rgba(0, 138, 0, .1);--accent-green-bg-strong: rgba(0, 138, 0, .16);--accent-green-bg-stronger: rgba(0, 138, 0, .22);--accent-green-border: rgba(0, 138, 0, .4);--accent-green-border-light: rgba(0, 138, 0, .3);--accent-red: #CD0000;--accent-red-bg: rgba(205, 0, 0, .1);--accent-red-bg-strong: rgba(205, 0, 0, .16);--accent-red-bg-stronger: rgba(205, 0, 0, .2);--accent-red-border: rgba(205, 0, 0, .4);--accent-purple: #CD00CD;--accent-purple-bg: rgba(205, 0, 205, .1);--accent-purple-bg-strong: rgba(205, 0, 205, .16);--accent-orange: #8B8B00;--accent-orange-bg: rgba(139, 139, 0, .1);--accent-orange-bg-strong: rgba(139, 139, 0, .16);--accent-orange-bg-stronger: rgba(139, 139, 0, .22);--accent-orange-border: rgba(139, 139, 0, .4);--accent-orange-border-light: rgba(139, 139, 0, .3);--accent-orange-border-strong: rgba(139, 139, 0, .5);--overlay-subtle: rgba(31, 35, 40, .04);--overlay-faint: rgba(31, 35, 40, .03);--glass-bg-solid: rgba(255, 255, 255, .97);--glass-border-subtle: rgba(208, 215, 222, .5);--input-bg: rgba(246, 248, 250, .6);--input-bg-deep: rgba(232, 236, 240, .6);--separator-bg: rgba(208, 215, 222, .8);--control-bg: rgba(246, 248, 250, .6);--reg-flash-color: #8B8B00;--reg-flash-bg: rgba(139, 139, 0, .15);--flag-active-glow: rgba(0, 205, 0, .15);--input-bg-dark: rgba(246, 248, 250, .5);--input-bg-deeper: rgba(232, 236, 240, .8);--badge-dim-bg: rgba(208, 215, 222, .5);--overlay-white-02: rgba(31, 35, 40, .02);--border-default: rgba(208, 215, 222, .8);--border-muted: rgba(208, 215, 222, .5);--canvas-bg: #f0f2f5;--canvas-line: #d0d7de;--screen-surround: #c8b89a;--channel-a: #0000CD;--channel-b: #008A00;--channel-c: #CD0000;--beeper-color: #008A00;--control-border: rgba(208, 215, 222, .8);--shimmer-peak: rgba(255, 255, 255, 1);--shimmer-edge: rgba(255, 255, 255, .5);--stripe-red: #CD0000;--stripe-yellow: #C2C200;--stripe-green: #00CD00;--stripe-cyan: #00C2C2;--stripe-opacity: .15;--logo-red: #E00000;--logo-yellow: #B8860B;--logo-green: #008A00;--logo-blue: #0055CC;--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .25);--shadow-window: 0 2px 12px rgba(0, 0, 0, .12);--shadow-window-focused: 0 16px 64px rgba(0, 0, 0, .5), 0 6px 24px rgba(0, 0, 0, .4), 0 0 0 1px rgba(0, 0, 205, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;bottom:0;right:0;width:50vw;height:50vw;pointer-events:none;z-index:0;background:linear-gradient(to top left,var(--stripe-red) 0%,var(--stripe-red) 6%,var(--stripe-yellow) 6%,var(--stripe-yellow) 12%,var(--stripe-green) 12%,var(--stripe-green) 18%,var(--stripe-cyan) 18%,var(--stripe-cyan) 24%,transparent 24%);opacity:var(--stripe-opacity)}#app{display:flex;flex-direction:column;height:100vh;width:100vw}header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:44px;flex-shrink:0;z-index:2000;position:relative;transition:transform .25s ease,opacity .25s ease}:fullscreen header{transform:translateY(-100%);opacity:0;pointer-events:none}:fullscreen header.header-visible{transform:translateY(0);opacity:1;pointer-events:auto}.header-left{display:flex;align-items:center;gap:12px}.header-logo{display:flex;align-items:center;height:44px;font-family:"ZXSpectrum",var(--font-mono);font-size:24px;font-weight:400;letter-spacing:1px;line-height:1;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;position:relative;padding-top:10px}.logo-r{color:var(--logo-red)}.logo-w{color:var(--text-primary)}.logo-y{color:var(--logo-yellow)}.logo-g{color:var(--logo-green)}.logo-c{color:var(--logo-blue)}.version-chip{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:var(--accent-blue-bg);color:var(--accent-blue);border:1px solid var(--accent-blue-border);-webkit-user-select:none;user-select:none}.logo-text{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.header-controls{display:flex;align-items:center;gap:8px}.control-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.control-btn:hover{background:var(--overlay-hover);color:var(--text-primary);border-color:var(--text-muted)}.control-btn:active{transform:scale(.95)}.control-btn svg{width:18px;height:18px}.control-btn.power-btn{color:var(--accent-green)}.control-btn.power-btn:hover{background:var(--accent-green-bg);color:#fff;border-color:var(--accent-green)}.control-btn.power-btn.off{color:var(--accent-red)}.control-btn.power-btn.off:hover{background:transparent;color:var(--accent-red);border-color:var(--accent-red);box-shadow:0 0 20px var(--accent-red-bg-stronger)}.header-text-btn{display:flex;align-items:center;justify-content:center;height:36px;padding:0 12px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.header-text-btn:hover{background:var(--overlay-hover);color:var(--text-primary);border-color:var(--text-muted)}.header-text-btn:active{transform:scale(.95)}.header-text-btn.disabled,.control-btn.disabled{opacity:.35;pointer-events:none;cursor:default}.header-divider{width:1px;height:20px;background:var(--border-color);margin:0 4px;flex-shrink:0}.header-menu-container{position:relative}.header-menu-trigger{display:flex;align-items:center;gap:4px;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:.8125rem;font-weight:400;cursor:pointer;transition:color .15s,background .15s}.header-menu-trigger:hover,.header-menu-container.open .header-menu-trigger{background:var(--overlay-hover);color:var(--text-primary)}.header-menu-trigger svg.menu-chevron{color:var(--text-muted);transition:transform .2s}.header-menu-container.open .header-menu-trigger svg.menu-chevron{transform:rotate(180deg)}.header-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .15s,transform .15s,visibility .15s;z-index:2000;padding:4px 0}.header-menu-container.open .header-menu{opacity:1;visibility:visible;transform:translateY(0)}.header-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:.8125rem;text-align:left;cursor:pointer;transition:background .1s}.header-menu-item:hover{background:var(--overlay-hover)}.menu-check-item{justify-content:flex-start;gap:6px}.menu-check{display:inline-block;width:14px;font-size:12px;text-align:center;color:var(--accent-green);visibility:hidden;flex-shrink:0}.menu-check-item.active .menu-check{visibility:visible}.header-menu .toggle-row{cursor:default}.header-menu .toggle-switch{position:relative;display:inline-block;width:40px;height:22px;background:transparent;border:none}.header-menu .toggle-switch:after{display:none}.header-menu .toggle-switch input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.header-menu .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-active);border-radius:22px;transition:.2s}.header-menu .toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.header-menu .toggle-switch input:checked+.toggle-slider{background-color:var(--accent-blue)}.header-menu .toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.header-menu-separator{height:1px;background:var(--glass-border);margin:4px 8px}.header-menu-section-label{padding:6px 12px 2px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);cursor:default}.control-group{display:flex;align-items:center;gap:6px;margin-left:4px}.panel-trigger-group{display:flex;align-items:center;gap:4px}.icon-menu-trigger{display:flex;align-items:center;gap:2px;padding:6px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.icon-menu-trigger:hover{background:var(--overlay-hover);color:var(--text-primary)}.icon-menu-trigger:active{transform:scale(.95)}.icon-menu-trigger svg:not(.menu-chevron){width:18px;height:18px}.icon-menu-trigger .menu-chevron{color:var(--text-muted);flex-shrink:0}.icon-menu-trigger.speed-active{color:var(--accent-orange)}.icon-menu-trigger.speed-active:hover{background:var(--accent-orange-bg);color:var(--accent-orange)}.sound-control-wrapper{position:relative}.sound-popup{position:absolute;top:100%;right:0;margin-top:8px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px;min-width:200px;box-shadow:var(--shadow-lg);z-index:10000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .15s,transform .15s,visibility .15s}.sound-popup.open{opacity:1;visibility:visible;transform:translateY(0)}.sound-popup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--glass-border)}.sound-popup-row:last-child{border-bottom:none}.sound-popup-row label:first-child{font-size:.8125rem;color:var(--text-secondary);flex-shrink:0}.sound-popup-row input[type=range]{flex:1;height:4px;background:var(--overlay-white-10);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.sound-popup-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-blue);border-radius:50%;cursor:pointer}.sound-popup-row input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent-blue);border:none;border-radius:50%;cursor:pointer}#volume-value{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);min-width:32px;text-align:right}.sound-popup .toggle-switch{position:relative;display:inline-block;width:40px;height:22px;background:transparent;border:none}.sound-popup .toggle-switch:after{display:none}.sound-popup .toggle-switch input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.sound-popup .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-active);border-radius:22px;transition:.2s}.sound-popup .toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.sound-popup .toggle-switch input:checked+.toggle-slider{background-color:var(--accent-blue)}.sound-popup .toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.speed-control-wrapper{position:relative}.speed-popup{position:absolute;top:100%;right:0;margin-top:8px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px;min-width:200px;box-shadow:var(--shadow-lg);z-index:10000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .15s,transform .15s,visibility .15s}.speed-popup.open{opacity:1;visibility:visible;transform:translateY(0)}.speed-popup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.speed-popup-row label:first-child{font-size:.8125rem;color:var(--text-secondary);flex-shrink:0}.speed-popup-row input[type=range]{flex:1;height:4px;background:var(--overlay-white-10);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.speed-popup-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-blue);border-radius:50%;cursor:pointer}.speed-popup-row input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent-blue);border:none;border-radius:50%;cursor:pointer}#speed-value{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);min-width:24px;text-align:right}.icon-muted.hidden,.icon-unmuted.hidden,.icon-expand.hidden,.icon-compress.hidden{display:none}.control-btn.fullscreen-active{color:var(--accent-blue);border-color:var(--accent-blue-border-light)}.control-btn.fullscreen-active:hover{background:var(--accent-blue-bg);color:var(--accent-blue);border-color:var(--accent-blue-border)}main{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.emulator-section{display:flex;align-items:center;justify-content:center}#monitor-frame{display:none}#screen{display:block;image-rendering:pixelated;image-rendering:crisp-edges;background:#000;outline:none}#screen:focus{outline:none}#loading{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-secondary);font-size:16px;z-index:3000}#loading.hidden{display:none}.debug-window{position:fixed;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-window);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.debug-window.hidden{display:none}.debug-window.dragging,.debug-window.resizing{-webkit-user-select:none;user-select:none}.debug-window.focused{border-color:var(--accent-blue-border-light);box-shadow:var(--shadow-window-focused)}.debug-window-header{display:flex;justify-content:space-between;align-items:center;padding:3px 8px;background:var(--glass-bg-header);border-bottom:1px solid var(--control-border);border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:move;min-height:24px}.debug-window-title{font-family:var(--font-sans);font-size:.6875rem;font-weight:600;color:var(--text-primary);line-height:1}.debug-window-close{background:none;border:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer;padding:1px 4px;line-height:1;border-radius:var(--radius-sm);opacity:.6;transition:all .15s}.debug-window-close:hover{opacity:1;color:var(--accent-red)}.debug-window-content{flex:1;min-height:0;padding:8px;overflow:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);line-height:1.4}.debug-resize-handle{position:absolute;background:transparent}.debug-resize-handle.n{top:-3px;left:10px;right:10px;height:6px;cursor:n-resize}.debug-resize-handle.s{bottom:-3px;left:10px;right:10px;height:6px;cursor:s-resize}.debug-resize-handle.e{top:10px;right:-3px;bottom:10px;width:6px;cursor:e-resize}.debug-resize-handle.w{top:10px;left:-3px;bottom:10px;width:6px;cursor:w-resize}.debug-resize-handle.ne{top:-3px;right:-3px;width:12px;height:12px;cursor:ne-resize}.debug-resize-handle.nw{top:-3px;left:-3px;width:12px;height:12px;cursor:nw-resize}.debug-resize-handle.se{bottom:-3px;right:-3px;width:12px;height:12px;cursor:se-resize}.debug-resize-handle.sw{bottom:-3px;left:-3px;width:12px;height:12px;cursor:sw-resize}.debug-window-content::-webkit-scrollbar{width:5px;height:5px}.debug-window-content::-webkit-scrollbar-track{background:transparent}.debug-window-content::-webkit-scrollbar-thumb{background:var(--overlay-active);border-radius:3px}.debug-window-content::-webkit-scrollbar-thumb:hover{background:var(--overlay-active)}.debug-window.chromeless{border:none;border-radius:var(--radius-md);box-shadow:none;overflow:hidden}.debug-window.chromeless .debug-window-header,.debug-window.chromeless .debug-resize-handle{display:none}.debug-window.chromeless .screen-window-lock{opacity:0;background:var(--glass-bg);border-color:var(--glass-border);transition:opacity .2s}.debug-window.chromeless:hover .screen-window-lock{opacity:.7}.debug-window.chromeless .screen-window-lock:hover{opacity:1}#screen-window .debug-window-content{padding:0;overflow:hidden;background:#000}.screen-window-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.screen-window-content #screen{display:block}.screen-window-lock{position:absolute;top:3px;right:4px;z-index:10;display:grid;place-items:center;width:18px;height:18px;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:.5;transition:opacity .15s,color .15s,background .15s,border-color .15s}.screen-window-lock:hover{opacity:1;color:var(--text-primary);background:var(--overlay-hover);border-color:var(--overlay-white-10)}.screen-window-lock.active{opacity:1;color:var(--accent-green);background:var(--accent-green-bg);border-color:var(--accent-green-border-light)}.screen-window-lock.active:hover{background:var(--accent-green-bg-strong);border-color:var(--accent-green-border)}.screen-window-lock svg{grid-area:1 / 1;transition:opacity .15s}.screen-window-lock .lock-icon-expand{opacity:1}.screen-window-lock .lock-icon-compress,.screen-window-lock.active .lock-icon-expand{opacity:0}.screen-window-lock.active .lock-icon-compress{opacity:1}.display-settings-content{display:flex;flex-direction:column;gap:8px;font-family:var(--font-sans);font-size:11px;overflow:hidden}.display-settings-content .settings-section{background:var(--input-bg-dark);border-radius:var(--radius-sm);padding:6px 8px}.display-settings-content .settings-section-title{font-family:var(--font-sans);font-size:9px;font-weight:600;color:var(--accent-blue);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;padding-bottom:3px;border-bottom:1px solid var(--accent-blue-bg)}.display-settings-content .setting-row{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:6px;padding:2px 0}.display-settings-content .setting-row label{font-family:var(--font-sans);font-size:10px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-settings-content input[type=range]{width:100%;min-width:0;height:4px;background:var(--input-bg-deeper);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.display-settings-content input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--accent-blue);border-radius:50%;cursor:pointer;transition:all .1s}.display-settings-content input[type=range]::-webkit-slider-thumb:hover{background:var(--accent-green);transform:scale(1.1)}.display-settings-content input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--accent-blue);border:none;border-radius:50%;cursor:pointer}.display-settings-content input[type=range]::-moz-range-track{height:4px;background:var(--input-bg-deeper);border-radius:2px}.display-settings-content .setting-value{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);text-align:right}.display-settings-content input[type=color]{grid-column:2 / 4;width:100%;height:22px;padding:1px 2px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);cursor:pointer}.display-settings-content input[type=color]::-webkit-color-swatch-wrapper{padding:1px}.display-settings-content input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.display-settings-content .toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.display-settings-content .toggle-row>label:first-child{font-family:var(--font-sans);font-size:10px;color:var(--text-secondary)}.display-settings-content .toggle{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0}.display-settings-content .toggle input{opacity:0;width:0;height:0}.display-settings-content .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--input-bg-deeper);border-radius:18px;transition:all .2s}.display-settings-content .toggle-slider:before{position:absolute;content:"";height:12px;width:12px;left:3px;bottom:3px;background:var(--text-muted);border-radius:50%;transition:all .2s}.display-settings-content .toggle input:checked+.toggle-slider{background:var(--accent-green-bg)}.display-settings-content .toggle input:checked+.toggle-slider:before{transform:translate(14px);background:var(--accent-green)}.display-settings-content .settings-actions{padding-top:8px;border-top:1px solid var(--glass-border)}.display-settings-content .settings-btn{width:100%;padding:6px 12px;font-family:var(--font-sans);font-size:10px;font-weight:500;background:var(--glass-bg-header);border:1px solid var(--control-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .1s}.display-settings-content .settings-btn:hover{background:var(--accent-red-bg-strong);border-color:var(--accent-red-border);color:var(--accent-red)}.theme-selector-row{display:flex;align-items:center;justify-content:space-between;cursor:default}.theme-selector-row:hover{background:transparent}.theme-btn-group{display:flex;gap:2px}.theme-btn{display:flex;align-items:center;justify-content:center;width:28px;height:24px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .15s;padding:0}.theme-btn svg{width:14px;height:14px}.theme-btn:hover{color:var(--text-primary);background:var(--overlay-hover)}.theme-btn.active{background:var(--accent-blue-bg-strong);border-color:var(--accent-blue-border-light);color:var(--accent-blue)}.cpu-dbg{display:flex;flex-direction:column;height:100%;min-height:0}.cpu-dbg-toolbar{display:flex;align-items:center;gap:6px;padding:4px 0 5px;border-bottom:1px solid var(--separator-bg);margin-bottom:6px}.cpu-dbg-btn-group{display:flex;gap:2px}.cpu-dbg-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;font-family:var(--font-sans);font-size:10px;font-weight:500;background:var(--glass-bg-header);border:1px solid var(--control-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.cpu-dbg-btn:hover{background:var(--glass-border);color:var(--text-primary)}.cpu-dbg-btn:active{transform:scale(.98)}.cpu-btn-run-pause{min-width:60px;height:24px;justify-content:center}.cpu-btn-run-pause[data-state=pause]{background:var(--accent-red-bg);border-color:var(--accent-red-border);color:var(--accent-red)}.cpu-btn-run-pause[data-state=pause]:hover{background:var(--accent-red-bg-stronger);border-color:var(--accent-red-border);color:var(--accent-red)}.cpu-btn-run-pause[data-state=run]{background:var(--accent-green-bg);border-color:var(--accent-green-border-light);color:var(--accent-green)}.cpu-btn-run-pause[data-state=run]:hover{background:var(--accent-green-bg-stronger);border-color:var(--accent-green-border);color:var(--accent-green)}.cpu-btn-step{background:var(--accent-orange-bg);border-color:var(--accent-orange-border-light);color:var(--accent-orange)}.cpu-btn-step:hover{background:var(--accent-orange-bg-stronger);border-color:var(--accent-orange-border-strong);color:var(--accent-orange)}.cpu-dbg-sep{width:1px;height:16px;background:var(--separator-bg);flex-shrink:0}.cpu-dbg-status-bar{display:flex;align-items:center;justify-content:space-between;padding:3px 6px;background:var(--input-bg);border:1px solid var(--glass-border-subtle);border-radius:4px;margin-bottom:4px}.cpu-dbg-status-bar-left{display:flex;align-items:center;gap:6px}.cpu-dbg-status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-orange);flex-shrink:0}.cpu-dbg-status-bar[data-state=running] .cpu-dbg-status-dot{background:var(--accent-green);animation:cpu-status-dot-pulse 1.5s ease-in-out infinite}.cpu-dbg-status-bar[data-state=paused] .cpu-dbg-status-dot{animation:none}.cpu-dbg-status-bar[data-state=off] .cpu-dbg-status-dot{background:var(--text-muted);animation:none}@keyframes cpu-status-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.cpu-dbg-status-bar[data-state=off] .cpu-dbg-status-text{color:var(--text-muted)}.cpu-dbg-status-text{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--accent-orange)}.cpu-dbg-status-text.running{color:var(--accent-green)}.cpu-dbg-section{display:flex;align-items:center;gap:8px;padding:5px 6px;border:1px solid var(--glass-border-subtle);border-radius:4px;background:var(--input-bg);margin-bottom:4px}.cpu-dbg-section-label{font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--text-muted);flex-shrink:0;min-width:34px}.cpu-dbg-regs{display:flex;gap:3px;flex:1}.cpu-dbg-reg{display:flex;align-items:center;gap:4px;padding:4px 6px;background:var(--input-bg-deep);border-radius:3px;flex:1;min-width:0}.reg-label{font-size:9px;font-weight:600;color:var(--text-muted);flex-shrink:0}.reg-value{font-size:13px;font-weight:600;color:var(--accent-green);font-family:var(--font-mono)}.reg-value.changed{animation:reg-flash .5s ease-out forwards}.reg-value[style*=cursor]{border-radius:2px;transition:background .1s}.reg-value[style*=cursor]:hover{background:var(--accent-blue-bg)}@keyframes reg-flash{0%{color:var(--reg-flash-color);background:var(--reg-flash-bg)}to{color:var(--accent-green);background:transparent}}.cpu-flags{display:flex;gap:2px;flex:1}.cpu-flags .flag{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;background:var(--input-bg-deeper);border:1px solid transparent;border-radius:3px;color:var(--text-muted);transition:all .12s}.cpu-flags .flag.active{background:var(--accent-green-bg-strong);border-color:var(--accent-green-border);color:var(--accent-green);box-shadow:0 0 6px var(--flag-active-glow)}.cpu-dbg-timing-row{display:flex;align-items:center;gap:6px;flex:1}.cpu-dbg-cycles{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary)}.cpu-dbg-cycles .meta-dim{color:var(--text-muted);font-size:9px;font-weight:600}.irq-indicator{font-family:var(--font-mono);font-size:8px;font-weight:700;padding:1px 4px;border-radius:2px;background:var(--badge-dim-bg);border:1px solid var(--glass-border-subtle);color:var(--text-muted);transition:all .15s}.irq-indicator.active{background:var(--accent-red-bg-stronger);border-color:var(--accent-red-border);color:var(--accent-red)}.cpu-dbg-disasm{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;margin-bottom:4px}.cpu-dbg-disasm-bar{display:flex;gap:3px;margin-bottom:4px;flex-shrink:0}.cpu-dbg-disasm-bar input{flex:1;padding:3px 6px;font-family:var(--font-mono);font-size:10px;background:var(--input-bg-deeper);border:1px solid var(--control-border);border-radius:3px;color:var(--text-primary);outline:none}.cpu-dbg-disasm-bar input:focus{border-color:var(--accent-blue-border)}.cpu-dbg-bar-btn{padding:3px 7px;font-family:var(--font-mono);font-size:9px;font-weight:500;background:var(--control-bg);border:1px solid var(--control-border);border-radius:3px;color:var(--text-secondary);cursor:pointer;transition:all .1s}.cpu-dbg-bar-btn:hover{background:var(--glass-border);color:var(--text-primary)}.cpu-disasm-view{background:var(--input-bg-dark);border:1px solid var(--glass-border-subtle);border-radius:3px;padding:2px 0;flex:1;overflow-y:auto;min-height:120px}.cpu-disasm-line{display:flex;align-items:center;padding:1px 6px;cursor:pointer;border-left:2px solid transparent;transition:background .08s;-webkit-user-select:none;user-select:none;font-size:11px;line-height:1.5}.cpu-disasm-line>*{pointer-events:none}.cpu-disasm-line:hover{background:var(--overlay-subtle)}.cpu-disasm-line.current{background:var(--accent-blue-bg);border-left-color:var(--accent-blue)}.cpu-disasm-line.breakpoint{background:var(--accent-red-bg);border-left-color:var(--accent-red)}.cpu-disasm-line.current.breakpoint{background:linear-gradient(90deg,var(--accent-blue-bg) 0%,var(--accent-red-bg) 100%);border-left-color:var(--accent-red)}.cpu-disasm-gutter{min-width:14px;width:14px;text-align:center;font-size:8px;flex-shrink:0}.cpu-disasm-gutter .bp-dot{display:inline-block;width:8px;height:8px;background:var(--accent-red);border-radius:50%;box-shadow:0 0 4px var(--accent-red-bg-stronger)}.cpu-disasm-gutter .pc-arrow{color:var(--accent-blue);font-size:9px;text-shadow:0 0 3px var(--accent-blue-bg-stronger)}.cpu-disasm-addr{color:var(--accent-blue);min-width:36px;opacity:.8;font-size:10px}.cpu-disasm-line.current .cpu-disasm-addr{color:var(--text-primary);opacity:1;font-weight:600}.cpu-disasm-bytes{color:var(--text-muted);min-width:68px;font-size:10px;opacity:.7}.cpu-disasm-mnemonic{color:var(--text-primary);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disasm-flow{color:var(--accent-red);font-weight:600}.disasm-load{color:var(--accent-blue)}.disasm-alu{color:var(--accent-green)}.disasm-ctrl{color:var(--accent-orange);font-weight:600}.disasm-io{color:var(--accent-purple)}.disasm-op{color:var(--text-primary)}.disasm-operands{color:var(--text-secondary)}.disasm-num{color:var(--accent-orange)}.cpu-disasm-line.current .disasm-flow,.cpu-disasm-line.current .disasm-load,.cpu-disasm-line.current .disasm-alu,.cpu-disasm-line.current .disasm-ctrl,.cpu-disasm-line.current .disasm-io,.cpu-disasm-line.current .disasm-op,.cpu-disasm-line.current .disasm-operands,.cpu-disasm-line.current .disasm-num{filter:brightness(1.3)}.cpu-dbg-tabs{display:flex;flex-direction:column;min-height:140px;overflow:hidden;border-top:1px solid var(--control-border)}.cpu-dbg-tab-bar{display:flex;gap:0;flex-shrink:0}.cpu-dbg-tab{padding:5px 12px;font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:5px}.cpu-dbg-tab:hover{color:var(--text-secondary);background:var(--overlay-white-02)}.cpu-dbg-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.cpu-dbg-tab-count{font-size:8px;font-weight:700;min-width:14px;height:14px;line-height:14px;text-align:center;border-radius:7px;background:var(--badge-dim-bg);color:var(--text-muted);display:inline-block}.cpu-dbg-tab-count.has-items{background:var(--accent-blue-bg-strong);color:var(--accent-blue)}.cpu-dbg-tab-content{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}.cpu-dbg-tab-content.active{display:flex}.cpu-dbg-tab-toolbar{display:flex;gap:3px;padding:4px 0;flex-shrink:0}.cpu-dbg-tab-toolbar input{flex:1;min-width:0;padding:2px 5px;font-family:var(--font-mono);font-size:10px;background:var(--input-bg-deep);border:1px solid var(--control-border);border-radius:3px;color:var(--text-primary);outline:none}.cpu-dbg-tab-toolbar input:focus{border-color:var(--accent-blue-border)}.cpu-dbg-add-btn{padding:2px 7px;font-family:var(--font-mono);font-size:11px;font-weight:600;background:var(--control-bg);border:1px solid var(--control-border);border-radius:3px;color:var(--text-secondary);cursor:pointer;transition:all .1s;flex-shrink:0;line-height:1}.cpu-dbg-add-btn:hover{background:var(--accent-green-bg-strong);border-color:var(--accent-green-border);color:var(--accent-green)}.cpu-dbg-empty-state{padding:12px 8px;text-align:center;color:var(--text-muted);font-size:10px;font-style:italic;opacity:.7}.cpu-bp-list{flex:1;overflow-y:auto}.cpu-bp-item{display:flex;align-items:center;gap:4px;padding:4px;font-size:10px;border-radius:3px;cursor:default}.cpu-bp-item:hover{background:var(--overlay-faint)}.cpu-bp-item .bp-addr{color:var(--accent-red);flex-shrink:0;font-family:var(--font-mono)}.cpu-bp-item .bp-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:0 4px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .1s,color .1s;line-height:1}.cpu-bp-item:hover .bp-remove{opacity:.6}.cpu-bp-item .bp-remove:hover{opacity:1;color:var(--accent-red)}.cpu-dbg-reg-edit{width:40px;background:var(--input-bg-deeper);border:1px solid var(--accent-blue);border-radius:2px;color:var(--accent-green);font-family:var(--font-mono);font-size:13px;font-weight:600;padding:0 2px;outline:none}.stack-info{display:flex;align-items:center;gap:12px;padding:6px 8px;border-bottom:1px solid var(--separator-bg)}.stack-sp-label,.stack-depth-label{font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--text-muted)}.stack-sp-value{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent-green)}.stack-depth-value{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary)}.stack-header{display:flex;gap:12px;padding:3px 8px;background:var(--input-bg);border-bottom:1px solid var(--glass-border-subtle);font-family:var(--font-mono);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.stack-col-addr{min-width:42px}.stack-col-value{min-width:28px}.stack-col-info{flex:1}.stack-content{flex:1;overflow-y:auto;font-family:var(--font-mono)}.stack-entry{display:flex;gap:12px;padding:2px 8px;font-size:11px;line-height:1.5;border-left:2px solid transparent;transition:background .08s}.stack-entry:hover{background:var(--accent-blue-bg)}.stack-entry.stack-top{background:var(--accent-green-bg);border-left-color:var(--accent-green)}.stack-entry.stack-top:hover{background:var(--accent-green-bg-stronger)}.stack-entry.return-addr-low,.stack-entry.return-addr-high{background:var(--accent-purple-bg)}.stack-entry.return-addr-low:hover,.stack-entry.return-addr-high:hover{background:var(--accent-purple-bg-strong)}.stack-entry.stack-top.return-addr-low{background:linear-gradient(90deg,var(--accent-green-bg) 0%,var(--accent-purple-bg) 100%);border-left-color:var(--accent-green)}.stack-addr{min-width:42px;color:var(--accent-purple);font-size:10px}.stack-value{min-width:28px;color:var(--text-secondary);font-size:11px}.stack-info-text{flex:1;color:var(--text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack-entry.return-addr-low .stack-info-text{color:var(--accent-blue)}.stack-empty{padding:20px 8px;text-align:center;color:var(--text-muted);font-size:10px;font-style:italic;opacity:.7}.tape-player{display:flex;flex-direction:column;height:100%;min-height:0}.tape-filename-banner{display:flex;align-items:center;gap:6px;padding:5px 8px;margin-bottom:6px;background:linear-gradient(135deg,var(--accent-blue-bg-strong) 0%,var(--accent-purple-bg-strong) 100%);border:1px solid var(--accent-blue-border-light);border-radius:4px}.tape-filename-banner.hidden{display:none}.tape-filename-banner.error{background:linear-gradient(135deg,var(--accent-red-bg) 0%,var(--accent-orange-bg-strong) 100%);border-color:var(--accent-red-border)}.tape-format-badge{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.05em;padding:2px 5px;border-radius:3px;flex-shrink:0;text-align:center;min-width:28px}.tape-format-badge.tap{background:var(--accent-green-bg-strong);border:1px solid var(--accent-green-border-light);color:var(--accent-green)}.tape-format-badge.tzx{background:var(--accent-purple-bg-strong);border:1px solid var(--accent-purple-bg-strong);color:var(--accent-purple)}.tape-format-badge.error{background:var(--accent-red-bg);border:1px solid var(--accent-red-border);color:var(--accent-red)}.tape-filename-text{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;cursor:default}.tape-filename-input{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-primary);background:var(--input-bg, var(--bg-secondary));border:1px solid var(--accent-blue-border);border-radius:3px;padding:0 4px;outline:none;width:100%;letter-spacing:.02em;box-sizing:border-box}.tape-filename-banner.error .tape-filename-text{color:var(--accent-red);font-weight:500;font-size:10px}.tape-cassette-toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--text-muted);-webkit-user-select:none;user-select:none;transition:color .15s}.tape-cassette-toggle:hover{color:var(--text-secondary)}.tape-cassette-chevron{transition:transform .2s ease;flex-shrink:0}.tape-cassette-toggle.open .tape-cassette-chevron{transform:rotate(90deg)}.tape-cassette-vis{position:relative;margin-bottom:6px;border-radius:4px;overflow:hidden;background:var(--input-bg-dark);border:1px solid var(--glass-border-subtle)}.tape-cassette-vis.hidden{display:none}.tape-cassette-img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.tape-empty-deck{position:relative}.tape-empty-deck+.tape-cassette-img{position:absolute;top:0;left:0;width:100%;height:100%}.tape-cassette-label{position:absolute;left:16.5%;top:15.1%;width:73.5%;height:14.3%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:clamp(6px,2.5vw,12px);font-weight:700;color:#333;text-align:center;letter-spacing:.05em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4%;pointer-events:none}#deck-spindle-left,#spindle-left-filled,#spindle-left-outline{transform-origin:828px 757px}#deck-spindle-right,#spindle-right-filled,#spindle-right-outline{transform-origin:1785px 757px}#deck-spindle-left.spinning,#deck-spindle-right.spinning,#spindle-left-filled.spinning,#spindle-left-outline.spinning,#spindle-right-filled.spinning,#spindle-right-outline.spinning{animation:tape-spindle-rotate 3s linear infinite}#deck-spindle-left.spinning.paused,#deck-spindle-right.spinning.paused,#spindle-left-filled.spinning.paused,#spindle-left-outline.spinning.paused,#spindle-right-filled.spinning.paused,#spindle-right-outline.spinning.paused{animation-play-state:paused}@keyframes tape-spindle-rotate{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes tape-spindle-rewind{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#deck-spindle-left.rewinding,#deck-spindle-right.rewinding,#spindle-left-filled.rewinding,#spindle-left-outline.rewinding,#spindle-right-filled.rewinding,#spindle-right-outline.rewinding{animation:tape-spindle-rewind .4s linear infinite}#deck-spindle-left.fast-forwarding,#deck-spindle-right.fast-forwarding,#spindle-left-filled.fast-forwarding,#spindle-left-outline.fast-forwarding,#spindle-right-filled.fast-forwarding,#spindle-right-outline.fast-forwarding{animation:tape-spindle-rotate .4s linear infinite}.tape-block-list{flex:1;overflow-y:auto;background:var(--input-bg-dark);border:1px solid var(--glass-border-subtle);border-radius:4px;padding:2px 0;margin-bottom:6px;min-height:80px}.tape-block-item{display:flex;align-items:center;gap:6px;padding:4px 8px;font-family:var(--font-mono);font-size:10px;cursor:default;border-left:2px solid transparent;transition:background .08s;position:relative;overflow:hidden}.tape-block-item:hover{background:var(--overlay-subtle)}.tape-block-item.active{background:var(--overlay-subtle);border-left-color:var(--accent-green)}.tape-block-item.recording{border-left-color:var(--accent-red)}.tape-block-progress{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--accent-blue-bg);pointer-events:none;z-index:0}.tape-block-item>*:not(.tape-block-progress){position:relative;z-index:1}.tape-block-index{color:var(--text-muted);min-width:18px;text-align:right;font-size:9px}.tape-block-badge{font-size:8px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:38px;text-align:center}.tape-block-badge.header{background:var(--accent-green-bg-strong);border:1px solid var(--accent-green-border-light);color:var(--accent-green)}.tape-block-badge.data{background:var(--accent-orange-bg-strong);border:1px solid var(--accent-orange-border-light);color:var(--accent-orange)}.tape-block-name{color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tape-block-size{color:var(--text-muted);font-size:9px;flex-shrink:0}.tape-empty-state{padding:20px 8px;text-align:center;color:var(--text-muted);font-size:10px;font-style:italic;opacity:.7}.tape-info-toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--text-muted);-webkit-user-select:none;user-select:none;transition:color .15s}.tape-info-toggle:hover{color:var(--text-secondary)}.tape-info-chevron{transition:transform .2s ease;flex-shrink:0}.tape-info-toggle.open .tape-info-chevron{transform:rotate(90deg)}.tape-info-panel{border-top:1px solid var(--glass-border-subtle);overflow:hidden}.tape-info-panel.hidden{display:none}.tape-info-content{padding:6px 8px;max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.tape-info-content::-webkit-scrollbar{width:4px}.tape-info-content::-webkit-scrollbar-track{background:transparent}.tape-info-content::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.tape-info-stats{display:flex;flex-wrap:wrap;gap:4px}.tape-info-pill{font-family:var(--font-mono);font-size:9px;font-weight:500;padding:2px 6px;border-radius:3px;background:var(--overlay-subtle);color:var(--text-secondary);white-space:nowrap}.tape-info-pill.format{background:var(--accent-blue-bg-strong);color:var(--accent-blue);font-weight:700;letter-spacing:.03em}.tape-info-archive{padding:5px 6px;background:var(--accent-purple-bg);border:1px solid var(--accent-purple-bg-strong);border-radius:4px}.tape-info-title{font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.tape-info-grid{display:grid;grid-template-columns:auto 1fr;gap:1px 8px}.tape-info-grid-label{font-family:var(--font-sans);font-size:9px;color:var(--text-muted);white-space:nowrap}.tape-info-grid-value{font-family:var(--font-mono);font-size:9px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tape-info-comment{font-family:var(--font-sans);font-size:9px;font-style:italic;color:var(--text-muted);margin-top:2px}.tape-info-headers{display:flex;flex-direction:column;gap:2px}.tape-info-header-entry{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9px}.tape-info-type-badge{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:var(--accent-green-bg-strong);border:1px solid var(--accent-green-border-light);color:var(--accent-green);letter-spacing:.03em;flex-shrink:0;min-width:32px;text-align:center}.tape-info-header-detail{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tape-info-detail-dim{color:var(--text-muted)}.tape-transport{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0;border-top:1px solid var(--separator-bg);margin-bottom:6px}.tape-transport-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--control-border);background:var(--glass-bg-header);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.tape-transport-btn:hover{background:var(--glass-border);color:var(--text-primary)}.tape-transport-btn:active{transform:scale(.95)}.tape-transport-btn:disabled{opacity:.3;cursor:not-allowed}.tape-transport-btn:disabled:hover{background:transparent;color:var(--text-muted)}.tape-transport-btn:disabled:active{transform:none}.tape-transport-btn.play{width:38px;height:38px}.tape-transport-btn.play.playing{background:var(--accent-green-bg-strong);border-color:var(--accent-green-border);color:var(--accent-green)}.tape-transport-btn.record{color:var(--text-muted)}.tape-transport-btn.record.recording{background:var(--accent-red-bg);border-color:var(--accent-red-border);color:var(--accent-red);animation:tape-record-blink 1s ease-in-out infinite}@keyframes tape-record-blink{0%,to{opacity:1}50%{opacity:.5}}.tape-transport-btn svg{width:14px;height:14px}.tape-transport-btn.play svg{width:16px;height:16px}.tape-controls-bar{display:flex;align-items:center;gap:4px;padding:0 0 6px}.tape-load-container{display:flex;flex:1}.tape-load-btn,.tape-eject-btn{padding:4px 10px;font-family:var(--font-sans);font-size:10px;font-weight:500;background:var(--glass-bg-header);border:1px solid var(--control-border);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.tape-load-btn{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:none;flex:1}.tape-load-btn:hover{background:var(--glass-border);color:var(--text-primary)}.tape-eject-btn{border-radius:var(--radius-sm)}.tape-speed-switch{display:flex;align-items:center;gap:5px;margin-left:auto}.tape-speed-switch.disabled{opacity:.4;pointer-events:none}.tape-speed-label{display:flex;align-items:center;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;transition:color .15s}.tape-speed-icon{display:block}.tape-speed-switch:not(.disabled):not(.instant) .tape-speed-label-normal{color:var(--accent-green)}.tape-speed-switch:not(.disabled).instant .tape-speed-label-instant{color:var(--accent-green)}.tape-toggle{position:relative;display:inline-block;width:28px;height:14px;flex-shrink:0}.tape-toggle input{opacity:0;width:0;height:0;position:absolute}.tape-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-green-bg-strong);border:1px solid var(--accent-green-border-light);border-radius:7px;cursor:pointer;transition:all .2s}.tape-toggle-track:before{content:"";position:absolute;height:10px;width:10px;left:1px;top:1px;background:var(--accent-green);border-radius:50%;transition:all .2s}.tape-toggle input:checked+.tape-toggle-track{background:var(--accent-green-bg-strong);border-color:var(--accent-green-border-light)}.tape-toggle input:checked+.tape-toggle-track:before{transform:translate(14px);background:var(--accent-green)}.tape-eject-btn:hover:not(:disabled){background:var(--accent-red-bg);border-color:var(--accent-red-border);color:var(--accent-red)}.tape-eject-btn:disabled{opacity:.4;cursor:not-allowed}.tape-recent-container{position:relative;display:flex}.tape-recent-btn{padding:4px 6px;background:var(--glass-bg-header);border:1px solid var(--control-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.tape-recent-btn:hover{background:var(--glass-border);color:var(--text-primary)}.tape-recent-dropdown{display:none;position:fixed;min-width:220px;max-width:300px;max-height:320px;overflow-y:auto;background:var(--glass-bg-solid);border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:0 -4px 16px #0006;z-index:10000}.tape-recent-dropdown.open{display:block}.tape-dropdown-label{padding:4px 10px 2px;font-family:var(--font-sans);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);cursor:default}.tape-dropdown-item{padding:5px 10px;font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s}.tape-dropdown-item:hover:not(.empty){background:var(--overlay-hover);color:var(--text-primary)}.tape-dropdown-item.empty{color:var(--text-muted);font-style:italic;cursor:default}.tape-dropdown-item.clear{color:var(--text-muted);text-align:center;font-family:var(--font-sans)}.tape-dropdown-item.clear:hover{color:var(--accent-red);background:var(--accent-red-bg)}.tape-dropdown-item.blank{font-family:var(--font-sans);font-weight:500;color:var(--text-secondary);text-align:center}.tape-dropdown-item.blank:hover{color:var(--accent-blue);background:var(--accent-blue-bg)}.tape-dropdown-separator{height:1px;background:var(--glass-border);margin:3px 0}.tape-recent-dropdown::-webkit-scrollbar{width:6px}.tape-recent-dropdown::-webkit-scrollbar-track{background:transparent}.tape-recent-dropdown::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}#basic-program .debug-window-content{padding:0;overflow:hidden;display:flex;flex-direction:column}.bas-toolbar{display:flex;gap:2px;padding:4px 6px;border-bottom:1px solid var(--glass-border);background:var(--glass-bg-header);flex-shrink:0;flex-wrap:wrap;align-items:center}.bas-toolbar-group{display:flex;gap:2px;align-items:center}.bas-toolbar-separator{width:1px;height:18px;background:var(--separator-bg);margin:0 4px;flex-shrink:0}.bas-toolbar-btn{display:flex;align-items:center;justify-content:center;padding:3px 8px;border:1px solid var(--glass-border-subtle);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--text-secondary);font-family:var(--font-sans);font-size:11px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.bas-toolbar-btn:hover{background:var(--overlay-hover);color:var(--text-primary);border-color:var(--glass-border)}.bas-toolbar-btn:active{background:var(--overlay-active)}.bas-toolbar-btn.disabled,.bas-toolbar-btn:disabled{opacity:.3;pointer-events:none;cursor:default}.bas-toolbar-btn.run{color:var(--accent-green);border-color:var(--accent-green-border-light)}.bas-toolbar-btn.run:hover{background:var(--accent-green-bg);color:var(--accent-green)}.bas-toolbar-btn.pause{color:var(--accent-orange);border-color:var(--accent-orange-border-light)}.bas-toolbar-btn.pause:hover{background:var(--accent-orange-bg)}.bas-toolbar-btn.step{color:var(--accent-blue);border-color:var(--accent-blue-border-light)}.bas-toolbar-btn.step:hover{background:var(--accent-blue-bg)}.bas-toolbar-btn.continue{color:var(--accent-green);border-color:var(--accent-green-border-light)}.bas-toolbar-btn.continue:hover{background:var(--accent-green-bg);color:var(--accent-green)}.bas-toolbar-btn.stop{color:var(--accent-red);border-color:var(--accent-red-border)}.bas-toolbar-btn.stop:hover{background:var(--accent-red-bg);color:var(--accent-red)}.bas-trace-toggle{display:flex;align-items:center;gap:5px;padding:2px 4px;cursor:pointer;font-family:var(--font-sans);font-size:11px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:color .15s}.bas-trace-toggle:hover{color:var(--text-primary)}.bas-trace-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:26px;height:14px;border:1px solid var(--glass-border);border-radius:7px;background:var(--control-bg);cursor:pointer;position:relative;flex-shrink:0;transition:background .2s,border-color .2s}.bas-trace-checkbox:after{content:"";position:absolute;left:2px;top:2px;width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:transform .2s,background .2s}.bas-trace-checkbox:checked{background:var(--accent-blue-bg-stronger);border-color:var(--accent-blue)}.bas-trace-checkbox:checked:after{transform:translate(12px);background:var(--accent-blue)}.bas-trace-checkbox:hover{border-color:var(--accent-blue)}.bas-editor-area{display:flex;flex:1;min-height:0;overflow:hidden}.bas-editor-with-gutter{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}.bas-gutter{width:44px;flex-shrink:0;background:var(--overlay-faint);border-right:1px solid var(--glass-border-subtle);-webkit-user-select:none;user-select:none;overflow:hidden;padding:8px 0}.bas-gutter-line{height:18px;display:flex;align-items:center;justify-content:flex-end;padding:0 4px 0 0;font-family:var(--font-mono);font-size:12px;line-height:18px;color:var(--text-muted);cursor:pointer;position:relative}.bas-gutter-line[data-basic-line]:hover{background:var(--overlay-hover)}.bas-gutter-line.breakpoint:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--accent-red)}.bas-gutter-line.breakpoint{padding-left:14px}.bas-gutter-line.current-line{background:var(--accent-blue-bg)}.bas-editor-container{position:relative;flex:1;min-width:0;min-height:0}.bas-highlight{position:absolute;top:0;left:0;width:100%;height:100%;padding:8px;margin:0;font-family:var(--font-mono);font-size:12px;line-height:18px;white-space:pre;pointer-events:none;-moz-tab-size:4;tab-size:4;overflow:hidden;z-index:0}.bas-textarea{position:absolute;top:0;left:0;width:100%;height:100%;padding:8px;margin:0;border:none;outline:none;resize:none;background:transparent;color:transparent;font-family:var(--font-mono);font-size:12px;line-height:18px;white-space:pre;-moz-tab-size:4;tab-size:4;caret-color:var(--accent-blue);z-index:1;overflow:auto}.bas-textarea::selection{background:var(--accent-blue-bg-stronger)}.bas-kw-flow{color:var(--accent-red);font-weight:600}.bas-kw-loop{color:var(--accent-purple);font-weight:600}.bas-kw-io{color:var(--accent-blue);font-weight:600}.bas-kw-graphics{color:var(--accent-green);font-weight:600}.bas-kw-memory{color:var(--accent-orange);font-weight:600}.bas-kw-func{color:var(--accent-blue)}.bas-kw-misc{color:var(--text-muted);font-weight:600}.bas-number{color:var(--accent-orange)}.bas-string{color:var(--accent-green)}.bas-rem{color:var(--text-muted);font-style:italic}.bas-linenum{color:var(--text-secondary)}.bas-highlight-line{background:var(--accent-blue-bg);display:inline-block;width:100%}.bas-error-line{display:inline-block;width:100%;background:var(--accent-red-bg);position:relative}.bas-error-msg{position:absolute;right:8px;top:0;color:var(--accent-red);font-weight:600;font-size:11px;line-height:18px;pointer-events:none;white-space:nowrap}.bas-gutter-line.has-error{background:var(--accent-red-bg)}.bas-gutter-line.has-error:after{content:"!";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--accent-red);color:var(--bg-primary);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.bas-debug-status{color:var(--accent-green);font-weight:600}.bas-debug-status:empty{display:none}.bas-sidebar{width:180px;flex-shrink:0;border-left:1px solid var(--glass-border);background:var(--overlay-faint);overflow:hidden;display:flex;flex-direction:column;min-height:0}.bas-sidebar.hidden{display:none}.bas-sidebar-header{padding:4px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--glass-border-subtle);background:var(--glass-bg-header);flex-shrink:0}.bas-sidebar-content{flex:1;overflow-y:auto;padding:4px}.bas-vars-empty{padding:12px 8px;color:var(--text-muted);font-size:11px;text-align:center;font-style:italic}.bas-vars-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11px}.bas-vars-table thead th{padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--glass-border-subtle);position:sticky;top:0;background:var(--glass-bg-header)}.bas-vars-table tbody tr:hover{background:var(--overlay-hover)}.bas-vars-table td{padding:1px 6px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bas-vars-table td.bas-var-name{color:var(--accent-blue)}.bas-vars-table td.bas-var-type{color:var(--text-muted);font-size:10px}.bas-vars-table td.bas-var-value{color:var(--accent-green);max-width:100px}.bas-vars-table td.bas-var-array-cell{padding:2px 4px;overflow-x:auto;max-width:0}.bas-array-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:10px;margin:2px 0}.bas-array-table thead th{padding:1px 4px;font-size:9px;font-weight:600;color:var(--text-muted);text-align:center;border-bottom:1px solid var(--glass-border-subtle)}.bas-array-table td{padding:1px 4px;line-height:14px;text-align:center;border:1px solid var(--glass-border-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.bas-array-table td.bas-array-idx{color:var(--text-muted);font-size:9px;border:none;text-align:right;padding-right:6px}.bas-array-table td.bas-var-value{color:var(--accent-green);max-width:none}.bas-array-table tbody tr:hover{background:var(--overlay-hover)}.bas-sidebar-resize{width:4px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative;z-index:2}.bas-sidebar-resize:hover,.bas-sidebar-resize.active{background:var(--accent-blue-bg)}.bas-statusbar{display:flex;align-items:center;gap:12px;padding:2px 8px;border-top:1px solid var(--glass-border);background:var(--glass-bg-header);font-size:10px;color:var(--text-muted);flex-shrink:0}.bas-status-item{white-space:nowrap}.bas-status-right{margin-left:auto;display:flex;gap:8px}.bas-sidebar-toggle{cursor:pointer;color:var(--text-muted);border:none;background:none;font-size:10px;font-family:var(--font-sans);padding:0 2px}.bas-sidebar-toggle:hover{color:var(--text-primary)}
