:root{--space-black: #000011;--nebula-purple: #1a0b2e;--stellar-gold: #ffd700;--pulsar-blue: #00d4ff;--supernova-orange: #ff6b35;--dark-matter: #2d2d3a;--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .37);--glass-glow: inset 0 0 0 1px rgba(255, 255, 255, .05);--font-display: "Orbitron", sans-serif;--font-body: "Noto Sans SC", sans-serif;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-slow: 1.2s;--duration-normal: .6s;--duration-fast: .3s;--nav-height: 64px}[data-theme=light]{--space-black: #f0eef6;--nebula-purple: #e8dff5;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--space-black);color:#fff;cursor:default;position:relative}#app{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}#app::-webkit-scrollbar{display:none}.screen{position:relative;width:100%;height:100vh;overflow:hidden;flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:always}.canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.screen-overlay{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;padding:2rem}.screen-overlay>*{pointer-events:auto}.hero-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;pointer-events:none}.hero-title{font-family:var(--font-display);line-height:1;margin-bottom:2rem}.title-line{display:block;font-size:clamp(3rem,10vw,8rem);font-weight:900;letter-spacing:.15em;background:linear-gradient(135deg,var(--stellar-gold),var(--pulsar-blue),var(--nebula-purple));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 6s ease infinite;text-shadow:0 0 80px rgba(255,215,0,.3);position:relative}.title-line:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;filter:blur(20px);opacity:.5;background:inherit;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;z-index:-1}.title-line.subtitle{font-size:clamp(1.2rem,3vw,2.5rem);font-weight:300;letter-spacing:.5em;margin-top:.5rem}.hero-desc{font-size:.9rem;opacity:.5;letter-spacing:.1em;margin-bottom:3rem}.hero-scroll-hint{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;opacity:.4;letter-spacing:.05em;animation:bob 2s ease-in-out infinite}.scroll-arrow{width:20px;height:20px;border-right:2px solid var(--stellar-gold);border-bottom:2px solid var(--stellar-gold);transform:rotate(45deg);animation:fadeArrow 2s ease-in-out infinite}.section-header{text-align:center;margin-bottom:2rem}.section-header.dark-section{color:#fff}.section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);font-weight:700;letter-spacing:.1em;background:linear-gradient(135deg,var(--pulsar-blue),var(--stellar-gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;margin-bottom:.5rem}.section-title:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;filter:blur(15px);opacity:.4;background:inherit;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-subtitle{font-size:.9rem;opacity:.5;letter-spacing:.05em}.glass-nav{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#0019;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:50px;box-shadow:var(--glass-shadow),var(--glass-glow);transition:transform var(--duration-normal) var(--ease-out-expo),opacity var(--duration-normal) var(--ease-out-expo)}.nav-item{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:none;background:transparent;color:#ffffff80;font-family:var(--font-body);font-size:.75rem;cursor:pointer;border-radius:50px;transition:all var(--duration-fast) var(--ease-out-expo);text-decoration:none;position:relative;overflow:hidden}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:var(--stellar-gold);background:#ffd7001a}.nav-icon{font-size:1rem;transition:transform var(--duration-normal) var(--ease-out-expo)}.nav-item:hover .nav-icon{animation:spinPlanet 2s linear infinite}.nav-item.active .nav-icon{transform:scale(1.2)}.theme-toggle{margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--glass-border)}.scroll-indicator{position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:.75rem}.scroll-track{width:2px;height:120px;background:#ffffff1a;border-radius:2px;position:relative;overflow:hidden}.scroll-thumb{width:100%;height:30%;background:linear-gradient(to bottom,var(--stellar-gold),var(--pulsar-blue));border-radius:2px;transition:transform var(--duration-normal) var(--ease-out-expo);position:absolute;top:0;left:0}@keyframes pulseGlow{0%,to{filter:drop-shadow(0 0 2px var(--pulsar-blue))}50%{filter:drop-shadow(0 0 8px var(--pulsar-blue))}}.scroll-dots{display:flex;flex-direction:column;gap:.5rem}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all var(--duration-fast) var(--ease-out-expo);cursor:pointer}.dot.active{background:var(--stellar-gold);box-shadow:0 0 10px var(--stellar-gold);transform:scale(1.3)}.mouse-trail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none}.catalog-layout{display:flex;width:100%;max-width:1400px;height:100%;gap:2rem;padding:6rem 2rem 2rem;align-items:flex-start}.catalog-sidebar{flex-shrink:0;width:200px;padding-top:.5rem}.catalog-sidebar .section-title{font-size:1.5rem;margin-bottom:1.5rem}.catalog-filters{display:flex;flex-direction:column;gap:.35rem}.filter-btn{padding:.5rem 1rem;border:1px solid var(--glass-border);background:var(--glass-bg);color:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;cursor:pointer;font-family:var(--font-body);font-size:.8rem;transition:all var(--duration-fast) var(--ease-out-expo);text-align:left}.filter-btn:hover{color:#fff;background:#ffffff14;border-color:#fff3;transform:translate(4px)}.filter-btn.active{color:var(--stellar-gold);border-color:var(--stellar-gold);background:#ffd70014;box-shadow:0 0 20px #ffd7001a}.catalog-cards{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;padding-right:2rem;overflow-y:auto;max-height:calc(100vh - 8rem)}.observatory-ui{justify-content:center}.telescope-viewport{position:relative;width:min(80vw,600px);height:min(80vw,600px);border-radius:50%;border:2px solid rgba(255,255,255,.15);overflow:hidden;box-shadow:0 0 60px #00d4ff1a,inset 0 0 60px #00000080;background:#000}.telescope-viewport canvas{width:100%!important;height:100%!important}.telescope-reticle{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.reticle-h,.reticle-v{position:absolute;background:#00d4ff4d}.reticle-h{top:50%;left:5%;width:90%;height:1px;transform:translateY(-50%)}.reticle-v{left:50%;top:5%;height:90%;width:1px;transform:translate(-50%)}.reticle-circle{position:absolute;top:50%;left:50%;width:60%;height:60%;transform:translate(-50%,-50%);border:1px solid rgba(0,212,255,.2);border-radius:50%}.telescope-hud{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:3;display:flex;gap:1rem;padding:.5rem 1rem;background:#000011b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:12px;font-size:.65rem;font-family:var(--font-display);color:var(--pulsar-blue);white-space:nowrap}.focus-slider{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);z-index:3;width:60%;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,rgba(255,255,255,.1),var(--pulsar-blue));border-radius:2px;outline:none}.focus-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--pulsar-blue);cursor:pointer;box-shadow:0 0 10px var(--pulsar-blue)}.capture-btn{position:absolute;bottom:6rem;left:50%;transform:translate(-50%);z-index:3;padding:.5rem 1.5rem;border:1px solid var(--stellar-gold);background:#ffd7001a;color:var(--stellar-gold);font-family:var(--font-body);font-size:.85rem;border-radius:50px;cursor:pointer;transition:all var(--duration-fast)}.capture-btn:hover{background:#ffd70033;box-shadow:0 0 20px #ffd7004d}.deepspace-nav{position:absolute;bottom:6rem;left:50%;transform:translate(-50%);display:flex;gap:1rem}.ds-btn{padding:.6rem 1.5rem;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff9;border-radius:50px;cursor:pointer;font-family:var(--font-body);font-size:.85rem;transition:all var(--duration-fast)}.ds-btn:hover,.ds-btn.active{color:#fff;border-color:var(--pulsar-blue);background:#00d4ff1a;box-shadow:0 0 20px #00d4ff33}.contact-content{justify-content:center}.contact-grid{display:flex;gap:3rem;align-items:flex-start;max-width:800px;width:100%}.contact-form{flex:1;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem}.input-group{position:relative}.input-group input,.input-group textarea{width:100%;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--glass-border);color:#fff;font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color var(--duration-fast);resize:none}.input-group label{position:absolute;left:1rem;top:.75rem;color:#ffffff4d;font-size:.85rem;transition:all var(--duration-fast);pointer-events:none}.input-group input:focus~label,.input-group input:valid~label,.input-group textarea:focus~label,.input-group textarea:valid~label{top:-.5rem;left:0;font-size:.65rem;color:var(--pulsar-blue)}.input-glow{position:absolute;bottom:0;left:0;width:0;height:1px;background:linear-gradient(to right,var(--pulsar-blue),var(--stellar-gold));transition:width var(--duration-normal)}.input-group input:focus~.input-glow,.input-group textarea:focus~.input-glow{width:100%}.submit-btn{padding:.8rem 2rem;border:1px solid var(--pulsar-blue);background:#00d4ff1a;color:var(--pulsar-blue);font-family:var(--font-display);font-size:.85rem;letter-spacing:.1em;border-radius:50px;cursor:pointer;transition:all var(--duration-fast);align-self:center}.submit-btn:hover{background:#00d4ff33;box-shadow:0 0 30px #00d4ff4d;transform:translateY(-2px)}.social-links{display:flex;flex-direction:column;gap:1rem;padding-top:.5rem}.social-planet{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:16px;color:#fff9;text-decoration:none;transition:all var(--duration-fast);cursor:pointer}.social-planet:hover{color:#fff;border-color:var(--planet-color);background:color-mix(in srgb,var(--planet-color) 15%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--planet-color) 30%,transparent);transform:translate(-4px)}.planet-surface{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--planet-color),transparent 70%);animation:spinPlanet 8s linear infinite}@media (max-width: 768px){.glass-nav{bottom:.75rem;padding:.35rem .5rem;gap:0;width:calc(100% - 1rem);justify-content:space-around;border-radius:20px}.nav-item{padding:.35rem .5rem;font-size:.65rem}.nav-label{display:none}.nav-icon{font-size:1.1rem}.catalog-layout{flex-direction:column;padding:5rem 1rem 1rem}.catalog-sidebar{width:100%}.catalog-filters{flex-direction:row;flex-wrap:wrap}.catalog-cards{max-height:none}.contact-grid{flex-direction:column;gap:1.5rem}.social-links{flex-direction:row}.telescope-viewport{width:90vw;height:90vw}.telescope-hud{font-size:.5rem;gap:.5rem}.scroll-indicator{display:none}.hero-desc{font-size:.75rem}}@media (max-width: 480px){.telescope-hud{flex-wrap:wrap;justify-content:center}.deepspace-nav{bottom:5rem;gap:.5rem}.ds-btn{font-size:.7rem;padding:.4rem .8rem}}.low-perf #hero-canvas-container canvas,.low-perf #solar-canvas-container canvas,.low-perf #catalog-canvas-container canvas{filter:blur(.5px)}.low-perf .mouse-trail{display:none}.low-perf .glass-card:before{animation:none}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-glow);border-radius:24px;position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.03) 50%,transparent 70%);animation:scan 6s linear infinite;pointer-events:none}.glass-card .glass-inner{position:relative;z-index:1}.hologram-card{position:fixed;top:50%;right:2rem;width:300px;padding:2rem;z-index:10;background:#001c;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--pulsar-blue);border-radius:20px;box-shadow:0 0 40px #00d4ff26,inset 0 0 20px #00d4ff0d;opacity:0;transform:translateY(-50%) translate(20px);transition:all .4s var(--ease-out-expo);pointer-events:auto}.hologram-card.visible{opacity:1;transform:translateY(-50%) translate(0)}.hologram-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,var(--pulsar-blue),transparent 40%,var(--stellar-gold));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.hologram-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(to right,transparent,var(--pulsar-blue),transparent);animation:scanLine 2s linear infinite}@keyframes scanLine{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.hologram-card .hologram-name{font-family:var(--font-display);font-size:1.2rem;color:var(--pulsar-blue);margin-bottom:.25rem}.hologram-card .hologram-type{font-size:.75rem;color:#fff6;margin-bottom:1rem}.hologram-card .hologram-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.hologram-card .stat-item .stat-label{font-size:.6rem;font-family:var(--font-display);color:var(--stellar-gold);display:block}.hologram-card .stat-item .stat-value{font-size:.9rem;color:#fff}.particle-text-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%}.star-card{perspective:800px;height:260px;cursor:pointer}.star-card-inner{position:relative;width:100%;height:100%;transition:transform .6s var(--ease-out-expo);transform-style:preserve-3d}.star-card:hover .star-card-inner{transform:rotateY(180deg)}.star-card-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1.5rem;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.star-card-back{transform:rotateY(180deg);background:#001c;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--pulsar-blue)}.star-card .star-spectrum{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.5rem;box-shadow:0 0 15px currentColor}.star-card .star-name{font-family:var(--font-display);font-size:1rem;margin-bottom:.25rem}.star-card .star-constellation{font-size:.75rem;opacity:.5}.star-card .star-color-ring{position:relative;width:100%;height:60px;border-radius:50%;filter:blur(20px);opacity:.6;transition:opacity var(--duration-normal)}.star-card:hover .star-color-ring{opacity:1}.flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#fff;opacity:0;pointer-events:none;transition:opacity .1s}.flash-overlay.active{opacity:1;transition:opacity .05s}.polaroid{position:fixed;bottom:2rem;right:2rem;z-index:998;padding:1rem 1rem 2.5rem;background:#fff;border-radius:4px;box-shadow:0 10px 40px #00000080;min-width:200px;animation:polaroidSlide .6s var(--ease-out-expo)}.polaroid-image{width:100%;aspect-ratio:4/3;background:var(--space-black);border-radius:2px;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;color:#333;font-size:.7rem;overflow:hidden}.polaroid-stamp{font-size:.55rem;color:#666;display:flex;justify-content:space-between}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes fadeArrow{0%,to{opacity:.3}50%{opacity:1}}@keyframes scan{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spinPlanet{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseRing{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}50%{opacity:.5}to{transform:translate(-50%,-50%) scale(2);opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes signalWave{0%{transform:translate(-50%,-50%) scale(.3);opacity:.6}to{transform:translate(-50%,-50%) scale(3);opacity:0}}@keyframes polaroidSlide{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-40px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal-left.revealed{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.8);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal-scale.revealed{opacity:1;transform:scale(1)}.signal-wave{position:absolute;top:50%;left:50%;width:100px;height:100px;border:1px solid var(--pulsar-blue);border-radius:50%;animation:signalWave 3s ease-out infinite;pointer-events:none}.signal-wave:nth-child(2){animation-delay:.8s}.signal-wave:nth-child(3){animation-delay:1.6s}.signal-wave:nth-child(4){animation-delay:2.4s}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:var(--space-black);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 1s var(--ease-out-expo),visibility 1s}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-stars{width:80px;height:80px;position:relative}.loader-stars:before,.loader-stars:after{content:"";position:absolute;border-radius:50%;animation:loaderPulse 1.5s ease-in-out infinite}.loader-stars:before{width:100%;height:100%;background:var(--stellar-gold);box-shadow:0 0 40px var(--stellar-gold)}.loader-stars:after{width:60%;height:60%;top:20%;left:20%;background:var(--pulsar-blue);box-shadow:0 0 30px var(--pulsar-blue);animation-direction:reverse}.loader-text{margin-top:2rem;font-family:var(--font-display);font-size:.85rem;letter-spacing:.2em;color:#ffffff80;animation:loaderText 2s ease-in-out infinite}@keyframes loaderPulse{0%,to{transform:scale(.8);opacity:.6}50%{transform:scale(1.2);opacity:1}}@keyframes loaderText{0%,to{opacity:.3}50%{opacity:.8}}
