*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--black: #080808;--black2: #0f0f0f;--black3: #141414;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.12);--gold: oklch(.72 .12 82);--gold-dim: oklch(.55 .09 82);--gold-bright: oklch(.85 .14 82);--text: rgba(255,255,255,.92);--text-muted: rgba(255,255,255,.45);--text-subtle: rgba(255,255,255,.25);--green: oklch(.65 .14 145);--red: oklch(.58 .16 25);--amber: oklch(.72 .14 65)}html{scroll-behavior:smooth}body{background:var(--black);color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden}#root{position:relative;z-index:1}#global-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.5}.btn-primary{position:relative;overflow:hidden;background:var(--text);color:var(--black);border:none;border-radius:6px;padding:11px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-primary:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:skew(-15deg);transition:none}.btn-primary:hover:after{animation:shimmer .6s ease forwards}.btn-primary:hover{opacity:.92}.btn-gold{position:relative;overflow:hidden;background:var(--gold);color:var(--black);border:none;border-radius:6px;padding:11px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-gold:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-15deg)}.btn-gold:hover:after{animation:shimmer .6s ease forwards}.btn-gold:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border2);border-radius:6px;padding:11px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap}.btn-ghost:hover{color:var(--text);border-color:var(--border2)}@keyframes shimmer{0%{left:-60%}to{left:130%}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .7s ease forwards}.fade-up-1{animation-delay:.1s;opacity:0}.fade-up-2{animation-delay:.25s;opacity:0}.fade-up-3{animation-delay:.4s;opacity:0}.fade-up-4{animation-delay:.55s;opacity:0}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}#hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}@keyframes blob1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(60px,-40px) scale(1.08)}66%{transform:translate(-30px,50px) scale(.94)}}@keyframes blob2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-50px,30px) scale(1.06)}66%{transform:translate(40px,-60px) scale(.96)}}@keyframes beam-rotate{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}@keyframes float-orb{0%,to{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-24px) scale(1.04);opacity:.9}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes light-pulse{0%,to{opacity:.55}50%{opacity:.82}}@keyframes scanline{0%{top:-20%}to{top:110%}}@keyframes typing-dot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
