:root{--system-size:360px;--center-size:90px;--planet-size:104px;--inner-orbit-base:160px;--outer-orbit-base:320px;--inner-orbit-radius:calc(var(--inner-orbit-base) + var(--planet-size)/4);--outer-orbit-radius:calc(var(--outer-orbit-base) + var(--planet-size)/4);--moon-size:32px;--moon-orbit-radius:72px;--center-color:#facc15;--planet-color:#60a5fa;--orbit-color:#fff6;--text-color:#0f172a}.page{width:100vw;min-height:100vh;position:relative}.sun{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.planet{width:var(--planet-size);height:var(--planet-size);position:absolute}.planet-button{cursor:pointer;background:0 0;border:none;padding:0;position:absolute}.planet-button:hover .planet-core{box-shadow:0 0 18px #fff6}.planet-1.selected .planet-core{filter:brightness(1.2);z-index:5;box-shadow:0 0 36px #7facefe6}.planet-2.selected .planet-core{filter:brightness(1.2);z-index:5;box-shadow:0 0 36px #ef7fa9e6}.planet-3.selected .planet-core{filter:brightness(1.2);z-index:5;box-shadow:0 0 36px #0d4d31f2}.planet-4.selected .planet-core{filter:brightness(1.2);z-index:5;box-shadow:0 0 36px #7141adf2}.planet-core{z-index:2;background:#64748b;border-radius:50%;width:100%;height:100%;position:relative}.padded-planet .planet-core img{transform:scale(1.6)}.circle{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.circle img{object-fit:cover;width:100%;height:100%}.moons{pointer-events:none;position:absolute;inset:0}.planet_orbit{width:calc(var(--moon-orbit-radius)*2);height:calc(var(--moon-orbit-radius)*2);pointer-events:none;border:1px solid #fff3;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.moon{width:var(--moon-size);height:var(--moon-size);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%}.planet-1 .moon{background:#fcfcfc}.planet-2 .moon{background:#d0c0e4}.planet-3 .moon{background:#f5f9ff}.planet-4 .moon{background:#cfdbd6}.moon-0{animation:10s linear infinite moonOrbit0}@keyframes moonOrbit0{0%{transform:translate(-50%,-50%)rotate(0deg)translateX(var(--moon-orbit-radius))rotate(0deg)}to{transform:translate(-50%,-50%)rotate(360deg)translateX(var(--moon-orbit-radius))rotate(-360deg)}}.moon-1{animation:10s linear infinite moonOrbit1}@keyframes moonOrbit1{0%{transform:translate(-50%,-50%)rotate(90deg)translateX(var(--moon-orbit-radius))rotate(-90deg)}to{transform:translate(-50%,-50%)rotate(450deg)translateX(var(--moon-orbit-radius))rotate(-450deg)}}.moon-2{animation:10s linear infinite moonOrbit2}@keyframes moonOrbit2{0%{transform:translate(-50%,-50%)rotate(180deg)translateX(var(--moon-orbit-radius))rotate(-180deg)}to{transform:translate(-50%,-50%)rotate(540deg)translateX(var(--moon-orbit-radius))rotate(-540deg)}}.moon-3{animation:10s linear infinite moonOrbit3}@keyframes moonOrbit3{0%{transform:translate(-50%,-50%)rotate(270deg)translateX(var(--moon-orbit-radius))rotate(-270deg)}to{transform:translate(-50%,-50%)rotate(630deg)translateX(var(--moon-orbit-radius))rotate(-630deg)}}.planet{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.planet-1{animation:45s linear infinite orbitInner1}@keyframes orbitInner1{0%{transform:translate(-50%,-50%)rotate(0deg)translateX(var(--inner-orbit-radius))rotate(0deg)}to{transform:translate(-50%,-50%)rotate(360deg)translateX(var(--inner-orbit-radius))rotate(-360deg)}}.planet-2{animation:45s linear infinite orbitInner2}@keyframes orbitInner2{0%{transform:translate(-50%,-50%)rotate(180deg)translateX(var(--inner-orbit-radius))rotate(-180deg)}to{transform:translate(-50%,-50%)rotate(540deg)translateX(var(--inner-orbit-radius))rotate(-540deg)}}.planet-3{animation:35s linear infinite orbitOuter1}@keyframes orbitOuter1{0%{transform:translate(-50%,-50%)rotate(90deg)translateX(var(--outer-orbit-radius))rotate(-90deg)}to{transform:translate(-50%,-50%)rotate(450deg)translateX(var(--outer-orbit-radius))rotate(-450deg)}}.planet-4{animation:35s linear infinite orbitOuter2}@keyframes orbitOuter2{0%{transform:translate(-50%,-50%)rotate(270deg)translateX(var(--outer-orbit-radius))rotate(-270deg)}to{transform:translate(-50%,-50%)rotate(630deg)translateX(var(--outer-orbit-radius))rotate(-630deg)}}.planet.paused{animation-play-state:paused}.outer-orbit-gradient{background:linear-gradient(230deg,#af90d5 -3.76%,#9bc0ca 50.26%,#7ce9b9 104.28%);-webkit-mask:radial-gradient(#0000 48%,#000 48% 50%,#0000 50%);mask:radial-gradient(#0000 48%,#000 48% 50%,#0000 50%)}.outer-orbit-glow{filter:blur(8px);background:linear-gradient(230deg,#7946b9 -3.76%,#79abb9 50.26%,#25da8b 104.28%);-webkit-mask:radial-gradient(#0000 46%,#000 46% 52%,#0000 52%);mask:radial-gradient(#0000 46%,#000 46% 52%,#0000 52%)}.moon--highlighted{z-index:40;transition:box-shadow .18s,transform .14s,filter .16s}.moon--highlighted img{filter:drop-shadow(0 0 12px #f1c94abf)brightness(1.2);border-radius:999px;transform:scale(1.2)translateZ(0);box-shadow:0 0 28px #f1c94a,inset 0 0 10px #f1c94a59}.cpsc-overlay{z-index:40;pointer-events:none;color:#fff;font-family:var(--font-jersey,"Jersey 20",sans-serif);letter-spacing:2px;text-shadow:0 0 6px #f1c94ae6,0 0 18px #f1c94a73,0 0 36px #f1c94a2e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:48px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.page-bottom-spacer{pointer-events:none;width:100%;height:100px;box-shadow:none;background:0 0;border:none;margin:0;padding:0;display:block}
.spacedock-panel{z-index:100;clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px),0 25px);color:#f0f4f8;width:380px;min-height:400px;font-family:var(--font-space-mono,"Space Mono",monospace);background:#0a0e17fa;padding:32px;position:fixed;top:40px;right:40px;box-shadow:inset 0 0 60px #0a0e17cc,0 0 40px #5eb3b766,0 0 80px #5eb3b733}.corner-bracket{pointer-events:none;width:20px;height:20px;position:absolute}.corner-bracket.top-left{border-top:2px solid #5eb3b7;border-left:2px solid #5eb3b7;top:8px;left:8px}.corner-bracket.top-right{border-top:2px solid #5eb3b7;border-right:2px solid #5eb3b7;top:8px;right:8px}.corner-bracket.bottom-left{border-bottom:2px solid #5eb3b7;border-left:2px solid #5eb3b7;bottom:8px;left:8px}.corner-bracket.bottom-right{border-bottom:2px solid #5eb3b7;border-right:2px solid #5eb3b7;bottom:8px;right:8px}.status-indicator{background:#5eb3b7;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse;position:absolute}.top-left .status-indicator{top:4px;left:4px}.top-right .status-indicator{top:4px;right:4px}.bottom-left .status-indicator{bottom:4px;left:4px}.bottom-right .status-indicator{bottom:4px;right:4px}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 4px #5eb3b7}50%{opacity:.5;box-shadow:0 0 8px #5eb3b7}}.scan-lines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#5eb3b708 2px 4px);animation:8s linear infinite scanMove;position:absolute;inset:0}@keyframes scanMove{0%{background-position:0 0}to{background-position:0 100px}}.panel-header{align-items:center;gap:8px;margin-bottom:24px;display:flex;position:relative}.blinking-arrow{color:#5eb3b7;font-size:14px;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.panel-title{font-family:var(--font-jersey,"Jersey 20",sans-serif);letter-spacing:2px;text-transform:uppercase;color:#5eb3b7;font-size:18px}.header-underline{background:linear-gradient(90deg,#5eb3b7,#0000);width:100%;height:1px;animation:2s ease-out forwards underlineGrow;position:absolute;bottom:-8px;left:0}@keyframes underlineGrow{0%{width:0}to{width:100%}}.close-button{color:#5eb3b7;cursor:pointer;clip-path:polygon(15% 0%,85% 0%,100% 50%,85% 100%,15% 100%,0% 50%);background:#0a0e17e6;border:1px solid #5eb3b7;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.close-button:hover{color:#0a0e17;background:#5eb3b7}.panel-content{z-index:1;position:relative}.spacedock-personality-container{color:#dfeef4;padding:16px 20px}.spacedock-heading{font-family:var(--font-space-mono);color:#4fd6e0;margin:0 0 12px;font-size:1.05rem;font-weight:600}.spacedock-subheading{font-family:var(--font-space-mono);color:#4fd6e0;margin:18px 0 8px;font-size:.95rem;font-weight:600}.spacedock-traits{border-top:1px solid #ffffff0a;border-bottom:1px solid #ffffff0a;margin-bottom:8px;padding:8px 0}.spacedock-trait-row{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.spacedock-trait-row:last-child{border-bottom:none}.trait-name{color:#cfe7ef;opacity:.9;font-size:.98rem}.trait-value{color:#f1c94a;font-size:.98rem;font-weight:700}.spacedock-interests{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.interest-bubble{color:#e6eef2;cursor:pointer;font-family:var(--font-space-mono);letter-spacing:.2px;background:#ffffff08;border:1px solid #ffffff0f;border-radius:999px;outline:none;padding:8px 14px;font-size:.9rem;transition:box-shadow .16s,transform .12s,background .16s}.interest-bubble:hover{transform:translateY(-2px)}.interest-bubble:focus{box-shadow:0 0 0 3px #4fd6e01f}.interest-bubble.selected{color:#f1c94a;background:linear-gradient(#ffffff08,#ffffff03);border-color:#f1c94ae6;box-shadow:0 0 18px #f1c94a26,inset 0 0 6px #f1c94a0f}.moon--highlighted{z-index:40;transition:box-shadow .18s,transform .14s,filter .16s}.moon--highlighted img{filter:drop-shadow(0 0 12px #f1c94abf)brightness(1.2);border-radius:999px;transform:scale(1.2)translateZ(0);box-shadow:0 0 28px #f1c94a,inset 0 0 10px #f1c94a59}
