/* ============================================================
   oc_global.css — weixin.yantaigov.com 全站 PC 3D 卡通层 v20261024a8
   作用域：所有 PC 页面（不含 tcpc-index 首页——首页由 oc_pc.css 全责）
   内容：柔和渐变画布 / 卡片 3D 悬浮 + 厚底按压 / 按钮 3D /
         筛选 chip 弹跳 / 右下角眨眼小精灵（回到顶部）
   回滚：删除 mobanbus_ixian/common/header.htm 中的注入两行即可
   ============================================================ */

/* ---------- 0. 全站画布 ---------- */
body:not(.tcpc-index){
  background-color:#F6F8FC !important;
  background-image:
    radial-gradient(1000px 440px at 10% -6%,  rgba(56,160,222,.10), transparent 60%),
    radial-gradient(900px 400px  at 92% -4%,  rgba(124,92,255,.08), transparent 58%),
    radial-gradient(1100px 500px at 50% 115%, rgba(34,197,166,.07), transparent 62%) !important;
  background-attachment:fixed !important;
  -webkit-font-smoothing:antialiased;
}
body:not(.tcpc-index) ::selection{background:rgba(56,160,222,.22)}
body:not(.tcpc-index) ::-webkit-scrollbar{width:10px;height:10px}
body:not(.tcpc-index) ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#C6D2E0,#AAB9CC);border-radius:8px;border:2px solid #F6F8FC}
body:not(.tcpc-index) ::-webkit-scrollbar-thumb:hover{background:#93A5BC}
body:not(.tcpc-index) ::-webkit-scrollbar-track{background:transparent}

/* ---------- 1. 卡片 3D 悬浮体系（厚底阴影 + 悬停浮起） ---------- */
body:not(.tcpc-index) .bm_c,
body:not(.tcpc-index) .bmw,
body:not(.tcpc-index) .list-img,
body:not(.tcpc-index) .single-img,
body:not(.tcpc-index) .list-txt,
body:not(.tcpc-index) .shopc-list .shopc-list__item,
body:not(.tcpc-index) .tongcheng-list .tongcheng-list__item{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease !important;
}
body:not(.tcpc-index) .shopc-list .shopc-list__item,
body:not(.tcpc-index) .tongcheng-list .tongcheng-list__item,
body:not(.tcpc-index) .list-img,
body:not(.tcpc-index) .single-img,
body:not(.tcpc-index) .list-txt{
  border-radius:16px;
}
body:not(.tcpc-index) .shopc-list .shopc-list__item:hover,
body:not(.tcpc-index) .tongcheng-list .tongcheng-list__item:hover,
body:not(.tcpc-index) .list-img:hover,
body:not(.tcpc-index) .single-img:hover,
body:not(.tcpc-index) .list-txt:hover{
  transform:translateY(-5px) rotate(-.4deg);
  box-shadow:0 8px 0 #E5EBF4, 0 26px 40px -26px rgba(43,111,232,.45) !important;
  z-index:3;position:relative;
}
/* 大块版块容器（论坛/门户）仅轻浮起，不做厚底 */
body:not(.tcpc-index) .bm_c:hover,
body:not(.tcpc-index) .bmw:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px -24px rgba(43,111,232,.35);
}

/* 卡片光泽（JS 写入 --gx/--gy） */
body:not(.tcpc-index) .shopc-list .shopc-list__item::after,
body:not(.tcpc-index) .tongcheng-list .tongcheng-list__item::after{
  content:"";
  position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;z-index:2;
  background:radial-gradient(280px circle at var(--gx,50%) var(--gy,0%), rgba(255,255,255,.35), rgba(255,255,255,0) 55%);
  opacity:0;transition:opacity .35s ease;
}
body:not(.tcpc-index) .shopc-list .shopc-list__item,
body:not(.tcpc-index) .tongcheng-list .tongcheng-list__item{position:relative;overflow:hidden}
body:not(.tcpc-index) .shopc-list .shopc-list__item:hover::after,
body:not(.tcpc-index) .tongcheng-list .tongcheng-list__item:hover::after{opacity:1}

/* ---------- 2. 按钮 3D 按压 ---------- */
body:not(.tcpc-index) .pn,
body:not(.tcpc-index) button,
body:not(.tcpc-index) input[type="submit"]{
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease, filter .2s ease;
}
body:not(.tcpc-index) .pn:hover,
body:not(.tcpc-index) button:hover,
body:not(.tcpc-index) input[type="submit"]:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}
body:not(.tcpc-index) .pn:active,
body:not(.tcpc-index) button:active,
body:not(.tcpc-index) input[type="submit"]:active{
  transform:translateY(1px) scale(.97);
}
/* tcpc 列表/好店页的发布按钮与搜索按钮 */
body:not(.tcpc-index) .fabu-btn,
body:not(.tcpc-index) .search-btn{
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease !important;
}
body:not(.tcpc-index) .fabu-btn:hover,
body:not(.tcpc-index) .search-btn:hover{
  transform:translateY(-3px) scale(1.03) !important;
  box-shadow:0 10px 22px -10px rgba(43,111,232,.55) !important;
}
body:not(.tcpc-index) .fabu-btn:active,
body:not(.tcpc-index) .search-btn:active{
  transform:translateY(1px) scale(.97) !important;
}

/* ---------- 3. 筛选 chip / 分类导航弹跳 ---------- */
body:not(.tcpc-index) .type-item a,
body:not(.tcpc-index) .shop-nav__item,
body:not(.tcpc-index) .shopcate-item__title{
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), color .2s ease, background .2s ease;
}
body:not(.tcpc-index) .type-item a:hover,
body:not(.tcpc-index) .shop-nav__item:hover{
  transform:translateY(-3px) scale(1.05);
}
/* 门户栏目标题条：左侧渐变胶囊强调 */
body:not(.tcpc-index) .each_head{
  border-radius:12px;
}
body:not(.tcpc-index) .each_head .list-title{
  border-radius:999px;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
body:not(.tcpc-index) .each_head:hover .list-title{
  transform:translateX(3px);
}

/* ---------- 4. 右下角眨眼小精灵（回到顶部） ---------- */
.oc-mascot{
  position:fixed;right:14px;bottom:18px;z-index:9999;
  width:64px;height:60px;cursor:pointer;
  border-radius:44% 56% 58% 42% / 48% 44% 56% 52%;
  background:radial-gradient(circle at 32% 28%,#9FF2DC 0%,#43C7A8 75%);
  box-shadow:inset -6px -8px 0 rgba(23,110,90,.18), 0 10px 24px -10px rgba(23,110,90,.5);
  animation:ocMascotFloat 3.6s ease-in-out infinite;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.oc-mascot:hover{transform:scale(1.12) rotate(-5deg)}
.oc-mascot:active{transform:scale(.94)}
.oc-mascot::before,.oc-mascot::after{
  content:"";position:absolute;top:32%;
  width:8px;height:11px;border-radius:50%;
  background:#173D33;
  animation:ocMascotBlink 4.2s ease-in-out infinite;
}
.oc-mascot::before{left:28%}
.oc-mascot::after{right:28%;animation-delay:.14s}
/* 提示气泡 */
.oc-mascot .oc-mascot__tip{
  position:absolute;right:74px;top:50%;transform:translateY(-50%) scale(.6);
  transform-origin:right center;
  background:#173D33;color:#fff;font-size:12px;line-height:1;
  padding:8px 12px;border-radius:999px;white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 8px 18px -8px rgba(23,61,51,.6);
}
.oc-mascot .oc-mascot__tip::after{
  content:"";position:absolute;right:-4px;top:50%;margin-top:-4px;
  width:8px;height:8px;background:#173D33;transform:rotate(45deg);
}
.oc-mascot:hover .oc-mascot__tip{opacity:1;transform:translateY(-50%) scale(1)}
@keyframes ocMascotFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -7px}
}
@keyframes ocMascotBlink{
  0%,91%,100%{transform:scaleY(1)}
  95%{transform:scaleY(.1)}
}
@media (prefers-reduced-motion: reduce){
  .oc-mascot,.oc-mascot::before,.oc-mascot::after{animation:none}
}

/* ---------- 5. 滚动入场 3D（支持 scroll-driven 的浏览器） ---------- */
@keyframes ocRiseG{
  from{opacity:0;transform:perspective(900px) rotateX(7deg) translateY(30px)}
  to{opacity:1;transform:none}
}
@supports (animation-timeline: view()){
  body:not(.tcpc-index) .list-img,
  body:not(.tcpc-index) .single-img,
  body:not(.tcpc-index) .list-txt,
  body:not(.tcpc-index) .bm_c{
    animation:ocRiseG .7s cubic-bezier(.22,.61,.36,1) both;
    animation-timeline:view();
    animation-range:entry 0% entry 35%;
  }
}

/* ============================================================
   v20261024b1 增补：全页 3D 卡通立体化（列表/详情/店铺/头部）
   ============================================================ */

/* ---------- 6. 全站头部立体化（非首页） ---------- */
body:not(.tcpc-index) .tcpc-header{position:relative}
/* 搜索框：渐变描边胶囊 + 聚焦光环 */
body:not(.tcpc-index) .tcpc-header .search-box{
  border-radius:999px !important;
  box-shadow:0 4px 14px -6px rgba(43,111,232,.28), inset 0 1px 0 #fff !important;
  transition:box-shadow .25s ease, transform .25s cubic-bezier(.34,1.56,.64,1) !important;
}
body:not(.tcpc-index) .tcpc-header .search-box:focus-within{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 8px 22px -8px rgba(43,111,232,.45), 0 0 0 4px rgba(56,160,222,.14) !important;
}
/* 搜索按钮：3D 按键 */
body:not(.tcpc-index) .tcpc-header .search-btn{
  border-radius:999px !important;
  box-shadow:0 4px 0 rgba(10,74,184,.55), 0 8px 16px -8px rgba(43,111,232,.6) !important;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s ease !important;
}
body:not(.tcpc-index) .tcpc-header .search-btn:hover{transform:translateY(-2px)}
body:not(.tcpc-index) .tcpc-header .search-btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(10,74,184,.55) !important}
/* 发布/入驻双按钮：厚底卡通键（左好店紫、右发布橙） */
body:not(.tcpc-index) .tcpc-header .fabu-btn{
  border-radius:14px !important;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease !important;
}
body:not(.tcpc-index) .tcpc-header .fabu-item:first-child .fabu-btn{
  background:linear-gradient(160deg,#8E6FFF,#6E48F5) !important;
  box-shadow:0 5px 0 #4A2FC4, 0 12px 22px -10px rgba(124,92,255,.65) !important;
}
body:not(.tcpc-index) .tcpc-header .fabu-item:last-child .fabu-btn{
  background:linear-gradient(160deg,#FF9F43,#FF7A1A) !important;
  box-shadow:0 5px 0 #D95F00, 0 12px 22px -10px rgba(255,122,26,.6) !important;
}
body:not(.tcpc-index) .tcpc-header .fabu-btn:hover{transform:translateY(-3px) scale(1.03)}
body:not(.tcpc-index) .tcpc-header .fabu-btn:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.25) !important}
/* 导航条：胶囊 hover + 选中白色 3D 药丸 */
body:not(.tcpc-index) .tcpc-header .nav-list__item{
  border-radius:999px;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1), background .25s ease, box-shadow .25s ease;
}
body:not(.tcpc-index) .tcpc-header .nav-list__item:hover{
  background:rgba(255,255,255,.16);
  transform:translateY(-2px);
}
body:not(.tcpc-index) .tcpc-header .nav-list__item.on,
body:not(.tcpc-index) .tcpc-header .nav-list__item.active{
  background:#fff !important;
  box-shadow:0 4px 0 rgba(10,74,184,.35), 0 8px 14px -6px rgba(0,0,0,.25);
  transform:translateY(-1px);
}
/* 非首页头部卡通云（低透明度，不打扰） */
body:not(.tcpc-index) .tcpc-header .oc-cloud{
  position:absolute;z-index:0;pointer-events:none;
  width:110px;height:44px;
  background:radial-gradient(38px 26px at 30% 68%,#fff 98%,transparent),radial-gradient(46px 32px at 55% 52%,#fff 98%,transparent),radial-gradient(34px 24px at 78% 66%,#fff 98%,transparent);
  filter:drop-shadow(0 6px 10px rgba(43,111,232,.12));
  opacity:.85;
  animation:ocCloudG 26s ease-in-out infinite alternate;
}
body:not(.tcpc-index) .tcpc-header .oc-cloud-1{top:14px;right:16%}
body:not(.tcpc-index) .tcpc-header .oc-cloud-2{top:52px;left:3%;transform:scale(.72);animation-duration:34s;animation-delay:-9s}
@keyframes ocCloudG{from{translate:0 0}to{translate:-46px 6px}}

/* ---------- 7. 列表页 body.tcpc-list ---------- */
/* 筛选条卡片化 */
body.tcpc-list .tcpc-saixuan.wrap{
  background:#fff;border-radius:18px;
  box-shadow:0 3px 0 #E9EEF6, 0 20px 34px -26px rgba(43,111,232,.35);
  padding:6px 18px !important;margin-bottom:18px;
}
body.tcpc-list .tcpc-saixuan .type-item a{
  display:inline-block;padding:4px 12px;border-radius:999px;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1), background .2s ease, color .2s ease;
}
body.tcpc-list .tcpc-saixuan .type-item a:hover{
  transform:translateY(-3px) scale(1.06);
  background:rgba(56,160,222,.1);color:#1667E0;
}
body.tcpc-list .tcpc-saixuan .type-item a.on{
  background:linear-gradient(160deg,#3E8EF7,#1667E0) !important;color:#fff !important;
  box-shadow:0 3px 0 #0A4AB8;
}
/* 列表行：白卡厚底 + 悬浮浮起 */
body.tcpc-list .tongcheng-list__item,
body.tcpc-info .tongcheng-list__item{
  background:#fff;border-radius:16px;border:1px solid #EEF2F8;
  box-shadow:0 2px 0 #EDF1F8, 0 10px 22px -18px rgba(43,111,232,.4);
  padding:14px 18px !important;margin-bottom:14px !important;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease !important;
}
body.tcpc-list .tongcheng-list__item:hover,
body.tcpc-info .tongcheng-list__item:hover{
  transform:translateY(-5px) rotate(-.35deg);
  box-shadow:0 8px 0 #E5EBF4, 0 26px 40px -26px rgba(43,111,232,.5) !important;
  border-color:#DDE7F5;
}
/* 缩略图：圆角 + hover 微缩放 */
body.tcpc-list .item-pic img.pic,
body.tcpc-info .item-pic img.pic{
  border-radius:12px;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
  box-shadow:inset 0 0 0 1px rgba(16,24,40,.04);
}
body.tcpc-list .tongcheng-list__item:hover .item-pic img.pic{
  transform:scale(1.06) rotate(-1deg);
  box-shadow:0 8px 18px -10px rgba(16,24,40,.35);
}
/* 置顶签：卡通贴纸 */
body.tcpc-list a.title span.top,
body.tcpc-info a.title span.top{
  display:inline-block;transform:rotate(-3deg);
  background:linear-gradient(160deg,#FF6B4A,#F43F1E) !important;
  color:#fff !important;border-radius:8px;padding:1px 8px;
  border:2px solid #fff;
  box-shadow:0 3px 0 rgba(196,44,18,.45), 0 6px 12px -6px rgba(244,63,30,.55);
  margin-right:6px;font-weight:600;
}
/* 标题 / 分类胶囊 / 用户名 */
body.tcpc-list a.title,
body.tcpc-info a.title{color:#1A2230;font-weight:600;transition:color .2s ease}
body.tcpc-list a.title:hover,
body.tcpc-info a.title:hover{color:#1667E0}
body.tcpc-list a.model,
body.tcpc-info a.model{
  background:rgba(56,160,222,.09);color:#0A6BE0 !important;
  border-radius:999px;padding:2px 10px;font-size:12px;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), background .2s ease;
}
body.tcpc-list a.model:hover{transform:translateY(-2px);background:rgba(56,160,222,.16)}
body.tcpc-list a.user-name,
body.tcpc-info a.user-name{color:#5B6675}
body.tcpc-list a.user-name:hover{color:#1667E0}
/* 分页：3D 按键 */
body.tcpc-list .page-item,
body.tcpc-info .page-item{
  border-radius:10px;background:#fff;border:1px solid #E3E9F2;
  box-shadow:0 3px 0 #E2E8F2;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease, background .2s ease;
}
body.tcpc-list .page-item:hover,
body.tcpc-info .page-item:hover{transform:translateY(-3px);box-shadow:0 5px 0 #D8E0EC}
body.tcpc-list .page-item:active,
body.tcpc-info .page-item:active{transform:translateY(1px);box-shadow:0 1px 0 #D8E0EC}
body.tcpc-list .page-item.on,
body.tcpc-info .page-item.on{
  background:linear-gradient(160deg,#3E8EF7,#1667E0) !important;
  color:#fff !important;border-color:transparent;
  box-shadow:0 3px 0 #0A4AB8;
}
/* 右侧赞助卡 */
body.tcpc-list .rtggao-box,
body.tcpc-info .userinfo-rt-box{
  background:#fff;border-radius:18px;border:1px solid #EEF2F8;
  box-shadow:0 3px 0 #E9EEF6, 0 24px 40px -30px rgba(43,111,232,.4);
  overflow:hidden;
}
body.tcpc-list .ggao-pic img{border-radius:12px;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
body.tcpc-list .ggao-pic:hover img{transform:scale(1.04)}

/* ---------- 8. 详情页 body.tcpc-info ---------- */
body.tcpc-info .info-lt-box{
  background:#fff;border-radius:20px;border:1px solid #EEF2F8;
  box-shadow:0 5px 0 #E9EEF6, 0 34px 60px -40px rgba(43,111,232,.45);
  padding:28px 30px !important;
}
body.tcpc-info .info-lt-box > .title{
  font-size:22px;font-weight:700;color:#1A2230;position:relative;
}
body.tcpc-info .info-lt-box > .title::after{
  content:"";position:absolute;left:0;bottom:-8px;
  width:46px;height:5px;border-radius:99px;
  background:linear-gradient(90deg,#3E8EF7,#7C5CFF);
  box-shadow:0 2px 6px -2px rgba(62,142,247,.6);
}
body.tcpc-info .info-lt-box .sub_title{color:#98A2B3}
body.tcpc-info .attr-box dt,
body.tcpc-info .attr-box .attr-name{color:#5B6675}
/* 属性标签（男女不限等）→ 3D 软胶囊 */
body.tcpc-info .content-box span,
body.tcpc-info .attr-box span{
  border-radius:999px;
}
/* 联系区大按钮 3D */
body.tcpc-info .content-user a,
body.tcpc-info .content-user button{
  border-radius:12px !important;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease !important;
}
body.tcpc-info .content-user a:hover,
body.tcpc-info .content-user button:hover{transform:translateY(-3px) scale(1.02)}
body.tcpc-info .content-user a:active,
body.tcpc-info .content-user button:active{transform:translateY(2px)}
/* 发布者侧卡：头像光环 + 主页按钮 3D */
body.tcpc-info .userinfo-rt-box{padding:20px 18px}
body.tcpc-info .userinfo-rt-box .source-title{
  border:none !important;position:relative;padding-left:14px !important;
  font-weight:600;color:#1A2230;
}
body.tcpc-info .userinfo-rt-box .source-title::before{
  content:"";position:absolute;left:0;top:50%;margin-top:-9px;
  width:6px;height:18px;border-radius:99px;
  background:linear-gradient(180deg,#3E8EF7,#7C5CFF);
}
body.tcpc-info .userinfo-rt-box .user-pic{
  border-radius:50%;position:relative;
  box-shadow:0 0 0 4px #fff, 0 0 0 6px rgba(62,142,247,.35), 0 10px 20px -10px rgba(43,111,232,.5);
  animation:ocAvatarBreath 3.4s ease-in-out infinite;
}
body.tcpc-info .userinfo-rt-box .user-pic img{border-radius:50%;display:block}
@keyframes ocAvatarBreath{
  0%,100%{box-shadow:0 0 0 4px #fff, 0 0 0 6px rgba(62,142,247,.35), 0 10px 20px -10px rgba(43,111,232,.5)}
  50%{box-shadow:0 0 0 4px #fff, 0 0 0 9px rgba(62,142,247,.2), 0 14px 24px -10px rgba(43,111,232,.55)}
}
body.tcpc-info .userinfo-rt-box .home-btn a{
  display:inline-block;border-radius:999px;padding:8px 22px;
  background:#fff;border:1px solid #E3E9F2;color:#1667E0;
  box-shadow:0 4px 0 #E2E8F2;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease, color .2s ease;
}
body.tcpc-info .userinfo-rt-box .home-btn a:hover{
  transform:translateY(-3px);color:#0A4AB8;box-shadow:0 6px 0 #D8E0EC;
}
body.tcpc-info .userinfo-rt-box .home-btn a:active{transform:translateY(2px);box-shadow:0 1px 0 #D8E0EC}
/* 面包屑轻卡片化 */
body.tcpc-list .tcpc-location.wrap,
body.tcpc-info .tcpc-location.wrap,
body.tcpc-shop .tcpc-location.wrap{
  background:#fff;border-radius:12px;
  box-shadow:0 2px 0 #EDF1F8;
  padding:8px 16px !important;margin-bottom:14px;
}

/* ---------- 9. 店铺页 body.tcpc-shop ---------- */
body.tcpc-shop .shop-list__item{
  background:#fff;border-radius:16px;border:1px solid #EEF2F8;
  box-shadow:0 2px 0 #EDF1F8, 0 10px 22px -18px rgba(43,111,232,.4);
  padding:16px 20px !important;margin-bottom:14px !important;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease !important;
}
body.tcpc-shop .shop-list__item:hover{
  transform:translateY(-5px) rotate(-.3deg);
  box-shadow:0 8px 0 #E5EBF4, 0 26px 40px -26px rgba(43,111,232,.5) !important;
  border-color:#DDE7F5;
}
body.tcpc-shop .shop-list__item img{
  border-radius:12px;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
}
body.tcpc-shop .shop-list__item:hover img{transform:scale(1.05)}
/* 店铺频道图片卡：厚底 + 图片缩放 */
body.tcpc-shop .shopc-list .shopc-list__item img{
  border-radius:10px;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1);
}
body.tcpc-shop .shopc-list .shopc-list__item:hover img{transform:scale(1.07)}
body.tcpc-shop .shopc-list .shopc-list__item{
  box-shadow:0 3px 0 #E9EEF6, 0 14px 26px -20px rgba(43,111,232,.45);
}

/* ---------- 10. 全站表单控件立体化 ---------- */
body:not(.tcpc-index) input[type="text"],
body:not(.tcpc-index) input[type="tel"],
body:not(.tcpc-index) input[type="number"],
body:not(.tcpc-index) select,
body:not(.tcpc-index) textarea{
  border-radius:10px;border:1px solid #E3E9F2;
  box-shadow:inset 0 2px 4px rgba(16,24,40,.04);
  transition:border-color .2s ease, box-shadow .25s ease;
  outline:none;
}
body:not(.tcpc-index) input[type="text"]:focus,
body:not(.tcpc-index) input[type="tel"]:focus,
body:not(.tcpc-index) select:focus,
body:not(.tcpc-index) textarea:focus{
  border-color:#7FB3F5;
  box-shadow:inset 0 2px 4px rgba(16,24,40,.03), 0 0 0 4px rgba(56,160,222,.13);
}

/* ---------- 11. JS 滚动入场（安全模式：JS 加 .oc-rvin 才播） ---------- */
.oc-rvin{animation:ocRiseG2 .65s cubic-bezier(.22,.61,.36,1) both}
@keyframes ocRiseG2{
  from{opacity:0;transform:perspective(900px) rotateX(8deg) translateY(26px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion: reduce){
  .oc-rvin{animation:none}
  body:not(.tcpc-index) .tcpc-header .oc-cloud{animation:none}
  body.tcpc-info .userinfo-rt-box .user-pic{animation:none}
}

/* A4 小精灵点击弹跳 */
.oc-mascot.oc-bounce{animation:ocMascotBounce .7s cubic-bezier(.34,1.56,.64,1)}
@keyframes ocMascotBounce{
  0%{transform:scale(1)}
  30%{transform:scale(.82,.68) translateY(6px)}
  60%{transform:scale(1.08,1.14) translateY(-16px)}
  100%{transform:scale(1)}
}

/* b1 补丁：双按钮文字强制白色（模板主色内联 !important 会把文字染红） */
body:not(.tcpc-index) .tcpc-header .fabu.clearfix .fabu-item .fabu-btn{
  color:#fff !important;
}
body:not(.tcpc-index) .tcpc-header .fabu.clearfix .fabu-item .fabu-btn *{
  color:#fff !important;
}
/* 搜索按钮同理 */
body:not(.tcpc-index) .tcpc-header .search .search-box .search-btn{
  color:#fff !important;
}

/* ============================================================
   v20261024b3 增补：全站 3D 卡通特效深化
   ============================================================ */

/* ---------- 12. 非首页头部：漂浮 3D 气泡 + 指针景深视差 ---------- */
body:not(.tcpc-index) .tcpc-header{overflow:visible}
body:not(.tcpc-index) .tcpc-header > *{position:relative;z-index:1}
body:not(.tcpc-index) .tcpc-header .oc-blob{
  position:absolute;z-index:0;pointer-events:none;
  border-radius:42% 58% 61% 39% / 45% 42% 58% 55%;
  animation:ocFloatG 9s ease-in-out infinite;
}
body:not(.tcpc-index) .tcpc-header .oc-blob-1{
  width:130px;height:114px;top:-22px;left:4%;
  background:radial-gradient(circle at 32% 28%,#A5D4F8 0%,#5FA8E8 70%,#4E92D6 100%);
  box-shadow:inset -8px -10px 0 rgba(38,101,164,.18);
  opacity:.7;
}
body:not(.tcpc-index) .tcpc-header .oc-blob-2{
  width:84px;height:74px;top:30px;left:25%;
  background:radial-gradient(circle at 30% 30%,#9FF2DC 0%,#43C7A8 75%);
  box-shadow:inset -6px -8px 0 rgba(23,110,90,.18);
  opacity:.5;animation-duration:11s;animation-delay:-3s;
}
body:not(.tcpc-index) .tcpc-header .oc-blob-3{
  width:74px;height:66px;top:-18px;left:90%;
  background:radial-gradient(circle at 32% 30%,#CBB8FF 0%,#9B7BFF 75%);
  box-shadow:inset -5px -6px 0 rgba(94,63,190,.2);
  opacity:.45;animation-duration:8s;animation-delay:-5s;
}
@keyframes ocFloatG{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-12px) rotate(3deg)}
}
/* 指针景深：气泡反向、云正向（JS 写 --px/--py） */
body:not(.tcpc-index) .tcpc-header .oc-blob-1{translate:calc(var(--px,0)*-14px) calc(var(--py,0)*-9px)}
body:not(.tcpc-index) .tcpc-header .oc-blob-2{translate:calc(var(--px,0)*-22px) calc(var(--py,0)*-14px)}
body:not(.tcpc-index) .tcpc-header .oc-blob-3{translate:calc(var(--px,0)*-9px) calc(var(--py,0)*-6px)}
body:not(.tcpc-index) .tcpc-header .oc-cloud-1{translate:calc(var(--px,0)*12px) calc(var(--py,0)*7px)}
body:not(.tcpc-index) .tcpc-header .oc-cloud-2{translate:calc(var(--px,0)*18px) calc(var(--py,0)*10px)}
/* logo hover 弹跳 */
body:not(.tcpc-index) .tcpc-header .logo img,
body:not(.tcpc-index) .tcpc-header .logo a{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
body:not(.tcpc-index) .tcpc-header .logo:hover img,
body:not(.tcpc-index) .tcpc-header .logo:hover a{
  transform:translateY(-4px) rotate(-2deg) scale(1.03);
}

/* ---------- 13. 深色品牌页脚（全站，oc_fx.js 注入 .oc-footer） ---------- */
body:not(.tcpc-index) .footer:has(~ .oc-footer){display:none !important}
.oc-footer{
  margin-top:56px;
  background:
    radial-gradient(700px 300px at 85% -20%, rgba(91,141,239,.35), transparent 65%),
    radial-gradient(560px 260px at 8% 120%, rgba(124,92,255,.28), transparent 60%),
    linear-gradient(160deg,#182036 0%,#232C4E 60%,#2A2E5C 100%);
  color:#C7CFE2;
  padding:52px 0 0;
  font-size:14px;
}
.oc-footer .oc-footer__main{
  width:1200px;max-width:92%;margin:0 auto;
  display:flex;gap:60px;flex-wrap:wrap;
  padding-bottom:40px;
}
.oc-footer .oc-footer__brand{flex:1.4;min-width:260px}
.oc-footer .oc-footer__logo{
  display:inline-flex;align-items:center;gap:10px;
  font-size:22px;font-weight:800;color:#fff;letter-spacing:1px;
}
.oc-footer .oc-footer__logo::before{
  content:"";
  width:34px;height:34px;border-radius:11px;
  background:linear-gradient(135deg,#38A0DE,#7C5CFF);
  box-shadow:0 6px 0 rgba(124,92,255,.3);
  display:inline-block;
}
.oc-footer .oc-footer__brand p{margin:16px 0 0;line-height:1.9;color:#93A0BC}
.oc-footer .oc-footer__col{flex:1;min-width:150px}
.oc-footer .oc-footer__col h4{color:#fff;font-size:15px;margin:6px 0 18px;letter-spacing:2px}
.oc-footer .oc-footer__col a{
  display:block;color:#93A0BC;text-decoration:none;
  padding:5px 0;transition:color .2s ease,transform .2s ease;
}
.oc-footer .oc-footer__col a:hover{color:#fff;transform:translateX(4px)}
.oc-footer .oc-footer__bar{
  border-top:1px solid rgba(255,255,255,.08);
  padding:20px 0 22px;
  text-align:center;color:#6B7690;font-size:13px;line-height:1.8;
}
.oc-footer .oc-footer__bar a{color:#8FA3C8;text-decoration:none}
.oc-footer .oc-footer__bar a:hover{color:#fff;text-decoration:underline}

/* ---------- 14. 顶部滚动进度条 ---------- */
.oc-progress{
  position:fixed;top:0;left:0;z-index:99999;
  height:4px;width:0;
  background:linear-gradient(90deg,#38A0DE,#7C5CFF 55%,#FF7A1A);
  border-radius:0 99px 99px 0;
  box-shadow:0 1px 6px rgba(124,92,255,.5);
  transition:width .12s linear;
  pointer-events:none;
}

@media (prefers-reduced-motion: reduce){
  body:not(.tcpc-index) .tcpc-header .oc-blob{animation:none}
}

/* ---------- 15. 首页轮播 swiper 溢出裁剪（模板原生缺 overflow:hidden） ---------- */
body.tcpc-index .swiper-container,
body.tcpc-index .swiper-wrapper{
  overflow:hidden !important;
}
body.tcpc-index{overflow-x:hidden}
body.tcpc-index::-webkit-scrollbar:horizontal{height:0}

/* b5：html 级横向裁剪（body hidden 不足以阻止视口横滚） */
html:has(body.tcpc-index){overflow-x:hidden}

/* ============================================================
   v20261024b6 增补：指针 3D 倾斜 + 图片淡入 + 微立体细节
   ============================================================ */

/* ---------- 16. 选中文字品牌化 ---------- */
body ::selection{background:linear-gradient(120deg,#38A0DE,#7C5CFF);color:#fff}

/* ---------- 17. 区块标题 3D 徽章化（列表/店铺频道侧栏标题） ---------- */
body:not(.tcpc-index) .each_head{
  position:relative;
}
body:not(.tcpc-index) .each_head .list-title{
  display:inline-flex;align-items:center;position:relative;
  font-weight:700;color:#1A2230;
}
body:not(.tcpc-index) .each_head .list-title::before{
  content:"";display:inline-block;width:8px;height:22px;margin-right:10px;
  border-radius:99px;
  background:linear-gradient(180deg,#3E8EF7,#7C5CFF);
  box-shadow:0 3px 0 rgba(124,92,255,.25), 0 6px 12px -4px rgba(62,142,247,.5);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
body:not(.tcpc-index) .each_head:hover .list-title::before{
  transform:scaleY(1.25) rotate(6deg);
}
body:not(.tcpc-index) .each_head .list-title::after{
  content:"MORE ›";margin-left:auto;padding-left:24px;
  font-size:12px;font-weight:600;letter-spacing:1px;color:#98A2B3;
  transition:color .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1);
}
body:not(.tcpc-index) .each_head:hover .list-title::after{color:#1667E0;transform:translateX(4px)}

/* ---------- 18. 面包屑卡通化 ---------- */
body .tcpc-location.wrap a{
  color:#5B6675;position:relative;display:inline-block;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s ease;
}
body .tcpc-location.wrap a:hover{
  color:#1667E0;transform:translateY(-2px);
}
body .tcpc-location.wrap i,
body .tcpc-location.wrap .split{
  color:#C3CCDA;font-style:normal;
}

/* ---------- 19. 详情页联系区：发光脉冲 + 图标弹跳 ---------- */
body.tcpc-info .content-user{
  position:relative;
}
body.tcpc-info .content-user a[class*=btn],
body.tcpc-info .content-user .btn{
  animation:ocBtnGlow 2.8s ease-in-out infinite;
}
@keyframes ocBtnGlow{
  0%,100%{box-shadow:0 5px 0 rgba(0,0,0,.22), 0 10px 20px -8px rgba(62,142,247,.45)}
  50%{box-shadow:0 5px 0 rgba(0,0,0,.22), 0 14px 30px -6px rgba(62,142,247,.75)}
}
body.tcpc-info .content-user img{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
body.tcpc-info .content-user img:hover{transform:scale(1.35) rotate(-4deg)}

/* ---------- 20. 店铺频道左侧分类导航：滑块式 hover ---------- */
body.tcpc-shop .shopc-side a,
body.tcpc-shop .side-nav a{
  display:block;position:relative;border-radius:12px;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .22s ease,color .2s ease,box-shadow .22s ease;
}
body.tcpc-shop .shopc-side a:hover,
body.tcpc-shop .side-nav a:hover{
  transform:translateX(6px);
  background:rgba(62,142,247,.08);
  box-shadow:inset 3px 0 0 #3E8EF7;
}

/* ---------- 21. 卡片指针 3D 倾斜（JS 加 .oc-tilt 才启用） ---------- */
.tongcheng-list__item.oc-tilt,
.shop-list__item.oc-tilt,
.shopc-list__item.oc-tilt,
.rtggao-box.oc-tilt,
.userinfo-rt-box.oc-tilt{
  will-change:transform;
  transform-style:preserve-3d;
}
body.tcpc-list .tongcheng-list__item.oc-tilt:hover,
body.tcpc-info .tongcheng-list__item.oc-tilt:hover{
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px);
}
body.tcpc-shop .shop-list__item.oc-tilt:hover{
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px);
}
.rtggao-box.oc-tilt:hover,
.userinfo-rt-box.oc-tilt:hover{
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px);
}
body.tcpc-shop .shopc-list__item.oc-tilt:hover{
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);
}

/* ---------- 22. 图片加载淡入（JS 安全模式：先 wait 后 in） ---------- */
img.oc-imgwait{opacity:0}
img.oc-imgwait.oc-img-in{opacity:1;transition:opacity .55s ease, transform .45s cubic-bezier(.34,1.56,.64,1)}

@media (prefers-reduced-motion: reduce){
  body.tcpc-info .content-user a[class*=btn],
  body.tcpc-info .content-user .btn{animation:none}
}

/* ============================================================
   v20261024b7/b8 增补：吸顶导航 + 光泽跟随 + 卡通滚动条
   ============================================================ */

/* ---------- 23. 主导航吸顶（非首页；JS 加 .oc-stucked 出阴影） ---------- */
body:not(.tcpc-index) .tcpc-header .header-nav{
  position:sticky;top:0;z-index:900;
  transition:box-shadow .3s ease, filter .3s ease;
}
body:not(.tcpc-index) .tcpc-header .header-nav.oc-stucked{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:#fff !important;
  background-image:none !important;
  border-bottom:1px solid #EDF1F8;
  height:50px;overflow:visible;
  box-shadow:0 10px 26px -12px rgba(23,42,79,.4), 0 3px 0 rgba(10,74,184,.14);
  filter:saturate(1.06) brightness(1.02);
  animation:ocNavDrop .35s cubic-bezier(.22,.61,.36,1) both;
}
/* fixed 脱流补偿：头部预留原高度，杜绝内容上跳 */
body:not(.tcpc-index) .tcpc-header:has(.header-nav.oc-stucked){padding-bottom:50px}
@keyframes ocNavDrop{from{transform:translateY(-100%)}to{transform:translateY(0)}}

/* ---------- 24. 卡通滚动条 ---------- */
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#EDF2FA}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#5FA8E8,#7C5CFF);
  border-radius:99px;border:3px solid #EDF2FA;
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3E8EF7,#6E48F5)}
::-webkit-scrollbar-corner{background:#EDF2FA}

/* ---------- 25. 首页公告条胶囊化 ---------- */
body.tcpc-index .ads-container{
  border-radius:99px;background:#fff;
  box-shadow:0 3px 0 #E9EEF6, 0 10px 18px -12px rgba(43,111,232,.4);
  padding-left:44px !important;position:relative;
}
body.tcpc-index .ads-container::before{
  content:"📢";position:absolute;left:14px;top:50%;margin-top:-10px;
  font-size:16px;line-height:20px;
  animation:ocHorn 2.6s ease-in-out infinite;
}
@keyframes ocHorn{
  0%,100%{transform:rotate(0deg)}
  8%{transform:rotate(-12deg)}
  16%{transform:rotate(10deg)}
  24%{transform:rotate(0deg)}
}

/* ---------- 26. 搜索按钮 focus 弹跳 ---------- */
body:not(.tcpc-index) .tcpc-header .search-box:focus-within .search-btn{
  animation:ocSearchWiggle .6s cubic-bezier(.34,1.56,.64,1);
}
@keyframes ocSearchWiggle{
  0%,100%{transform:translateY(0) rotate(0)}
  35%{transform:translateY(-4px) rotate(-6deg) scale(1.08)}
  70%{transform:translateY(-1px) rotate(4deg) scale(1.04)}
}

/* ---------- 27. 卡片光泽层（JS 注入 .oc-gloss，指针位置跟随） ---------- */
.oc-gloss{
  position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(240px 170px at var(--gx,50%) var(--gy,50%), rgba(255,255,255,.3), transparent 62%);
  opacity:0;transition:opacity .3s ease;pointer-events:none;
  z-index:1;
}
.oc-tilted:hover .oc-gloss{opacity:1}
@media (prefers-reduced-motion: reduce){
  body.tcpc-index .ads-container::before{animation:none}
}

/* ========== 28. 返回顶部 3D 按钮（全站，火箭卡通键） ========== */
.oc-totop{
  position:fixed;right:78px;bottom:120px;z-index:9980;
  width:50px;height:50px;border:none;border-radius:17px;cursor:pointer;
  font-size:22px;line-height:1;
  background:linear-gradient(160deg,#2B6DE5,#8A5CF6);
  box-shadow:0 6px 0 rgba(38,52,132,.38),0 16px 26px -12px rgba(43,109,229,.6);
  opacity:0;visibility:hidden;transform:translateY(18px) scale(.8);
  transition:opacity .3s ease,visibility .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;
}
.oc-totop.oc-show{opacity:1;visibility:visible;transform:none}
.oc-totop:hover{transform:translateY(-5px) rotate(-8deg);box-shadow:0 11px 0 rgba(38,52,132,.32),0 22px 32px -12px rgba(43,109,229,.65)}
.oc-totop:active{transform:translateY(2px) scale(.96);box-shadow:0 2px 0 rgba(38,52,132,.4)}
@media (prefers-reduced-motion: reduce){
  .oc-totop{transition:opacity .2s ease,visibility .2s ease}
}

/* ========== 29. c8：Portal(社区) 品牌化 + 列表页细节 ========== */

/* 29.1 Portal 顶栏 → 品牌渐变 */
body#nv_portal #box.header{
  background:linear-gradient(90deg,#2B6DE5,#8A5CF6)!important;
  box-shadow:0 2px 10px rgba(43,109,229,.28)!important;
}
body#nv_portal #box.header .nav a,
body#nv_portal #box.header .nav_right a{color:#fff!important;transition:opacity .2s ease}
body#nv_portal #box.header a:hover{opacity:.78}

/* 29.2 Portal 头部搜索区 hero 化 + 搜索键 3D */
body#nv_portal .headcontainer{
  background:linear-gradient(180deg,#EEF3FF 0%,#FFFFFF 100%)!important;
  border-bottom:1px solid #EEF1F6;
}
body#nv_portal .headbox input[type="text"]{
  background:#fff!important;border:2px solid #E3EAF6!important;border-radius:12px!important;
  box-shadow:inset 0 2px 5px rgba(30,40,90,.06)!important;padding:9px 14px!important;box-sizing:border-box;
}
body#nv_portal .headbox input[type="text"]:focus{border-color:#2B6DE5!important}
body#nv_portal .headbox button,
body#nv_portal .headbox input[type="submit"],
body#nv_portal .headbox .pn{
  background:linear-gradient(160deg,#2B6DE5,#4A8CF7)!important;color:#fff!important;
  border:none!important;border-radius:12px!important;font-weight:700;cursor:pointer;
  box-shadow:0 4px 0 rgba(28,70,160,.3)!important;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;
}
body#nv_portal .headbox button:hover,
body#nv_portal .headbox input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(28,70,160,.28)!important}

/* 29.3 bustabs 标签条白卡化 */
body#nv_portal .bustabs{
  background:#fff!important;border-radius:14px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 26px -20px rgba(30,40,90,.3)!important;
}
body#nv_portal .bustabs a{color:#3D4757!important;transition:color .2s ease}
body#nv_portal .bustabs a:hover{color:#2B6DE5!important}

/* 29.4 左栏社区导航卡片化 */
body#nv_portal .bussidebar{
  background:#fff!important;border-radius:16px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 14px 34px -26px rgba(30,40,90,.3)!important;
}
body#nv_portal .bussidebar a{
  color:#3D4757!important;border-radius:10px;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease,color .2s ease;
}
body#nv_portal .bussidebar a:hover{background:#EAF1FF!important;color:#2B6DE5!important;transform:translateX(4px)}

/* 29.5 文章区白卡 + 标题品牌色 */
body#nv_portal .indexrightbox .bm_c{
  background:#fff!important;border-radius:16px!important;border:none!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 14px 34px -26px rgba(30,40,90,.3)!important;
}
body#nv_portal .indexrightbox .xld dt a{color:#1F2A3D!important;font-weight:700;transition:color .2s ease}
body#nv_portal .indexrightbox .xld dt a:hover{color:#2B6DE5!important}
body#nv_portal .indexrightbox .xld dd,
body#nv_portal .indexrightbox .xld dt{border-color:#EEF1F6!important}

/* 29.6 登录/注册键统一品牌色 */
body#nv_portal .indexrightbox .pn{
  background:linear-gradient(160deg,#2B6DE5,#4A8CF7)!important;color:#fff!important;
  border:none!important;border-radius:12px!important;
  box-shadow:0 4px 0 rgba(28,70,160,.3)!important;
}
body#nv_portal .indexrightbox .pnc,
body#nv_portal .indexrightbox a[style*="rgb(203"]{
  background:linear-gradient(160deg,#8A5CF6,#A78BFA)!important;
}

/* 29.7 右侧悬浮条白卡化 */
body#nv_portal #scrolltop{
  background:#fff!important;border-radius:16px!important;overflow:hidden;
  box-shadow:0 14px 34px -22px rgba(30,40,90,.4)!important;
}
body#nv_portal #scrolltop a{
  color:#3D4757!important;
  transition:background .2s ease,color .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1);
}
body#nv_portal #scrolltop a:hover{background:#EAF1FF!important;color:#2B6DE5!important;transform:translateY(-2px)}

/* 29.8 列表页区块标题 3D 徽章（信息列表/赞助推广） */
body:not(.tcpc-index) .tcpc-gg-title{
  background:#fff!important;border-radius:14px!important;border:none!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 26px -22px rgba(30,40,90,.32)!important;
  padding:14px 20px!important;
}
body:not(.tcpc-index) .tcpc-gg-title .gg-tit{
  position:relative;padding-left:15px;font-weight:800!important;
  color:#1F2A3D!important;border:none!important;
}
body:not(.tcpc-index) .tcpc-gg-title .gg-tit::before{
  content:"";position:absolute;left:0;top:50%;margin-top:-10px;
  width:5px;height:20px;border-radius:99px;
  background:linear-gradient(180deg,#2B6DE5,#8A5CF6);
}

/* 29.9 Portal 登录/注册键品牌化（覆盖背景图按钮） */
body#nv_portal .login_btn{
  background:linear-gradient(160deg,#2B6DE5,#4A8CF7)!important;color:#fff!important;
  border-radius:12px!important;border:none!important;
  box-shadow:0 4px 0 rgba(28,70,160,.3)!important;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;
}
body#nv_portal .resiger_btn{
  background:linear-gradient(160deg,#8A5CF6,#A78BFA)!important;color:#fff!important;
  border-radius:12px!important;border:none!important;
  box-shadow:0 4px 0 rgba(93,53,183,.3)!important;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;
}
body#nv_portal .login_btn:hover,body#nv_portal .resiger_btn:hover{
  transform:translateY(-3px);color:#fff!important;
  box-shadow:0 7px 0 rgba(28,70,160,.26)!important;
}
body#nv_portal .login_btn,body#nv_portal .resiger_btn{
  text-indent:0!important;display:inline-flex;align-items:center;justify-content:center;
  font-size:15px!important;letter-spacing:2px;
}

/* ========== 30. c9：按键涟漪 + 页脚波浪 + 缩略图微旋转 ========== */
.oc-ripple{
  position:absolute;border-radius:50%;background:rgba(255,255,255,.5);
  transform:scale(0);animation:ocRip .65s ease-out forwards;pointer-events:none;z-index:1;
}
@keyframes ocRip{to{transform:scale(2.4);opacity:0}}

.oc-footer::before{
  content:"";position:absolute;left:0;right:0;top:-33px;height:33px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 L0 20 Q 180 2 360 20 T 720 20 T 1080 20 T 1440 20 L1440 40 Z' fill='%23182036'/%3E%3C/svg%3E") repeat-x;
  background-size:auto 33px;pointer-events:none;
}

.tongcheng-list__item img,.shop-list__item img,.shopc-list__item img{
  transition:transform .45s cubic-bezier(.34,1.56,.64,1)!important;
}
.tongcheng-list__item:hover img{transform:rotate(-2deg) scale(1.06)}
.shop-list__item:hover img,.shopc-list__item:hover img{transform:rotate(-1.5deg) scale(1.07)}
.oc-footer{position:relative}

/* ========== 31. c10：星星拖尾 + 火箭尾焰 + 页面淡入 + 图标弹跳 ========== */
.oc-spark{
  position:fixed;pointer-events:none;z-index:99999;line-height:1;
  animation:ocSpark 1s ease-out forwards;will-change:transform,opacity;
}
@keyframes ocSpark{
  0%{opacity:1;transform:translate(0,0) scale(1) rotate(0deg)}
  100%{opacity:0;transform:translate(var(--sx,0px),-46px) scale(.3) rotate(120deg)}
}

.oc-totop::after{
  content:"💨";position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);
  font-size:15px;opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.oc-totop:hover::after{opacity:1;animation:ocJet .55s ease-in-out infinite alternate}
@keyframes ocJet{
  from{transform:translateX(-50%) translateY(0) scale(.85)}
  to{transform:translateX(-50%) translateY(7px) scale(1.2)}
}

@keyframes ocPageIn{0%{opacity:0}100%{opacity:1}}
body{animation:ocPageIn .45s ease}

.oc-iconlink img{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.oc-iconlink:hover img{transform:translateY(-6px) scale(1.12) rotate(-3deg)}

@media (prefers-reduced-motion: reduce){
  .oc-spark{display:none}
  .oc-totop::after{display:none}
  body{animation:none}
  .oc-iconlink img{transition:none}
}

/* ========== 32. c11：3D 卡通形象系统（吉祥物 v2 / 页脚迷你版 / 广告位占位） ========== */

/* 32.1 小精灵 v2：去旧眼睛，上眼睛珠/腮红/嘴/手臂/天线/影子 */
.oc-mascot--v2::before,.oc-mascot--v2::after{content:none!important}
.oc-ms-antenna{position:absolute;top:-11px;left:50%;margin-left:-2px;width:4px;height:12px;border-radius:3px;background:#2FA78C}
.oc-ms-antenna::after{
  content:"";position:absolute;top:-8px;left:50%;margin-left:-5px;
  width:10px;height:10px;border-radius:50%;background:#FFD166;
  box-shadow:0 0 0 3px rgba(255,209,102,.3);
  animation:ocAntWob 2.4s ease-in-out infinite;
}
@keyframes ocAntWob{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px) rotate(-12deg)}75%{transform:translateX(3px) rotate(12deg)}}
.oc-ms-eye{
  position:absolute;top:30%;width:11px;height:14px;border-radius:50%;
  background:#fff;box-shadow:inset 0 -1px 2px rgba(0,0,0,.08);
  animation:ocMascotBlink 4.2s ease-in-out infinite;overflow:hidden;
}
.oc-ms-eye--l{left:26%}
.oc-ms-eye--r{right:26%;animation-delay:.14s}
.oc-ms-eye i{
  position:absolute;left:50%;top:50%;width:5px;height:6px;margin:-3px 0 0 -2.5px;
  border-radius:50%;background:#173D33;
  transform:translate(calc(var(--mx,0)*1.8px),calc(var(--my,0)*1.8px));
  transition:transform .1s linear;
}
.oc-ms-blush{position:absolute;top:54%;width:9px;height:5px;border-radius:50%;background:rgba(255,120,140,.5)}
.oc-ms-blush--l{left:13%}
.oc-ms-blush--r{right:13%}
.oc-ms-mouth{
  position:absolute;left:50%;top:58%;width:14px;height:8px;margin-left:-7px;
  border:2.5px solid #173D33;border-top:none;
  border-left-color:transparent;border-right-color:transparent;
  border-radius:0 0 12px 12px;
}
.oc-ms-arm{position:absolute;top:46%;width:12px;height:20px;border-radius:8px;background:#3BBB9C}
.oc-ms-arm--l{left:-7px;transform:rotate(18deg)}
.oc-ms-arm--r{right:-7px;transform-origin:top center;animation:ocWave 2.8s ease-in-out infinite}
@keyframes ocWave{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(-62deg)}}
.oc-ms-shadow{
  position:absolute;left:14%;right:14%;bottom:-9px;height:8px;border-radius:50%;
  background:rgba(23,110,90,.25);animation:ocMShadow 3.6s ease-in-out infinite;
}
@keyframes ocMShadow{0%,100%{transform:scaleX(1);opacity:.7}50%{transform:scaleX(.8);opacity:.4}}

/* 32.2 页脚迷你吉祥物探头挥手 */
.oc-fbuddy{
  position:absolute;right:6%;bottom:10px;width:44px;height:42px;z-index:2;
  border-radius:46% 54% 55% 45%/50% 46% 54% 50%;
  background:radial-gradient(circle at 32% 26%,#9FF2DC 0%,#43C7A8 75%);
  box-shadow:inset -4px -5px 0 rgba(23,110,90,.18);
  animation:ocMascotFloat 3.6s ease-in-out infinite;
}
.oc-fbuddy i{
  position:absolute;top:34%;width:6px;height:8px;border-radius:50%;background:#173D33;
  animation:ocMascotBlink 4.2s ease-in-out infinite;
}
.oc-fbuddy i.fbl{left:28%}
.oc-fbuddy i.fbr{right:28%;animation-delay:.14s}
.oc-fbuddy b{
  position:absolute;top:52%;left:-6px;width:9px;height:15px;border-radius:6px;
  background:#3BBB9C;transform-origin:bottom center;
  animation:ocWave 2.8s ease-in-out infinite;
}
.oc-fbuddy em{
  position:absolute;top:-24px;left:14px;font-size:14px;font-style:normal;
  animation:ocMascotFloat 2.8s ease-in-out infinite;
}

/* 32.3 空广告位卡通占位 */
.oc-adempty{min-height:150px!important;display:flex;align-items:center;justify-content:center}
.oc-adslot{
  text-align:center;padding:16px 12px;width:100%;box-sizing:border-box;
  border:2px dashed #D6E3FB;border-radius:14px;background:#F8FAFF;
}
.oc-adslot span{font-size:26px;display:inline-block;animation:ocAdBob 2.6s ease-in-out infinite}
.oc-adslot b{display:block;margin-top:6px;color:#5A6B8C;font-size:14px}
.oc-adslot i{display:block;margin-top:3px;color:#98A2B3;font-size:12px;font-style:normal}
@keyframes ocAdBob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-5px) rotate(5deg)}}

@media (prefers-reduced-motion: reduce){
  .oc-ms-antenna::after,.oc-ms-arm--r,.oc-ms-shadow,.oc-fbuddy,.oc-fbuddy i,.oc-fbuddy b,.oc-fbuddy em,.oc-adslot span{animation:none}
}
.oc-adempty .tcpc-gg-title{flex:0 0 auto}
.oc-adempty .tcpc-gg-title .gg-tit{white-space:nowrap}
.oc-adempty{gap:10px}
.oc-adslot{flex:1 1 auto;min-width:0}

/* ========== 33. c12：详情页相框 + 页脚互动 ========== */
.info-lt-box img{
  border-radius:12px;border:4px solid #fff;
  box-shadow:0 10px 26px -14px rgba(30,40,90,.35);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;
}
.info-lt-box img:hover{
  transform:rotate(-1.2deg) scale(1.03);
  box-shadow:0 18px 36px -16px rgba(43,109,229,.45);
}
.oc-footer__col a{transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s ease}
.oc-footer__col a:hover{color:#9FC1FF!important;transform:translateX(4px)}
.oc-fbuddy::after{
  content:"常来玩呀~";position:absolute;left:50%;top:-34px;transform:translateX(-50%) scale(.7);
  transform-origin:bottom center;
  background:#fff;color:#2B6DE5;font-size:11px;line-height:1;white-space:nowrap;
  padding:7px 10px;border-radius:999px;
  box-shadow:0 8px 18px -8px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;transition:opacity .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1);
}
.oc-footer:hover .oc-fbuddy::after{opacity:1;transform:translateX(-50%) scale(1)}
