@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-deepest: #0A1628;--bg-deep: #0F1F3A;--bg-card: #1A2F4F;--bg-elevated: #203A5C;--bg-glass: rgba(26, 47, 79, .75);--bg-glass-strong: rgba(10, 22, 40, .92);--bg-glass-lighter: rgba(255, 255, 255, .06);--bg-glass-accent: rgba(96, 165, 250, .08);--nature-forest: #10B981;--nature-sky: #60A5FA;--nature-sunrise: #F59E0B;--nature-earth: #92400E;--tech-glow: #8B5CF6;--tech-cyan: #06B6D4;--tech-coral: #F87171;--accent-primary: var(--nature-sky);--accent-safe: var(--nature-forest);--accent-alert: var(--nature-sunrise);--accent-danger: var(--tech-coral);--accent-info: var(--tech-glow);--accent-active: var(--tech-cyan);--neon-cyan: var(--accent-primary);--neon-success: var(--accent-safe);--neon-warning: var(--accent-alert);--neon-danger: var(--accent-danger);--neon-green: var(--nature-forest);--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #94A3B8;--text-dim: #64748B;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "Inter", sans-serif;--font-mono: "SF Mono", "Menlo", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(96, 165, 250, .3);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-elastic: cubic-bezier(.175, .885, .32, 1.275)}body{background-color:var(--bg-deepest);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);overflow-x:hidden;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@layer utilities{.glass-panel{@apply backdrop-blur-xl bg-[var(--glass-bg)] border border-white/10 shadow-lg;}.glass-card{@apply backdrop-blur-md bg-white/5 border border-white/10 hover:border-[var(--accent-primary)]/40 transition-all duration-300 rounded-2xl;}.text-accent{color:var(--accent-primary)}.btn-warm{@apply bg-gradient-to-r from-[var(--accent-primary)] to-[var(--accent-info)] text-white font-semibold rounded-xl px-4 py-2 shadow-lg hover:shadow-xl transition-all active:scale-95;}.status-safe{@apply bg-[var(--accent-safe)]/20 text-[var(--accent-safe)] border border-[var(--accent-safe)]/30;}.status-alert{@apply bg-[var(--accent-alert)]/20 text-[var(--accent-alert)] border border-[var(--accent-alert)]/30;}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#94a3b866}@layer components{.glass-panel{@apply bg-[#0d1f3c]/80 backdrop-blur-xl border border-blue-500/20 shadow-[0_8px_32px_rgba(0,0,0,.3)];}.glass-card{@apply bg-[#0d1f3c]/60 backdrop-blur-md border border-white/5 hover:border-blue-500/30 transition-all duration-300;}.glass-bar{@apply bg-[#0d1f3c]/80 backdrop-blur-xl border border-white/10 shadow-2xl;}.marker-billboard{@apply relative transition-transform duration-300 ease-out;transform-style:preserve-3d}.mask-linear-fade{mask-image:linear-gradient(to bottom,black 0%,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 85%,transparent 100%)}.safe-area-top{padding-top:env(safe-area-inset-top,20px)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,20px)}.text-glow{text-shadow:0 0 10px rgba(59,130,246,.5)}.text-glow-cyan{text-shadow:0 0 10px rgba(6,182,212,.5)}.font-display{font-family:var(--font-display)}.btn-cyber{@apply relative overflow-hidden rounded-xl border border-blue-500/30 bg-blue-500/10 text-blue-400 font-bold uppercase tracking-wider transition-all hover:bg-blue-500/20 hover:shadow-[0_0_20px_rgba(59,130,246,.2)] active:scale-95;}.btn-cyber-primary{@apply relative overflow-hidden rounded-xl border border-blue-500 bg-blue-600 text-white font-bold uppercase tracking-wider transition-all hover:bg-blue-500 hover:shadow-[0_0_25px_rgba(59,130,246,.4)] active:scale-95;}.btn-cyber-danger{@apply relative overflow-hidden rounded-xl border border-red-500/40 bg-red-500/10 text-red-500 font-bold uppercase tracking-wider transition-all hover:bg-red-500/20 hover:shadow-[0_0_20px_rgba(239,68,68,.3)] active:scale-95;}}@keyframes pulse-ring{0%{transform:scale(.33);opacity:1}80%,to{opacity:0}}@keyframes pulse-dot{0%{transform:scale(.8)}50%{transform:scale(1)}to{transform:scale(.8)}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.animate-scan{animation:scan-line 3s linear infinite}.animate-dash{animation:dash 30s linear infinite}@keyframes dash{to{stroke-dashoffset:-1000}}.animate-pulse-slow{animation:pulse-ring 3s cubic-bezier(.4,0,.6,1) infinite}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes leaf-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes soft-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-breathe{animation:breathe 4s ease-in-out infinite}.animate-leaf-float{animation:leaf-float 3s ease-in-out infinite}.animate-ripple{animation:ripple 1.5s ease-out}.animate-soft-pulse{animation:soft-pulse 2s ease-in-out infinite}.animate-gentle-bounce{animation:gentle-bounce 2s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);background-size:200% 100%}.animate-slide-up{animation:slide-up .4s var(--ease-smooth) forwards}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse-slow{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes ping-slow{75%,to{transform:scale(2);opacity:0}}@keyframes radar-beam{0%{transform:rotate(0);opacity:0}25%{opacity:.5}50%{opacity:1}to{transform:rotate(360deg);opacity:0}}@keyframes glitch-anim-1{0%{clip-path:inset(20% 0 80% 0);transform:translate(-2px,1px)}20%{clip-path:inset(60% 0 10% 0);transform:translate(2px,-1px)}40%{clip-path:inset(40% 0 50% 0);transform:translate(-2px,2px)}60%{clip-path:inset(80% 0 5% 0);transform:translate(2px,-2px)}80%{clip-path:inset(10% 0 70% 0);transform:translate(-1px,1px)}to{clip-path:inset(30% 0 50% 0);transform:translate(1px,-1px)}}@keyframes holo-flicker{0%,to{opacity:1;filter:brightness(1)}5%{opacity:.8;filter:brightness(1.2)}10%{opacity:.9;filter:brightness(.9)}15%{opacity:.4;filter:brightness(1.5)}20%{opacity:1;filter:brightness(1)}50%{opacity:1;filter:brightness(1)}55%{opacity:.7;filter:brightness(1.1)}60%{opacity:1;filter:brightness(1)}}.animate-spin-slow{animation:spin-slow 8s linear infinite}.animate-spin-reverse-slow{animation:spin-reverse-slow 12s linear infinite}.animate-ping-slow{animation:ping-slow 3s cubic-bezier(0,0,.2,1) infinite}.animate-radar-beam{animation:radar-beam 4s linear infinite}.animate-glitch{animation:glitch-anim-1 2s infinite linear alternate-reverse}.animate-holo-flicker{animation:holo-flicker 4s infinite}.holographic-text{color:var(--neon-cyan);text-shadow:0 0 5px rgba(6,182,212,.8),0 0 10px rgba(6,182,212,.5);letter-spacing:2px}.leaflet-container{background:#020817!important;font-family:var(--font-sans)!important}.leaflet-popup-content-wrapper{background:#020817d9!important;color:#fff!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--neon-cyan)!important;border-radius:4px!important;box-shadow:0 0 15px #06b6d44d!important}.leaflet-popup-tip{background:var(--neon-cyan)!important;border:1px solid var(--neon-cyan)!important}.leaflet-control-zoom{border:1px solid rgba(255,255,255,.1)!important}.leaflet-control-zoom a{background-color:#020817e6!important;color:var(--neon-cyan)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;transition:all .2s}.leaflet-control-zoom a:hover{background-color:var(--neon-cyan)!important;color:#000!important}.grid-overlay{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;background-image:linear-gradient(rgba(6,182,212,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.1) 1px,transparent 1px);background-size:60px 60px;transform:perspective(500px) rotateX(20deg);opacity:.15;pointer-events:none;animation:grid-move 20s linear infinite}@keyframes grid-move{0%{transform:perspective(500px) rotateX(20deg) translateY(0)}to{transform:perspective(500px) rotateX(20deg) translateY(60px)}}.scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 1px,transparent 3px);pointer-events:none}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.6) 100%);pointer-events:none}@keyframes hud-scan{0%{top:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.animate-hud-scan{animation:hud-scan 4s linear infinite}.leaflet-popup-content-wrapper{background:#020817f2!important;color:var(--text-primary)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;box-shadow:0 4px 24px #0006!important;padding:0!important}.leaflet-popup-tip{background:#020817f2!important;border:1px solid rgba(255,255,255,.1)!important}.leaflet-popup-content{margin:0!important;line-height:1.5!important}.leaflet-container a.leaflet-popup-close-button{color:var(--text-muted)!important;padding:8px!important;font-size:18px!important}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--text-primary)!important}
