@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap";:root{--primary-glow: 0 0 20px rgba(16, 185, 129, .4);--glass-bg: rgba(17, 24, 39, .72);--glass-border: rgba(255, 255, 255, .07);--glass-highlight: rgba(255, 255, 255, .04);--surface-deep: #030712;--radius-xl: 14px;--neon-blue: #00f3ff;--neon-green: #00ff9d;--neon-purple: #bc13fe}body{margin:0;font-family:Outfit,system-ui,-apple-system,sans-serif;background-color:var(--surface-deep);color:#e5e7eb;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cosmic-bg{background:radial-gradient(ellipse 80% 50% at 10% 40%,rgba(76,29,149,.12),transparent 42%),radial-gradient(ellipse 70% 45% at 90% 25%,rgba(16,185,129,.08),transparent 40%),radial-gradient(ellipse 50% 40% at 50% 100%,rgba(30,58,138,.06),transparent 45%);background-color:var(--surface-deep);position:relative}.cosmic-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231f2937' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:0}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);border:1px solid var(--glass-border);box-shadow:0 1px 0 var(--glass-highlight) inset,0 12px 40px #00000059}.glass-sidebar{background:linear-gradient(165deg,#0c0e16eb,#080a10e0);backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1);border-right:1px solid var(--glass-border);box-shadow:4px 0 28px #00000059}@media(min-width:1024px){.glass-sidebar{box-shadow:none}}.glass-card{background:#1e293b61;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xl);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.glass-card:hover{background:#1e293b8c;border-color:#10b98138;box-shadow:0 0 0 1px #10b98114,0 8px 28px #00000047}@media(prefers-reduced-motion:no-preference){.glass-card:hover{transform:translateY(-1px)}}.text-neon-green{color:var(--neon-green);text-shadow:0 0 10px rgba(0,255,157,.3)}.text-neon-blue{color:var(--neon-blue);text-shadow:0 0 10px rgba(0,243,255,.3)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#4b556380;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#10b98199}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #10b98133}50%{box-shadow:0 0 20px #10b98180}}.animate-pulse-glow{animation:pulse-glow 2s infinite}.recharts-default-tooltip{background-color:#111827e6!important;border-color:#ffffff1a!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000080!important}code,pre,.font-mono{font-family:JetBrains Mono,monospace}.page-shell{display:flex;flex-direction:column;min-height:0;width:100%;gap:1rem;color:#e5e7eb}@media(min-width:640px){.page-shell{gap:1.5rem}}.page-shell--split{flex:1;min-height:min(70vh,720px)}.page-shell--viewport{height:calc(100dvh - 9.5rem);min-height:28rem;overflow:hidden}.page-header{display:flex;flex-direction:column;gap:.25rem}.page-title{font-size:1.25rem;font-weight:700;color:#f3f4f6;letter-spacing:-.02em}@media(min-width:640px){.page-title{font-size:1.5rem}}.page-subtitle{font-size:.8125rem;color:#9ca3af;line-height:1.5}.page-section{background:var(--glass-bg);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:0 1px 0 var(--glass-highlight) inset,0 8px 28px #00000038}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .35s ease-out}
