*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{touch-action:manipulation;background:#000;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}.emulator{width:100vw;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:linear-gradient(#1a1a2e 0%,#16162a 50%,#121228 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.screen-area{flex:none;place-items:center;width:100%;padding:12px 16px 4px;display:grid}#canvas,.pixel-overlay{aspect-ratio:10/9;border-radius:8px;grid-area:1/1;width:100%;max-width:400px}#canvas{image-rendering:pixelated;image-rendering:crisp-edges;background:#2a2a2a;display:block;box-shadow:0 4px 24px #00000080}.pixel-overlay{pointer-events:none;z-index:1;display:none}.screen-area.pixel-filter .pixel-overlay{display:block}.toolbar{flex:none;justify-content:center;align-items:center;gap:8px;padding:6px 16px;display:flex}.toolbar-btn{color:#fff9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;transition:background .15s,color .15s;display:flex}.toolbar-btn:active{color:#ffffffe6;background:#ffffff2e}.toolbar-btn svg{flex-shrink:0;width:16px;height:16px}.toolbar-dropdown{position:relative}.toolbar-dropdown .toolbar-btn{padding-right:10px}.dropdown-chevron{flex-shrink:0;width:12px;height:12px;transition:transform .2s}.toolbar-dropdown.open .dropdown-chevron{transform:rotate(180deg)}.toolbar-dropdown-menu{z-index:20;-webkit-backdrop-filter:blur(12px);background:#1e1e1ef2;border:1px solid #ffffff26;border-radius:10px;min-width:160px;padding:4px;display:none;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.toolbar-dropdown.open .toolbar-dropdown-menu{flex-direction:column;display:flex}.dropdown-item{color:#ffffffbf;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .12s,color .12s;display:flex}.dropdown-item:hover,.dropdown-item:active{color:#fff;background:#ffffff1f}.dropdown-item svg{flex-shrink:0;width:16px;height:16px}.controls{flex:1;min-height:0;position:relative}.dpad{width:130px;height:130px;position:absolute;bottom:28%;left:6%}.dpad-up,.dpad-down,.dpad-left,.dpad-right{z-index:2;background:#ffffff1f;border-radius:6px;transition:background 80ms;position:absolute}.dpad-up:active,.dpad-down:active,.dpad-left:active,.dpad-right:active{background:#ffffff47}.dpad-up,.dpad-down{width:40px;height:50px;left:50%;transform:translate(-50%)}.dpad-up{border-radius:6px 6px 0 0;top:0}.dpad-down{border-radius:0 0 6px 6px;bottom:0}.dpad-left,.dpad-right{width:50px;height:40px;top:50%;transform:translateY(-50%)}.dpad-left{border-radius:6px 0 0 6px;left:0}.dpad-right{border-radius:0 6px 6px 0;right:0}.dpad-center{z-index:1;background:#ffffff1f;border-radius:50%;width:40px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dpad-up:after,.dpad-down:after,.dpad-left:after,.dpad-right:after{content:"";width:0;height:0;position:absolute}.dpad-up:after{border-bottom:9px solid #fff3;border-left:7px solid #0000;border-right:7px solid #0000;top:10px;left:50%;transform:translate(-50%)}.dpad-down:after{border-top:9px solid #fff3;border-left:7px solid #0000;border-right:7px solid #0000;bottom:10px;left:50%;transform:translate(-50%)}.dpad-left:after{border-top:7px solid #0000;border-bottom:7px solid #0000;border-right:9px solid #fff3;top:50%;left:10px;transform:translateY(-50%)}.dpad-right:after{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:9px solid #fff3;top:50%;right:10px;transform:translateY(-50%)}.action-buttons{width:140px;height:130px;position:absolute;bottom:28%;right:6%}.action-btn{color:#ffffff59;letter-spacing:1px;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:18px;font-weight:700;transition:background 80ms;display:flex;position:absolute}.action-btn:active{color:#fff9;background:#ffffff47}#btn-a{top:0;right:0}#btn-b{bottom:0;left:0}.meta-buttons{gap:20px;display:flex;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.meta-btn{color:#ffffff4d;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;background:#ffffff14;border-radius:14px;padding:8px 18px;font-size:11px;font-weight:600;transition:background 80ms}.meta-btn:active{color:#fff9;background:#ffffff38}@media (orientation:landscape){.emulator{background:linear-gradient(90deg,#1a1a2e 0%,#16162a 40% 60%,#1a1a2e 100%);flex-direction:row}.screen-area{flex:1;order:2;width:auto;height:100%;padding:40px 8px 44px}#canvas,.pixel-overlay{aspect-ratio:10/9;width:auto;max-width:none;height:100%;max-height:calc(100dvh - 76px)}.toolbar{z-index:10;opacity:.6;padding:0;transition:opacity .2s;position:absolute;top:6px;left:50%;transform:translate(-50%)}.toolbar:hover,.toolbar:active{opacity:1}.controls{display:contents}.dpad{margin:auto;margin-left:max(16px, env(safe-area-inset-left));flex-shrink:0;order:1;width:130px;height:130px;position:relative;bottom:auto;left:auto}.action-buttons{margin:auto;margin-right:max(16px, env(safe-area-inset-right));flex-shrink:0;order:4;width:140px;height:130px;position:relative;bottom:auto;right:auto}.meta-buttons{order:3;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}}@media (height<=600px) and (orientation:portrait){.dpad{width:110px;height:110px;bottom:22%}.dpad-up,.dpad-down{width:34px;height:42px}.dpad-left,.dpad-right{width:42px;height:34px}.dpad-center{width:34px;height:34px}.action-buttons{width:120px;height:110px;bottom:22%}.action-btn{width:54px;height:54px;font-size:15px}.meta-buttons{bottom:6%}.meta-btn{padding:6px 14px;font-size:10px}.screen-area{padding:8px 12px 2px}}@media (width>=500px) and (orientation:portrait){.dpad{width:150px;height:150px}.dpad-up,.dpad-down{width:46px;height:58px}.dpad-left,.dpad-right{width:58px;height:46px}.dpad-center{width:46px;height:46px}.action-buttons{width:160px;height:150px}.action-btn{width:72px;height:72px;font-size:20px}}@media (hover:none) and (pointer:coarse){#keys-btn{display:none!important}.screen-area{flex:0 auto}#canvas,.pixel-overlay{object-fit:contain;width:100%;max-width:none;height:auto;max-height:50vh}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.screen-area{flex:auto;width:auto;max-width:calc(100vw - 334px)}#canvas,.pixel-overlay{object-fit:contain;width:100%;height:auto;max-height:calc(100dvh - 76px)}}@media (hover:hover) and (pointer:fine){.dpad,.action-buttons,.meta-buttons{display:none}.emulator{background:linear-gradient(#1a1a2e 0%,#16162a 50%,#121228 100%);flex-direction:column}.screen-area{flex:1;order:initial;place-items:center;width:100%;height:auto;padding:50px 20px 20px;display:grid}#canvas,.pixel-overlay{aspect-ratio:10/9;object-fit:contain;width:100%;max-width:min(100vw - 40px,111.111dvh - 77.7778px);height:auto;max-height:calc(100dvh - 70px)}.toolbar{opacity:.6;z-index:10;padding:0;transition:opacity .2s;position:absolute;top:6px;left:50%;transform:translate(-50%)}.toolbar:hover,.toolbar:active{opacity:1}.controls{display:none}}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{color:#ffffffd9;background:#1e1e3a;border:1px solid #ffffff1f;border-radius:16px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 8px 40px #0009}.modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-header h2{font-size:16px;font-weight:600}.modal-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover{color:#ffffffe6}.modal-body{padding:14px 18px}.key-table{border-collapse:collapse;width:100%;font-size:13px}.key-table th{text-align:left;color:#ffffff73;text-transform:uppercase;letter-spacing:1px;padding:6px 8px;font-size:11px;font-weight:500}.key-table td{border-top:1px solid #ffffff0f;padding:8px}.key-table td:first-child{color:#ffffffb3;width:40%;font-weight:600}.key-table .key-value,.key-table .gamepad-value{text-align:center;cursor:pointer;color:#ffffffbf;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;min-width:60px;padding:4px 12px;font-family:monospace;font-size:12px;transition:background .15s,border-color .15s;display:inline-block}.key-table .key-value:hover,.key-table .gamepad-value:hover{background:#ffffff24;border-color:#ffffff40}.key-table .key-value.listening,.key-table .gamepad-value.listening{color:#64b4ff;background:#648cff33;border-color:#648cff99;animation:1s infinite pulse-key}.key-table-separator td{border-bottom:1px solid #ffffff1a;height:1px;padding:0}.key-na{color:#ffffff40;text-align:center}@keyframes pulse-key{0%,to{opacity:1}50%{opacity:.6}}.key-hint{color:#ffffff59;text-align:center;margin-top:12px;font-size:11px}.modal-footer{border-top:1px solid #ffffff14;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.modal-btn{color:#fff9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;padding:7px 18px;font-size:12px;transition:background .15s}.modal-btn:hover{background:#ffffff24}.modal-btn-primary{color:#8cb4ffe6;background:#5078ff40;border-color:#5078ff66}.modal-btn-primary:hover{background:#5078ff59}.saves-modal{max-width:400px}.saves-modal-body{-webkit-overflow-scrolling:touch;max-height:50vh;overflow-y:auto}.save-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.save-row.save-row-stacked{flex-wrap:wrap}.save-row.save-row-stacked .save-info{flex-basis:100%}.save-row.save-row-stacked .save-actions{margin-left:auto}.save-row:last-child{border-bottom:none}.save-info{flex:1;min-width:0}.save-name{color:#fffc;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.save-meta{color:#ffffff59;margin-top:2px;font-size:11px}.save-delete-btn,.save-export-btn{flex-shrink:0;padding:5px 12px;font-size:11px}.save-actions{flex-shrink:0;gap:6px;display:flex}.saves-empty{text-align:center;color:#ffffff59;padding:24px 0;font-size:13px}.modal-btn-danger{color:#ff7878e6;background:#ff464626;border-color:#ff46464d}.modal-btn-danger:hover{background:#ff464640}.error-modal{max-width:340px}.error-modal-header h2{color:#ff7878f2}#error-message{color:#ffffffb3;word-break:break-word;font-size:13px;line-height:1.5}.settings-modal{max-width:380px}.settings-label{color:#ffffff73;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:11px;font-weight:500;display:block}.settings-label-mt{margin-top:18px}.toggle-row{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .15s;display:flex}.toggle-row:hover{background:#ffffff14}.toggle-label{color:#ffffffbf;font-size:13px}.toggle-input{display:none}.toggle-slider{background:#ffffff26;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle-slider:after{content:"";background:#fff9;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-slider{background:#5078ff99}.toggle-input:checked+.toggle-slider:after{background:#6496fff2;transform:translate(16px)}.palette-options{flex-direction:column;gap:6px;display:flex}.palette-option{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.palette-option:hover{background:#ffffff14;border-color:#ffffff26}.palette-option.selected{background:#5078ff26;border-color:#5078ff66}.palette-radio{border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;width:14px;height:14px;position:relative}.palette-option.selected .palette-radio{border-color:#6496ffcc}.palette-option.selected .palette-radio:after{content:"";background:#6496ffe6;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;left:2px}.palette-name{color:#ffffffbf;flex:1;font-size:13px}.palette-swatches{flex-shrink:0;gap:3px;display:flex}.palette-swatch{border:1px solid #ffffff26;border-radius:4px;width:20px;height:20px}.bottom-bar{bottom:max(8px, env(safe-area-inset-bottom));right:max(8px, env(safe-area-inset-right));z-index:9;pointer-events:auto;align-items:center;gap:6px;display:flex;position:fixed}.lang-selector{color:#ffffff59;cursor:pointer;appearance:none;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;outline:none;padding:3px 4px;font-size:9px;transition:all .15s}.lang-selector:hover{color:#ffffffb3;background:#ffffff1f;border-color:#fff3}.lang-selector option{color:#fffc;background:#1a1a2e}.repo-link{color:#ffffff59;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:4px 8px;font-size:9px;text-decoration:none;transition:all .15s}.repo-link:hover{color:#ffffffb3;background:#ffffff1f;border-color:#fff3}.repo-link:active{color:#ffffffe6;background:#ffffff2e}.toast{color:#fff;pointer-events:none;opacity:0;z-index:9999;white-space:nowrap;background:#1e1e1eeb;border-radius:8px;padding:.6rem 1.4rem;font-size:.9rem;transition:opacity .25s,transform .25s;position:fixed;top:2rem;left:50%;transform:translate(-50%)translateY(-1rem)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}#debug-btn,#debug-panel{display:none}@media (hover:hover) and (pointer:fine){#debug-btn{color:#ffffff59;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:4px;padding:3px 7px;font-size:9px;line-height:1.4;transition:all .15s;display:flex}#debug-btn svg{flex-shrink:0}#debug-btn:hover{color:#ffffffb3;background:#ffffff1f;border-color:#fff3}#debug-btn.active{color:#ffb43cf2;background:#ffa01e1f;border-color:#ffa01e59}body.debug-active{flex-direction:row;height:100dvh;display:flex;overflow:hidden}body.debug-active .emulator{flex:1;width:auto;min-width:320px;max-width:calc(100vw - 560px)}body.debug-active .screen-area #canvas,body.debug-active .screen-area .pixel-overlay{max-width:min(100% - 40px,111.111dvh - 77.7778px);max-height:calc(100dvh - 70px)}#debug-panel{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;-webkit-overflow-scrolling:touch;background:#0d0d1a;border-left:1px solid #ffffff14;flex-direction:column;flex-shrink:0;width:560px;min-width:560px;height:100dvh;padding:8px 0 40px;display:flex;overflow:hidden auto}#debug-panel::-webkit-scrollbar{width:5px}#debug-panel::-webkit-scrollbar-track{background:0 0}#debug-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.dbg-no-rom{text-align:center;color:#ffffff4d;padding:32px 16px;font-size:12px;line-height:1.6}.dbg-content{flex-direction:column;display:flex}.dbg-instr-display{background:#00000038;border:1px solid #ffffff12;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:14px;padding:8px 12px;font-family:Courier New,Courier,monospace;display:flex}.dbg-instr-addr{color:#ffa01ed9;flex-shrink:0;font-size:10px}.dbg-instr-hex{color:#78d2ffb3;flex-shrink:0;min-width:68px;font-size:10px}.dbg-instr-mnem{color:#ffffffeb;letter-spacing:.3px;font-size:12px;font-weight:700}.dbg-section{border-bottom:1px solid #ffffff12;padding:10px 14px 12px}.dbg-section-title{text-transform:uppercase;letter-spacing:1.2px;color:#ffa528bf;margin-bottom:10px;font-size:9px;font-weight:600}.dbg-exec-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dbg-btn{color:#ffffffa6;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;line-height:1.3;transition:background .12s,color .12s;display:inline-flex}.dbg-btn:hover{color:#ffffffe6;background:#ffffff21}.dbg-btn:active{background:#fff3}.dbg-btn-pause{color:#ffb43cd9;background:#ffa01e1a;border-color:#ffa01e40}.dbg-btn-pause:hover{color:#ffc850;background:#ffa01e33}.dbg-btn-pause.paused{color:#64dc8ce6;background:#50c8781f;border-color:#50c8784d}.dbg-btn-pause.paused:hover{background:#50c87838}.dbg-step-n-row{align-items:center;gap:4px;display:flex}.dbg-trace-row{border-top:1px solid #ffffff0f;align-items:center;gap:6px;margin-top:7px;padding-top:7px;display:flex}.dbg-trace-count{color:#ffffff4d;margin-left:auto;font-family:monospace;font-size:10px}.dbg-input{color:#ffffffbf;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:5px;outline:none;padding:5px 7px;font-family:monospace;font-size:11px;transition:border-color .12s}.dbg-input:focus{border-color:#ffa01e73}.dbg-input-hex{text-transform:uppercase;letter-spacing:1px;width:54px}.dbg-input-sm{width:64px}.dbg-cpu-grid{align-items:flex-start;gap:12px;display:flex}.dbg-reg-group{flex:1;min-width:0}.dbg-reg-table{border-collapse:collapse;width:100%;font-family:Courier New,Courier,monospace;font-size:11px}.dbg-reg-table tr+tr td{border-top:1px solid #ffffff0a}.dbg-reg-name{color:#fff6;text-transform:uppercase;width:28px;padding:3px 6px 3px 0;font-size:10px;font-weight:600}.dbg-reg-val{color:#78d2ffe6;letter-spacing:.5px;padding:3px 10px 3px 0}.dbg-flags-group{flex-direction:column;flex-shrink:0;gap:3px;display:flex}.dbg-flag{background:#ffffff0a;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;min-width:50px;padding:3px 6px;display:flex}.dbg-flag-name{color:#fff6;text-transform:uppercase;font-family:monospace;font-size:9px;font-weight:600}.dbg-flag-val{color:#ffffff4d;text-align:right;min-width:10px;font-family:monospace;font-size:11px;font-weight:700}.dbg-flag-val.set{color:#64dc8cf2}.dbg-mem-controls{align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.dbg-input-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.8px;flex-direction:column;gap:3px;font-size:9px;font-weight:600;display:flex}.dbg-mem-dump{color:#ffffffa6;white-space:pre;scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;background:#00000040;border:1px solid #ffffff12;border-radius:6px;max-height:220px;padding:8px 10px;font-family:Courier New,Courier,monospace;font-size:10px;line-height:1.7;overflow:auto}.dbg-mem-dump .mem-addr{color:#ffa01eb3;-webkit-user-select:none;user-select:none}.dbg-mem-dump .mem-hex{color:#78d2ffd9}.dbg-mem-dump .mem-ascii{color:#a0ffa08c}.dbg-vram-bank-label{text-transform:uppercase;letter-spacing:.8px;color:#ffffff4d;margin-top:6px;margin-bottom:5px;font-size:9px;font-weight:600}.dbg-vram-bank-label:first-of-type{margin-top:0}.dbg-canvas-wrap{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;background:#111;border:1px solid #ffffff12;border-radius:6px;overflow:auto hidden}.dbg-canvas-wrap canvas{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.dbg-canvas-wrap.bank-disabled{opacity:.35;position:relative}.dbg-palette-wrap{margin-top:10px}#debug-palette{flex-direction:column;gap:6px;display:flex}.dbg-pal-row{align-items:center;gap:6px;display:flex}.dbg-pal-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;min-width:48px;font-family:monospace;font-size:9px}.dbg-pal-swatch{border:1px solid #ffffff26;border-radius:3px;flex-shrink:0;width:18px;height:18px}}
/*# sourceMappingURL=tsgbe.51e5352e.css.map */
