@charset "UTF-8";
/* Zhuweixian HR Website V94 stylesheet entry. 视觉顺序与 V81 完全一致，仅拆分为可维护模块。 */
@import url("./modules/00-foundation-v05-v14.css");
@import url("./modules/10-portfolio-game-resume-v15-v27.css");
@import url("./modules/20-background-theme-duration-v28-v43.css");
@import url("./modules/30-entry-responsive-layout-v44-v61.css");
@import url("./modules/40-media-final-overrides-v62-v81.css?v=20260706-entry-arrow-edge");
@import url("./modules/50-nav-identity-theme-v94.css");
@import url("./modules/60-music-replay-controls-v95.css?v=20260705-video-local-fallback");
@import url("./modules/70-site-media-performance-v97.css");
@import url("./modules/80-responsive-adaptation-v98.css");
@import url("./modules/90-mobile-touch-fixes-v99.css?v=20260705-video-local-fallback");
@import url("./modules/100-eggy-gallery-zoom-stability-v100.css");
@import url("./modules/101-eggy-gallery-shell-safe-zoom-v101.css");
@import url("./modules/102-eggy-gallery-no-freeze-v102.css");
@import url("./modules/103-site-wide-safe-zoom-v103.css");
@import url("./modules/104-eggy-tilt-v104.css");
@import url("./modules/105-mobile-video-playback-v105.css?v=20260705-video-local-fallback");
@import url("./modules/105-mobile-skills-layout-v105.css");
@import url("./modules/106-hover-safe-areas-v106.css");
@import url("./modules/107-contact-feature-cards-v107.css");
@import url("./modules/108-site-changelog-modal-v108.css");
@import url("./modules/109-duration-physics-cards-v109.css");
@import url("./modules/110-interaction-state-fixes-v110.css");
@import url("./modules/111-home-copy-and-game-labels-v111.css");

.bgm-shell-page{
  width:100vw;
  height:100dvh;
  margin:0;
  overflow:hidden;
  background:#07111f;
}

body.bgm-shell-page{
  padding-top:0!important;
}

.bgm-shell-page::before,
.bgm-shell-page::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

.bgm-shell-frame{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  border:0;
  display:block;
  background:#07111f;
  z-index:1;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}

.shell-music-btn{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:10!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:88px!important;
  height:48px!important;
  min-height:48px!important;
  padding:8px 14px!important;
  border:1px solid rgba(126,232,255,.28)!important;
  border-radius:999px!important;
  background:rgba(6,15,30,.84)!important;
  color:#eef5ff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.24),0 0 0 0 rgba(126,232,255,0)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  overflow:hidden!important;
  transform:none!important;
  filter:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease!important;
}

.shell-music-btn::before,
.shell-music-btn::after{
  content:none!important;
  display:none!important;
}

.shell-music-btn .shell-music-icon{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#f3df55!important;
  color:#07111f!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

.shell-music-btn[data-state="paused"]{
  border-color:rgba(179,196,215,.24)!important;
  background:rgba(6,15,30,.78)!important;
  color:#dbe7f5!important;
}

.shell-music-btn[data-state="paused"] .shell-music-icon{
  background:#d8e3ef!important;
  color:#07111f!important;
}

.shell-music-btn[data-state="playing"]{
  border-color:rgba(243,223,85,.58)!important;
  background:rgba(10,24,42,.9)!important;
  color:#fff8bb!important;
  box-shadow:0 16px 38px rgba(0,0,0,.28),0 0 0 4px rgba(243,223,85,.1),0 0 24px rgba(243,223,85,.18)!important;
  animation:shellMusicPulse 2.6s ease-in-out infinite!important;
}

.shell-music-btn[data-state="playing"] .shell-music-icon{
  background:#f3df55!important;
  color:#07111f!important;
  box-shadow:0 0 16px rgba(243,223,85,.34)!important;
}

.shell-music-btn:hover{
  border-color:rgba(126,232,255,.58)!important;
  background:rgba(10,26,46,.92)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.3),0 0 0 4px rgba(126,232,255,.1)!important;
  transform:translateY(-2px)!important;
}

.shell-music-btn:hover .shell-music-icon{
  transform:scale(1.06)!important;
}

.shell-music-btn:active{
  box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 0 3px rgba(243,223,85,.12)!important;
  transform:translateY(0) scale(.97)!important;
}

.shell-music-btn:focus-visible{
  outline:2px solid rgba(126,232,255,.9)!important;
  outline-offset:4px!important;
}

.shell-music-btn.is-playing .shell-music-icon{
  animation:shellMusicSpin 2.8s linear infinite!important;
}

.shell-music-btn .shell-music-text{
  display:inline!important;
  color:#eef5ff!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  line-height:1!important;
}

@keyframes shellMusicSpin{
  to{transform:rotate(360deg)}
}

@keyframes shellMusicPulse{
  0%,100%{box-shadow:0 16px 38px rgba(0,0,0,.28),0 0 0 4px rgba(243,223,85,.1),0 0 24px rgba(243,223,85,.18)}
  50%{box-shadow:0 18px 42px rgba(0,0,0,.3),0 0 0 6px rgba(243,223,85,.14),0 0 30px rgba(243,223,85,.26)}
}

@media (prefers-reduced-motion: reduce){
  .shell-music-btn,
  .shell-music-btn .shell-music-icon{
    transition:none!important;
    animation:none!important;
  }
  .shell-music-btn[data-state="playing"],
  .shell-music-btn.is-playing .shell-music-icon{
    animation:none!important;
  }
}
