@media (prefers-reduced-motion: no-preference) {
  .logo-animated { animation: logoIntro .7s ease-out both, logoBreath 7s ease-in-out infinite; }
}
.logo-animated { display: inline-block; position: relative; vertical-align: middle; max-width: 100%; height: auto; transform-origin: center; will-change: transform, filter, opacity; transition: transform .24s cubic-bezier(.2,.8,.2,1), filter .24s ease, opacity .24s ease; filter: drop-shadow(0 2px 0 rgba(0,0,0,.15)); }
.logo-animated::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 70%); transform: translateX(-120%); pointer-events: none; mix-blend-mode: screen; }
.logo-animated:hover { transform: scale(1.06) rotate(.75deg); filter: drop-shadow(0 0 14px rgba(99,102,241,.55)) saturate(110%); }
.logo-animated:hover::after { animation: logoShine 1.05s ease-out forwards; }
.logo-animated:active { transform: scale(.98); }
@keyframes logoIntro { from { opacity: 0; transform: translateY(2px) scale(.96); filter: drop-shadow(0 0 0 rgba(0,0,0,0)); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes logoBreath { 0% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(99,102,241,.25)); } 50% { transform: scale(1.01); filter: drop-shadow(0 0 10px rgba(99,102,241,.35)); } 100% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(99,102,241,.25)); } }
@keyframes logoShine { 0% { transform: translateX(-120%); opacity: .0; } 10% { opacity: .25; } 50% { opacity: .45; } 100% { transform: translateX(120%); opacity: 0; } }
@media (max-width: 992px) { .logo-animated:hover { transform: scale(1.04) rotate(.5deg); } }
@media (max-width: 768px) { .logo-animated:hover { transform: scale(1.03); } }
@media (prefers-reduced-motion: reduce) { .logo-animated { transition: none; animation: none; } .logo-animated::after { animation: none; } }
/* parent container for overlay effects */
.topnav-logo{ position: relative; display: inline-flex; align-items: center; gap: 8px; }
.logo-effect-canvas{ position:absolute; pointer-events:none; left:0; top:0; width:100%; height:100%; z-index:1; }
/* global logo size across kphyper pages */
.header-navbar .topnav-logo img{width:60px !important;height:60px !important;object-fit:contain}
/* 全站内容下移五行（kphyper） */
.content .container{margin-top:90px}