:root{--primary-cyan:#00f2ff;--accent-purple:#8000ff;--deep-blue:#0066ff;--bg-black:#020208;}*{margin:0;padding:0;box-sizing:border-box;}body{background-color:var(--bg-black);color:white;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow:hidden;height:100vh;}#loader{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at center,#050510 0%,#000005 100%);display:flex;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;}.star-field{position:absolute;inset:0;background:transparent;pointer-events:none;}.star{position:absolute;border-radius:50%;pointer-events:none;transition:transform .1s ease-out;}.star.type-dwarf{width:6px;height:6px;background:radial-gradient(circle at 30% 30%,#fff,#ffeecc 40%,#ffcc88 80%,#aa6633);box-shadow:0 0 6px #ffcc88,0 0 12px rgba(255,200,100,.5);}.star.type-giant{width:14px;height:14px;background:radial-gradient(circle at 35% 35%,#fff5f0,#ffccaa 30%,#ff8844 60%,#cc4400 90%);box-shadow:0 0 15px #ff6633,0 0 30px rgba(255,100,50,.6);}.star.type-blue{width:8px;height:8px;background:radial-gradient(circle at 30% 30%,#fff,#aaddff 40%,#4488ff 80%,#2244aa);box-shadow:0 0 10px #66aaff,0 0 20px rgba(100,150,255,.5);}.star.type-neutron{width:4px;height:4px;background:radial-gradient(circle at 30% 30%,#fff,#ccffff 50%,#00ccff);box-shadow:0 0 6px #0ff,0 0 15px rgba(0,255,255,.8);animation:neutron-pulse .5s ease-in-out infinite alternate;}.star.type-planet{width:10px;height:10px;background:radial-gradient(circle at 35% 35%,#aabbcc,#667788 50%,#334455 90%);box-shadow:0 0 5px rgba(100,150,200,.3);}.star.type-planet.has-ring{width:14px;height:14px;}.star.type-planet.has-ring::after{content:"";position:absolute;top:50%;left:50%;width:28px;height:8px;background:linear-gradient(to right,transparent 10%,rgba(200,180,150,.6) 30%,rgba(180,160,130,.8) 50%,rgba(200,180,150,.6) 70%,transparent 90%);transform:translate(-50%,-50%) rotateX(60deg);border-radius:50%;}.star.type-nebula{width:50px;height:50px;background:radial-gradient(ellipse at center,rgba(150,100,200,.4) 0%,rgba(100,50,150,.2) 40%,transparent 70%);filter:blur(3px);box-shadow:none;}.star.type-supergiant{width:25px;height:25px;background:radial-gradient(circle at 35% 35%,#fff,#ffddaa 20%,#ff6644 50%,#cc3311 80%,#881100);box-shadow:0 0 25px #ff4422,0 0 50px rgba(255,80,30,.5),0 0 80px rgba(255,50,0,.3);}.star.type-bluesupergiant{width:20px;height:20px;background:radial-gradient(circle at 30% 30%,#fff,#eeffff 20%,#88ccff 50%,#4488ff 80%,#2255cc);box-shadow:0 0 20px #66aaff,0 0 40px rgba(100,150,255,.6),0 0 60px rgba(50,100,255,.3);}.star.type-gasgiant{width:18px;height:18px;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.3),transparent 50%),linear-gradient(to bottom,#d4a574 0%,#c49464 15%,#e8c49a 20%,#c49464 25%,#b08454 40%,#d4a574 45%,#c49464 55%,#9a7454 70%,#c49464 85%,#d4a574 100%);box-shadow:0 0 10px rgba(200,150,100,.4);border-radius:50%;}@keyframes neutron-pulse{from{opacity:.7;transform:scale(.9);}to{opacity:1;transform:scale(1.1);}}.star.being-absorbed{animation:spiral-absorb 1.2s cubic-bezier(.4,0,.2,1) forwards;}@keyframes spiral-absorb{0%{opacity:1;}60%{opacity:1;filter:brightness(1.5) saturate(1.2);}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0) rotate(720deg);filter:brightness(3) saturate(2);}}.black-hole-container{position:relative;width:100vmin;height:100vmin;display:flex;justify-content:center;align-items:center;}.event-horizon{position:absolute;width:80px;height:80px;background:radial-gradient(circle,#000 70%,transparent 100%);border-radius:50%;z-index:10;box-shadow:0 0 60px 30px rgba(0,0,0,1),0 0 100px 50px rgba(0,0,0,.8),inset 0 0 30px #000;}.gravitational-lens{position:absolute;width:160px;height:160px;border-radius:50%;border:2px solid rgba(0,200,255,.3);box-shadow:0 0 20px rgba(0,150,255,.4),inset 0 0 40px rgba(100,0,255,.2);z-index:9;}.accretion-disk{position:absolute;width:600px;height:200px;border-radius:50%;transform:rotateX(75deg);transform-style:preserve-3d;animation:disk-rotate 12s linear infinite;}.accretion-disk::before{content:"";position:absolute;inset:30px;border-radius:50%;background:radial-gradient(ellipse,transparent 20%,rgba(150,200,255,.8) 40%,rgba(100,0,255,.6) 60%,rgba(50,0,150,.4) 80%,transparent 100%);filter:blur(8px);animation:inner-pulse 2s ease-in-out infinite alternate;}.accretion-disk::after{content:"";position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(ellipse,transparent 30%,rgba(0,100,255,.3) 50%,rgba(80,0,200,.2) 70%,transparent 90%);filter:blur(15px);}.matter-stream{position:absolute;width:100%;height:100%;animation:stream-rotate 8s linear infinite;}.matter-stream::before,.matter-stream::after{content:"";position:absolute;width:300px;height:60px;background:linear-gradient(90deg,transparent 0%,rgba(100,200,255,.6) 20%,rgba(150,100,255,.8) 50%,rgba(100,200,255,.6) 80%,transparent 100%);border-radius:50%;filter:blur(10px);top:50%;left:50%;transform-origin:center;}.matter-stream::before{transform:translate(-50%,-50%) rotate(0deg) translateX(120px);}.matter-stream::after{transform:translate(-50%,-50%) rotate(180deg) translateX(120px);opacity:.6;}.doppler-effect{position:absolute;width:600px;height:200px;border-radius:50%;transform:rotateX(75deg);background:linear-gradient(90deg,rgba(150,220,255,.5) 0%,transparent 30%,transparent 70%,rgba(80,0,150,.3) 100%);filter:blur(20px);z-index:5;}.photon-sphere{position:absolute;width:130px;height:130px;border-radius:50%;border:1px solid rgba(100,200,255,.4);box-shadow:0 0 30px rgba(0,150,255,.3),0 0 60px rgba(100,0,255,.2);z-index:8;animation:photon-flicker .3s ease-in-out infinite alternate;}.back-disk{position:absolute;width:500px;height:120px;border-radius:50%;transform:rotateX(-75deg) translateY(-80px);background:radial-gradient(ellipse,transparent 30%,rgba(100,150,255,.3) 50%,rgba(80,0,200,.2) 70%,transparent 90%);filter:blur(15px);opacity:.5;z-index:1;animation:back-disk-glow 4s ease-in-out infinite alternate;}.inner-glow{position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(180,220,255,.7) 20%,rgba(100,150,255,.5) 40%,rgba(80,0,200,.3) 60%,transparent 100%);filter:blur(15px);animation:pulse-glow 1.5s ease-in-out infinite alternate;z-index:6;}.photon-ring{position:absolute;width:550px;height:160px;border:2px solid rgba(100,180,255,.4);border-radius:50%;transform:rotateX(75deg);box-shadow:0 0 25px rgba(0,130,255,.4),inset 0 0 25px rgba(80,0,200,.2);animation:photon-wobble 4s ease-in-out infinite;z-index:4;}.particle-container{position:absolute;inset:0;pointer-events:none;}.explosion-flash{position:fixed;inset:0;background:radial-gradient(circle at center,#fff 0%,#ff6600 30%,transparent 70%);opacity:0;pointer-events:none;z-index:100;}.shockwave{position:absolute;width:10px;height:10px;border:4px solid rgba(255,150,0,.8);border-radius:50%;opacity:0;}@keyframes disk-rotate{from{transform:rotateX(75deg) rotateZ(0deg);}to{transform:rotateX(75deg) rotateZ(360deg);}}@keyframes stream-rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes inner-pulse{0%{opacity:.6;filter:blur(8px) brightness(1);}100%{opacity:1;filter:blur(5px) brightness(1.3);}}@keyframes pulse-glow{0%{transform:scale(.95);opacity:.7;filter:blur(15px);}100%{transform:scale(1.05);opacity:1;filter:blur(12px);}}@keyframes photon-wobble{0%,100%{transform:rotateX(75deg) rotateZ(0deg) scale(1);}25%{transform:rotateX(73deg) rotateZ(2deg) scale(1.02);}50%{transform:rotateX(76deg) rotateZ(-1deg) scale(.98);}75%{transform:rotateX(74deg) rotateZ(1deg) scale(1.01);}}@keyframes photon-flicker{0%{opacity:.3;box-shadow:0 0 30px rgba(0,150,255,.3),0 0 60px rgba(100,0,255,.2);}100%{opacity:.6;box-shadow:0 0 40px rgba(100,200,255,.5),0 0 80px rgba(120,0,255,.3);}}@keyframes back-disk-glow{0%{opacity:.3;}100%{opacity:.6;}}.phase-absorb .accretion-disk{animation:disk-rotate 6s linear infinite;}.phase-absorb .matter-stream{animation:stream-rotate 4s linear infinite;}.phase-collapse .event-horizon{animation:collapse-core 1s cubic-bezier(.4,0,.2,1) forwards;}.phase-collapse .accretion-disk{animation:collapse-disk 1s cubic-bezier(.4,0,.2,1) forwards;}.phase-collapse .matter-stream{animation:stream-rotate 1s linear infinite,collapse-stream 1s ease-in forwards;}.phase-collapse .inner-glow{animation:collapse-glow 1s ease-in forwards;}.phase-collapse .photon-ring,.phase-collapse .back-disk,.phase-collapse .doppler-effect{animation:fade-collapse .8s ease-in forwards;}.phase-explode .explosion-flash{animation:flash-burst .8s ease-out forwards;}.phase-explode .shockwave{animation:shockwave-expand .15s ease-out forwards;}@keyframes collapse-stream{0%{transform:rotate(0deg) scale(1);opacity:1;}100%{transform:rotate(720deg) scale(0);opacity:0;}}@keyframes fade-collapse{0%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(.5);}}@keyframes collapse-core{0%{transform:scale(1);}50%{transform:scale(.3);box-shadow:0 0 200px 100px rgba(100,100,255,.8);}80%{transform:scale(.1);box-shadow:0 0 300px 150px rgba(255,200,100,1);}100%{transform:scale(0);}}@keyframes collapse-disk{0%{transform:rotateX(75deg) rotateZ(0deg) scale(1);opacity:.9;}60%{transform:rotateX(75deg) rotateZ(720deg) scale(.3);opacity:1;}100%{transform:rotateX(75deg) rotateZ(1440deg) scale(0);opacity:0;}}@keyframes collapse-glow{0%{transform:scale(1);filter:blur(15px) brightness(1);}50%{transform:scale(2);filter:blur(8px) brightness(3);}100%{transform:scale(0);filter:blur(0) brightness(10);}}@keyframes flash-burst{0%{opacity:0;transform:scale(.5);}20%{opacity:1;transform:scale(1.5);}100%{opacity:0;transform:scale(3);}}@keyframes shockwave-expand{0%{transform:scale(0);opacity:1;border-width:50px;}100%{transform:scale(80);opacity:0;border-width:2px;}}.loader-text{position:absolute;bottom:15%;color:rgba(150,200,255,.8);letter-spacing:.8rem;font-size:12px;font-weight:500;text-transform:uppercase;font-family:'Courier New',Courier,monospace;}.loader-text span{display:inline-block;animation:text-wave 1.5s ease-in-out infinite;}@keyframes text-wave{0%,100%{transform:translateY(0);opacity:.6;}50%{transform:translateY(-5px);opacity:1;text-shadow:0 0 10px rgba(0,150,255,.8);}}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;}.main-ui{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.9) 100%);opacity:0;}.glass-panel{padding:3rem;backdrop-filter:blur(15px);border:1px solid rgba(0,200,255,.2);border-radius:20px;background:rgba(5,5,20,.4);box-shadow:0 0 60px rgba(0,100,255,.1);}h1{font-size:3.5rem;letter-spacing:1rem;margin-bottom:1rem;background:linear-gradient(to bottom,#fff 20%,var(--primary-cyan) 60%,var(--accent-purple));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;filter:drop-shadow(0 0 15px rgba(0,200,255,.5));}p{color:rgba(255,255,255,.7);margin-bottom:2.5rem;letter-spacing:.3rem;font-size:1rem;}.btn-group{display:flex;gap:2rem;justify-content:center;}.btn{position:relative;padding:18px 45px;font-size:1rem;font-weight:bold;color:white;text-decoration:none;text-transform:uppercase;letter-spacing:3px;border-radius:8px;transition:.5s;overflow:hidden;border:1px solid var(--primary-cyan);background:transparent;}.btn-primary{background:var(--primary-cyan);color:#000;border:none;box-shadow:0 0 20px rgba(0,200,255,.4);}.btn:hover{box-shadow:0 0 40px var(--accent-purple);transform:translateY(-3px) scale(1.05);}.btn-secondary:hover{background:rgba(0,200,255,.1);}.system-meta{position:absolute;bottom:40px;font-family:monospace;font-size:12px;color:var(--primary-cyan);opacity:.6;letter-spacing:4px;}.nav-loading-overlay{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at center,rgba(5,5,16,.95) 0%,rgba(0,0,5,.98) 100%);display:flex;justify-content:center;align-items:center;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}.nav-loading-overlay.active{opacity:1;visibility:visible;}.nav-spinner{width:60px;height:60px;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary-cyan);border-right-color:var(--accent-purple);animation:nav-spin .8s linear infinite;box-shadow:0 0 30px rgba(0,200,255,.3),inset 0 0 20px rgba(128,0,255,.2);}.nav-spinner::before{content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid transparent;border-bottom-color:var(--deep-blue);animation:nav-spin .6s linear infinite reverse;}.nav-loading-text{margin-top:20px;color:rgba(150,200,255,.9);font-size:14px;letter-spacing:3px;text-transform:uppercase;animation:nav-pulse 1.5s ease-in-out infinite;}@keyframes nav-spin{to{transform:rotate(360deg);}}@keyframes nav-pulse{0%,100%{opacity:.6;}50%{opacity:1;text-shadow:0 0 10px rgba(0,200,255,.5);}}.btn.loading{pointer-events:none;position:relative;color:transparent!important;}.btn.loading::after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:nav-spin .6s linear infinite;}.btn-primary.loading::after{border-top-color:#000;}.btn-secondary.loading::after{border-top-color:var(--primary-cyan);}