:root{--galaxy-bg: #050710;--galaxy-surface: rgba(8, 12, 18, .92);--galaxy-surface-light: rgba(12, 18, 28, .85);--galaxy-border: rgba(255, 255, 255, .06);--galaxy-text: #e2e8f0;--galaxy-text-dim: #8b949e;--galaxy-text-muted: #484f58;--galaxy-glass: rgba(10, 14, 22, .88);--galaxy-hud-cyan: rgba(79, 195, 247, .5);--hud-cyan: #4fc3f7;--hud-panel-bg: rgba(15, 23, 42, .8);--cluster-physics: #4fc3f7;--cluster-math: #ffd54f;--cluster-cs: #66bb6a;--cluster-aiml: #ef5350;--cluster-engineering: #26c6da;--cluster-data: #ab47bc;--cluster-business: #ff7043;--cluster-core: #ffffff}.galaxy-title,.cluster-label{font-family:Orbitron,Inter,sans-serif}.galaxy-body,.node-label{font-family:Rajdhani,Inter,sans-serif}body:has(.galaxy-page){padding-top:0;background:#050710}.galaxy-page{background:var(--galaxy-bg);height:100vh;color:var(--galaxy-text);position:relative;overflow:hidden;display:flex;flex-direction:column}.stellaris-top-bar{height:44px;background:#0d111e59;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-shrink:0}.top-bar-resources,.top-bar-controls{display:flex;align-items:center;gap:2px;background:#0d111e4d;border:1px solid rgba(255,255,255,.06);padding:3px 8px;border-radius:4px;flex-shrink:1;min-width:0;overflow-x:auto;scrollbar-width:none}.top-bar-resources::-webkit-scrollbar,.top-bar-controls::-webkit-scrollbar{display:none}.resource-counter{display:flex;align-items:center;gap:3px;padding:2px 6px;flex:0 0 auto}.resource-icon{font-size:16px;color:var(--rc-color, var(--hud-cyan))}.resource-label{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--rc-color, var(--hud-cyan))}.resource-value{font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:500;color:#ffffff80}.top-bar-center{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;transform:translate(-50%)}.title-pill{background:#0f172ae6;border:1px solid rgba(79,195,247,.3);padding:2px 20px;border-radius:0 0 8px 8px;box-shadow:0 0 10px #4fc3f726,inset 0 0 5px #4fc3f714}.title-pill-text{font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.2em;color:#fff}.title-stats{display:flex;align-items:center;gap:6px;margin-top:1px}.title-stats .xp-level{font-family:Orbitron,sans-serif;font-size:.55rem;font-weight:700;color:var(--hud-cyan);letter-spacing:.1em}.title-sep{color:#fff3;font-size:.55rem}.title-stats .xp-rank{font-family:Rajdhani,sans-serif;font-size:.6rem;color:var(--galaxy-text-dim)}.system-date{font-family:JetBrains Mono,monospace;font-size:.5rem;color:var(--hud-cyan);letter-spacing:.15em;opacity:.7;margin-top:1px}.top-bar-divider{width:1px;height:20px;background:#ffffff1a;margin:0 8px}.hud-icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.08);border-radius:2px;color:var(--galaxy-text-muted);cursor:pointer;transition:all .2s}.hud-icon-btn:hover{border-color:var(--hud-cyan);color:var(--hud-cyan);background:#4fc3f70d}.hud-icon-btn .material-symbols-outlined{font-size:18px}.galaxy-container{flex:1;position:relative;overflow:hidden}.galaxy-container canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;transform-origin:0 0;will-change:transform}.galaxy-container svg.galaxy-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;user-select:none;-webkit-user-select:none;cursor:grab}.galaxy-container svg.galaxy-svg:active{cursor:grabbing}.galaxy-container:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:300%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(79,195,247,.005) 2px,rgba(79,195,247,.005) 4px);pointer-events:none;z-index:2;animation:scanline-scroll 8s linear infinite}@keyframes scanline-scroll{0%{transform:translateY(0)}to{transform:translateY(33.33%)}}.icon-strip{position:absolute;top:0;left:0;width:48px;height:100%;background:#0d111e4d;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px;z-index:10;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.icon-strip-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:none;color:var(--galaxy-text-muted);cursor:pointer;transition:all .2s;position:relative}.icon-strip-btn .material-symbols-outlined{font-size:20px}.icon-strip-btn:hover{background:#ffffff0d;color:var(--galaxy-text)}.icon-strip-btn.active{color:var(--hud-cyan);background:#4fc3f714}.icon-strip-btn.active:before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:2px;background:var(--hud-cyan);border-radius:0 2px 2px 0}.icon-strip-spacer{flex:1}.domain-outliner{position:absolute;top:8px;right:12px;width:200px;z-index:10;background:#0d111e66;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:6px;box-shadow:0 4px 30px #0006;display:flex;flex-direction:column;max-height:calc(100% - 16px);overflow-y:auto}.domain-outliner::-webkit-scrollbar{width:3px}.domain-outliner::-webkit-scrollbar-thumb{background:#4fc3f74d;border-radius:2px}.outliner-header{padding:8px 12px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.outliner-title{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.15em;color:var(--hud-cyan);margin:0}.cluster-nav-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border:none;border-bottom:1px solid rgba(255,255,255,.03);background:transparent;color:var(--galaxy-text-muted);font-family:Rajdhani,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .2s;text-align:left;width:100%}.cluster-nav-btn:hover{background:#ffffff08;color:var(--galaxy-text-dim)}.cluster-nav-btn.active{border-left:2px solid var(--cluster-color);color:var(--cluster-color);background:#ffffff05}.cluster-dot{width:8px;height:8px;border-radius:50%;background:var(--cluster-color);flex-shrink:0;box-shadow:0 0 4px var(--cluster-color)}.cluster-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-count{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--galaxy-text-muted);opacity:.7}.outliner-xp{padding:8px 12px;border-top:1px solid rgba(255,255,255,.04)}.xp-bar-track{width:100%;height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:4px}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#4fc3f7,#ab47bc);border-radius:2px;transition:width .6s ease}.xp-value{font-family:JetBrains Mono,monospace;font-size:.55rem;color:var(--galaxy-text-muted);text-align:right}.hud-border{position:absolute;inset:0;border:none;pointer-events:none}.hud-corner{position:absolute;width:10px;height:10px;border-style:solid;border-color:var(--detail-color, var(--hud-cyan));opacity:.5}.hud-corner.tl{top:-1px;left:-1px;border-width:2px 0 0 2px}.hud-corner.tr{top:-1px;right:-1px;border-width:2px 2px 0 0}.hud-corner.bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}.hud-corner.br{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.galaxy-star{cursor:pointer;transition:opacity .3s ease}.galaxy-star circle.star-core{transition:r .2s ease,filter .3s ease}.galaxy-star .star-halo{pointer-events:none;opacity:.8;transition:opacity .3s ease}.galaxy-star:hover .star-halo{opacity:1}.galaxy-star:hover circle.star-core{filter:drop-shadow(0 0 8px var(--star-color, #fff)) drop-shadow(0 0 20px var(--star-color, #fff)) drop-shadow(0 0 40px var(--star-color, #fff))!important}.galaxy-star.highlighted circle.star-core{filter:drop-shadow(0 0 6px var(--star-color, #fff)) drop-shadow(0 0 15px var(--star-color, #fff))!important}.galaxy-star.dimmed{opacity:.12;pointer-events:none}.galaxy-star.star-hypergiant circle.star-core{filter:drop-shadow(0 0 4px var(--star-color, #fff)) drop-shadow(0 0 12px var(--star-color, #fff))}.galaxy-star.star-hypergiant .corona-outer{animation:corona-pulse 4s ease-in-out infinite}.galaxy-star.star-hypergiant .accretion-disk{animation:accretion-rotate 12s linear infinite;transform-origin:center}.galaxy-star.star-hypergiant .star-hotspot{animation:hotspot-flare 2s ease-in-out infinite}.galaxy-star.star-hypergiant .star-mid-glow{animation:corona-pulse 4s ease-in-out infinite 1s}@keyframes corona-pulse{0%,to{transform:scale(1);opacity:.08}50%{transform:scale(1.03);opacity:.12}}@keyframes accretion-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hotspot-flare{0%,to{opacity:.9}50%{opacity:.6}}.galaxy-star.star-main-sequence circle.star-core{filter:drop-shadow(0 0 3px var(--star-color, #fff))}.galaxy-star.star-main-sequence .star-glow{transition:opacity .3s ease}.galaxy-star.star-main-sequence:hover .star-glow{opacity:.12}.galaxy-star.star-brown-dwarf .brown-dwarf-core{transition:opacity .3s ease}.galaxy-star.star-brown-dwarf:hover .brown-dwarf-core{opacity:.8}.galaxy-star.star-ghost,.ghost-flicker{animation:ghost-flicker-anim 3s steps(5) infinite}.galaxy-star.star-ghost .ghost-outline{stroke-dasharray:2 3}.galaxy-star.star-ghost .ghost-question{animation:ghost-flicker-anim 3s steps(5) infinite .5s}@keyframes ghost-flicker-anim{0%{opacity:.8}20%{opacity:.4}40%{opacity:.9}60%{opacity:.3}80%{opacity:.7}to{opacity:.8}}.galaxy-star.overclocked circle.star-core{fill:#e0c0ff!important;opacity:1!important;filter:drop-shadow(0 0 8px rgba(200,160,255,.7)) drop-shadow(0 0 20px rgba(200,160,255,.4)) drop-shadow(0 0 40px rgba(200,160,255,.15))!important;animation:overclock-pulse 1.2s ease-in-out infinite!important}.galaxy-star.overclocked circle.star-glow,.galaxy-star.overclocked circle.corona-outer,.galaxy-star.overclocked circle.star-mid-glow{fill:#c8a0ff1f!important;animation:overclock-corona 2s ease-in-out infinite!important}.galaxy-star.overclocked .star-hotspot{fill:#fff!important;opacity:1!important;animation:overclock-hotspot .8s ease-in-out infinite!important}.galaxy-star.overclocked .star-label{opacity:1!important;fill:#e0c0ff!important;text-shadow:0 0 6px rgba(200,160,255,.5)}.constellation-edge.overclocked{stroke:#c8a0ff99!important;stroke-width:2.2!important;filter:drop-shadow(0 0 6px rgba(200,160,255,.4))!important}.overclock-particle{filter:drop-shadow(0 0 4px rgba(200,160,255,.6))}@keyframes overclock-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px rgba(200,160,255,.7)) drop-shadow(0 0 20px rgba(200,160,255,.4))}50%{transform:scale(1.15);filter:drop-shadow(0 0 14px rgba(200,160,255,.9)) drop-shadow(0 0 30px rgba(200,160,255,.5)) drop-shadow(0 0 50px rgba(200,160,255,.2))}}@keyframes overclock-corona{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.22;transform:scale(1.1)}}@keyframes overclock-hotspot{0%,to{opacity:.9}50%{opacity:1;transform:scale(1.2)}}.galaxy-star.dark-star{opacity:.35;transition:opacity .5s ease;pointer-events:none;animation:dark-drift 6s ease-in-out infinite}.galaxy-star.dark-star.visible{opacity:1;pointer-events:auto}.galaxy-star.dark-star .dark-wireframe-outer{animation:dark-wireframe-rotate 30s linear infinite;transform-origin:center}.galaxy-star.dark-star .dark-wireframe-core{animation:ghost-flicker-anim 4s steps(5) infinite}.galaxy-star.dark-star .dark-locked-label{animation:dark-locked-blink 3s ease-in-out infinite;pointer-events:none}.galaxy-star.dark-star .dark-name{opacity:0;transition:opacity .3s ease;pointer-events:none}.galaxy-star.dark-star.visible .dark-name{opacity:1}.galaxy-star.dark-star .dark-missing-label{opacity:0;transition:opacity .3s ease;pointer-events:none}.galaxy-star.dark-star.visible .dark-missing-label{opacity:1}@keyframes dark-wireframe-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dark-locked-blink{0%,to{opacity:.15}50%{opacity:.05}}@keyframes dark-drift{0%,to{opacity:.35}50%{opacity:.25}}.galaxy-star .star-label{font-family:Rajdhani,sans-serif;font-size:10px;font-weight:600;fill:var(--galaxy-text-dim);pointer-events:none;opacity:0;transition:opacity .2s ease}.galaxy-star:hover .star-label,.galaxy-star.highlighted .star-label{opacity:1}.cluster-label-text{font-family:Inter,Orbitron,sans-serif;font-size:13px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;fill:#ffffff40;pointer-events:none}.empire-emblem,.cluster-emblem{pointer-events:none;opacity:.7;transition:opacity .3s ease}.megastructure{pointer-events:none}.mega-dyson .dyson-ring{animation:dyson-rotate 20s linear infinite;transform-origin:center}.mega-dyson .dyson-hex{animation:mega-breathe 4s ease-in-out infinite}.mega-dyson .dyson-inner-hex{animation:dyson-rotate 25s linear infinite reverse;transform-origin:center}@keyframes dyson-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mega-breathe{0%,to{stroke-opacity:.5;fill-opacity:.8}50%{stroke-opacity:.8;fill-opacity:1}}.mega-crystal .crystal-shape{animation:crystal-neon 2.5s ease-in-out infinite alternate}.mega-crystal .crystal-inner{animation:crystal-inner-rotate 15s linear infinite;transform-origin:center}@keyframes crystal-neon{0%{filter:url(#mega-glow);stroke-opacity:.6}to{filter:url(#mega-glow) drop-shadow(0 0 6px var(--star-color, #fff));stroke-opacity:1}}@keyframes crystal-inner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mega-station .station-shape{animation:mega-breathe 3.5s ease-in-out infinite}.mega-module .module-shape{animation:mega-breathe 5s ease-in-out infinite 1s}.mega-module .module-inner-ring{animation:dyson-rotate 18s linear infinite;transform-origin:center}.mega-diamond .diamond-shape{animation:diamond-glow 3s ease-in-out infinite}@keyframes diamond-glow{0%,to{fill-opacity:.8;stroke-opacity:.4}50%{fill-opacity:1;stroke-opacity:.7}}.constellation-edge{fill:none;stroke:#788cb40d;stroke-width:.5;transition:stroke .3s ease,stroke-width .3s ease,opacity .3s ease}.constellation-edge.highlighted{stroke-width:2;stroke-dasharray:10 5;animation:dash-flow 1s linear infinite;filter:drop-shadow(0 0 3px var(--edge-color, rgba(255,255,255,.4))) drop-shadow(0 0 8px var(--edge-color, rgba(255,255,255,.15)))}.constellation-edge.dimmed{opacity:.02}@keyframes dash-flow{to{stroke-dashoffset:-12}}.energy-dot{pointer-events:none}.core-node{cursor:default}.core-node .core-label{font-family:Orbitron,sans-serif;font-size:11px;font-weight:900;letter-spacing:.3em;fill:#fff}.galaxy-detail-panel{position:absolute;top:60px;right:224px;width:280px;max-height:calc(100% - 72px);overflow-y:auto;background:#0d111e73;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:6px;box-shadow:0 4px 30px #0006;padding:1.25rem;z-index:15;opacity:0;transform:translate(20px);transition:all .3s ease;pointer-events:none}.galaxy-detail-panel.visible{opacity:1;transform:translate(0);pointer-events:auto}.galaxy-detail-panel .detail-type-badge{font-family:Orbitron,sans-serif;font-size:.55rem;font-weight:700;letter-spacing:.2em;color:var(--detail-color, var(--hud-cyan));margin-bottom:.25rem}.galaxy-detail-panel h3{color:var(--galaxy-text);font-family:Rajdhani,sans-serif;font-size:1.15rem;font-weight:700;margin:0 0 .25rem;padding-right:24px}.galaxy-detail-panel .detail-code{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--detail-color, #4fc3f7);margin-bottom:.5rem}.galaxy-detail-panel .detail-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.galaxy-detail-panel .detail-institution-badge{display:inline-block;padding:.15rem .5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--galaxy-text-dim);border:1px solid rgba(255,255,255,.1);border-radius:2px;background:#ffffff05}.galaxy-detail-panel .detail-year{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--galaxy-text-muted)}.galaxy-detail-panel .detail-grade{display:inline-block;padding:.15rem .5rem;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:700;background:#30d1581a;color:#30d158;border:1px solid rgba(48,209,88,.2);border-radius:2px;margin-bottom:.75rem}.galaxy-detail-panel .detail-type{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem}.galaxy-detail-panel .detail-track{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--detail-color, var(--galaxy-text-dim));letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.galaxy-detail-panel .detail-section{border-top:1px solid rgba(255,255,255,.06);padding-top:.75rem;margin-top:.5rem}.galaxy-detail-panel .detail-link-list{display:flex;flex-wrap:wrap;gap:6px}.galaxy-detail-panel .detail-section h4{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;color:var(--galaxy-text-muted);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .4rem}.galaxy-detail-panel .detail-prereq-item,.galaxy-detail-panel .detail-related-item{font-family:Rajdhani,sans-serif;font-size:.82rem;color:var(--galaxy-text-dim);padding:.2rem 0;cursor:pointer;transition:color .15s ease}.galaxy-detail-panel .detail-prereq-item:hover,.galaxy-detail-panel .detail-related-item:hover{color:#e2e8f0}.galaxy-detail-panel .close-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--galaxy-text-muted);font-size:1.2rem;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s ease;z-index:2}.galaxy-detail-panel .close-btn:hover{color:#e2e8f0}.galaxy-detail-panel::-webkit-scrollbar{width:4px}.galaxy-detail-panel::-webkit-scrollbar-thumb{background:#4fc3f74d;border-radius:2px}.stargate-detail-panel{position:absolute;top:50%;right:24px;transform:translateY(-50%) translate(30px);width:300px;background:#0d111e80;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:6px;box-shadow:0 4px 30px #00000080;padding:0;z-index:20;opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1);pointer-events:none}.stargate-detail-panel .hud-corner{border-color:var(--sg-color, var(--hud-cyan))}.stargate-detail-panel.visible{opacity:1;transform:translateY(-50%) translate(0);pointer-events:auto}.sg-gradient-header{height:4px;background:linear-gradient(90deg,var(--sg-color, var(--hud-cyan)),transparent)}.sg-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--galaxy-text-muted);font-size:1.3rem;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s ease;z-index:2}.sg-close-btn:hover{color:#e2e8f0}.sg-header{padding:1rem 1.5rem .75rem}.sg-type{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.2em;color:var(--sg-color, var(--hud-cyan));margin-bottom:.3rem}.sg-title{font-family:Rajdhani,sans-serif;font-size:1.5rem;font-weight:700;color:var(--galaxy-text);margin:0 0 .2rem;padding-right:28px;line-height:1.2}.sg-venue{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--sg-color, var(--galaxy-text-dim));letter-spacing:.08em}.sg-year{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--galaxy-text-muted);margin-top:.15rem}.sg-links{display:flex;flex-wrap:wrap;gap:8px;padding:0 1.5rem;margin-bottom:1rem}.sg-link{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.12em;color:var(--sg-color, #4fc3f7);text-decoration:none;padding:.35rem .75rem;border:1px solid var(--sg-color, rgba(79, 195, 247, .3));border-radius:2px;transition:all .2s ease}.sg-link:hover{background:#4fc3f71a;border-color:var(--sg-color, rgba(79, 195, 247, .6));box-shadow:0 0 12px #4fc3f726}.sg-stack-section{border-top:1px solid rgba(255,255,255,.06);padding:.75rem 1.5rem}.sg-stack-label{font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:600;color:var(--galaxy-text-muted);letter-spacing:.15em;margin-bottom:.5rem}.sg-stack{display:flex;flex-wrap:wrap;gap:6px}.sg-stack-chip{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--galaxy-text-dim);padding:.2rem .5rem;border:1px solid rgba(255,255,255,.1);border-radius:2px;cursor:pointer;transition:all .15s ease}.sg-stack-chip:hover{color:var(--galaxy-text);border-color:#ffffff40;background:#ffffff08}.sg-mastery-section{padding:.75rem 1.5rem;border-top:1px solid rgba(255,255,255,.06)}.sg-mastery-label{font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:600;color:var(--galaxy-text-muted);letter-spacing:.15em;margin-bottom:.4rem}.sg-mastery-bar{width:100%;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.sg-mastery-fill{height:100%;background:linear-gradient(90deg,var(--sg-color, var(--hud-cyan)),rgba(255,255,255,.8));border-radius:2px;transition:width .6s ease}.system-border,.layer-ring{pointer-events:none}.system-name-bg{pointer-events:none;opacity:.3}.hyperlane{pointer-events:none}.constellation-edge.stargate-lane{stroke-width:1.2}.stargate{cursor:pointer;transition:opacity .3s ease}.stargate .sg-outer-ring{animation:sg-ring-rotate 15s linear infinite;transform-origin:center}.stargate .sg-mid-ring{animation:sg-ring-rotate 20s linear infinite reverse;transform-origin:center}.stargate .sg-event-horizon{animation:sg-horizon-pulse 3s ease-in-out infinite}.stargate .sg-label{opacity:.85;pointer-events:none}.stargate .sg-type-badge{opacity:.5;pointer-events:none}.stargate:hover .sg-label{opacity:1}.stargate:hover .sg-event-horizon{animation:sg-horizon-pulse 1.5s ease-in-out infinite}@keyframes sg-ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sg-horizon-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.9;transform:scale(1.03)}}.galaxy-container.stargate-focus .cluster-borders,.galaxy-container.stargate-focus .cluster-labels,.galaxy-container.stargate-focus .megastructures-group{opacity:.15;transition:opacity .5s ease}.galaxy-container.stargate-focus .galaxy-star.dimmed{opacity:.05}.shockwave-ring{pointer-events:none;mix-blend-mode:screen}.hud-notification{position:absolute;top:20px;left:50%;transform:translate(-50%) translateY(-10px);font-family:Orbitron,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.2em;color:var(--hud-notif-color, #4fc3f7);background:#0d111e80;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 24px;z-index:30;opacity:0;transition:all .3s cubic-bezier(.16,1,.3,1);pointer-events:none;text-transform:uppercase;box-shadow:0 4px 30px #0006;white-space:nowrap}.hud-notification.visible{opacity:1;transform:translate(-50%) translateY(0)}.hud-notif-icon{color:var(--hud-notif-color, #4fc3f7);margin-right:8px;animation:hud-notif-blink .6s steps(2) 3}@keyframes hud-notif-blink{0%,to{opacity:1}50%{opacity:0}}.galaxy-container.screen-shake{animation:screen-shake-anim .3s ease-out}@keyframes screen-shake-anim{0%{transform:translate(0)}15%{transform:translate(-2px,1px)}30%{transform:translate(2px,-1px)}45%{transform:translate(-1px,-1px)}60%{transform:translate(1px,1px)}75%{transform:translate(-1px)}to{transform:translate(0)}}.stellaris-bottom-bar{height:44px;background:#0d111e59;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:50;flex-shrink:0;position:relative;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bottom-legend{display:flex;gap:14px;align-items:center}.legend-item{display:flex;align-items:center;gap:5px;font-family:Rajdhani,sans-serif;font-size:.65rem;font-weight:600;color:var(--galaxy-text-muted);letter-spacing:.04em}.legend-hypergiant{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fff 25%,#4fc3f7 60%,transparent 100%);box-shadow:0 0 4px #4fc3f7,0 0 10px #4fc3f74d}.legend-main-seq{width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#fff 30%,#66bb6a);box-shadow:0 0 3px #66bb6a}.legend-stargate{width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(79,195,247,.5);background:radial-gradient(circle,rgba(255,255,255,.2) 20%,transparent 70%);box-shadow:0 0 6px #4fc3f74d;animation:sg-horizon-pulse 3s ease-in-out infinite}.legend-edge-line{display:inline-block;width:16px;height:0;border-top:1.5px solid rgba(255,255,255,.25);vertical-align:middle;opacity:.6}.bottom-center{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;bottom:0}.paused-label{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.25em;color:var(--hud-cyan);margin-bottom:2px;animation:hud-notif-blink 2s ease-in-out infinite}.close-galaxy-btn{display:flex;align-items:center;justify-content:center;height:34px;width:240px;background:#0d111e66;border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:0;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);text-decoration:none;transition:all .2s;position:relative;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.close-galaxy-btn:after{content:"";position:absolute;bottom:-2px;left:20%;right:20%;height:2px;background:var(--hud-cyan);filter:blur(4px);opacity:.4;transition:opacity .2s}.close-galaxy-btn:hover{background:#4fc3f714;border-color:#4fc3f780}.close-galaxy-btn:hover:after{opacity:.8}.close-galaxy-text{font-family:Orbitron,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.15em;color:var(--hud-cyan);text-transform:uppercase}.close-galaxy-btn:hover .close-galaxy-text{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.6)}.bottom-right{display:flex;align-items:center;gap:8px}.map-mode-btns{display:flex;gap:2px}.map-mode-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.06);color:var(--galaxy-text-muted);cursor:pointer;transition:all .2s}.map-mode-btn .material-symbols-outlined{font-size:16px}.map-mode-btn:hover{background:#ffffff0a;color:var(--galaxy-text)}.map-mode-btn.active{border-color:var(--hud-cyan);color:var(--hud-cyan);background:#4fc3f70f}.bottom-divider{width:1px;height:24px;background:#ffffff14}.galaxy-zoom-controls{display:flex;gap:2px}.galaxy-zoom-controls button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#0d111e4d;border:1px solid rgba(255,255,255,.06);color:var(--galaxy-text-dim);font-family:JetBrains Mono,monospace;font-size:.85rem;cursor:pointer;transition:all .2s}.galaxy-zoom-controls button:first-child{border-radius:4px 0 0 4px}.galaxy-zoom-controls button:last-child{border-radius:0 4px 4px 0}.galaxy-zoom-controls button:hover{background:#ffffff0f;color:var(--galaxy-text);border-color:var(--hud-cyan)}.algo-mastery-bar{width:100%;height:4px;background:#66bb6a1a;border-radius:2px;overflow:hidden;margin:.5rem 0}.algo-mastery-fill{height:100%;background:linear-gradient(90deg,#66bb6a,#a5d6a7);border-radius:2px;transition:width .6s ease}.algo-tag-chips{display:flex;flex-wrap:wrap;gap:4px;margin:.4rem 0}.algo-tag-chip{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--cluster-cs);padding:.15rem .4rem;border:1px solid rgba(102,187,106,.2);border-radius:2px;background:#66bb6a0a}@media(max-width:768px){.stellaris-top-bar{height:40px;padding:0 8px}.top-bar-resources,.top-bar-controls{display:none}.icon-strip{width:40px}.domain-outliner{width:180px;top:4px;right:4px}.outliner-header,.outliner-xp{padding:6px 8px}.cluster-nav-btn .cluster-name{font-size:.65rem}.galaxy-detail-panel{inset:auto 0 48px;width:100%;max-height:50vh;border-radius:0;transform:translateY(20px)}.galaxy-detail-panel.visible{transform:translateY(0)}.stargate-detail-panel{inset:auto 0 48px;width:100%;transform:translateY(20px);max-height:60vh;overflow-y:auto}.stargate-detail-panel.visible{transform:translateY(0)}.stellaris-bottom-bar{height:40px;padding:0 8px}.bottom-legend{display:none}.close-galaxy-btn{width:200px;height:32px}.paused-label{display:none}}
