@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Press+Start+2P&family=VT323&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-pixel-purple: #6A00FF;--color-electric-cyan: #00E5FF;--color-arcade-magenta: #FF2E88;--color-joystick-yellow: #FFD800;--color-laser-green: #2DFF57;--color-8bit-orange: #FF8A00;--color-crt-black: #0D0D1A;--color-cabinet-charcoal: #1A1A2E;--color-scanline-gray: #3D3D5C;--color-deep-purple: #1A0A2E;--color-midnight-purple: #120820;--color-glow-purple: #2D1B4E;--color-phosphor-white: #F4F7FF;--color-muted-pixel-gray: #A0A6C0;--nes-white: #FCFCFC;--nes-gray: #7C7C7C;--nes-blue: #0000FC;--nes-red: #FC0000;--synth-pink: #FF71CE;--synth-cyan: #01CDFE;--synth-mint: #05FFA1;--synth-purple: #B967FF;--bg-primary: var(--color-crt-black);--bg-secondary: var(--color-cabinet-charcoal);--bg-elevated: var(--color-scanline-gray);--text-primary: var(--color-phosphor-white);--text-secondary: var(--color-muted-pixel-gray);--text-muted: var(--color-scanline-gray);--accent-primary: var(--color-pixel-purple);--accent-secondary: var(--color-electric-cyan);--accent-tertiary: var(--color-arcade-magenta);--success: var(--color-laser-green);--warning: var(--color-8bit-orange);--error: var(--color-arcade-magenta);--info: var(--color-electric-cyan);--highlight: var(--color-joystick-yellow);--color-border: var(--color-scanline-gray);--color-border-glow: var(--color-pixel-purple);--gradient-synthwave: linear-gradient(135deg, var(--color-arcade-magenta) 0%, var(--color-pixel-purple) 50%, var(--color-electric-cyan) 100%);--gradient-arcade: linear-gradient(180deg, var(--color-glow-purple) 0%, var(--color-midnight-purple) 100%);--gradient-neon: linear-gradient(90deg, var(--color-arcade-magenta) 0%, var(--color-electric-cyan) 100%);--gradient-crt: linear-gradient(135deg, var(--color-deep-purple) 0%, var(--color-midnight-purple) 100%);--gradient-sunset: linear-gradient(135deg, var(--color-8bit-orange) 0%, var(--color-arcade-magenta) 100%);--gradient-hero: linear-gradient(180deg, var(--color-deep-purple) 0%, var(--color-midnight-purple) 50%, var(--color-crt-black) 100%);--gradient-radial-glow: radial-gradient(ellipse at center, rgba(106, 0, 255, .15) 0%, rgba(255, 46, 136, .1) 30%, transparent 70%);--gradient-card: linear-gradient(145deg, var(--color-glow-purple) 0%, var(--color-deep-purple) 100%);--glow-purple: 0 0 10px var(--color-pixel-purple), 0 0 20px var(--color-pixel-purple), 0 0 30px var(--color-pixel-purple);--glow-cyan: 0 0 10px var(--color-electric-cyan), 0 0 20px var(--color-electric-cyan), 0 0 30px var(--color-electric-cyan);--glow-magenta: 0 0 10px var(--color-arcade-magenta), 0 0 20px var(--color-arcade-magenta), 0 0 30px var(--color-arcade-magenta);--glow-green: 0 0 10px var(--color-laser-green), 0 0 20px var(--color-laser-green);--glow-yellow: 0 0 10px var(--color-joystick-yellow), 0 0 20px var(--color-joystick-yellow);--glow-orange: 0 0 10px var(--color-8bit-orange), 0 0 20px var(--color-8bit-orange);--font-pixel: "Press Start 2P", monospace;--font-terminal: "VT323", monospace;--font-body: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-family:var(--font-body);line-height:1.6;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit}.pixel-font{font-family:var(--font-pixel);letter-spacing:1px;line-height:1.8}.terminal-font{font-family:var(--font-terminal);font-size:1.25em;letter-spacing:1px}.body-font{font-family:var(--font-body)}.scanlines{position:relative}.scanlines:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:10}.pixel-border{border:4px solid var(--color-pixel-purple);box-shadow:4px 4px 0 0 var(--color-arcade-magenta),-4px -4px 0 0 var(--color-electric-cyan)}.neon-text{text-shadow:var(--glow-magenta)}.neon-text-cyan{text-shadow:var(--glow-cyan)}.neon-text-purple{text-shadow:var(--glow-purple)}.neon-text-green{text-shadow:var(--glow-green)}.retro-button{position:relative;border:none;background:var(--gradient-neon);color:var(--color-crt-black);font-weight:700;text-transform:uppercase;box-shadow:0 4px 0 0 var(--color-pixel-purple),0 6px 10px #0000004d;transition:all .1s ease}.retro-button:hover{transform:translateY(-2px);box-shadow:0 6px 0 0 var(--color-pixel-purple),0 8px 15px #0000004d}.retro-button:active{transform:translateY(2px);box-shadow:0 2px 0 0 var(--color-pixel-purple),0 3px 5px #0000004d}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.blink{animation:blink 1s step-end infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--color-arcade-magenta),0 0 10px var(--color-arcade-magenta)}50%{box-shadow:0 0 20px var(--color-arcade-magenta),0 0 30px var(--color-arcade-magenta),0 0 40px var(--color-arcade-magenta)}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes rainbow{0%{color:var(--color-arcade-magenta)}20%{color:var(--color-8bit-orange)}40%{color:var(--color-joystick-yellow)}60%{color:var(--color-laser-green)}80%{color:var(--color-electric-cyan)}to{color:var(--color-arcade-magenta)}}.rainbow-text{animation:rainbow 3s linear infinite}@keyframes flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}97%{opacity:.9}98%{opacity:1}}.crt-flicker{animation:flicker 4s infinite}@keyframes screen-glow{0%,to{box-shadow:0 0 20px #6a00ff4d,inset 0 0 60px #6a00ff0d}50%{box-shadow:0 0 40px #6a00ff80,inset 0 0 80px #6a00ff1a}}.screen-glow{animation:screen-glow 3s ease-in-out infinite}.layout{min-height:100vh;display:flex;flex-direction:column;position:relative}.layout:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:2}.nav{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--bg-secondary);border-bottom:3px solid var(--color-pixel-purple);box-shadow:0 4px 20px #6a00ff4d;position:relative;z-index:1}.nav-logo{display:flex;align-items:center}.nav-logo-img{height:40px;width:auto}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:1rem;transition:color .2s,text-shadow .2s}.nav-links a:hover{color:var(--color-electric-cyan);text-shadow:0 0 8px var(--color-electric-cyan)}.nav-token-display{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#6a00ff33;border:1px solid var(--color-pixel-purple);border-radius:4px;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}.nav-token-display:hover{background:#6a00ff59;border-color:var(--color-electric-cyan);box-shadow:0 0 8px #00ffff4d}.nav-token-count{color:var(--color-electric-cyan);font-weight:700;font-size:1rem;text-shadow:0 0 6px rgba(0,255,255,.5)}.nav-token-label{color:var(--text-secondary);font-size:.85rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;text-transform:uppercase;letter-spacing:1px;transition:all .2s ease;position:relative}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--gradient-neon);color:var(--color-crt-black);box-shadow:0 4px 0 0 var(--color-pixel-purple),0 0 20px #ff2e8866}.btn-primary:hover{box-shadow:0 6px 0 0 var(--color-pixel-purple),0 0 30px #ff2e8899}.btn-primary:active{box-shadow:0 2px 0 0 var(--color-pixel-purple),0 0 15px #ff2e8866}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--color-pixel-purple);box-shadow:0 4px 0 0 var(--color-scanline-gray)}.btn-secondary:hover{border-color:var(--color-electric-cyan);box-shadow:0 6px 0 0 var(--color-scanline-gray),0 0 15px #00e5ff4d}.btn-small{padding:.5rem 1rem;font-size:1rem}.btn-compact{padding:.35rem .75rem;font-size:.875rem}.btn-danger{background:#ff2e881a;color:var(--color-arcade-magenta);border:2px solid var(--color-arcade-magenta);box-shadow:0 4px #ff2e8866}.btn-danger:hover:not(:disabled){background:var(--color-arcade-magenta);color:var(--color-crt-black);box-shadow:0 6px #ff2e8866,0 0 15px #ff2e8899}.btn-danger:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--gradient-hero);position:relative}.landing:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:80%;background:radial-gradient(ellipse at top center,rgba(106,0,255,.2) 0%,rgba(255,46,136,.1) 30%,transparent 60%);pointer-events:none;z-index:0}.landing-header{text-align:center;padding:1rem 2rem 2rem;position:relative;z-index:1}.landing-logo{max-width:320px;width:100%;height:auto;margin-bottom:1rem}.landing-header h1{font-family:var(--font-pixel);font-size:2rem;margin-bottom:1rem;background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 20px rgba(255,46,136,.5))}.landing-header p{font-size:1.25rem;color:var(--color-phosphor-white);text-shadow:0 0 20px rgba(255,255,255,.3);opacity:.9}.landing-main{flex:1;padding:2rem;position:relative;z-index:1}.hero{text-align:center;max-width:600px;margin:0 auto 4rem}.hero h2{font-family:var(--font-pixel);font-size:1rem;margin-bottom:1.5rem;color:var(--color-electric-cyan);text-shadow:0 0 15px var(--color-electric-cyan),0 0 30px rgba(0,229,255,.5);line-height:1.8}.hero p{font-size:1.125rem;color:var(--color-phosphor-white);margin-bottom:2rem;line-height:1.6;opacity:.85}.cta-buttons{display:flex;gap:1rem;justify-content:center}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.feature{background:var(--gradient-card);padding:1.5rem;border-radius:8px;border:1px solid rgba(106,0,255,.3);position:relative;transition:all .3s ease;box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d}.feature:before{content:"";position:absolute;inset:-1px;background:var(--gradient-neon);border-radius:9px;z-index:-1;opacity:0;transition:opacity .3s ease}.feature:hover{transform:translateY(-4px);border-color:transparent;box-shadow:0 8px 30px #6a00ff66,0 0 40px #ff2e8833}.feature:hover:before{opacity:1}.feature h3{font-family:var(--font-pixel);font-size:.625rem;margin-bottom:.75rem;color:var(--color-arcade-magenta);text-shadow:0 0 10px rgba(255,46,136,.5);line-height:1.6}.feature p{color:var(--color-phosphor-white);font-size:.95rem;line-height:1.6;opacity:.8}.landing-footer{text-align:center;padding:2rem;color:var(--color-muted-pixel-gray);border-top:1px solid rgba(106,0,255,.2);font-size:.875rem;position:relative;z-index:1}.dashboard{padding:20px;min-height:calc(100vh - 60px);position:relative}.dashboard:before{content:"";position:absolute;top:0;right:0;bottom:0;background:linear-gradient(#1210101a 50%,#00000040 50%);background-size:100% 4px;pointer-events:none;z-index:0}.dashboard>*{position:relative;z-index:1}.dashboard-main{padding:20px 0;position:relative;z-index:1}.new-game-btn{background-color:var(--color-laser-green);color:var(--color-crt-black);border:none;padding:12px 25px;border-radius:6px;cursor:pointer;font-weight:700;font-size:1rem;margin-bottom:30px;transition:all .3s;box-shadow:0 0 15px #2dff574d;display:inline-flex;align-items:center;gap:8px;text-decoration:none;position:relative;z-index:1}.new-game-btn:hover{background-color:var(--color-joystick-yellow);box-shadow:0 0 20px #ffd80080;transform:translateY(-2px)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;position:relative;z-index:3}.game-card{background-color:var(--bg-secondary);border-radius:8px;padding:20px;border:1px solid var(--color-scanline-gray);transition:all .3s;position:relative;overflow:hidden;z-index:3;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000004d;border-color:var(--color-electric-cyan)}.game-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(to right,var(--color-pixel-purple),var(--color-electric-cyan))}.game-title{font-size:1.3rem;margin-bottom:10px;color:var(--color-electric-cyan);font-weight:700}.game-description{color:var(--color-muted-pixel-gray);margin-bottom:20px;font-size:.9rem;line-height:1.5}.game-actions{display:flex;gap:10px;margin-top:auto}.play-btn,.share-btn{padding:8px 15px;border-radius:4px;cursor:pointer;font-weight:700;border:none;transition:all .3s;display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-size:.875rem}.play-btn{background-color:var(--color-laser-green);color:var(--color-crt-black)}.play-btn:hover{background-color:var(--color-joystick-yellow);box-shadow:0 0 10px var(--color-joystick-yellow)}.share-btn{background-color:var(--bg-secondary);color:var(--color-phosphor-white);border:1px solid var(--color-scanline-gray);margin-left:auto}.share-btn:hover{background-color:var(--color-pixel-purple);border-color:var(--color-pixel-purple);box-shadow:0 0 10px var(--color-pixel-purple)}.empty-state{text-align:center;padding:50px 20px;color:var(--color-muted-pixel-gray);border:2px dashed var(--color-scanline-gray);border-radius:8px;margin-top:30px}.empty-state i{font-size:3rem;margin-bottom:20px;color:var(--color-scanline-gray);display:block}.empty-state h3{color:var(--color-phosphor-white);margin-bottom:10px}.empty-state p{color:var(--color-muted-pixel-gray);font-size:1rem}.loading-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1rem}.loading-state:after{content:"...";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.dashboard-error{padding:.75rem 1rem;margin-bottom:1rem;background:#ff2e8833;color:var(--color-arcade-magenta);border:2px solid var(--color-arcade-magenta);border-radius:4px;font-size:.875rem;text-shadow:0 0 10px var(--color-arcade-magenta)}.builder{display:grid;grid-template-columns:1fr 1fr;height:calc(100vh - 60px)}.builder-chat{display:flex;flex-direction:column;border-right:1px solid var(--color-scanline-gray);background:var(--color-crt-black)}.chat-header{padding:15px 20px;border-bottom:1px solid var(--color-scanline-gray);background:var(--bg-secondary);position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(to right,var(--color-pixel-purple),var(--color-arcade-magenta))}.chat-header h2{font-size:1.1rem;color:var(--color-electric-cyan);font-weight:700;display:flex;align-items:center;gap:10px}.chat-header h2:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--color-arcade-magenta)}.chat-header-actions{display:flex;align-items:center;gap:10px}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:15px;background:var(--color-crt-black)}.message{max-width:85%}.message-user{align-self:flex-end}.message-assistant{align-self:flex-start}.message-content{padding:12px 16px;border-radius:8px;line-height:1.6;font-size:.95rem}.message-user .message-content{background:linear-gradient(135deg,var(--color-pixel-purple),var(--color-arcade-magenta));color:var(--color-phosphor-white);font-weight:500;border-radius:8px 8px 0}.message-assistant .message-content{background:var(--bg-secondary);border:1px solid var(--color-scanline-gray);color:var(--color-phosphor-white);border-radius:8px 8px 8px 0}.message-content.generating{color:var(--color-muted-pixel-gray);font-style:italic;border-color:var(--color-electric-cyan);animation:pulse-border 1.5s ease-in-out infinite}.generation-status{display:flex;align-items:center;gap:10px}.status-indicator{width:8px;height:8px;background:var(--color-electric-cyan);border-radius:50%;animation:pulse-glow 1s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--color-electric-cyan);opacity:.5}50%{box-shadow:0 0 15px var(--color-electric-cyan);opacity:1}}@keyframes pulse-border{0%,to{border-color:var(--color-scanline-gray)}50%{border-color:var(--color-electric-cyan)}}.chat-input{padding:15px 20px;border-top:1px solid var(--color-scanline-gray);display:flex;flex-direction:column;gap:8px;background:var(--bg-secondary)}.chat-input .input-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-input .input-counter{font-size:.75rem;color:var(--color-muted-pixel-gray)}.chat-input .input-counter-error{color:var(--color-danger)}.chat-input .input-warning{font-weight:700}.chat-input textarea{flex:1;background:var(--color-crt-black);border:1px solid var(--color-scanline-gray);border-radius:6px;padding:12px;color:var(--color-phosphor-white);font-family:inherit;font-size:.95rem;resize:none;transition:all .3s}.chat-input textarea:focus{outline:none;border-color:var(--color-electric-cyan);box-shadow:0 0 10px #00e5ff33}.chat-input textarea::placeholder{color:var(--color-muted-pixel-gray)}.chat-input .btn{background:var(--color-laser-green);color:var(--color-crt-black);border:none;padding:12px 24px;border-radius:6px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 0 10px #2dff574d}.chat-input .btn:hover:not(:disabled){background:var(--color-joystick-yellow);box-shadow:0 0 15px #ffd80080}.chat-input .btn:disabled{opacity:.5;cursor:not-allowed}.builder-preview{display:flex;flex-direction:column;background:var(--color-crt-black);position:relative;z-index:3}.preview-header{padding:15px 20px;border-bottom:1px solid var(--color-scanline-gray);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);position:relative}.preview-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(to right,var(--color-electric-cyan),var(--color-laser-green))}.preview-header h3{font-size:1.1rem;color:var(--color-electric-cyan);font-weight:700;display:flex;align-items:center;gap:10px}.preview-header h3:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--color-laser-green)}.preview-frame{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);margin:20px;border-radius:8px;border:1px solid var(--color-scanline-gray);position:relative;overflow:hidden}.preview-frame:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(to right,var(--color-electric-cyan),var(--color-laser-green))}.preview-frame iframe{width:375px;height:667px;border:none;border-radius:4px;background:#fff;box-shadow:0 0 30px #00e5ff33}.preview-placeholder{color:var(--color-muted-pixel-gray);text-align:center;font-size:1rem}.preview-placeholder i{font-size:3rem;margin-bottom:20px;color:var(--color-scanline-gray);display:block}.preview-placeholder p{margin-bottom:.5rem;color:var(--color-phosphor-white)}.preview-placeholder:before{content:"[ PRESS START ]";display:block;font-family:var(--font-pixel);color:var(--color-joystick-yellow);font-size:.625rem;letter-spacing:2px;margin-bottom:1rem;animation:blink 1.5s step-end infinite}.preview-hint{font-size:.875rem;color:var(--color-muted-pixel-gray)}.preview-actions{display:flex;gap:10px}.preview-actions .btn-secondary{background:var(--bg-secondary);color:var(--color-phosphor-white);border:1px solid var(--color-scanline-gray);padding:8px 15px;border-radius:4px;font-weight:700;cursor:pointer;transition:all .3s;text-decoration:none;font-size:.875rem}.preview-actions .btn-secondary:hover{background:var(--color-pixel-purple);border-color:var(--color-pixel-purple);box-shadow:0 0 10px var(--color-pixel-purple)}.preview-actions .btn-primary{background:var(--color-laser-green);color:var(--color-crt-black);border:none;padding:8px 15px;border-radius:4px;font-weight:700;cursor:pointer;transition:all .3s;font-size:.875rem;box-shadow:0 0 10px #2dff574d}.preview-actions .btn-primary:hover{background:var(--color-joystick-yellow);box-shadow:0 0 15px #ffd80080}.chat-error{padding:12px 20px;background:#ff2e8826;color:var(--color-arcade-magenta);font-size:.875rem;border-top:1px solid var(--color-arcade-magenta)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--gradient-crt);position:relative}.auth-page:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);pointer-events:none}.auth-container{width:100%;max-width:400px;background:var(--bg-primary);border-radius:4px;padding:2rem;border:3px solid var(--color-pixel-purple);box-shadow:0 0 30px #6a00ff66,6px 6px 0 0 var(--color-arcade-magenta),-6px -6px 0 0 var(--color-electric-cyan);position:relative;z-index:1}.auth-container h1{font-family:var(--font-pixel);font-size:1rem;margin-bottom:.75rem;text-align:center;background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.6}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:1.5rem;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-pixel);font-size:.5rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.form-group input{padding:.75rem;border-radius:4px;border:2px solid var(--color-scanline-gray);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--color-electric-cyan);box-shadow:0 0 15px #00e5ff4d}.form-group input::placeholder{color:var(--text-muted)}.form-group-inline{display:flex;justify-content:flex-end}.btn-full{width:100%;margin-top:.5rem}.auth-error{padding:.75rem 1rem;background:#ff2e8833;color:var(--color-arcade-magenta);border:2px solid var(--color-arcade-magenta);border-radius:4px;font-size:.875rem;margin-bottom:1rem;text-align:center}.auth-error:before{content:"GAME OVER: ";font-family:var(--font-pixel);font-size:.5rem}.auth-success{padding:.75rem 1rem;background:#2dff5733;color:var(--color-laser-green);border:2px solid var(--color-laser-green);border-radius:4px;font-size:.875rem;margin-bottom:1rem;text-align:center;text-shadow:0 0 5px var(--color-laser-green)}.auth-success:before{content:"1-UP: ";font-family:var(--font-pixel);font-size:.5rem}.auth-message{padding:.75rem 1rem;border-radius:4px;font-size:.875rem;margin-bottom:1rem;border:2px solid var(--color-electric-cyan);background:#00e5ff1a;color:var(--color-electric-cyan)}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.875rem}.auth-footer a{color:var(--color-arcade-magenta);text-decoration:none;transition:text-shadow .2s}.auth-footer a:hover{text-decoration:underline;text-shadow:0 0 10px var(--color-arcade-magenta)}.auth-links{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.auth-divider{color:var(--text-muted)}.link-button{background:none;border:none;color:var(--color-arcade-magenta);cursor:pointer;font-size:.875rem;padding:0;transition:text-shadow .2s}.link-button:hover{text-decoration:underline;text-shadow:0 0 10px var(--color-arcade-magenta)}.link-button:disabled{opacity:.5;cursor:not-allowed}.link-small{color:var(--color-arcade-magenta);font-size:.875rem;text-decoration:none}.link-small:hover{text-decoration:underline;text-shadow:0 0 10px var(--color-arcade-magenta)}.nav-email{color:var(--text-secondary);font-size:.875rem}@media(max-width:768px){.builder{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.builder-chat{border-right:none;border-bottom:1px solid var(--color-scanline-gray)}.auth-container{padding:1.5rem;box-shadow:0 0 20px #6a00ff66,4px 4px 0 0 var(--color-arcade-magenta),-4px -4px 0 0 var(--color-electric-cyan)}.auth-container h1{font-size:.75rem}.nav{padding:.5rem}.nav-links{gap:1rem}.nav-email{display:none}.landing-header h1{font-size:1.25rem}.landing-logo{max-width:260px}.hero h2{font-size:.75rem}.cta-buttons{flex-direction:column;align-items:center}}.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}@keyframes screen-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:screen-shake .5s ease-in-out}@keyframes collect{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.8}to{transform:scale(0);opacity:0}}.collect{animation:collect .3s ease-out forwards}@keyframes level-up{0%{box-shadow:0 0 5px var(--color-joystick-yellow)}50%{box-shadow:0 0 30px var(--color-joystick-yellow),0 0 60px var(--color-joystick-yellow)}to{box-shadow:0 0 5px var(--color-joystick-yellow)}}.level-up{animation:level-up 1s ease-in-out}.high-score{font-family:var(--font-pixel);color:var(--color-joystick-yellow);text-shadow:var(--glow-yellow)}.player-ready{font-family:var(--font-pixel);color:var(--color-laser-green);animation:blink 1s step-end infinite}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.sparkle{position:absolute;width:4px;height:4px;background:var(--color-electric-cyan);border-radius:50%;box-shadow:0 0 10px var(--color-electric-cyan),0 0 20px var(--color-electric-cyan);animation:sparkle 2s ease-in-out infinite}@keyframes float-star{0%,to{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-10px) scale(1.2);opacity:1}}.star{position:absolute;width:2px;height:2px;background:var(--color-phosphor-white);border-radius:50%;box-shadow:0 0 4px var(--color-phosphor-white);animation:float-star 3s ease-in-out infinite}.settings{padding:2rem;max-width:900px;margin:0 auto;min-height:calc(100vh - 60px);position:relative;z-index:1}.settings-header h1{font-family:var(--font-pixel);font-size:1.5rem;color:var(--color-electric-cyan);margin-bottom:1.5rem;text-shadow:0 0 10px rgba(0,229,255,.5)}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--color-scanline-gray);padding-bottom:.5rem;flex-wrap:wrap}.settings-tab{background:transparent;border:2px solid transparent;color:var(--text-secondary);padding:.5rem 1rem;cursor:pointer;font-size:.875rem;text-transform:uppercase;letter-spacing:1px;transition:all .2s;border-radius:4px}.settings-tab:hover{color:var(--color-electric-cyan);border-color:var(--color-scanline-gray)}.settings-tab.active{color:var(--color-electric-cyan);border-color:var(--color-electric-cyan);box-shadow:0 0 10px #00e5ff4d}.settings-content{background:var(--bg-secondary);border:2px solid var(--color-scanline-gray);border-radius:8px;padding:2rem}.settings-content h2{font-family:var(--font-pixel);font-size:.875rem;color:var(--color-arcade-magenta);margin-bottom:1rem;text-transform:uppercase}.settings-loading,.settings-error,.settings-success,.no-subscription{padding:1rem;border-radius:4px;margin-bottom:1rem}.settings-loading{color:var(--color-electric-cyan)}.settings-error{background:#ff2e881a;border:1px solid var(--color-arcade-magenta);color:var(--color-arcade-magenta)}.settings-success{background:#2dff571a;border:1px solid var(--color-laser-green);color:var(--color-laser-green)}.no-subscription{text-align:center;color:var(--text-secondary)}.subscription-tab .current-plan{margin-bottom:2rem;padding:1rem;background:#6a00ff1a;border-radius:8px;text-align:center}.plan-badge{display:inline-block;padding:.5rem 1rem;font-family:var(--font-pixel);font-size:.875rem;border-radius:4px;margin-bottom:.5rem}.plan-badge.tier-casual{background:var(--color-pixel-purple);color:var(--color-phosphor-white)}.plan-badge.tier-hardcore{background:var(--gradient-neon);color:var(--color-crt-black)}.plan-status{color:var(--text-secondary);font-size:.875rem}.status-active{color:var(--color-laser-green)}.status-cancelled{color:var(--color-arcade-magenta)}.tier-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.tier-card{background:var(--gradient-card);border:2px solid var(--color-scanline-gray);border-radius:8px;padding:1.5rem;text-align:center;transition:all .3s}.tier-card:hover{transform:translateY(-4px);border-color:var(--color-electric-cyan)}.tier-card.current{border-color:var(--color-laser-green);box-shadow:0 0 15px #2dff574d}.tier-card h3{font-family:var(--font-pixel);font-size:1rem;color:var(--color-electric-cyan);margin-bottom:.5rem}.tier-price{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.tier-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left}.tier-features li{padding:.25rem 0;color:var(--text-secondary);font-size:.875rem}.tier-features li:before{content:"✓ ";color:var(--color-laser-green)}.cancel-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-scanline-gray)}.btn-danger-outline{background:transparent;color:var(--color-arcade-magenta);border:2px solid var(--color-arcade-magenta);padding:.5rem 1rem;cursor:pointer;border-radius:4px;transition:all .2s}.btn-danger-outline:hover{background:#ff2e881a}.cancel-confirm{padding:1rem;background:#ff2e881a;border-radius:8px}.cancel-warning{color:var(--color-arcade-magenta);font-size:.875rem;margin-bottom:1rem}.cancel-actions{display:flex;gap:1rem;flex-wrap:wrap}.tokens-tab section{margin-bottom:2rem}.token-balance-section{text-align:center}.token-meter{background:var(--bg-primary);border:2px solid var(--color-scanline-gray);border-radius:4px;height:40px;position:relative;overflow:hidden;margin:1rem 0}.token-meter-fill{height:100%;background:var(--gradient-neon);transition:width .3s ease;box-shadow:0 0 10px #00e5ff80}.token-meter-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-pixel);font-size:.75rem;color:var(--color-phosphor-white);text-shadow:0 0 5px rgba(0,0,0,.8)}.token-reset-info{color:var(--text-secondary);font-size:.875rem}.section-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.token-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.token-pack{background:var(--bg-primary);border:2px solid var(--color-scanline-gray);border-radius:8px;padding:1rem;text-align:center;transition:all .2s;display:flex;flex-direction:column}.token-pack .btn{margin-top:auto}.token-pack:hover{border-color:var(--color-electric-cyan)}.token-pack h3{font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.pack-tokens{font-family:var(--font-pixel);font-size:1.25rem;color:var(--color-electric-cyan);margin-bottom:.25rem}.pack-price{color:var(--text-secondary);margin-bottom:1rem}.usage-history-section h2{margin-bottom:1rem}.usage-history-list{max-height:300px;overflow-y:auto}.usage-record{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid var(--color-scanline-gray)}.usage-record:last-child{border-bottom:none}.usage-record-main{display:flex;align-items:center;gap:.5rem}.usage-action{font-size:.75rem;text-transform:uppercase;padding:.25rem .5rem;border-radius:4px}.action-generation{background:#00e5ff33;color:var(--color-electric-cyan)}.action-token_purchase{background:#2dff5733;color:var(--color-laser-green)}.action-weekly_reset{background:#6a00ff33;color:var(--color-pixel-purple)}.action-tier_change{background:#ff2e8833;color:var(--color-arcade-magenta)}.usage-app-name{color:var(--text-secondary);font-size:.875rem}.usage-record-meta{display:flex;align-items:center;gap:1rem}.usage-date{color:var(--text-secondary);font-size:.75rem}.usage-tokens{font-family:var(--font-pixel);font-size:.75rem}.usage-tokens.negative{color:var(--color-arcade-magenta)}.usage-tokens.positive{color:var(--color-laser-green)}.no-history{color:var(--text-secondary);text-align:center;padding:1rem}.preferences-form{display:flex;flex-direction:column;gap:1rem}.preference-toggle{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:8px;cursor:pointer;transition:background .2s}.preference-toggle:hover{background:#6a00ff1a}.preference-toggle input[type=checkbox]{display:none}.toggle-slider{width:48px;height:24px;background:var(--color-scanline-gray);border-radius:12px;position:relative;flex-shrink:0;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--text-primary);border-radius:50%;transition:transform .2s}.preference-toggle input:checked+.toggle-slider{background:var(--color-laser-green)}.preference-toggle input:checked+.toggle-slider:after{transform:translate(24px)}.toggle-label strong{display:block;color:var(--text-primary);margin-bottom:.25rem}.toggle-label p{color:var(--text-secondary);font-size:.875rem;margin:0}.account-tab section{margin-bottom:2rem}.account-info{padding:1rem;background:var(--bg-primary);border-radius:8px}.info-row{display:flex;justify-content:space-between;align-items:center}.info-label{color:var(--text-secondary)}.info-value{color:var(--text-primary)}.password-form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{color:var(--text-secondary);font-size:.875rem}.form-group input{padding:.75rem;background:var(--bg-primary);border:2px solid var(--color-scanline-gray);border-radius:4px;color:var(--text-primary);font-size:1rem}.form-group input:focus{outline:none;border-color:var(--color-electric-cyan)}.form-hint{color:var(--text-secondary);font-size:.75rem;margin:0}.form-actions{display:flex;gap:1rem;flex-wrap:wrap}.danger-zone{padding:1.5rem;background:#ff2e880d;border:1px solid var(--color-arcade-magenta);border-radius:8px}.danger-zone h2{color:var(--color-arcade-magenta)}.danger-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.delete-confirm{margin-top:1rem}.delete-warning{color:var(--color-arcade-magenta);font-weight:700;margin-bottom:1rem}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-secondary);border:2px solid var(--color-pixel-purple);border-radius:8px;max-width:400px;width:90%;box-shadow:0 0 30px #6a00ff80}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-scanline-gray)}.modal-header h2{font-family:var(--font-pixel);font-size:1rem;color:var(--color-arcade-magenta);margin:0}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;text-align:center}.token-depleted-icon{font-family:var(--font-pixel);font-size:3rem;color:var(--color-arcade-magenta);margin-bottom:1rem}.token-depleted-modal .modal-body p{margin:.5rem 0;color:var(--text-primary)}.token-reset-note{color:var(--text-secondary)!important;font-size:.875rem}.modal-actions{display:flex;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--color-scanline-gray);justify-content:center}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:1rem;transition:color .2s,text-shadow .2s}.nav-link:hover{color:var(--color-electric-cyan);text-shadow:0 0 8px var(--color-electric-cyan)}
