/* 城瘾官网共享站壳 Header / Footer —— 单一事实源(site-shell.js 注入)
   自包含样式,scoped 在 .cy-* 下,不依赖各页 CSS 变量,避免冲突。 */

.cy-header{
  position:fixed; top:0; left:0; width:100%; height:72px; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  padding:0 32px; box-sizing:border-box;
  background:linear-gradient(180deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%);
  border-bottom:0;
  font-family:"HarmonyOS Sans SC",-apple-system,"PingFang SC",sans-serif;
}
.cy-header__logo{
  position:absolute; left:32px; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; line-height:0;
  text-decoration:none;
}
.cy-header__logo img{
  display:block; height:36px; width:auto;
  filter:invert(1);
}
.cy-nav{display:flex; gap:40px; align-items:center;}
.cy-nav a{
  color:rgba(255,255,255,.6); text-decoration:none; font-size:14px;
  letter-spacing:.08em; transition:color .2s;
}
.cy-nav a:hover,.cy-nav a[aria-current="page"]{color:#fff;}
.cy-burger{
  display:none; background:none; border:0; cursor:pointer; padding:8px;
  position:absolute; right:18px; top:50%; transform:translateY(-50%);
}
.cy-burger span{display:block; width:22px; height:2px; background:#fff; margin:4px 0; transition:.25s;}

@media(max-width:720px){
  .cy-header{padding:0 18px; height:56px;}
  .cy-header__logo{left:18px;}
  .cy-header__logo img{height:28px;}
  .cy-burger{display:block;}
  .cy-nav{
    position:fixed; top:56px; left:0; width:100%;
    flex-direction:column; gap:0; align-items:stretch;
    background:linear-gradient(180deg, rgba(8,8,11,.96), rgba(8,8,11,.92));
    backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,.08);
    transform:translateY(-120%); transition:transform .3s; pointer-events:none; visibility:hidden;
  }
  .cy-nav[data-open="true"]{transform:translateY(0); pointer-events:auto; visibility:visible;}
  .cy-nav a{padding:18px 22px; border-top:1px solid rgba(255,255,255,.06); font-size:16px;}
  .cy-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .cy-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .cy-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
}

/* ── Footer ── */
.cy-footer{
  position:relative; z-index:4;
  background:#08080b; border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.55); padding:56px 32px 32px;
  font-family:"HarmonyOS Sans SC",-apple-system,"PingFang SC",sans-serif;
}
.cy-footer__top{
  max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap;
  gap:40px; justify-content:space-between; align-items:flex-start;
}
.cy-footer__brand{font-size:30px; font-weight:500; line-height:1.4; color:#fff; letter-spacing:.16em;}
.cy-footer__tag{margin:10px 0 0; font-size:13px; font-weight:400; color:rgba(255,255,255,.65); max-width:280px; line-height:1.7;}
.cy-footer__cols{display:flex; gap:64px; flex-wrap:wrap;}
.cy-footer__col h4{color:rgba(255,255,255,.85); font:500 13px/1.5 "HarmonyOS Sans SC",-apple-system,"PingFang SC",sans-serif; letter-spacing:.1em; margin:0 0 14px;}
.cy-footer__col a,.cy-footer__col span{
  display:block; color:rgba(255,255,255,.65); text-decoration:none;
  font-size:13px; line-height:2.2; transition:color .2s;
}
.cy-footer__col a:hover{color:#fff;}
.cy-footer__bottom{
  max-width:1200px; margin:40px auto 0; padding-top:24px;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:space-between;
  font-size:12px; line-height:1.7; color:rgba(255,255,255,.6);
}
.cy-footer__bottom a{color:rgba(255,255,255,.65); text-decoration:none;}
.cy-footer__bottom a:hover{color:#fff;}
.cy-footer__meta{display:flex; flex-wrap:wrap; gap:8px 18px;}
.cy-footer a:focus-visible,.cy-header a:focus-visible,.cy-burger:focus-visible{outline:2px solid #c7a1ff; outline-offset:5px;}
.cy-sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
body:has(.home--fixed) .cy-footer{display:none;}
@media(max-width:720px){
  .cy-footer{padding:40px 18px 28px;}
  .cy-footer__cols{gap:36px;}
}

/* WebGL 静态降级卡片(M2-24) */
.cy-webgl-fallback{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:24px; text-align:center; pointer-events:none; z-index:2;
  font-family:"HarmonyOS Sans SC",-apple-system,"PingFang SC",sans-serif;
}
.cy-webgl-fallback__inner{max-width:420px;}
.cy-webgl-fallback__t{color:#fff; font-size:17px; font-weight:500; margin:0 0 10px; letter-spacing:.04em;}
.cy-webgl-fallback__d{color:rgba(255,255,255,.55); font-size:14px; line-height:1.8; margin:0;}

/* 尊重减少动画偏好(M2-22):全站关闭非必要过渡/动画 */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
}

/* 品牌功能插图保留完整轮廓，摄影图继续沿用原来的满幅展示。 */
.AppCard-preview img[src*="/chengyin-illustrations/"]{object-fit:contain;padding:18px;box-sizing:border-box;background:#21162f;}
