*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Fira Code,JetBrains Mono,Courier New,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e27;color:#e0e0e0;overflow-x:hidden}#root{width:100%;min-height:100vh}code{font-family:Fira Code,Courier New,monospace}button,input,textarea{font-family:inherit}::selection{background:#00ffff4d;color:#e0e0e0}::-webkit-scrollbar-thumb{background:#0ff;box-shadow:0 0 10px #0ff}::-webkit-scrollbar-thumb:hover{background:#00ff41;box-shadow:0 0 10px #00ff41}.icon-level{width:64px;height:64px;transform:translateY(3px);display:block}.icon-level-large{width:80px;height:80px;display:block}.icon-level-medium{width:36px;height:36px;display:block}.icon-level-small{width:20px;height:20px;display:block}.icon-grade{width:64px;height:64px;transform:translateY(3px);display:block}.icon-target{width:48px;height:48px;display:block}.icon-target-large,.icon-target-xlarge{width:64px;height:64px;display:block}.icon-target-small{width:20px;height:20px;display:block}.icon-target-inline{width:24px;height:24px;display:inline-block;vertical-align:middle;margin:0 4px}.icon-ranked{width:32px;height:32px;display:block}.icon-ranked-large{width:64px;height:64px;display:block}.icon-ranked-small{width:24px;height:24px;display:block}.icon-trophy{width:32px;height:32px;display:block}.icon-trophy-large{width:64px;height:64px;display:block}.icon-trophy-small{width:20px;height:20px;display:block}.icon-elo{width:32px;height:32px;display:block}.icon-elo-large{width:64px;height:64px;display:block}.icon-elo-small{width:20px;height:20px;display:block}.icon-rank{width:32px;height:32px;display:inline-block;vertical-align:middle}.icon-rank-small{width:20px;height:20px;display:inline-block;vertical-align:middle}.icon-rank-large{width:64px;height:64px;display:inline-block;vertical-align:middle}.icon-rankup{width:48px;height:48px;display:block}.icon-settings{width:44px;height:44px;display:block}.tab-icon-img{width:20px;height:20px;display:block}.icon-flame{width:48px;height:48px;display:block}.icon-flame-large{width:36px;height:36px;display:block}.achievement-notification-overlay{position:fixed;bottom:20px;right:20px;z-index:9999;pointer-events:none;animation:slideInRight .5s ease-out}.achievement-notification{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #00ff88;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 32px #00ff884d;min-width:350px;max-width:400px;pointer-events:auto;animation:pulse .6s ease-in-out}.achievement-notification.error{border:2px solid #ff4444;box-shadow:0 8px 32px #ff44444d}.achievement-notification.error .achievement-label{color:#f44}.achievement-notification.error{animation:pulseError .6s ease-in-out}.achievement-notification.success,.achievement-notification.info{border:2px solid #00ff88;box-shadow:0 8px 32px #00ff884d}.achievement-notification.success .achievement-label,.achievement-notification.info .achievement-label{color:#0f8}.achievement-notification.achievement{border:2px solid #00ff88;box-shadow:0 8px 32px #00ff884d}.achievement-notification.achievement .achievement-label{color:#0f8}.achievement-notification.shop,.achievement-notification.equip{border:2px solid #00ff88;box-shadow:0 8px 32px #00ff884d}.achievement-icon{font-size:48px;animation:bounce .6s ease-in-out}.achievement-content{flex:1}.achievement-label{color:#0f8;font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:4px;text-transform:uppercase}.achievement-title{color:#fff;font-size:18px;font-weight:600;margin-bottom:4px}.achievement-description{color:#8892b0;font-size:13px;line-height:1.4}@keyframes slideInRight{0%{transform:translate(450px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{box-shadow:0 8px 32px #00ff884d}50%{box-shadow:0 8px 48px #0f89}}@keyframes pulseError{0%,to{box-shadow:0 8px 32px #ff44444d}50%{box-shadow:0 8px 48px #f449}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:768px){.achievement-notification-overlay{top:60px;right:10px;left:10px}.achievement-notification{min-width:auto;max-width:none}}.mobile-blocker{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(135deg,#0a0a0f,#1a0520);display:flex;align-items:center;justify-content:center;overflow-y:auto;overflow-x:hidden;z-index:9999;padding:20px 0}.scan-line{position:absolute;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#00d9ff,transparent);box-shadow:0 0 20px #00d9ff;animation:pulse 2s ease-in-out infinite}.blocker-content{position:relative;max-width:600px;width:100%;margin:auto;padding:60px 40px;text-align:center;background:#0a0a0fcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(181,55,242,.3);clip-path:polygon(30px 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%,0 30px);animation:fadeInScale .8s ease-out}.error-code{font-family:Orbitron,monospace;font-size:16px;color:#ff6b35;margin-bottom:30px;letter-spacing:3px}.icon-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:30px}.desktop-icon{width:120px;height:120px;color:#00d9ff;filter:drop-shadow(0 0 20px rgba(0,217,255,.5));animation:iconFloat 3s ease-in-out infinite}.required-badge{padding:8px 20px;background:#ff6b351a;border:2px solid #ff6b35;color:#ff6b35;font-family:Orbitron,monospace;font-size:12px;font-weight:700;letter-spacing:2px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);animation:badgePulse 2s ease-in-out infinite}.blocker-title{font-family:Orbitron,monospace;font-size:32px;font-weight:700;color:#00d9ff;margin-bottom:20px;text-transform:uppercase;letter-spacing:3px;text-shadow:0 0 20px rgba(0,217,255,.5)}.blocker-message{font-family:Rajdhani,sans-serif;font-size:18px;color:#ffffffb3;line-height:1.6;margin-bottom:40px}.device-list{display:flex;justify-content:center;gap:30px;margin-bottom:40px;flex-wrap:wrap}.device-item{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#00ff880d;border:1px solid rgba(0,255,136,.3);border-radius:4px;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:600;color:#0f8}.check-icon{font-size:20px;font-weight:700}.tech-specs{margin-bottom:40px;padding:20px;background:#0000004d;border:1px solid rgba(0,217,255,.2);border-radius:4px;text-align:left}.spec-line{display:flex;justify-content:space-between;padding:8px 0;font-family:Courier New,monospace;font-size:14px;border-bottom:1px solid rgba(255,255,255,.1)}.spec-line:last-child{border-bottom:none}.spec-label{color:#b537f2;font-weight:600}.spec-value{color:#00d9ff}.spec-value.error{color:#ff6b35;font-weight:700;animation:blink 1.5s ease-in-out infinite}.warning-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;background:#ff6b351a;border:1px solid rgba(255,107,53,.3);border-radius:4px;font-family:Rajdhani,sans-serif;font-size:14px;color:#ffffffb3}.warning-icon{font-size:24px;color:#ff6b35}.corner-border{position:absolute;width:40px;height:40px;border-color:#b537f2}.corner-border.top-left{top:20px;left:20px;border-top:3px solid;border-left:3px solid}.corner-border.top-right{top:20px;right:20px;border-top:3px solid;border-right:3px solid}.corner-border.bottom-left{bottom:20px;left:20px;border-bottom:3px solid;border-left:3px solid}.corner-border.bottom-right{bottom:20px;right:20px;border-bottom:3px solid;border-right:3px solid}.glitch{position:relative;display:inline-block}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{left:2px;text-shadow:-2px 0 #ff6b35;clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse}.glitch:after{left:-2px;text-shadow:-2px 0 #00d9ff;clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse;animation-delay:2s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes badgePulse{0%,to{box-shadow:0 0 5px #ff6b3580}50%{box-shadow:0 0 20px #ff6b35cc}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes glitch-anim{0%{clip:rect(10px,9999px,90px,0)}20%{clip:rect(70px,9999px,20px,0)}40%{clip:rect(50px,9999px,60px,0)}60%{clip:rect(30px,9999px,80px,0)}80%{clip:rect(90px,9999px,10px,0)}to{clip:rect(40px,9999px,70px,0)}}@media(max-width:768px){.mobile-blocker{align-items:flex-start;padding:30px 0}.blocker-content{padding:40px 20px;max-width:95%;margin:0 auto}.blocker-title{font-size:24px;margin-bottom:15px}.blocker-message{font-size:15px;margin-bottom:30px}.device-list{flex-direction:column;gap:12px;margin-bottom:30px}.desktop-icon{width:80px;height:80px}.icon-container{margin-bottom:25px}.error-code{font-size:14px;margin-bottom:20px}.tech-specs{margin-bottom:30px;padding:15px}.spec-line{font-size:12px}}@media(max-width:480px){.blocker-content{padding:30px 15px;clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}.blocker-title{font-size:20px;letter-spacing:1px}.blocker-message{font-size:14px;line-height:1.5}.desktop-icon{width:60px;height:60px}.required-badge{font-size:10px;padding:6px 15px}.device-item{padding:10px 15px;font-size:14px}.spec-line{font-size:11px}.warning-footer{font-size:12px;padding:12px}}.app-container{width:100%;min-height:100vh;background:var(--bg-primary);position:relative}.page-loading{position:fixed;inset:0;background:var(--bg-primary, #0a0a0a)}.app-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#fff0 50%,#00ffff08 50%);background-size:100% 4px;pointer-events:none;z-index:9999;animation:scanline 8s linear infinite}:root{--neon-cyan: #00ffff;--neon-magenta: #ff00ff;--neon-green: #00ff41;--neon-red: #ff3366;--neon-orange: #ffaa00;--bg-primary: #0a0e27;--bg-secondary: #1a1e3f;--bg-panel: rgba(10, 14, 39, .85);--text-primary: #e0e0e0;--text-secondary: rgba(224, 224, 224, .7);--glow-cyan: 0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan);--glow-magenta: 0 0 10px var(--neon-magenta), 0 0 20px var(--neon-magenta);--glow-green: 0 0 10px var(--neon-green), 0 0 20px var(--neon-green)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Fira Code,JetBrains Mono,Courier New,monospace;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}.scanlines{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#fff0 50%,#00ffff08 50%);background-size:100% 4px;pointer-events:none;z-index:9999;animation:scanline 8s linear infinite}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(4px)}}.crt-effect{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998}.crt-effect:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%)}.crt-effect:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:inset 0 0 100px #00000080}.neon-text-cyan{color:var(--neon-cyan);text-shadow:var(--glow-cyan)}.neon-text-magenta{color:var(--neon-magenta);text-shadow:var(--glow-magenta)}.neon-text-green{color:var(--neon-green);text-shadow:var(--glow-green)}.holographic-border{border:2px solid var(--neon-cyan);box-shadow:0 0 20px #00ffff4d,inset 0 0 20px #00ffff0d;position:relative}.holographic-border:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(0,255,255,.1),transparent);animation:border-glow 3s infinite;z-index:-1}@keyframes border-glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px currentColor}50%{box-shadow:0 0 30px currentColor}}.typing-cursor{display:inline-block;width:2px;height:1em;background:var(--neon-cyan);animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#00000080}::-webkit-scrollbar-thumb{background:var(--neon-cyan);box-shadow:0 0 10px var(--neon-cyan)}::-webkit-scrollbar-thumb:hover{background:var(--neon-magenta);box-shadow:0 0 10px var(--neon-magenta)}::selection{background:#00ffff4d;color:var(--text-primary)}.neon-text{text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan);color:var(--neon-cyan)}.neon-text-magenta{text-shadow:0 0 10px var(--neon-magenta),0 0 20px var(--neon-magenta);color:var(--neon-magenta)}.neon-text-green{text-shadow:0 0 10px var(--neon-green),0 0 20px var(--neon-green);color:var(--neon-green)}.neon-text-red{text-shadow:0 0 10px var(--neon-red),0 0 20px var(--neon-red);color:var(--neon-red)}.neon-text-orange{text-shadow:0 0 10px var(--neon-orange),0 0 20px var(--neon-orange);color:var(--neon-orange)}.neon-text-pulse{animation:neonTextPulse 2s ease-in-out infinite}@keyframes neonTextPulse{0%,to{text-shadow:0 0 5px currentColor,0 0 10px currentColor;opacity:.8}50%{text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor,0 0 40px currentColor;opacity:1}}.holographic{position:relative;background:linear-gradient(135deg,#00ffff1a,#ff00ff1a,#00ff411a);border:1px solid rgba(0,255,255,.3);box-shadow:inset 0 0 30px #00ffff1a,0 0 20px #0ff3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.holographic:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:holographicScan 3s linear infinite;pointer-events:none}@keyframes holographicScan{0%{left:-100%}to{left:100%}}.glitch-bg{position:relative;overflow:hidden}.glitch-bg:before,.glitch-bg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:inherit;opacity:0;pointer-events:none;mix-blend-mode:screen}.glitch-bg:after{mix-blend-mode:multiply}.glitch-bg:before{animation:glitchBgBefore 3s infinite}.glitch-bg:after{animation:glitchBgAfter 3s infinite}@keyframes glitchBgBefore{0%,90%,to{opacity:0;transform:translate(0)}91%,93%{opacity:.3;transform:translate(-5px,2px)}92%{opacity:.3;transform:translate(5px,-2px)}}@keyframes glitchBgAfter{0%,90%,to{opacity:0;transform:translate(0)}91%,93%{opacity:.2;transform:translate(3px,-3px)}92%{opacity:.2;transform:translate(-3px,3px)}}.neon-gradient-cyan{background:linear-gradient(135deg,rgba(0,255,255,.1) 0%,rgba(0,255,255,.05) 50%,transparent 100%);border-left:2px solid var(--neon-cyan)}.neon-gradient-magenta{background:linear-gradient(135deg,rgba(255,0,255,.1) 0%,rgba(255,0,255,.05) 50%,transparent 100%);border-left:2px solid var(--neon-magenta)}.neon-gradient-green{background:linear-gradient(135deg,rgba(0,255,65,.1) 0%,rgba(0,255,65,.05) 50%,transparent 100%);border-left:2px solid var(--neon-green)}.neon-gradient-red{background:linear-gradient(135deg,rgba(255,51,102,.1) 0%,rgba(255,51,102,.05) 50%,transparent 100%);border-left:2px solid var(--neon-red)}.typing-cursor{display:inline-block;width:10px;height:1em;background:var(--neon-cyan);margin-left:5px;animation:cursorBlink 1s step-end infinite;box-shadow:0 0 5px var(--neon-cyan);vertical-align:middle}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.flicker{animation:flicker .15s infinite}@keyframes flicker{0%,to{opacity:1}41.99%{opacity:1}42%{opacity:0}43%{opacity:0}43.01%{opacity:1}47.99%{opacity:1}48%{opacity:0}49%{opacity:0}49.01%{opacity:1}}.crt-flicker{animation:crtFlicker .1s infinite}@keyframes crtFlicker{0%{opacity:.97}50%{opacity:1}to{opacity:.97}}.data-stream{position:relative;overflow:hidden}.data-stream:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:linear-gradient(180deg,transparent,rgba(0,255,255,.3),transparent);animation:dataStream 2s linear infinite;pointer-events:none}@keyframes dataStream{0%{top:-100%}to{top:100%}}.neon-loading-bar{width:100%;height:4px;background:#00ffff1a;border-radius:2px;overflow:hidden;position:relative}.neon-loading-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--neon-cyan),transparent);animation:loadingBarScan 1.5s linear infinite;box-shadow:0 0 10px var(--neon-cyan)}@keyframes loadingBarScan{0%{left:-100%}to{left:100%}}.hexagon-grid{background-image:linear-gradient(30deg,rgba(0,255,255,.05) 12%,transparent 12.5%,transparent 87%,rgba(0,255,255,.05) 87.5%,rgba(0,255,255,.05)),linear-gradient(150deg,rgba(0,255,255,.05) 12%,transparent 12.5%,transparent 87%,rgba(0,255,255,.05) 87.5%,rgba(0,255,255,.05)),linear-gradient(30deg,rgba(0,255,255,.05) 12%,transparent 12.5%,transparent 87%,rgba(0,255,255,.05) 87.5%,rgba(0,255,255,.05)),linear-gradient(150deg,rgba(0,255,255,.05) 12%,transparent 12.5%,transparent 87%,rgba(0,255,255,.05) 87.5%,rgba(0,255,255,.05)),linear-gradient(60deg,rgba(0,255,255,.03) 25%,transparent 25.5%,transparent 75%,rgba(0,255,255,.03) 75%,rgba(0,255,255,.03)),linear-gradient(60deg,rgba(0,255,255,.03) 25%,transparent 25.5%,transparent 75%,rgba(0,255,255,.03) 75%,rgba(0,255,255,.03));background-size:80px 140px;background-position:0 0,0 0,40px 70px,40px 70px,0 0,40px 70px}.circuit-pattern{background-color:var(--bg-primary);background-image:linear-gradient(rgba(0,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.1) 1px,transparent 1px);background-size:20px 20px;position:relative}.circuit-pattern:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 10px 10px,rgba(0,255,255,.3) 2px,transparent 2px),radial-gradient(circle at 50px 50px,rgba(255,0,255,.3) 2px,transparent 2px);background-size:60px 60px;pointer-events:none}.scan-effect{position:relative;overflow:hidden}.scan-effect:before{content:"";position:absolute;top:-100%;left:0;width:100%;height:3px;background:linear-gradient(180deg,transparent,var(--neon-cyan),transparent);box-shadow:0 0 20px var(--neon-cyan);animation:scanEffect 3s linear infinite;pointer-events:none;z-index:10}@keyframes scanEffect{0%{top:-100%}to{top:100%}}.holo-corners{position:relative}.holo-corners:before,.holo-corners:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--neon-cyan);box-shadow:0 0 10px var(--neon-cyan)}.holo-corners:before{top:0;left:0;border-right:none;border-bottom:none}.holo-corners:after{bottom:0;right:0;border-left:none;border-top:none}.glow-hover{transition:all .3s ease}.glow-hover:hover{box-shadow:0 0 20px currentColor,inset 0 0 20px #00ffff1a;transform:translateY(-2px)}.terminal-output{color:var(--neon-green);font-size:.9rem;line-height:1.6}.terminal-error{color:var(--neon-red);text-shadow:0 0 5px var(--neon-red)}.terminal-success{color:var(--neon-green);text-shadow:0 0 5px var(--neon-green)}.terminal-info{color:var(--neon-cyan);text-shadow:0 0 5px var(--neon-cyan)}.terminal-warning{color:var(--neon-orange);text-shadow:0 0 5px var(--neon-orange)}.output-display{display:flex;flex-direction:column;gap:.75rem}.output-entry{display:flex;flex-direction:column;gap:.5rem}.output-command{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.output-timestamp{color:var(--text-secondary);font-size:.75rem}.output-cmd-text{color:var(--neon-cyan)}.output-result{padding-left:1.5rem;white-space:pre-wrap}.output-success{color:var(--neon-green);text-shadow:0 0 5px var(--neon-green)}.output-error{color:var(--neon-red);text-shadow:0 0 5px var(--neon-red)}.output-info{color:var(--neon-cyan);text-shadow:0 0 5px var(--neon-cyan)}.output-warning{color:var(--neon-orange);text-shadow:0 0 5px var(--neon-orange)}.typewriter-text{display:inline-block}.typewriter-cursor{display:inline-block;width:8px;height:1em;background:var(--neon-cyan);animation:blink .8s infinite;margin-left:2px}.command-history{background:#0000004d;border:1px solid rgba(0,255,255,.3);padding:1rem;margin-bottom:1rem}.history-title{color:var(--neon-cyan);font-size:.9rem;margin-bottom:.5rem;text-shadow:0 0 5px var(--neon-cyan)}.history-item{display:flex;gap:.5rem;padding:.25rem 0;cursor:pointer;transition:all .3s ease}.history-item:hover{color:var(--neon-green);padding-left:.5rem}.history-index{color:var(--text-secondary);min-width:30px}.history-command{color:var(--neon-cyan)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .8s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-left{animation:slideInLeft .5s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-right{animation:slideInRight .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.scale-in{animation:scaleIn .5s ease-out}@keyframes rotateIn{0%{transform:rotate(-180deg) scale(0);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.rotate-in{animation:rotateIn .8s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float 3s ease-in-out infinite}@keyframes neonPulse{0%,to{text-shadow:0 0 10px currentColor,0 0 20px currentColor}50%{text-shadow:0 0 20px currentColor,0 0 30px currentColor,0 0 40px currentColor}}.neon-pulse{animation:neonPulse 2s ease-in-out infinite}@keyframes flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1}20%,24%,55%{opacity:.4}}.flicker{animation:flicker 2s infinite}@keyframes dataStream{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh);opacity:0}}.data-stream{animation:dataStream 3s linear infinite}@keyframes circuitLine{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.circuit-line{stroke-dasharray:1000;animation:circuitLine 2s ease-in-out}@keyframes hologramShimmer{0%{background-position:-200% center}to{background-position:200% center}}.hologram-shimmer{background:linear-gradient(90deg,transparent,rgba(0,255,255,.3),transparent);background-size:200% 100%;animation:hologramShimmer 3s infinite}@keyframes matrixDrop{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.matrix-drop{animation:matrixDrop 5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes borderScan{0%{border-color:var(--neon-cyan) transparent transparent transparent}25%{border-color:transparent var(--neon-cyan) transparent transparent}50%{border-color:transparent transparent var(--neon-cyan) transparent}75%{border-color:transparent transparent transparent var(--neon-cyan)}to{border-color:var(--neon-cyan) transparent transparent transparent}}.border-scan{animation:borderScan 2s linear infinite}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}body.no-animations *,body.no-animations *:before,body.no-animations *:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}body.no-animations{--animation-duration: 0s;--transition-duration: 0s}.error-boundary{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a0a;z-index:9999;font-family:Courier New,monospace}.error-boundary__content{max-width:560px;padding:40px;text-align:center;border:1px solid #ff4444;background:#ff44440d}.error-boundary__icon{font-size:48px;margin-bottom:16px;color:#f44}.error-boundary__title{color:#f44;font-size:1.4rem;margin-bottom:12px}.error-boundary__message{color:#aaa;margin-bottom:24px;font-size:.95rem;line-height:1.5}.error-boundary__stack{background:#00000080;border:1px solid #333;color:#f99;font-size:.75rem;padding:12px;text-align:left;overflow-x:auto;margin-bottom:24px;max-height:200px;overflow-y:auto}.error-boundary__actions{display:flex;gap:12px;justify-content:center}.error-boundary__btn{padding:10px 24px;background:#f44;color:#fff;border:none;cursor:pointer;font-family:Courier New,monospace;font-size:.9rem;transition:opacity .2s}.error-boundary__btn:hover{opacity:.8}.error-boundary__btn--secondary{background:transparent;border:1px solid #555;color:#aaa}.error-boundary__btn--secondary:hover{border-color:#aaa;color:#fff;opacity:1}
