#app{width:100%;min-height:100vh;margin:0;padding:0}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceGrotesk-400.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/SpaceGrotesk-500.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceGrotesk-700.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceMono-400.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceMono-700.woff2) format("woff2")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/VT323-Regular.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #060608;--bg-secondary: #08090c;--bg-tertiary: #0d0e12;--bg-card: #0b0c10;--bg-panel: #07080b;--bg-hover: rgba(255, 255, 255, .04);--bg-active: rgba(91, 245, 224, .08);--accent-primary: #5bf5e0;--accent-primary-rgb: 91, 245, 224;--accent-secondary: #5bf5e0;--accent-secondary-rgb: 91, 245, 224;--accent-tertiary: #ffce72;--accent-tertiary-rgb: 255, 206, 114;--accent-danger: #e05a65;--glow-primary: rgba(91, 245, 224, .15);--text-primary: #e2e4e9;--text-secondary: #7a8490;--text-muted: #4a5058;--text-accent: var(--accent-primary);--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--border-accent: rgba(91, 245, 224, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--focus-ring: 0 0 0 2px rgba(var(--accent-secondary-rgb), .4);--crt-panel-opacity: .15;--crt-panel-highlight: .038;--crt-panel-scanline: .028;--crt-panel-shadow: .018;--crt-panel-size: 4px 4px;--crt-card-opacity: .1;--crt-card-highlight: .028;--crt-card-scanline: .02;--crt-card-shadow: .012;--crt-card-size: 4px 4px;--crt-control-opacity: .045;--crt-control-highlight:.02;--crt-control-scanline: .013;--crt-control-size: 5px 5px;--sidebar-width: 240px;--sidebar-collapsed-width: 52px;--play-panel-width: 220px;--font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;--font-display: "VT323", "Space Mono", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 34px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}:root[data-theme=laser-magenta]{--accent-secondary: #f85bff;--accent-secondary-rgb: 248, 91, 255;--accent-tertiary: #5bf5e0;--accent-tertiary-rgb: 91, 245, 224;--accent-primary: #f85bff;--accent-primary-rgb: 248, 91, 255;--glow-primary: rgba(248, 91, 255, .15);--bg-active: rgba(248, 91, 255, .08);--border-accent: rgba(248, 91, 255, .3)}:root[data-theme=spark-gold]{--accent-secondary: #ffce72;--accent-secondary-rgb: 255, 206, 114;--accent-tertiary: #ff68d8;--accent-tertiary-rgb: 255, 104, 216;--accent-primary: #ffce72;--glow-primary: rgba(255, 206, 114, .15);--bg-active: rgba(255, 206, 114, .08);--border-accent: rgba(255, 206, 114, .3)}:root[data-theme=arcade-violet]{--accent-secondary: #7f6dff;--accent-secondary-rgb: 127, 109, 255;--accent-tertiary: #5bf5e0;--accent-tertiary-rgb: 91, 245, 224;--accent-primary: #7f6dff;--glow-primary: rgba(127, 109, 255, .15);--bg-active: rgba(127, 109, 255, .08);--border-accent: rgba(127, 109, 255, .3)}:root[data-theme=ember-coral]{--accent-secondary: #ff8c66;--accent-secondary-rgb: 255, 140, 102;--accent-tertiary: #ffce72;--accent-tertiary-rgb: 255, 206, 114;--accent-primary: #ff8c66;--glow-primary: rgba(255, 140, 102, .15);--bg-active: rgba(255, 140, 102, .08);--border-accent: rgba(255, 140, 102, .3)}:root[data-theme=pixel-lilac]{--accent-secondary: #d8c0ff;--accent-secondary-rgb: 216, 192, 255;--accent-tertiary: #f85bff;--accent-tertiary-rgb: 248, 91, 255;--accent-primary: #d8c0ff;--glow-primary: rgba(216, 192, 255, .15);--bg-active: rgba(216, 192, 255, .08);--border-accent: rgba(216, 192, 255, .3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pixelBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.97}}@keyframes loadingBarPulse{0%,to{transform:translate(0)}50%{transform:translate(233%)}}@keyframes scanlineScroll{0%{background-position:0 0}to{background-position:0 100%}}@keyframes gameOverIn{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100%;overflow-y:auto;overflow-x:hidden;font-size:var(--text-base);font-weight:400;letter-spacing:.01em;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,select{-webkit-tap-highlight-color:transparent}a{color:var(--accent-primary);text-decoration:none}a:hover{opacity:.8}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{height:100%}.app-container{display:flex;min-height:100vh;height:100%;align-items:stretch;position:relative;background:var(--bg-primary)}.app-container.dither-bg:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),radial-gradient(ellipse at 70% 0%,rgba(var(--accent-secondary-rgb),.06),transparent 40%),radial-gradient(ellipse at 0% 80%,rgba(var(--accent-tertiary-rgb),.04),transparent 40%),var(--bg-primary)}.app-container:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 70% 0%,rgba(var(--accent-secondary-rgb),.06),transparent 40%),radial-gradient(ellipse at 0% 80%,rgba(var(--accent-tertiary-rgb),.04),transparent 40%),var(--bg-primary)}.app-container:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.09) 3px,rgba(0,0,0,.09) 4px);mix-blend-mode:multiply}.loading-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;position:fixed;inset:0;z-index:10000;background:radial-gradient(ellipse at 20% 20%,rgba(0,255,163,.04) 0%,transparent 40%),radial-gradient(ellipse at 80% 80%,rgba(123,92,255,.04) 0%,transparent 40%),radial-gradient(ellipse at 50% 50%,rgba(255,51,102,.02) 0%,transparent 60%),linear-gradient(180deg,#030305,#050508,#030305);overflow:hidden;animation:splashEnter .4s ease-out}.loading-splash.exiting{animation:splashExit .5s ease-in forwards}@keyframes splashEnter{0%{opacity:0;filter:blur(20px)}to{opacity:1;filter:blur(0)}}@keyframes splashExit{0%{opacity:1;transform:scale(1);filter:blur(0)}50%{opacity:.8;transform:scale(1.02);filter:blur(2px)}to{opacity:0;transform:scale(1.08);filter:blur(15px)}}.loading-splash-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0px,rgba(0,0,0,.12) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:2;opacity:.5;animation:scanlineMove 10s linear infinite}@keyframes scanlineMove{0%{transform:translateY(0)}to{transform:translateY(3px)}}.loading-splash-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:1}.loading-splash-noise{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:2}.loading-splash-grid{position:absolute;inset:-50%;background-image:linear-gradient(rgba(0,255,163,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,163,.03) 1px,transparent 1px);background-size:80px 80px;animation:gridMove 20s linear infinite;pointer-events:none;transform:perspective(1000px) rotateX(75deg);transform-origin:center center;z-index:0}@keyframes gridMove{0%{transform:perspective(1000px) rotateX(75deg) translateY(0)}to{transform:perspective(1000px) rotateX(75deg) translateY(80px)}}.particles-container{position:absolute;inset:0;pointer-events:none;z-index:1}.particle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--accent-primary);border-radius:50%;opacity:0;animation:particleFloat var(--duration) ease-in-out var(--delay) infinite;box-shadow:0 0 10px var(--accent-primary)}@keyframes particleFloat{0%,to{opacity:0;transform:translateY(20px) scale(0)}10%{opacity:.6}50%{opacity:.3;transform:translateY(-100px) scale(1)}90%{opacity:0}}.loading-splash-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);padding:var(--space-2xl);position:relative;z-index:10}.loading-splash-logo-container{position:relative;animation:logoFloat 4s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(.5deg)}75%{transform:translateY(-4px) rotate(-.5deg)}}.logo-glow-ring{position:absolute;inset:-20px;border:1px solid rgba(0,255,163,.1);border-radius:50%;animation:ringPulse 3s ease-in-out infinite}.logo-glow-ring:before,.logo-glow-ring:after{content:"";position:absolute;inset:0;border:1px solid rgba(0,255,163,.08);border-radius:50%;animation:ringPulse 3s ease-in-out infinite .5s}.logo-glow-ring:after{inset:-10px;animation-delay:1s}@keyframes ringPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.2}}.loading-splash-logo-full{display:block;max-width:min(400px,70vw);max-height:min(400px,45vh);width:auto;height:auto;filter:drop-shadow(0 0 40px rgba(0,255,163,.4)) drop-shadow(0 0 80px rgba(123,92,255,.3)) drop-shadow(0 0 120px rgba(0,255,163,.1));animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 40px rgba(0,255,163,.4)) drop-shadow(0 0 80px rgba(123,92,255,.3)) drop-shadow(0 0 120px rgba(0,255,163,.1))}50%{filter:drop-shadow(0 0 60px rgba(0,255,163,.6)) drop-shadow(0 0 100px rgba(123,92,255,.5)) drop-shadow(0 0 140px rgba(0,255,163,.2))}}.loading-splash-glitch{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,163,.03) 2px,rgba(0,255,163,.03) 4px);pointer-events:none;opacity:0;animation:glitchEffect 5s ease-in-out infinite}@keyframes glitchEffect{0%,90%,to{opacity:0;transform:translate(0)}91%{opacity:.3;transform:translate(-2px)}92%{opacity:0;transform:translate(2px)}93%{opacity:.3;transform:translate(-1px)}94%{opacity:0;transform:translate(0)}}.loading-splash-terminal{font-family:VT323,IBM Plex Mono,monospace;background:#00000080;border:1px solid rgba(0,255,163,.15);border-radius:12px;padding:var(--space-md);min-width:320px;max-width:90vw;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d,0 0 0 1px #00ffa30d;overflow:hidden}.terminal-header{display:flex;align-items:center;gap:6px;padding-bottom:var(--space-sm);margin-bottom:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.1)}.terminal-dot{width:10px;height:10px;border-radius:50%}.terminal-dot.red{background:#ff5c5c}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#28c840}.terminal-title{margin-left:auto;font-size:12px;color:var(--text-muted);letter-spacing:.05em}.terminal-body{font-size:16px;line-height:1.6}.terminal-line{display:flex;align-items:center;gap:var(--space-sm);opacity:0;animation:lineAppear .3s ease-out forwards}.terminal-line:nth-child(1){animation-delay:.1s}.terminal-line:nth-child(2){animation-delay:.4s}.terminal-line:nth-child(3){animation-delay:.7s}.terminal-line:nth-child(4){animation-delay:1s}@keyframes lineAppear{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.terminal-line.indent{padding-left:24px}.terminal-prompt{color:var(--accent-secondary);font-weight:700}.terminal-command{color:var(--text-primary)}.terminal-command.visible{animation:commandGlow .3s ease-out}@keyframes commandGlow{0%{text-shadow:0 0 10px var(--accent-primary)}to{text-shadow:none}}.terminal-args{color:var(--accent-primary);opacity:0;transition:opacity .3s}.terminal-args.visible{opacity:1}.terminal-output{color:var(--text-secondary);font-size:14px}.terminal-output.success{color:var(--accent-primary)}.terminal-progress{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.1)}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:var(--space-xs);color:var(--text-muted)}.status-text{transition:all .3s}.status-text.ready{color:var(--accent-primary);text-shadow:0 0 10px rgba(0,255,163,.5)}.progress-track{position:relative;height:4px;background:#ffffff0d;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 50%,var(--accent-primary) 100%);background-size:200% 100%;border-radius:2px;transition:width .1s linear;box-shadow:0 0 10px #00ffa380;animation:progressShimmer 2s linear infinite}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-glow{position:absolute;top:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translate(-50%);transition:left .1s linear}.skip-button{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-family:VT323,monospace;font-size:14px;padding:8px 16px;border-radius:6px;cursor:pointer;opacity:0;transform:translateY(10px);transition:all .3s;margin-top:var(--space-md)}.skip-button:hover{border-color:#00ffa34d;color:var(--text-primary);background:#00ffa30d}.corner{position:absolute;font-size:24px;color:#00ffa333;z-index:5;animation:cornerPulse 2s ease-in-out infinite}.corner-tl{top:30px;left:30px;animation-delay:0s}.corner-tr{top:30px;right:30px;animation-delay:.5s}.corner-bl{bottom:30px;left:30px;animation-delay:1s}.corner-br{bottom:30px;right:30px;animation-delay:1.5s}@keyframes cornerPulse{0%,to{opacity:.2}50%{opacity:.5}}.frame-border{position:absolute;inset:20px;border:1px solid rgba(0,255,163,.1);border-radius:16px;pointer-events:none;z-index:5}.frame-border:before{content:"";position:absolute;inset:-1px;border-radius:16px;padding:1px;background:linear-gradient(135deg,rgba(0,255,163,.3) 0%,transparent 30%,transparent 70%,rgba(123,92,255,.3) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.version-badge{position:absolute;top:40px;right:40px;display:flex;align-items:center;gap:4px;padding:6px 12px;background:#00000080;border:1px solid rgba(0,255,163,.2);border-radius:20px;font-family:VT323,monospace;font-size:14px;opacity:0;transform:translate(20px);transition:all .5s;z-index:10}.version-badge.visible{opacity:1;transform:translate(0)}.version-label{color:var(--accent-primary);font-weight:700}.version-number{color:var(--text-secondary)}.matrix-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .5s;z-index:1}.matrix-rain.active{opacity:.15}.matrix-column{position:absolute;left:var(--left);top:-100%;display:flex;flex-direction:column;font-family:VT323,monospace;font-size:14px;color:var(--accent-primary);animation:matrixFall var(--speed) linear var(--delay) infinite}@keyframes matrixFall{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.matrix-char{opacity:0;animation:matrixChar .5s ease-out var(--char-delay) forwards}@keyframes matrixChar{0%{opacity:0}to{opacity:.6}}.logo-glow-ring.ring-2{inset:-35px;border-color:#7b5cff14;animation-delay:.3s}.loading-splash-logo-container.pulse{animation:logoReadyPulse .6s ease-out}@keyframes logoReadyPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.ready-indicator{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:readyIndicatorAppear .5s ease-out}@keyframes readyIndicatorAppear{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ready-text{font-family:VT323,monospace;font-size:14px;color:var(--accent-primary);letter-spacing:.2em;text-shadow:0 0 10px rgba(0,255,163,.8);animation:readyTextPulse 1s ease-in-out infinite}@keyframes readyTextPulse{0%,to{opacity:1}50%{opacity:.7}}.ready-line{width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);animation:readyLineExpand .5s ease-out}@keyframes readyLineExpand{0%{width:0}to{width:60px}}.terminal-status-badge{margin-left:auto;font-size:10px;padding:2px 6px;border-radius:3px;background:#ffffff1a;color:var(--text-muted);opacity:0;transition:all .3s;font-weight:700}.terminal-status-badge.ok{opacity:1;background:#00ffa333;color:var(--accent-primary);animation:badgePop .3s ease-out}@keyframes badgePop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.cursor-blink{color:var(--accent-primary);animation:cursorBlink .8s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.terminal-controls{display:flex;gap:6px}.terminal-timestamp{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:VT323,monospace}.konami-hint{position:absolute;bottom:60px;right:40px;font-family:VT323,monospace;font-size:10px;color:#00ffa326;letter-spacing:.1em;opacity:0;transition:opacity 1s;z-index:10;pointer-events:none}.konami-hint.visible{opacity:1}.version-build{font-size:9px;color:var(--text-muted);opacity:.7;margin-left:4px;letter-spacing:.05em}.logo-glow-ring.ring-3{inset:-50px;border-color:#ff33660d;animation-delay:.6s}.verify-time{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:VT323,monospace}.skip-button{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-family:VT323,monospace;font-size:13px;padding:8px 16px;border-radius:6px;cursor:pointer;opacity:0;transform:translateY(10px);transition:all .3s;margin-top:var(--space-md);letter-spacing:.05em}.skip-button.visible{opacity:1;transform:translateY(0)}.skip-button:hover{border-color:#00ffa366;color:var(--text-primary);background:#00ffa314;transform:translateY(0) scale(1.02)}.skip-icon{font-size:12px;opacity:.7}.corner{position:absolute;width:30px;height:30px;z-index:5;animation:cornerPulse 3s ease-in-out infinite}.corner:before,.corner:after{content:"";position:absolute;background:#00ffa34d}.corner-tl{top:25px;left:25px;animation-delay:0s}.corner-tl:before{top:0;left:0;width:20px;height:2px}.corner-tl:after{top:0;left:0;width:2px;height:20px}.corner-tr{top:25px;right:25px;animation-delay:.5s}.corner-tr:before{top:0;right:0;width:20px;height:2px}.corner-tr:after{top:0;right:0;width:2px;height:20px}.corner-bl{bottom:25px;left:25px;animation-delay:1s}.corner-bl:before{bottom:0;left:0;width:20px;height:2px}.corner-bl:after{bottom:0;left:0;width:2px;height:20px}.corner-br{bottom:25px;right:25px;animation-delay:1.5s}.corner-br:before{bottom:0;right:0;width:20px;height:2px}.corner-br:after{bottom:0;right:0;width:2px;height:20px}.tech-line{position:absolute;width:100px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,163,.3),transparent);z-index:5}.tech-line-left{left:60px;top:50%;animation:techLinePulse 4s ease-in-out infinite}.tech-line-right{right:60px;top:50%;animation:techLinePulse 4s ease-in-out infinite 2s}@keyframes techLinePulse{0%,to{opacity:.2}50%{opacity:.6}}.terminal-line{display:flex;align-items:center;gap:var(--space-sm);min-height:24px}.progress-percent{font-family:VT323,monospace;font-size:14px;color:var(--accent-primary);min-width:35px}.status-text{font-size:11px;letter-spacing:.1em;font-weight:600;transition:all .3s}.status-text.ready{color:var(--accent-primary);text-shadow:0 0 10px rgba(0,255,163,.5);animation:statusReadyPulse 1s ease-in-out infinite}@keyframes statusReadyPulse{0%,to{opacity:1}50%{opacity:.7}}.memory-check{display:flex;align-items:center;gap:12px}.memory-text{font-size:13px;color:var(--text-secondary);min-width:80px}.memory-bar{width:100px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.memory-fill{height:100%;background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary));border-radius:2px;transition:width .1s linear}.subsystem-list{display:flex;gap:8px;flex-wrap:wrap}.subsystem{font-size:11px;padding:2px 8px;border-radius:3px;background:#ffffff0d;color:var(--text-muted);transition:all .3s}.subsystem.active{background:#00ffa333;color:var(--accent-primary);box-shadow:0 0 8px #00ffa34d}.subsystem.loaded{background:#00ffa326;color:var(--accent-primary)}.verification{display:flex;align-items:center;gap:8px}.verify-item{color:var(--accent-primary);opacity:0;transform:scale(0);transition:all .3s}.verify-item.checked{opacity:1;transform:scale(1)}.verify-text{font-size:13px;color:var(--text-secondary)}.progress-fill.complete{box-shadow:0 0 20px #00ffa3cc}.progress-percent{font-family:VT323,monospace;font-size:14px;color:var(--accent-primary)}.loading-splash-bar{width:100%;height:2px;background:#00ffa31a;border-radius:1px;overflow:hidden;margin-top:var(--space-sm)}.loading-splash-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:1px;animation:loadingProgress .9s ease-out forwards}@keyframes loadingProgress{0%{width:0%}to{width:100%}}.desktop-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:#060608f2;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;position:fixed;top:0;left:0;right:0;z-index:1000;padding-left:env(safe-area-inset-left,16px);padding-right:env(safe-area-inset-right,16px);padding-top:calc(var(--space-sm) + env(safe-area-inset-top,0))}.desktop-banner-text{flex:1;text-align:center}.desktop-banner-dismiss{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;border-radius:var(--radius-sm)}.desktop-banner-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.main-area.banner-offset{padding-top:calc(44px + env(safe-area-inset-top,0))}.mobile-hamburger{display:none;position:fixed;top:calc(12px + env(safe-area-inset-top,0));left:calc(12px + env(safe-area-inset-left,0));z-index:100;width:40px;height:40px;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-md)}.mobile-hamburger:hover{background:var(--bg-hover)}.app-container.banner-visible .mobile-hamburger{top:calc(56px + env(safe-area-inset-top,0))}.sidebar-drawer-backdrop{display:none;position:fixed;inset:0;background:#0009;z-index:998;transition:opacity .2s}.sidebar-drawer-backdrop.show{opacity:1}.sidebar{width:var(--sidebar-width);position:sticky;top:0;height:calc(100vh / var(--ui-zoom, 1));display:flex;flex-direction:column;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:10;isolation:isolate}.sidebar:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.07) 3px,rgba(0,0,0,.07) 4px);mix-blend-mode:multiply}.sidebar>*{position:relative;z-index:1}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);flex-shrink:0;height:72px;border-bottom:1px solid var(--border-subtle);overflow:visible}.sidebar-header>div{position:relative;display:flex;align-items:center}.logo-wrapper{display:flex;align-items:flex-start;gap:4px}.logo-text-block{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:2px}.logo{display:flex;align-items:baseline;gap:0;font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:.2em;line-height:1;color:var(--text-primary);text-transform:uppercase;white-space:nowrap;position:relative;padding-bottom:6px}.logo:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:repeating-linear-gradient(90deg,var(--accent-primary),var(--accent-primary) 3px,transparent 3px,transparent 8px);opacity:.6}.logo-caret{color:var(--accent-primary);font-family:var(--font-display);font-size:22px;font-weight:400;line-height:1;opacity:.9;animation:caretBlink 1.5s step-end infinite;margin-top:1px}@keyframes caretBlink{0%,to{opacity:.9}50%{opacity:.2}}.logo-emu{color:var(--accent-primary)}.logo.compact{font-size:18px;letter-spacing:.15em}.sidebar-tagline{font-size:var(--text-xs);font-family:var(--font-mono);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;margin:0;padding-left:2px}.sidebar-toggle{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s}.sidebar-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-toggle svg{transition:transform .25s}.sidebar-toggle svg.rotated{transform:rotate(180deg)}.sidebar-scroll-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}.sidebar-scroll-wrapper:before,.sidebar-scroll-wrapper:after{content:"";position:absolute;left:0;right:0;height:20px;pointer-events:none;z-index:2;opacity:0;transition:opacity .15s}.sidebar-scroll-wrapper:before{top:0;background:linear-gradient(to bottom,var(--bg-secondary),transparent)}.sidebar-scroll-wrapper:after{bottom:0;background:linear-gradient(to top,var(--bg-secondary),transparent)}.sidebar-scroll-wrapper.has-scroll-top:before{opacity:1}.sidebar-scroll-wrapper.has-scroll-bottom:after{opacity:1}.sidebar-scrollable{height:100%;overflow-y:auto;overflow-x:hidden;padding:var(--space-lg) 0 var(--space-md);scrollbar-width:none}.sidebar-scrollable::-webkit-scrollbar{display:none}.sidebar-nav{padding:0 var(--space-sm);margin-bottom:var(--space-sm)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .15s,color .15s;text-align:left;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--bg-active);color:var(--accent-primary)}.sidebar-nav-item svg{flex-shrink:0;opacity:.7}.sidebar-nav-item.active svg{opacity:1}.sidebar-section-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-sm) var(--space-lg) var(--space-xs);margin-top:var(--space-sm)}.sidebar-section{padding:0 var(--space-sm)}.game-list{display:flex;flex-direction:column;gap:2px}.game-card{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;text-align:left;white-space:nowrap;overflow:hidden}.game-card:hover{background:var(--bg-hover);color:var(--text-primary)}.game-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:14px}.game-info{display:flex;flex-direction:column;gap:1px;min-width:0}.game-name{font-size:var(--text-sm);font-weight:500;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-year{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em}.sidebar-systems{padding:0 var(--space-sm)}.sidebar-system-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-xs) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:400;cursor:pointer;transition:background .15s,color .15s;text-align:left;white-space:nowrap;overflow:hidden}.sidebar-system-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-system-item.active{background:var(--bg-active);color:var(--accent-primary)}.sidebar-system-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em;flex-shrink:0}.sidebar-system-item.active .sidebar-system-count{color:var(--accent-primary);opacity:.7}.sidebar-rom-row{display:flex;align-items:center;gap:4px;padding:0 var(--space-sm)}.sidebar-rom-item{flex:1;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background .15s,color .15s;text-align:left;min-width:0}.sidebar-rom-item:hover{background:var(--bg-hover);color:var(--text-primary)}.rom-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-sm)}.save-indicator{font-size:10px;opacity:.7}.sidebar-rom-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);font-size:16px;cursor:pointer;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s}.sidebar-rom-row:hover .sidebar-rom-remove{opacity:1}.sidebar-rom-remove:hover{color:var(--accent-danger)}.sidebar-empty-state{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-sm) var(--space-lg);font-style:italic}.sidebar-divider{height:1px;background:var(--border-subtle);margin:var(--space-md) var(--space-lg)}.sidebar-browse-btn{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) var(--space-lg) 0;padding:var(--space-sm) var(--space-md);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;overflow:hidden}.sidebar-browse-btn:hover{background:var(--bg-active);color:var(--accent-primary);border-color:var(--border-accent)}.sidebar-footer{padding:var(--space-md) var(--space-sm);border-top:1px solid var(--border-subtle);flex-shrink:0}.sidebar-settings-btn{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-align:left;white-space:nowrap;overflow:hidden}.sidebar-settings-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-action-icon{flex-shrink:0}.sidebar.collapsed .sidebar-scroll-wrapper{display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:var(--space-lg) 0;border-bottom:none;min-height:52px}.sidebar.collapsed .sidebar-header>div{display:none}.sidebar.collapsed .sidebar-tagline,.sidebar.collapsed .sidebar-settings-btn span{display:none}.sidebar.collapsed .sidebar-footer{display:flex;align-items:center;justify-content:center;padding:var(--space-md) 0}.sidebar.collapsed .sidebar-settings-btn{width:40px;height:40px;justify-content:center;padding:0}.main-area{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;z-index:1}.browse-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-2xl);height:72px;border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);position:sticky;top:0;z-index:5;gap:var(--space-xl)}.browse-topbar.banner-offset{top:44px}.browse-brand{display:flex;align-items:center;gap:0;font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary)}.browse-brand-icon{width:44px;height:44px;object-fit:contain;opacity:.95;margin-right:10px}.browse-brand .logo-emu{color:var(--accent-primary)}.browse-actions{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.browse-search{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);min-width:180px}.browse-search input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--text-sm);flex:1}.browse-search input::placeholder{color:var(--text-muted)}.btn-import-rom{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;cursor:pointer;transition:opacity .15s,box-shadow .15s;white-space:nowrap}.btn-import-rom:hover{opacity:.9;box-shadow:0 0 16px rgba(var(--accent-secondary-rgb),.3)}.main-view{flex:1;display:flex;flex-direction:column;min-height:0}.emulator-view{overflow:hidden}.emulator-scroll{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.emulator-scroll::-webkit-scrollbar{width:6px}.emulator-scroll::-webkit-scrollbar-track{background:transparent}.emulator-scroll::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.systems-roulette-wrapper{padding:var(--space-xl) var(--space-2xl) var(--space-lg);border-bottom:1px solid var(--border-subtle)}.systems-roulette-bar{overflow:hidden}.systems-roulette-track{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-xs);scrollbar-width:none}.systems-roulette-track::-webkit-scrollbar{display:none}.system-chip{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;flex-shrink:0;min-width:110px;text-align:center;color:var(--text-primary)}.system-chip:hover{background:var(--bg-active);border-color:var(--border-accent);box-shadow:0 0 12px var(--glow-primary)}.system-chip-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;opacity:.55;transition:opacity .15s}.system-chip:hover .system-chip-icon{opacity:.9}.system-chip-icon svg{width:48px;height:48px;fill:currentColor}.system-chip-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;letter-spacing:.01em;text-align:center}.system-chip-caption{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;letter-spacing:.04em;text-align:center}.system-chip-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-primary);letter-spacing:.04em;text-align:center}.emulator-library-title{padding:var(--space-xl) var(--space-2xl) var(--space-md);font-size:var(--text-sm);font-family:var(--font-mono);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.library-by-system{padding:0 var(--space-2xl) var(--space-3xl)}.library-empty-state{padding:var(--space-3xl) var(--space-2xl);text-align:center}.library-empty-hint{color:var(--text-muted);font-size:var(--text-sm);line-height:1.6}.library-system-section{margin-bottom:var(--space-xl)}.library-system-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;margin-bottom:var(--space-sm);cursor:pointer;list-style:none;border-bottom:1px solid var(--border-subtle)}.library-system-header::-webkit-details-marker{display:none}.library-system-heading{display:flex;align-items:baseline;gap:var(--space-md)}.library-system-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary);letter-spacing:.01em}.library-system-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.06em}.header-chevron{color:var(--text-muted);transition:transform .2s;flex-shrink:0}details.library-system-section:not([open]) .header-chevron{transform:rotate(-90deg)}.library-system-list{display:flex;flex-direction:column}.library-rom-row{display:flex;align-items:center;gap:4px;border-radius:var(--radius-md);transition:background .1s}.library-rom-row:hover{background:var(--bg-hover)}.library-rom-item{flex:1;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);min-width:0;transition:none}.library-rom-thumbnail{width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.library-rom-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.library-rom-thumbnail-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.library-rom-thumbnail-fallback svg{width:32px;height:32px;opacity:.4;fill:var(--text-muted)}.library-rom-thumbnail-placeholder{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-muted);letter-spacing:.05em}.library-rom-info{flex:1;min-width:0}.library-rom-name{font-size:var(--text-base);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.library-rom-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:3px}.library-pill{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em}.library-pill-save{color:var(--accent-primary);opacity:.8}.library-rom-action{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;background:var(--bg-tertiary);border-radius:var(--radius-xs);flex-shrink:0;opacity:0;transition:opacity .15s,color .15s}.library-rom-row:hover .library-rom-action{opacity:1;color:var(--accent-primary)}.remove-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s}.library-rom-row:hover .remove-btn{opacity:1}.remove-btn:hover{color:var(--accent-danger);background:#e05a651a}.gameplay-view{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.game-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);flex-shrink:0;gap:var(--space-xl);min-height:72px}.game-header-main{display:flex;align-items:center;gap:var(--space-md);min-width:0}.back-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.system-badge{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bg-primary);background:var(--accent-primary);padding:2px 8px;border-radius:var(--radius-xs);flex-shrink:0}.game-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.game-header-status{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.06em}.rom-info-hint{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.score-display{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);letter-spacing:.12em;flex-shrink:0;padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.score-display span{color:var(--accent-primary);font-size:var(--text-base);letter-spacing:.06em}.header-icon-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.header-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.header-icon-btn.active{background:var(--bg-active);color:var(--accent-primary);border-color:var(--border-accent)}.game-body{flex:1;display:flex;min-height:0;overflow:hidden}.game-container{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);position:relative;min-width:0;background:var(--bg-primary)}.game-frame{position:relative;width:100%;max-width:720px;max-height:100%;aspect-ratio:4/3;background:#000;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-medium);box-shadow:0 0 40px #000c,0 0 0 1px #ffffff0a;display:flex;align-items:center;justify-content:center}.game-frame:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.3) 2px,rgba(0,0,0,.3) 4px),repeating-linear-gradient(0deg,rgba(255,255,255,.015),rgba(255,255,255,.015) 1px,transparent 1px,transparent 4px);mix-blend-mode:normal;opacity:.85}canvas#gameCanvas{display:block;width:100%;height:100%;image-rendering:pixelated}.press-start{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);background:#000000d9;z-index:5}.press-start.show{display:flex}.press-start-text{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--accent-primary);letter-spacing:.2em;animation:pixelBlink 1.2s step-end infinite}.coin-slot{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.12em}.game-over{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);background:#000000e0;z-index:6}.game-over.show{display:flex;animation:gameOverIn .3s ease-out}.game-over h2{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:.15em;text-transform:uppercase}.game-over p{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.06em}.game-over p span{color:var(--accent-primary)}.new-high-score{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;color:var(--accent-tertiary);letter-spacing:.15em;animation:pixelBlink .8s step-end infinite}.restart-btn{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-2xl);background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;cursor:pointer;transition:opacity .15s}.restart-btn:hover{opacity:.85}.emulator-container{position:absolute;inset:0;display:none;width:100%;height:100%}.emulator-container.active{display:flex}#emulator{width:100%;height:100%}.emulator-click-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.1em;cursor:pointer;border:none;z-index:3}.rom-load-overlay{position:absolute;inset:0;z-index:7;background:#000000a6;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent-primary);letter-spacing:.12em;cursor:pointer;border:none;border-radius:var(--radius-md)}.controls-panel{width:var(--play-panel-width);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border-subtle);overflow-y:auto;scrollbar-width:none;position:relative;isolation:isolate}.controls-panel::-webkit-scrollbar{display:none}.controls-panel:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.07) 3px,rgba(0,0,0,.07) 4px);mix-blend-mode:multiply}.controls-panel>*{position:relative;z-index:1}.controls-panel-section{padding:var(--space-lg);border-bottom:1px solid var(--border-subtle)}.controls-panel-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-md)}.controls-btn-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.controls-btn-row:last-child{margin-bottom:0}.control-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;letter-spacing:.03em;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.control-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.control-btn:disabled{opacity:.3;cursor:not-allowed}.control-btn.active{background:var(--bg-active);color:var(--accent-primary);border-color:var(--border-accent)}.control-btn--full{width:100%}.control-btn--small{font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm)}.save-state-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.06em;display:block;margin-top:var(--space-sm);text-align:center}.resolution-select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%234a5058' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.resolution-select:focus{outline:none;border-color:var(--border-accent)}.keyboard-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.06em;display:block;margin-top:var(--space-sm)}.controls-kbd-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--border-subtle)}.controls-kbd-row:last-child{border-bottom:none}.controls-kbd-action{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.02em}.controls-kbd-keys{display:flex;gap:4px}.key{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-xs);padding:1px 6px;letter-spacing:.04em}.controls-exit-btn{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-lg);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;width:calc(100% - 2 * var(--space-lg))}.controls-exit-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.theater-overlay{position:fixed;inset:0;z-index:20;background:transparent;border:none;cursor:pointer}.gameplay-view.theater-mode .game-header,.gameplay-view.theater-mode .controls-panel{display:none}.gameplay-view.theater-mode .game-body{height:100vh}.gameplay-view.theater-mode .game-container{padding:0}.gameplay-view.theater-mode .game-frame{max-width:100%;max-height:100%;border-radius:0}.controls-guide{padding:var(--space-md)}.controls-guide h4{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.controls-grid{display:flex;flex-direction:column;gap:var(--space-xs)}.control-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary)}.controls-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-subtle);background:var(--bg-secondary)}.settings-modal{position:fixed;inset:0;z-index:1000;display:none}.settings-modal.show{display:flex}.settings-backdrop{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.settings-panel{position:absolute;top:0;right:0;bottom:0;width:440px;max-width:100%;background:var(--bg-secondary);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;animation:slideInRight .22s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideInRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.settings-kicker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.settings-header h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.settings-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.settings-close:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-content{flex:1;overflow-y:auto;padding:var(--space-xl) var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-xl);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.settings-content::-webkit-scrollbar{width:4px}.settings-content::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.settings-section-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.settings-section{display:flex;flex-direction:column;gap:var(--space-sm)}.settings-section h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-xs)}.settings-section-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg)}.settings-section-card h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.settings-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;cursor:pointer;gap:var(--space-md)}.settings-toggle span:first-child{font-size:var(--text-base);color:var(--text-primary);font-weight:500}.settings-toggle input[type=checkbox]{display:none}.toggle-slider{position:relative;width:40px;height:22px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:11px;flex-shrink:0;transition:background .2s,border-color .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-muted);border-radius:50%;transition:transform .2s,background .2s}.settings-toggle input:checked+.toggle-slider{background:rgba(var(--accent-secondary-rgb),.2);border-color:var(--border-accent)}.settings-toggle input:checked+.toggle-slider:after{transform:translate(18px);background:var(--accent-primary)}.settings-row{display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-base);color:var(--text-primary);padding:var(--space-sm) 0}.settings-row-spaced{justify-content:space-between}.settings-row-stack{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.settings-row-copy{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:var(--text-base)}.settings-row-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-primary);letter-spacing:.06em}.settings-scale-buttons{display:flex;gap:6px}.settings-scale-btn{min-width:44px;height:28px;padding:0 var(--space-sm);display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.settings-scale-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-scale-btn.active{background:var(--bg-active);color:var(--accent-primary);border-color:var(--border-accent)}.settings-theme-strip{display:flex;gap:var(--space-sm);flex-wrap:wrap}.settings-theme-option{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background .15s}.settings-theme-option:hover{background:var(--bg-hover)}.settings-theme-option.active{background:var(--bg-active)}.settings-theme-option-swatch{width:28px;height:28px;border-radius:50%;background:var(--theme-accent-secondary, var(--accent-primary));border:2px solid transparent;transition:border-color .15s;box-shadow:0 0 0 1px var(--border-subtle)}.settings-theme-option.active .settings-theme-option-swatch{border-color:var(--text-primary)}.settings-theme-option-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap}.settings-select{padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;appearance:none}.settings-select:focus{outline:none;border-color:var(--border-accent)}.gamepad-settings{display:flex;flex-direction:column;gap:var(--space-sm)}.gamepad-status{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.gamepad-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.gamepad-status.connected .gamepad-status-dot{background:var(--accent-primary)}.gamepad-status.connected .gamepad-status-text{color:var(--accent-primary)}.high-scores-list{display:flex;flex-direction:column;gap:4px}.high-score-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-subtle)}.high-score-item:last-child{border-bottom:none}.high-score-item .game-name{font-size:var(--text-base);color:var(--text-primary);font-weight:500}.high-score-item .score{font-family:var(--font-mono);font-size:var(--text-base);color:var(--accent-primary);letter-spacing:.08em}.settings-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.settings-description-secondary{color:var(--text-muted)}.settings-description-spaced{margin-bottom:var(--space-sm)}.settings-note{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.settings-note-spaced{margin-bottom:var(--space-sm)}.settings-empty{text-align:center;font-style:italic}.settings-empty-centered{text-align:center;font-style:italic;padding:var(--space-md) 0}.settings-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.settings-status{margin-top:var(--space-sm)}.settings-status-error{color:var(--accent-danger)}.settings-status-success{color:var(--accent-primary)}.watch-folders-list{display:flex;flex-direction:column;gap:var(--space-xs)}.watch-folder-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 0}.watch-folder-name{font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dialog-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center}.dialog-modal.show{display:flex}.dialog-backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-panel{position:relative;z-index:1;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-2xl);min-width:300px;max-width:460px;width:calc(100% - 2 * var(--space-2xl));box-shadow:var(--shadow-lg);animation:fadeIn .18s ease-out;display:flex;flex-direction:column;gap:var(--space-lg)}.dialog-panel--rom{min-width:340px}.dialog-kicker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary)}.dialog-title{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.dialog-message{font-size:var(--text-base);color:var(--text-secondary);line-height:1.5}.dialog-intro{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.dialog-section{display:flex;flex-direction:column;gap:var(--space-sm)}.dialog-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.dialog-select{padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;appearance:none}.dialog-select:focus{outline:none;border-color:var(--border-accent)}.dialog-buttons{display:flex;gap:var(--space-sm);justify-content:flex-end}.dialog-buttons--rom{flex-wrap:wrap}.dialog-btn{padding:var(--space-sm) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.dialog-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.dialog-btn-primary{background:var(--accent-primary);border-color:transparent;color:var(--bg-primary);font-weight:700}.dialog-btn-primary:hover{opacity:.9;background:var(--accent-primary)}.touch-controls{display:none;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0));left:0;right:0;pointer-events:none;z-index:50;justify-content:center;gap:var(--space-2xl)}.touch-controls.visible{display:flex}.touch-controls *{pointer-events:auto}.touch-btn{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#060608cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);font-size:24px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:background .1s,transform .1s,box-shadow .1s;box-shadow:0 2px 8px #0000004d}.touch-btn:active{background:var(--accent-primary);color:var(--bg-primary);transform:scale(.95);box-shadow:0 1px 4px #0000004d}.touch-btn-action{background:rgba(var(--accent-secondary-rgb),.15);border-color:var(--border-accent);color:var(--accent-primary);min-width:64px;font-size:13px;font-weight:700;letter-spacing:.06em}.touch-controls-pong{display:flex;flex-direction:column;gap:var(--space-md)}.touch-controls-snake{display:flex;align-items:center;gap:var(--space-2xl)}.touch-dpad{display:grid}.touch-dpad-cross{grid-template-columns:60px 60px 60px;grid-template-rows:60px 60px 60px;gap:6px}.touch-dpad-up{grid-column:2;grid-row:1}.touch-dpad-left{grid-column:1;grid-row:2}.touch-dpad-right{grid-column:3;grid-row:2}.touch-dpad-down{grid-column:2;grid-row:3}.touch-dpad-horizontal{grid-template-columns:60px 60px;grid-template-rows:60px;gap:var(--space-md)}.touch-controls-breakout{display:flex;align-items:center;gap:var(--space-xl)}.mobile-settings-fab{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0));right:var(--space-md);width:48px;height:48px;border-radius:50%;background:#060608d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;z-index:100;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;transition:transform .2s,background .2s}.mobile-settings-fab:hover{transform:scale(1.05);background:#0f0f14e6}@media(max-width:768px){.mobile-settings-fab{display:flex}}@media(max-width:768px){.mobile-hamburger{display:flex}.sidebar-drawer-backdrop{display:block;opacity:0}.sidebar,.sidebar.drawer-mode{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width)!important;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:999}.sidebar.drawer-open{transform:translate(0)}.sidebar-drawer-backdrop.show{opacity:1}.browse-topbar{padding:var(--space-md) var(--space-lg);padding-left:calc(52px + var(--space-lg))}.systems-roulette-wrapper{padding:var(--space-lg) var(--space-lg) var(--space-md)}.library-by-system{padding:0 var(--space-lg) var(--space-2xl)}.emulator-library-title{padding:var(--space-lg) var(--space-lg) var(--space-sm)}.game-header{padding:var(--space-sm) var(--space-md)}.game-container{padding:var(--space-md)}.controls-panel{display:none}.controls-bar{display:flex}.game-body{flex-direction:column}.settings-panel{width:100%;left:0;animation:slideInUp .22s cubic-bezier(.4,0,.2,1)}@keyframes slideInUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}}@media(max-width:480px){.browse-topbar{flex-wrap:wrap;gap:var(--space-sm)}.game-title{font-size:var(--text-base)}.system-badge,.score-display{display:none}}@media(orientation:landscape)and (max-height:500px){.game-frame{max-height:85vh}.touch-controls{bottom:8px}.touch-btn{width:48px;height:48px;font-size:18px}.touch-dpad-cross{grid-template-columns:48px 48px 48px;grid-template-rows:48px 48px 48px}.mobile-settings-fab{bottom:calc(60px + env(safe-area-inset-bottom,0));right:var(--space-sm);width:40px;height:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.home-kicker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.section-title{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-xl) var(--space-2xl) var(--space-md)}.theme-tint-switcher{display:flex;align-items:center;gap:var(--space-sm)}.theme-tint-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.theme-tint-track{display:flex;gap:6px}.theme-tint-option{display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;border:none;cursor:pointer;padding:3px;border-radius:var(--radius-sm);transition:background .15s}.theme-tint-option:hover{background:var(--bg-hover)}.theme-tint-option.active{background:var(--bg-active)}.theme-tint-option-swatch{width:20px;height:20px;border-radius:50%;background:var(--theme-accent-secondary, var(--accent-primary));box-shadow:0 0 0 1px var(--border-subtle);border:2px solid transparent;transition:border-color .15s}.theme-tint-option.active .theme-tint-option-swatch{border-color:var(--text-primary)}.theme-tint-option-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap}.rom-upload{display:none}.desktop-banner.svelte-1oaruoy{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,#7b5cfff2,#ff3366f2);color:#fff;font-size:var(--text-xs);font-family:var(--font-mono)}.banner-content.svelte-1oaruoy{display:flex;align-items:center;gap:var(--space-sm);flex:1}.banner-icon.svelte-1oaruoy{font-size:var(--text-sm);flex-shrink:0}.desktop-banner-text.svelte-1oaruoy{opacity:.95;line-height:1.4}.desktop-banner-dismiss.svelte-1oaruoy{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:var(--text-base);line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s}.desktop-banner-dismiss.svelte-1oaruoy:hover{background:#ffffff4d}.error-fallback.svelte-1k3aqik{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem;background:#ff33661a;border:1px solid rgba(255,51,102,.3);border-radius:8px;margin:1rem}.error-content.svelte-1k3aqik{text-align:center;color:#f36}.error-content.svelte-1k3aqik h2:where(.svelte-1k3aqik){margin:0 0 .5rem;font-family:VT323,monospace;font-size:1.5rem}.error-message.svelte-1k3aqik{color:#ffffffb3;font-size:.875rem;margin:0 0 1rem;word-break:break-word}.error-content.svelte-1k3aqik button:where(.svelte-1k3aqik){background:#f36;color:#fff;border:none;padding:.5rem 1.5rem;font-family:VT323,monospace;font-size:1.25rem;cursor:pointer;border-radius:4px;transition:background .2s}.error-content.svelte-1k3aqik button:where(.svelte-1k3aqik):hover{background:#ff4d7a}
