/* SOPzero 官网: 主题切换浮钮 */
.ui-dock{position:fixed;right:20px;bottom:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;font-family:"Inter",sans-serif}
.ui-btn{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.85);color:#0f0f0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 16px rgba(0,0,0,.08);transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease}
.ui-btn:hover{transform:scale(1.06)}
.ui-btn svg{width:18px;height:18px;display:block}
@media (prefers-color-scheme: dark){
  html:not(.theme-light) .ui-btn{background:rgba(28,28,34,.85);color:#f2f2f5;border-color:rgba(255,255,255,.12);box-shadow:0 4px 16px rgba(0,0,0,.4)}
}
html.theme-dark .ui-btn{background:rgba(28,28,34,.85);color:#f2f2f5;border-color:rgba(255,255,255,.12);box-shadow:0 4px 16px rgba(0,0,0,.4)}
/* 藏 Framer 徽标 */
#__framer-badge-container,[data-framer-badge]{display:none!important}

 
.ui-burst{color:rgba(19,19,22,.85)}
@media (prefers-color-scheme: dark){
  html:not(.theme-light) .ui-burst{color:rgba(255,255,255,.9)}
}
html.theme-dark .ui-burst{color:rgba(255,255,255,.9)}


/* === SOPzero 定制覆盖层(重抓不丢, 全在这) === */
/* 机器人压标签修复: 视差图层级压到标签层之下 */
.framer-vsfil .framer-15u04nt-container{z-index:0!important}
.framer-vsfil .framer-1k0wel8{z-index:2!important}
/* 机器人补投影(原版闪电带落地阴影); 边缘渐变收到 4%/底部 97%: 机身两侧和底部完整露出, 不泛白 */
.framer-15u04nt-container img{filter:drop-shadow(30px 50px 60px rgba(0,0,0,.06));
  -webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 97%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 97%,transparent);
  mask-composite:intersect}
@media (prefers-color-scheme: dark){
  html:not(.theme-light) .framer-15u04nt-container img{filter:drop-shadow(30px 50px 60px rgba(0,0,0,.30))}
}
html.theme-dark .framer-15u04nt-container img{filter:drop-shadow(30px 50px 60px rgba(0,0,0,.30))}
/* 浅色系: 点阵大字靠 3px 点阵对齐原版(见下), 不再压 token 改渐变罩 */
/* ICP 备案号: 页脚底部, 不悬浮 */
.ui-beian{display:block;text-align:center;padding:26px 0 22px;font-size:12px;color:rgba(19,19,22,.42);text-decoration:none;font-family:"Inter",sans-serif}
.ui-beian:hover{color:rgba(19,19,22,.75)}
@media (prefers-color-scheme: dark){
  html:not(.theme-light) .ui-beian{color:rgba(242,242,245,.38)}
  html:not(.theme-light) .ui-beian:hover{color:rgba(242,242,245,.7)}
}
html.theme-dark .ui-beian{color:rgba(242,242,245,.38)}
html.theme-dark .ui-beian:hover{color:rgba(242,242,245,.7)}



 
@font-face{font-family:'OPPO Sans';src:url('/fonts/oppo-sans-var.ttf') format('truetype-variations');font-weight:100 700;font-style:normal;font-display:swap}
.sz-logo,.framer-jj86ox p.framer-text,.framer-m5w0mx h5.framer-text{font-family:'OPPO Sans',Outfit,sans-serif!important;font-weight:700!important;font-size:calc(var(--framer-font-size,36px)*1.2)!important;
  line-height:1.15!important}/* 行高低于字身会切字顶(43px字/38.9px行高), 页脚240/216同病压Connect */
/* 顶部 logo: 加大到 1.45 倍、字距放松到 -0.5px、描边补粗(页脚 240px 够大不动) */
p.sz-logo,.framer-jj86ox p.framer-text{font-size:calc(var(--framer-font-size,36px)*1.45)!important;letter-spacing:-.5px!important;
  -webkit-text-stroke:.8px currentColor;white-space:nowrap!important;width:auto!important}
/* logo 槽只有 175px 宽且 overflow:hidden, 放大后的字会被切右边——槽放开不裁; logo 跟菜单上下居中 */
.framer-jj86ox,.framer-vuhnx0{width:auto!important;overflow:visible!important}
.framer-jj86ox p.framer-text{transform:translateY(19px)!important}/* logo 中心对齐菜单中心(y60), margin 被 flex 吃掉故用 transform */
/* logo 底部超出导航盒被 overflow 裁掉: 放开导航两层裁切(导航无底色, 超出不碍事) */
.framer-gqtron,.framer-m1l3Z{overflow:visible!important}
 
.framer-styles-preset-16lpirb{font-size:17px!important}
/* 小屏导航槽窄, 大 logo 会溢出压内容, 收回接近原尺寸 */
@media (max-width:810px){
  p.sz-logo,.framer-jj86ox p.framer-text{font-size:calc(var(--framer-font-size,36px)*1.05)!important;letter-spacing:-.8px!important}
  /* 移动端 hero: 机器人容器浮在 -231px 压住导航和标题(原版是文字在上、物体在下)。
     保持绝对定位(内部几何不动), 整体下移到标题之下, hero 撑高给它腾位;
     图比容器长, 白底下缘会晕进下方数字区, 裁掉 */
  .framer-167g71j{min-height:900px!important}
  .framer-1k0wel8{top:340px!important;overflow:hidden!important}
}
/* 页脚大字: 原 -16.8px 字距把 8 个字母挤成一团, 收到 -0.035em; 块下移让出 Connect 一行 */
h5.sz-logo,.framer-m5w0mx h5.framer-text{letter-spacing:-.035em!important}
.framer-v9awxc .framer-m5w0mx{bottom:-10px!important}

 
.framer-jj86ox p.framer-text{
  font-size:0!important;line-height:0!important;letter-spacing:0!important;
  color:transparent!important;-webkit-text-stroke:0!important;
  height:56px!important;width:202px!important;
  background-image:url('/images/logo-sopzero.png');
  background-repeat:no-repeat;background-position:left center;background-size:contain;
}
@media (prefers-color-scheme: dark){
  html:not(.theme-light) .framer-jj86ox p.framer-text{filter:invert(1)}
}
html.theme-dark .framer-jj86ox p.framer-text{filter:invert(1)}
@media (max-width:810px){
  .framer-jj86ox p.framer-text{height:40px!important;width:144px!important;margin-top:12px!important}
}

/* 点阵大字: 点孔格原版是 3px, 抓回来的 4px 把字洗白了, 对齐回 3px。
   坑: 水合后内联样式被重写成带空格格式(background-size: 4px 4px), 两种都要匹配 */
[style*="background-size:4px 4px"],[style*="background-size: 4px 4px"]{background-size:3px 3px!important}
/* 点阵罩带 backdrop-filter:blur(2px)(原版是 blur(0)): 透过点孔看的是被糊开的字, 整行字发白发虚, 关掉 */
[style*="backdrop-filter: blur(2px)"],[style*="backdrop-filter:blur(2px)"]{backdrop-filter:none!important}
/* 中文笔画比原版英文细, 同 35% 出墨量字显虚——点孔半径 1→1.2px, 出墨量 35%→50% 补回 */
.framer-qvhep-container > div:nth-of-type(1),.framer-8gejnz-container > div:nth-of-type(1),.framer-doz7nb-container > div:nth-of-type(1){background-image:radial-gradient(rgba(0,0,0,0) 1.2px, rgb(246,246,249) 1.2px)!important}
/* hero 两行各带一张 445px 全高罩: 第一行的罩往下伸进第二行(两行罩网格相位不同),
   第二行被罩两遍只剩 12% 字身=发白。把第一行的罩裁回第一行(y5-250), 两行各罩一遍 */
.framer-4ykqrg-container .framer-qvhep-container{height:245px!important}
/* 首屏点阵文字沿用 Framer 原生视差。 */


/* 注入区块共享: 必须满宽(Framer 父列 align-items:center 会把块收成内容最大宽度,
   打字动画逐字变内容宽→整个 section 周期性收放=用户看到的整体抖动) */
#dm-section,#hl-section,#af-section,#hm-section,#lm-section{width:100%;align-self:stretch}

/* 深色模式修三样:
   ①点阵罩的点色 rgb(33,33,41) 比深色底(13,13,17)浅→整片灰框, 改成底色一样深, 框消失只剩字点
   ②深色下罩也回 3px(同浅色)
   ③浮动标签的 --border-color 是 40% 白(浅色模式下白底看不见, 深色下成白边), 深色下收透明 */
@media (prefers-color-scheme: dark){
  html:not(.theme-light) .framer-qvhep-container > div:nth-of-type(1),html:not(.theme-light) .framer-8gejnz-container > div:nth-of-type(1),html:not(.theme-light) .framer-doz7nb-container > div:nth-of-type(1){background-image:radial-gradient(rgba(0,0,0,0) 1.2px, rgb(13,13,17) 1.2px)!important}
  html:not(.theme-light) [style*="background-size:4px 4px"],html:not(.theme-light) [style*="background-size: 4px 4px"]{background-size:3px 3px!important}
  html:not(.theme-light) .framer-gnWGq{--border-color:rgba(255,255,255,.15)!important}
  html:not(.theme-light) .framer-gnWGq.framer-yyEcJ.framer-zQDUX.framer-lap2at.framer-v-1s13cld{background-color:rgba(255,255,255,.08)!important}
}
html.theme-dark .framer-qvhep-container > div:nth-of-type(1),html.theme-dark .framer-8gejnz-container > div:nth-of-type(1),html.theme-dark .framer-doz7nb-container > div:nth-of-type(1){background-image:radial-gradient(rgba(0,0,0,0) 1.2px, rgb(13,13,17) 1.2px)!important}
html.theme-dark [style*="background-size:4px 4px"],html.theme-dark [style*="background-size: 4px 4px"]{background-size:3px 3px!important}
html.theme-dark .framer-gnWGq{--border-color:rgba(255,255,255,.15)!important}
html.theme-dark .framer-gnWGq.framer-yyEcJ.framer-zQDUX.framer-lap2at.framer-v-1s13cld{background-color:rgba(255,255,255,.08)!important}

 
.page-home .framer-1no7qhv,
.page-home .framer-383yvm,
.page-home .framer-19htj0i,
.page-home .framer-1s7prnc,
.page-home .framer-14j9ih3,
.page-home .framer-n9w4av,
.page-home .framer-1djzfle{display:none!important}
