@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--bg-light: #323235;--bg-dark: #2a2a2d;--card-bg: rgba(255, 255, 255, .03);--text: #ffffff;--text-dim: #88888b;--glass-border: rgba(255, 255, 255, .05);--accent-glow: rgba(255, 62, 0, .15)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html{overscroll-behavior:none;overscroll-behavior-y:none;height:100%;overflow:hidden}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-dark);background-image:radial-gradient(circle at 50% 50%,var(--bg-light) 0%,var(--bg-dark) 100%),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:auto,128px 128px;background-repeat:repeat;background-blend-mode:overlay;color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}#root{min-height:100vh;display:flex;flex-direction:column;overscroll-behavior:none;touch-action:pan-x pan-y}.glass{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px}.btn{padding:12px 24px;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;font-family:inherit}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px #ff3e004d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff3e0066}.btn-secondary{background:#ffffff1a;color:#fff}.btn-secondary:hover{background:#ffffff26}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}@viewport{orientation:portrait}.mobile-controls{width:100%;max-width:400px;display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:10px;padding:10px 20px calc(20px + env(safe-area-inset-bottom));background:transparent;border:none;box-shadow:none;margin-top:0}.controls-utility-row{display:flex;justify-content:space-between;width:100%;flex-shrink:0;padding:0 10px}.controls-middle-row{display:flex;justify-content:center;align-items:center;width:100%;flex-grow:1}.controls-bottom-row{display:flex;justify-content:space-between;align-items:flex-end;width:100%;flex-shrink:0}.d-pad{position:relative;width:140px;height:140px;background:radial-gradient(circle at 50% 50%,#2a2a2d,#151515);border-radius:50%;box-shadow:inset 0 5px 15px #000c,inset 0 -1px 2px #ffffff0d,0 8px 10px #00000080;border:1px solid rgba(255,255,255,.03);flex-shrink:0}.d-pad:after{content:"";position:absolute;top:48px;left:48px;width:44px;height:44px;background:linear-gradient(135deg,#353538,#252527);z-index:1;background-image:radial-gradient(rgba(0,0,0,.3) 15%,transparent 16%);background-size:5px 5px}.d-btn-visual{position:absolute;background:linear-gradient(135deg,#353538,#252527);border:none;width:44px;height:44px;z-index:2;background-image:radial-gradient(rgba(0,0,0,.3) 15%,transparent 16%);background-size:5px 5px;pointer-events:none;box-shadow:0 3px 5px #0006,0 3px #151516,inset 0 1px 1px #ffffff26;transition:transform .05s,box-shadow .05s}.d-btn-visual.pressed{transform:translateY(2px);box-shadow:0 1px #151516,inset 0 2px 4px #0009;background:#1a1a1c}.up{top:4px;left:48px;border-radius:5px 5px 0 0}.up.pressed{transform:translateY(3px)}.down{bottom:4px;left:48px;border-radius:0 0 5px 5px}.down.pressed{transform:translateY(1px)}.left{left:4px;top:48px;border-radius:5px 0 0 5px}.left.pressed{transform:translate(2px) translateY(2px)}.right{right:4px;top:48px;border-radius:0 5px 5px 0}.right.pressed{transform:translate(-2px) translateY(2px)}.start-select{display:flex;gap:16px}.small-btn{background:linear-gradient(to bottom,#4a4a4d,#333);border:none;color:#111;text-shadow:0 1px 0 rgba(255,255,255,.2);padding:8px 18px;border-radius:16px;font-size:10px;font-weight:900;letter-spacing:1.2px;box-shadow:0 3px #222,0 5px 8px #0006,inset 0 1px 2px #fff3;transition:all .1s;cursor:pointer;transform:rotate(-15deg);-webkit-tap-highlight-color:transparent}.small-btn.pressed,.small-btn:active{transform:rotate(-15deg) translateY(3px);box-shadow:0 0 #222,inset 0 2px 5px #00000080}.utility-btn{background:linear-gradient(145deg,#444448,#222224);border:none;color:#888;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .1s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;box-shadow:0 4px #151516,0 8px 15px #00000080,inset 0 1px 1px #ffffff26;position:relative;z-index:10}.utility-btn:hover{color:#bbb;background:linear-gradient(145deg,#4e4e52,#2a2a2d);transform:translateY(-1px);box-shadow:0 5px #151516,0 10px 20px #0009,inset 0 1px 1px #fff3}.utility-btn.pressed,.utility-btn:active{transform:translateY(3px);background:linear-gradient(145deg,#222224,#1a1a1c);box-shadow:0 1px #151516,0 2px 4px #0006,inset 0 2px 5px #0009;color:var(--primary)}.utility-btn.pressed svg{filter:drop-shadow(0 0 5px var(--primary))}.audio-toggle.on{background:linear-gradient(145deg,#2a2a2d,#151516);color:var(--primary);transform:translateY(2px);box-shadow:0 1px #151516,0 3px 6px #0006,inset 0 2px 4px #0006}.audio-toggle.on svg{filter:drop-shadow(0 0 8px rgba(var(--primary-rgb),.6))}.audio-toggle.on.pressed{transform:translateY(4px);box-shadow:0 0 #151516,inset 0 3px 6px #0009}.action-buttons{display:flex;gap:18px;transform:rotate(-10deg);padding:12px 20px;background:#0003;border-radius:36px;box-shadow:inset 0 2px 5px #00000080;align-self:flex-end;margin-bottom:20px}.round-btn{width:60px;height:60px;border-radius:50%;border:none;font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .05s ease-out;-webkit-tap-highlight-color:transparent}.round-btn.a-btn{color:#ffffffe6;text-shadow:0 2px 0 rgba(0,0,0,.3);background:radial-gradient(circle at 30% 30%,var(--button-color),var(--console-plastic));box-shadow:0 6px 0 var(--console-border),0 10px 15px #0006,inset 0 3px 6px #ffffff4d,inset 0 -4px 4px #0000001a}.round-btn.a-btn.pressed,.round-btn.a-btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--console-border),0 2px 5px #0006,inset 0 3px 10px #00000080}.round-btn.b-btn{color:#fffc;text-shadow:0 2px 0 rgba(0,0,0,.5);background:radial-gradient(circle at 30% 30%,var(--button-color),var(--console-plastic));box-shadow:0 6px 0 var(--console-border),0 10px 15px #0006,inset 0 3px 6px #ffffff26,inset 0 -4px 4px #0003}.round-btn.b-btn.pressed,.round-btn.b-btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--console-border),0 2px 5px #0006,inset 0 3px 10px #00000080}@media(max-width:640px){.mobile-controls{padding:5px 10px calc(15px + env(safe-area-inset-bottom));gap:5px}.d-pad:after{width:36px;height:36px;top:42px;left:42px}.d-btn-visual{width:36px;height:36px}.up{top:4px;left:42px}.down{bottom:4px;left:42px}.left{top:42px;left:4px}.right{top:42px;right:4px}.start-select{gap:8px}.small-btn{padding:6px 12px;font-size:8px}.utility-btn{width:36px;height:36px}.round-btn{width:50px;height:50px;font-size:18px;box-shadow:0 4px 0 var(--console-border),0 6px 10px #0006,inset 0 2px 4px #ffffff26,inset 0 -3px 3px #0003}.round-btn.a-btn{box-shadow:0 4px 0 var(--console-border),0 6px 10px #0006,inset 0 2px 4px #ffffff4d,inset 0 -3px 3px #0000001a}.action-buttons{gap:12px;padding:8px 12px;margin-bottom:calc(10px + env(safe-area-inset-bottom))}.d-pad{width:120px;height:120px;margin-bottom:calc(5px + env(safe-area-inset-bottom))}}.add-game-screen{width:100%;height:100%;background:#000;display:flex;flex-direction:column;position:relative;overflow:hidden}.system-status-header{background:#111;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--primary)}.header-left{display:flex;align-items:center;min-width:80px}.quit-setup-btn{background:#ff3e001a;border:1px solid var(--primary);color:var(--primary);font-size:8px;font-weight:950;padding:2px 8px;border-radius:4px;cursor:pointer;letter-spacing:1px;transition:all .2s}.quit-setup-btn:hover{background:var(--primary);color:#fff;box-shadow:0 0 10px #ff3e0066}.system-status-header .status-indicator{display:flex;align-items:center;gap:8px}.system-status-header .status-indicator span{font-size:8px;font-weight:900;color:var(--primary);letter-spacing:1px}.system-status-header .system-title{font-size:9px;font-weight:900;color:#fff3;letter-spacing:2px}.management-content{flex:1;display:flex;flex-direction:column;padding:15px;gap:20px;overflow-y:auto}.management-content::-webkit-scrollbar{width:4px}.management-content::-webkit-scrollbar-track{background:transparent}.management-content::-webkit-scrollbar-thumb{background:#222;border-radius:10px}.drop-zone-display{border:2px dashed #222;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 0;color:#444;transition:all .3s;background:#050505}.add-game-screen.dragging .drop-zone-display{border-color:var(--primary);background:#ff3e000d;color:#fff}.drop-zone-display p{font-size:10px;font-weight:900;margin:10px 0 2px;letter-spacing:1px}.drop-zone-display .hint{font-size:8px;color:#222;font-weight:700}.games-inventory{display:flex;flex-direction:column;gap:12px}.inventory-header{font-size:9px;font-weight:900;color:#444;letter-spacing:1.5px;border-bottom:1px solid #111;padding-bottom:5px}.inventory-list{display:flex;flex-direction:column;gap:8px}.inventory-item{background:#0a0a0a;border:1px solid #111;border-radius:6px;padding:8px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s}.inventory-item:hover{background:#111;transform:translate(4px)}.item-info{display:flex;align-items:center;gap:10px}.item-thumb{width:32px;height:24px;background:#000;border-radius:2px;overflow:hidden}.item-thumb img{width:100%;height:100%;object-fit:cover}.item-name{font-size:10px;font-weight:700;color:#eee;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.delete-item-btn{background:transparent;border:none;color:#333;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.delete-item-btn:hover:not(:disabled){color:#ff3e00;background:#ff3e001a}.drag-overlay-fs{position:absolute;inset:0;background:#ff3e00f2;z-index:100;display:flex;align-items:center;justify-content:center}.overlay-msg{display:flex;flex-direction:column;align-items:center;gap:20px;color:#fff;text-align:center}.overlay-msg h2{font-size:16px;letter-spacing:4px;font-weight:950;margin:0}.dot{width:6px;height:6px;background:var(--primary);border-radius:50%;box-shadow:0 0 6px var(--primary)}.dot.blink{animation:pulse-dot 1s infinite alternate}@keyframes pulse-dot{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.1)}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;position:fixed;background-color:var(--bg-dark)}.app-container{display:flex;flex-direction:column;padding:0 0 env(safe-area-inset-bottom);max-width:1400px;margin:0 auto;width:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;background-color:var(--bg-dark)}.ios-status-bar-spacer{position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background-color:var(--primary);z-index:9999;transition:background-color .4s cubic-bezier(.4,0,.2,1);pointer-events:none;display:block}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}.landing-view{width:100%;display:flex;flex-direction:column;gap:40px;flex:1}.landing-header{display:flex;flex-direction:column;align-items:center;gap:24px;margin-bottom:20px}.search-bar{display:flex;align-items:center;gap:12px;padding:10px 20px;width:100%;max-width:400px;border-radius:12px;background:#0003!important;border:1px solid rgba(255,255,255,.05)!important}.search-bar input{background:transparent;border:none;color:#fff;width:100%;outline:none;font-size:15px}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;padding-bottom:40px}.game-card{display:flex;flex-direction:column;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.03);background:#0003}.game-card:hover{transform:translateY(-8px);background:#ffffff0d;border-color:var(--primary);box-shadow:0 10px 30px #00000080}.thumb-wrapper{position:relative;aspect-ratio:4/3;background:#111;overflow:hidden}.thumb-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.game-card:hover img{transform:scale(1.1)}.thumb-wrapper .overlay{position:absolute;inset:0;background:rgba(var(--primary-rgb),.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.game-card:hover .overlay{opacity:1}.delete-btn-overlay{position:absolute;top:8px;right:8px;background:#dc2626e6;color:#fff;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:scale(.8);transition:all .2s;z-index:2}.game-card:hover .delete-btn-overlay{opacity:1;transform:scale(1)}.delete-btn-overlay:hover{background:#ef4444;transform:scale(1.1)!important}.game-title{padding:15px;font-size:14px;font-weight:600;color:var(--text-dim);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card:hover .game-title{color:#fff}.upload-card{border:1px dashed rgba(255,255,255,.2);background:#ffffff05}.upload-card:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.upload-card .upload-placeholder{display:flex;align-items:center;justify-content:center;background:#ffffff0d;color:var(--text-dim);border:none;margin:0;border-radius:0;width:100%;height:100%}.upload-card:hover .upload-placeholder{color:var(--primary);background:transparent}.library-screen{width:100%;height:100%;background:#000;display:flex;flex-direction:column;position:relative}.library-header-mini{background:#000c;padding:12px 5px;text-align:center;border-bottom:2px solid var(--primary);z-index:10}.library-header-mini h2{font-size:11px;letter-spacing:3px;color:var(--primary);margin:0;text-shadow:0 0 10px rgba(var(--primary-rgb),.5)}.carousel-container{flex:1;width:100%;overflow:hidden;position:relative;display:flex;align-items:center}.library-carousel{display:flex;width:100%;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1)}.carousel-item{min-width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;opacity:.3;transform:scale(.9);transition:all .3s ease}.carousel-item.focused{opacity:1;transform:scale(1)}.carousel-item .mini-thumb{width:100%;height:100%;background:#050505;display:flex;align-items:center;justify-content:center;overflow:hidden}.carousel-item .mini-thumb img{width:100%;height:100%;object-fit:cover}.mini-title-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000e6);color:#fff;padding:20px 10px 10px;font-size:12px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:1px}.carousel-pagination{position:absolute;bottom:10px;right:15px;background:rgba(var(--primary-rgb),.2);color:var(--primary);font-size:10px;font-weight:900;padding:4px 8px;border-radius:4px;border:1px solid var(--primary);z-index:15}.upload-item .mini-thumb{background:radial-gradient(circle at center,#1a1a1a,#050505);color:#333}.upload-item.focused .mini-thumb{color:var(--primary)}.emulator-view{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:0;overflow:hidden}.console-body{position:relative;width:100%;max-width:400px;padding:12px 12px 15px;--console-sheen: linear-gradient(rgba(255, 255, 255, .05), transparent);background:var(--console-sheen),var(--console-plastic);background-image:var(--console-sheen),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:auto,128px 128px;background-repeat:repeat;background-blend-mode:normal,overlay;border-radius:20px;border:3px solid var(--console-border);box-shadow:0 8px 0 var(--console-border),0 20px 40px var(--console-shadow),inset 0 1px 4px #ffffff1a;display:flex;flex-direction:column;gap:10px;margin:0 auto;transition:all .4s cubic-bezier(.4,0,.2,1)}.console-body.setup-mode{max-width:900px}.console-body.setup-mode .screen-container{aspect-ratio:auto;min-height:500px;max-height:80dvh}.console-body:after{position:absolute;top:15px;right:120px;font-size:8px;font-weight:800;color:#ffffff26;letter-spacing:1px}.console-top-bar{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 5px;height:28px}.logo-small{display:flex;align-items:center;gap:10px;font-weight:800;line-height:1;flex:1}.logo-small .brand{font-size:13px;display:flex;align-items:center;flex-shrink:0}.logo-small span span{color:var(--primary)}.logo-small .mode-title{font-size:9px;color:#fff3;letter-spacing:1.5px;text-transform:uppercase;border-left:1px solid rgba(255,255,255,.1);padding-left:12px;margin-top:2px}.emulator-tools-integrated{display:flex;gap:6px;align-items:center}.tool-btn-mini{background:#0006;border:1px solid rgba(255,255,255,.05);color:#fff;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:.8;box-shadow:inset 2px 2px 4px #00000080,0 1px 1px #ffffff0d}.tool-btn-mini:hover,.tool-btn-mini.active{opacity:1;background:#0009;transform:translateY(0);border-color:var(--primary)}.theme-trigger{padding:0;overflow:hidden}.theme-led{width:12px;height:12px;border-radius:50%;position:relative;background:radial-gradient(circle at 35% 35%,#fff 0%,var(--primary) 40%,var(--bg-dark) 100%);box-shadow:0 0 10px var(--primary),inset 0 0 2px #000c;border:1px solid rgba(255,255,255,.15)}.theme-led:after{content:"";position:absolute;top:2px;left:2px;width:3px;height:3px;background:#fffc;border-radius:50%;filter:blur(.5px)}.theme-trigger.active .theme-led{animation:led-pulse 2s infinite ease-in-out}@keyframes led-pulse{0%,to{box-shadow:0 0 10px var(--primary)}50%{box-shadow:0 0 18px var(--primary),0 0 5px var(--primary)}}.theme-selector-container{position:relative;z-index:100}.theme-picker-dropdown{position:absolute;top:calc(100% + 12px);right:-5px;background:var(--console-plastic);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px;box-shadow:0 20px 50px #00000080,inset 0 1px 1px #ffffff1a;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;min-width:260px;z-index:1000}.theme-option{display:flex;align-items:center;gap:8px;background:#ffffff08;border:1px solid transparent;padding:6px 10px;border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-dim)}.theme-option:hover{background:#ffffff14;color:#fff}.theme-option.active{background:var(--primary);opacity:1;color:#fff}.theme-option.active .theme-name{color:#fff}.color-preview{width:14px;height:14px;border-radius:3px;flex-shrink:0}.theme-name{font-size:10px;font-weight:600;white-space:nowrap}.screen-container{position:relative;background:#000;border-radius:6px;overflow:hidden;border:10px solid var(--screen-border);line-height:0;box-shadow:inset 0 0 50px #000;width:100%;aspect-ratio:256 / 240;max-height:45dvh;display:flex;flex-direction:column}.nes-canvas{image-rendering:pixelated;width:100%;height:100%;object-fit:contain;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.scanlines{position:absolute;inset:0;background:linear-gradient(#12101000 50%,#0000001a 50%);background-size:100% 4px;pointer-events:none;z-index:5}.console-bottom-bar{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 5px;height:20px}.filename-display{font-size:10px;color:#ffffff4d;font-weight:600;text-transform:uppercase;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-indicator{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:900;color:#ffffff80;letter-spacing:1px}.dot.running{width:6px;height:6px;background:#10b981;border-radius:50%;box-shadow:0 0 6px #10b981}.dot.error{background:#ef4444;box-shadow:0 0 6px #ef4444}.blink{animation:blink-anim .8s infinite ease-in-out}@keyframes blink-anim{0%,to{opacity:1}50%{opacity:.3}}.main-content:fullscreen{background:#2a2a2d;display:flex;align-items:center;justify-content:center}.main-content:fullscreen .console-body{border:none;box-shadow:none;background:transparent;padding:0}.main-content:fullscreen .console-top-bar,.main-content:fullscreen .console-bottom-bar{display:none}.main-content:fullscreen .screen-container{border:none;border-radius:0}.main-content:fullscreen .nes-canvas{height:100vh;width:auto}@media(max-width:768px){.app-container{padding:0}.main-content{padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.emulator-view{padding-top:0;justify-content:space-between;height:100%}.console-body{--console-sheen: linear-gradient(transparent, transparent);background-image:none;padding:calc(12px + env(safe-area-inset-top)) 12px 12px;border-radius:0 0 20px 20px;border-top:none;max-width:100%;margin-top:0}.screen-container{border-width:6px;max-height:none;flex:0 0 auto}.console-bottom-bar{padding-bottom:2px}}.logo h1 span{color:var(--primary)!important}.footer{display:flex;justify-content:center;gap:20px;padding:20px 0;color:var(--text-dim);font-size:12px;opacity:.5}.foot-item{display:flex;align-items:center;gap:6px}
