*{box-sizing:border-box}body{margin:0;background:#090e15;color:white;font-family:Arial,'Malgun Gothic',sans-serif}.reactor-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.reactor-shell{width:224px;height:224px;position:relative;filter:drop-shadow(0 0 18px #5ce3f32b);transition:transform .5s,filter .5s}.reactor-shell svg{width:100%;height:100%}.reactor-halo{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#77eaff16,transparent 68%);animation:breathe 5s ease-in-out infinite}.reactor-content:hover .reactor-shell{transform:scale(1.035);filter:drop-shadow(0 0 24px #80efff70)}[role=button]:focus-visible{outline:2px solid #c7f9ff;outline-offset:10px}.reactor-caption{position:absolute;top:calc(50% + 135px);display:flex;flex-direction:column;align-items:center;gap:9px;white-space:nowrap;text-shadow:0 2px 8px #000}.reactor-kicker{font-size:9px;letter-spacing:3px;color:#c0e4e9}.reactor-title{font-size:23px;font-weight:600;letter-spacing:-.6px;color:#f3fdff}.reactor-action{font-size:11px;letter-spacing:1px;color:#d0edf1;border-bottom:1px solid #badbe84d;padding:3px 0 6px}.animate-pulse-emerald{animation:none!important;background:#07121c99;border:1px solid #ffffff26;padding:12px 16px;border-radius:9px;backdrop-filter:blur(12px)}.animate-pulse-emerald span{font-size:15px;letter-spacing:-.3px;font-weight:600}.animate-pulse-emerald svg{width:22px;height:22px}.animate-pulse-emerald:hover{background:#153240b3}.segments{transform-origin:150px 150px;animation:ring 60s linear infinite}@keyframes ring{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.5;transform:scale(.95)}}@media(max-width:600px){.reactor-shell{width:190px;height:190px}.reactor-caption{top:calc(50% + 118px)}.reactor-title{font-size:21px}.animate-pulse-emerald{top:22px!important;left:18px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Focus follows the reactor, without an oversized enclosing circle. */
[role=button]:focus-visible{outline:none}[role=button]:focus-visible .reactor-shell{outline:1px solid #b5f6ff;outline-offset:5px;border-radius:50%}.reactor-kicker,.reactor-title{display:none}.reactor-caption{top:calc(50% + 120px);gap:0}.reactor-action{font-size:13px;color:#d5f7fc;letter-spacing:.5px;border:0;padding:9px 12px;border-radius:20px;background:#06121b66;backdrop-filter:blur(8px)}.reactor-shell{width:210px;height:210px;filter:drop-shadow(0 0 12px #55d8ee44)}.segments{animation:ring 10s linear infinite}.reactor-shell svg>circle:nth-of-type(5){transform-origin:150px 150px;animation:ring 16s linear infinite reverse;opacity:.35}.reactor-shell svg>path:nth-of-type(2){animation:corepulse 2.8s ease-in-out infinite}.reactor-halo{width:230px;height:230px;animation:breathe 2.8s ease-in-out infinite}.reactor-shell svg>g:last-of-type{opacity:.35}.reactor-shell svg>circle:nth-of-type(8){opacity:.3}@keyframes corepulse{0%,100%{opacity:.7}50%{opacity:1;filter:drop-shadow(0 0 8px #a4f9ff)}}@media(max-width:600px){.reactor-shell{width:180px;height:180px}.reactor-caption{top:calc(50% + 103px)}}@media(prefers-reduced-motion:reduce){.segments,.reactor-shell svg>circle,.reactor-shell svg>path,.reactor-halo{animation:none!important}}
/* Version 3: moving energy arcs and an upward pointer to the reactor. */
.reactor-shell{isolation:isolate}.reactor-shell:before,.reactor-shell:after{content:"";position:absolute;inset:7%;border-radius:50%;pointer-events:none;z-index:2;border:2px solid transparent;border-top-color:#b7f9ff;border-right-color:#58cfe780;filter:drop-shadow(0 0 4px #83efff);animation:energy-orbit 3.8s linear infinite}.reactor-shell:after{inset:22%;border-width:1px;border-top-color:#d6fcff;border-right-color:transparent;border-bottom-color:#65d9eb88;animation:energy-orbit 6s linear infinite reverse}.reactor-shell svg>circle:nth-of-type(5){stroke-dasharray:70 558;stroke-width:5;opacity:.8;animation:ring 4.8s linear infinite reverse}.segments{animation:ring 18s linear infinite}.reactor-shell svg>path:nth-of-type(2){animation:corepulse 2s ease-in-out infinite}.reactor-caption{top:calc(50% + 125px)}.reactor-action{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;backdrop-filter:none;padding:0 10px 8px}.reactor-action:before{content:"↑";font-size:24px;line-height:1;color:#bceff6;animation:point-up 1.8s ease-in-out infinite}.reactor-content:hover .reactor-shell:before{animation-duration:2s}@keyframes energy-orbit{to{transform:rotate(360deg)}}@keyframes point-up{0%,100%{transform:translateY(2px);opacity:.65}50%{transform:translateY(-3px);opacity:1}}@media(max-width:600px){.reactor-caption{top:calc(50% + 106px)}}@media(prefers-reduced-motion:reduce){.reactor-shell:before,.reactor-shell:after,.reactor-action:before{animation:none!important}}
/* v4: explicit independent hit targets, anchored chest alignment. */
.reactor-content{transform:translate(-1vw,-.5vh);pointer-events:none}.reactor-shell,.reactor-action{pointer-events:auto!important;cursor:pointer;appearance:none;-webkit-appearance:none;font-family:inherit}.reactor-shell{display:block;padding:0;border:0;background:transparent;border-radius:50%;touch-action:manipulation}.reactor-shell svg{pointer-events:none;display:block}.reactor-action{border:0;touch-action:manipulation}.reactor-shell:focus-visible,.reactor-action:focus-visible{outline:2px solid #b8f5ff;outline-offset:6px}.reactor-halo{pointer-events:none}iframe[title="Spline NexBot"]{pointer-events:none}@media(max-width:600px){.reactor-content{transform:translate(-1vw,-.5vh)}}
/* v6: remove left bias and reduce reactor diameter by 12 percent. */
.reactor-content{transform:translate(0,-.5vh)}.reactor-shell{width:185px;height:185px}.reactor-halo{width:203px;height:203px}.reactor-caption{top:calc(50% + 111px)}@media(max-width:600px){.reactor-content{transform:translate(0,-.5vh)}.reactor-shell{width:158px;height:158px}.reactor-halo{width:174px;height:174px}.reactor-caption{top:calc(50% + 94px)}}
/* v7: 20% smaller graphite reactor with a silver double heartbeat. */
.reactor-content{transform:translate(12px,-.5vh)}.reactor-shell{width:148px;height:148px;filter:drop-shadow(0 0 8px #ffffff30);animation:graphite-beat 2.7s ease-in-out infinite}.reactor-shell svg{filter:grayscale(1)}.reactor-halo{width:163px;height:163px;background:radial-gradient(circle,#c9cbd51c,transparent 68%);animation:graphite-halo 2.7s ease-in-out infinite}.reactor-shell:before,.reactor-shell:after{border-top-color:#c8cbd2;border-right-color:#a9abb34d;filter:drop-shadow(0 0 3px #e4e5ec)}.reactor-shell:after{border-right-color:transparent;border-bottom-color:#85889066}.reactor-caption{top:calc(50% + 92px)}.reactor-action{color:#e0e1e5}.reactor-action:before{color:#bcbfc5}.reactor-content:hover .reactor-shell{filter:drop-shadow(0 0 13px #ffffff66)}@keyframes graphite-beat{0%,38%,100%{transform:scale(1);filter:drop-shadow(0 0 5px #ffffff20)}12%,27%{transform:scale(1.025);filter:drop-shadow(0 0 12px #e8e9f075)}19%{transform:scale(1.008);filter:drop-shadow(0 0 7px #ffffff38)}}@keyframes graphite-halo{0%,38%,100%{opacity:.35;transform:scale(.95)}12%,27%{opacity:1;transform:scale(1.06)}19%{opacity:.6;transform:scale(1)}}@media(max-width:600px){.reactor-content{transform:translate(8px,-.5vh)}.reactor-shell{width:126.4px;height:126.4px}.reactor-halo{width:139px;height:139px}.reactor-caption{top:calc(50% + 79px)}}@media(prefers-reduced-motion:reduce){.reactor-shell,.reactor-halo{animation:none!important}}
/* v9: another 10px left and 12px up from v8. */ .reactor-content{transform:translate(-8px,calc(-.5vh - 24px))}@media(max-width:600px){.reactor-content{transform:translate(-12px,calc(-.5vh - 24px))}}
