/* Ver.5.21 — styles scoped to the home-page interaction. */
#cubeGame{--skin-color:#9ebbd8;--skin-period:8.8s;--skin-tilt:1.2deg}
#cubeGame:not(.game-active) .hero-cube-logo{animation:evolvingFloat var(--skin-period) ease-in-out infinite;filter:drop-shadow(0 20px 30px #0009) drop-shadow(0 0 18px var(--skin-color))}
#cubeGame .hero-cube-logo img{transition:opacity .13s ease,filter .35s;filter:brightness(.98)}
#cubeGame.skin-changing .hero-cube-logo img{opacity:.25}
#cubeGame[data-skin=titanium] .hero-cube-logo img{filter:brightness(.78) contrast(1.15)}
#cubeGame[data-skin=silver] .hero-cube-logo img{filter:brightness(1.15) saturate(.45)}
#cubeGame[data-skin=crystal] .hero-cube-logo img{filter:brightness(1.12) saturate(1.18)}
#cubeGame[data-skin=lidar] .hero-cube-logo img{filter:brightness(.88) contrast(1.18)}
#cubeGame .cube-glow{background:radial-gradient(circle,var(--skin-color),transparent 64%);opacity:.15;animation:none;transition:background .4s}
#cubeGame .cube-orbit{border-color:var(--skin-color);opacity:.22;transition:opacity .4s}
#cubeGame .cube-node{border-color:var(--skin-color)}
#cubeGame .cube-node.absorb{animation:none}
#cubeGame .cube-unstable{position:absolute;top:20%;left:0;width:100%;z-index:11;text-align:center;font-size:10px;letter-spacing:.38em;color:#d5f7ff;opacity:0;transition:opacity .16s;pointer-events:none}
#cubeGame[data-phase=unstable] .cube-unstable{opacity:1}
#cubeGame[data-phase=collapse] .cube-orbit{animation:orbitIn .95s ease-in forwards}
#cubeGame[data-phase=singularity] .cube-singularity{animation:none;opacity:1;transform:scale(.85);box-shadow:0 0 18px #fff,0 0 48px #b9faff,0 0 90px #49aaff}
#cubeGame[data-phase=burst] .cube-singularity{animation:singularityFlash .55s ease-out both}
#cubeGame.skin-special .cube-glow{animation:skinLight 1s ease-out both}
#cubeGame.skin-special .cube-orbit{animation:skinWave 1s ease-out both}
#cubeGame.skin-special .hero-cube-logo img{filter:brightness(1.3) drop-shadow(0 0 10px var(--skin-color))}
#cubeGame[data-phase=meaning] .cube-orbit,#cubeGame[data-phase=burst] .cube-orbit{opacity:.06}
#cubeGame .cube-result strong{font-size:clamp(38px,5.3vw,82px);letter-spacing:.08em}
@keyframes evolvingFloat{0%,100%{transform:translateY(-8px) rotate(calc(-1 * var(--skin-tilt)))}50%{transform:translateY(12px) rotate(var(--skin-tilt)) scale(1.018)}}
@keyframes skinLight{0%,100%{opacity:.15;transform:scale(.9)}40%{opacity:.38;transform:scale(1.22)}}
@keyframes skinWave{0%{opacity:.15;scale:.9}35%{opacity:.6}100%{opacity:.22;scale:1.18}}
@keyframes orbitIn{to{transform:rotate(100deg) scale(.015);opacity:.85}}
@media(max-width:850px){#cubeGame .cube-awaken-label{bottom:12%;transform:translate(-50%,0)}#cubeGame .cube-result{width:116%}#cubeGame .cube-result strong{font-size:clamp(32px,9.5vw,65px)}#cubeGame .cube-result span{font-size:11px;letter-spacing:.04em}#cubeGame .cube-result em{font-size:9px;letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){
  #cubeGame .hero-cube-logo,#cubeGame:not(.game-active) .hero-cube-logo,#cubeGame .cube-orbit,#cubeGame .cube-glow,#cubeGame:before,#cubeGame .cube-node,#cubeGame .cube-singularity{animation:none!important;transition:none!important}
  #cubeGame .hero-cube-logo img,#cubeGame .cube-result{transition:none}
  #cubeGame[data-phase=collapse] .hero-cube-logo{opacity:.3;transform:scale(.9)}
  #cubeGame[data-phase=singularity] .cube-singularity,#cubeGame[data-phase=burst] .cube-singularity{opacity:0}
  #cubeGame .cube-node.absorb{transform:none;opacity:0}
}
