:root{color-scheme:dark;--bg-base: #020617;--bg-elevated: rgba(15, 23, 42, .7);--text-primary: #e2e8f0;--text-muted: #94a3b8;--brand-primary: #3b82f6;--brand-secondary: #8b5cf6}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,sans-serif;background:radial-gradient(circle at 10% 5%,rgba(59,130,246,.2),transparent 42%),radial-gradient(circle at 85% 15%,rgba(139,92,246,.15),transparent 36%),radial-gradient(circle at 50% 100%,rgba(14,116,144,.18),transparent 42%),linear-gradient(140deg,#020617,#0b1223 35%,#020617);color:var(--text-primary);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at center,black 24%,transparent 85%);mask-image:radial-gradient(circle at center,black 24%,transparent 85%);opacity:.3;z-index:-1}::selection{color:#fff;background:#3b82f666}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0f172a}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#475569,#334155);border-radius:999px;border:2px solid #0f172a}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#64748b,#475569)}.glass-panel{background:linear-gradient(135deg,#0f172adb,#0f172ab3);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 55px #0f172a73,inset 0 1px #ffffff14}.animate-fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-up{animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.16,1,.3,1) forwards}.animate-float{animation:float 6s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}
