/* =====================================================================
   湾擎 · 智慧驾驶舱首页（移植自 index-light.html 360° 环视引擎）
   全部选择器限定在 #ck 内，与演讲页样式隔离
   ===================================================================== */
#ck{position:fixed;inset:0;z-index:500;overflow:hidden;
  --cy:#0891b2;--cy2:#0369a1;--bl:#2563eb;--fg:#0c2a47;
  --dim:rgba(30,70,110,.74);--line:rgba(8,145,178,.32);--glow:rgba(8,145,178,.38);
  background:#eaf2fa;color:var(--fg);
  font-family:"PingFang SC","Microsoft YaHei","HarmonyOS Sans SC",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;user-select:none;
  opacity:0;visibility:hidden;transition:opacity .7s cubic-bezier(.4,0,.2,1),visibility 0s linear .7s}
#ck.on{opacity:1;visibility:visible;transition:opacity .7s cubic-bezier(.4,0,.2,1),visibility 0s}
#ck.leaving{pointer-events:none}
#ck *{margin:0;padding:0;box-sizing:border-box}
#ck button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
#ck img{-webkit-user-drag:none;user-select:none}
#ck .mono{font-family:ui-monospace,"SF Mono",Menlo,monospace}

/* ===================== 3D 舞台 ===================== */
#ck-stage{position:absolute;inset:0;perspective:1400px;perspective-origin:50% 40%;
  cursor:grab;overflow:hidden;touch-action:none}
#ck-stage.grabbing{cursor:grabbing}
#ck-world{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
#ck-sky{position:absolute;inset:-7%;transform:translateZ(-380px) scale(1.2);will-change:transform}
#ck-sky img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;display:block;
  filter:saturate(1.02) brightness(1.02)}
/* 天空顶部再提亮一点，给标题留干净的底 */
#ck-sky::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(246,250,254,.55) 0%,rgba(246,250,254,.18) 30%,rgba(246,250,254,0) 48%)}

/* —— 360° 环形视景层 —— */
#ck-views{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
#ck .view{position:absolute;left:50%;top:45.5%;height:min(52%,58vh);aspect-ratio:3/2;max-width:88vw;
  transform:translate(-50%,-50%);opacity:0;visibility:hidden;cursor:pointer;
  will-change:transform,opacity;border-radius:2.2vmin;overflow:hidden;
  clip-path:polygon(0 5%,6% 0,94% 0,100% 5%,100% 100%,0 100%);
  box-shadow:0 2vmin 6vmin rgba(30,70,120,.28),0 0 0 1px rgba(255,255,255,.7),inset 0 0 0 1px rgba(20,130,180,.25);
  backface-visibility:hidden;pointer-events:auto}
#ck .view img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.02) saturate(1.06)}
#ck .view::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(222,238,250,.22),rgba(222,238,250,0) 26%),
    linear-gradient(0deg,rgba(210,230,247,.35),rgba(210,230,247,0) 40%)}
#ck .view .vno{position:absolute;left:2.4vmin;top:2.6vmin;z-index:2;
  font-family:ui-monospace,monospace;font-size:clamp(10px,1.3vmin,16px);letter-spacing:.4vmin;
  color:#fff;padding:.5vmin 1.2vmin;border-radius:.6vmin;background:var(--sc,#0891b2);
  box-shadow:0 .4vmin 1.4vmin rgba(0,0,0,.18)}
#ck .view .vt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2.2vmin 2.4vmin 1.6vmin;
  display:flex;flex-direction:column;gap:.5vmin;
  background:linear-gradient(0deg,rgba(246,251,255,.96) 30%,rgba(246,251,255,0))}
#ck .view .vt b{font-size:clamp(16px,3vmin,40px);letter-spacing:.5vmin;font-weight:800;color:#0c2a47}
#ck .view .vt b em{font-style:normal;color:var(--sc,#0891b2)}
#ck .view .vt span{font-size:clamp(10px,1.45vmin,18px);letter-spacing:.15vmin;color:#2b4a68}

/* —— 玻璃光晕 / 暗角 / 流光 —— */
#ck .glass{position:absolute;inset:0;pointer-events:none;z-index:5;
  background:
    linear-gradient(180deg,rgba(248,251,255,.72) 0%,rgba(248,251,255,0) 16%),
    linear-gradient(0deg,rgba(236,244,251,.9) 0%,rgba(236,244,251,0) 30%)}
#ck .vign{position:absolute;inset:0;pointer-events:none;z-index:6;box-shadow:inset 0 0 16vmin 2vmin rgba(232,241,250,.55)}
#ck-fx{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.7}
#ck-flash{position:absolute;inset:0;z-index:29;pointer-events:none;overflow:hidden;opacity:0}
#ck-flash.go{animation:ckFlash .95s cubic-bezier(.2,.7,.3,1)}
#ck-flash::before{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:26%;
  background:linear-gradient(90deg,transparent,rgba(160,230,255,.22),rgba(200,245,255,.3),transparent);
  filter:blur(8px);transform:skewX(-14deg)}
@keyframes ckFlash{0%{opacity:1;transform:translateX(-120%)}100%{opacity:0;transform:translateX(520%)}}

/* ===================== 顶部航向带 ===================== */
#ck-tape{position:absolute;top:clamp(46px,7vmin,96px);left:0;right:0;height:clamp(24px,3.6vmin,46px);
  z-index:38;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
#ck-tstrip{position:absolute;top:0;left:0;height:100%;will-change:transform}
#ck .tick{position:absolute;top:0;width:1px;height:32%;background:rgba(3,105,161,.35)}
#ck .tick.big{height:52%;background:rgba(3,105,161,.7);width:1.5px}
#ck .tmark{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:1px;cursor:pointer;transform:translateX(-50%)}
#ck .tmark i{width:.55vmin;min-width:4px;height:.55vmin;min-height:4px;border-radius:50%;
  background:rgba(3,105,161,.55);flex:none;transition:.3s}
#ck .tmark b{font-family:ui-monospace,monospace;font-weight:500;font-size:clamp(9px,1.1vmin,14px);
  letter-spacing:.15vmin;color:var(--dim);white-space:nowrap;transition:.3s}
#ck .tmark.hit i{background:var(--cy);box-shadow:0 0 .9vmin var(--glow)}
#ck .tmark.hit b{color:var(--cy);font-weight:700;text-shadow:0 0 .9vmin var(--glow)}
#ck-tape .ctr{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);
  background:linear-gradient(180deg,var(--cy),transparent 75%,var(--cy));
  box-shadow:0 0 1vmin var(--glow);z-index:2;pointer-events:none}

/* ===================== 顶部 HUD ===================== */
#ck .ck-hud{position:absolute;top:0;left:0;right:0;z-index:60;pointer-events:auto;display:flex;align-items:center;
  justify-content:space-between;gap:2vmin;padding:1.6vmin 2.4vmin;
  background:linear-gradient(180deg,rgba(250,253,255,.6),transparent)}
#ck .brand{display:flex;align-items:center;gap:1.1vmin;flex:none}
#ck .brand img{height:clamp(34px,5vmin,60px);width:auto}
#ck .brand .bt{display:flex;flex-direction:column;line-height:1.25}
#ck .brand .bt b{font-size:clamp(14px,1.9vmin,23px);letter-spacing:.4vmin}
#ck .brand .bt i{font-style:normal;font-size:clamp(8px,1vmin,12px);letter-spacing:.4vmin;color:var(--dim);font-family:ui-monospace,monospace}
#ck .nav{display:flex;align-items:center;gap:.4vmin}
#ck .nav a{font-size:clamp(11px,1.4vmin,17px);letter-spacing:.25vmin;padding:.8vmin 1.5vmin;cursor:pointer;
  border-radius:2vmin;color:var(--dim);border:1px solid transparent;transition:.25s;white-space:nowrap}
#ck .nav a em{font-style:normal;font-family:ui-monospace,monospace;font-size:.82em;margin-right:.6vmin;opacity:.7}
#ck .nav a:hover{color:#062a3f;border-color:var(--line);background:rgba(8,145,178,.08)}
#ck .nav a.act{color:#fff;background:linear-gradient(90deg,var(--cy2),var(--cy));font-weight:700;box-shadow:0 0 1.6vmin var(--glow)}
#ck .nav a.act em{opacity:.9}
#ck .hbtn{flex:none;display:inline-flex;align-items:center;gap:.6vmin;
  padding:.95vmin 1.8vmin;border-radius:2.2vmin;font-size:clamp(11px,1.3vmin,16px);
  letter-spacing:.2vmin;color:#fff;background:linear-gradient(90deg,var(--cy2),var(--cy));
  box-shadow:0 0 1.8vmin var(--glow),inset 0 0 0 1px rgba(255,255,255,.28);transition:.25s;font-weight:700}
#ck .hbtn:hover{transform:translateY(-1px);box-shadow:0 0 2.6vmin var(--glow)}
#ck .hbtn.ghost{background:rgba(255,255,255,.78);color:#24496d;border:1px solid var(--line);box-shadow:none;font-weight:600}
#ck .hbtn.ghost.on{color:#5a3a00;background:linear-gradient(90deg,#fde9b8,#f5c76a);box-shadow:0 0 1.8vmin rgba(245,199,106,.5)}

/* ===================== 中央标题（总览方位） ===================== */
#ck .hero{position:absolute;left:50%;top:13.5%;transform:translateX(-50%);z-index:30;
  text-align:center;pointer-events:none;transition:opacity .55s,transform .55s;width:max-content;max-width:92vw}
#ck .hero.hide{opacity:0;transform:translateX(-50%) translateY(-3vmin)}
#ck .hero .tag{display:inline-flex;align-items:center;gap:1vmin;font-size:clamp(10px,1.25vmin,16px);
  letter-spacing:.8vmin;color:var(--cy);font-family:ui-monospace,monospace;margin-bottom:1.8vmin;
  text-shadow:0 0 1.4vmin var(--glow);font-weight:600}
#ck .hero .tag::before,#ck .hero .tag::after{content:"";width:clamp(24px,4.4vmin,58px);height:1px;
  background:linear-gradient(90deg,transparent,var(--cy))}
#ck .hero .tag::after{background:linear-gradient(270deg,transparent,var(--cy))}
/* —— 主标题：腾讯体 W7 + 深海蓝金属渐变 + 白色描边托底 + 流光扫过 —— */
#ck .hero::before{content:"";position:absolute;left:50%;top:44%;width:128%;height:150%;transform:translate(-50%,-50%);
  z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(248,252,255,.62),rgba(244,249,255,.32) 55%,rgba(244,249,255,0) 100%)}
#ck .hero h1.ttl{display:flex;align-items:center;justify-content:center;
  font-family:'TX Sans W7','PingFang SC','Microsoft YaHei',sans-serif;font-weight:400;
  font-size:clamp(42px,8.8vmin,132px);line-height:1.12;letter-spacing:1.3vmin}
#ck .hero h1.ttl .w{position:relative;display:inline-block}
#ck .hero h1.ttl .w::before{content:attr(data-t);position:absolute;left:0;top:0;z-index:0;pointer-events:none;
  color:#fff;-webkit-text-stroke:1.1vmin #fff;
  text-shadow:0 1.4vmin 3vmin rgba(8,34,77,.30),0 0 5vmin rgba(255,255,255,.9)}
#ck .hero h1.ttl .w b{position:relative;z-index:1;font-weight:inherit;display:inline-block;
  background:linear-gradient(100deg,#071d45 0%,#0a3378 26%,#1157c4 42%,#8fe3ff 50%,#1157c4 58%,#0a3378 74%,#071d45 100%);
  background-size:280% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:ckTtlShine 7s cubic-bezier(.45,0,.25,1) 1.2s infinite}
#ck .hero h1.ttl .w2{margin-right:-1.3vmin}
#ck .hero h1.ttl .w2 b{animation-delay:1.6s}
#ck .hero h1.ttl .sep{flex:none;width:1.5vmin;height:1.5vmin;min-width:9px;min-height:9px;margin:0 3.4vmin 0 2.1vmin;
  transform:rotate(45deg);border-radius:.25vmin;
  background:linear-gradient(135deg,#22d3ee,#1d4ed8);
  box-shadow:0 0 0 .45vmin rgba(255,255,255,.95),0 0 2.4vmin rgba(14,165,233,.7)}
@keyframes ckTtlShine{0%,58%{background-position:100% 0}100%{background-position:0 0}}
#ck .hero .sub{margin-top:1.8vmin;font-size:clamp(14px,2.2vmin,28px);letter-spacing:.32vmin;color:#0d2c52;font-weight:700;
  text-shadow:0 0 .6vmin #fff,0 0 1.6vmin rgba(255,255,255,.95)}
#ck .hero .meta{margin-top:1.4vmin;display:inline-flex;align-items:center;gap:1.4vmin;
  font-size:clamp(11px,1.55vmin,20px);letter-spacing:.2vmin;color:#2e4f70;
  padding:.8vmin 2.2vmin;border-radius:3vmin;background:rgba(255,255,255,.62);
  border:1px solid rgba(8,145,178,.22);backdrop-filter:blur(6px);box-shadow:0 .4vmin 2vmin rgba(40,90,140,.12)}
#ck .hero .meta b{color:#0c2a47;font-weight:700;letter-spacing:.4vmin}
#ck .hero .meta i{width:1px;height:1.6vmin;background:rgba(8,145,178,.35)}
#ck .hero .btns{margin-top:2.6vmin;display:flex;gap:1.4vmin;justify-content:center}
#ck .hero .cta{pointer-events:auto;display:inline-flex;align-items:center;gap:.8vmin;
  padding:clamp(10px,1.4vmin,18px) clamp(24px,3.4vmin,46px);border-radius:3vmin;
  font-size:clamp(12px,1.55vmin,20px);letter-spacing:.35vmin;color:#fff;
  background:linear-gradient(90deg,#0891b2,#2563eb);font-weight:700;
  box-shadow:0 .5vmin 3vmin rgba(8,145,178,.45),inset 0 0 0 1px rgba(255,255,255,.35);transition:.3s}
#ck .hero .cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 .9vmin 4vmin rgba(8,145,178,.7)}
#ck .hero .cta.ghost{background:rgba(255,255,255,.8);color:#0c4a6e;border:1px solid rgba(8,145,178,.4);
  box-shadow:0 .4vmin 2vmin rgba(40,90,140,.15)}

@keyframes ckPulse{0%,100%{transform:scale(.72);opacity:.9}50%{transform:scale(1.55);opacity:.1}}

/* ===================== 仪表台 ===================== */
#ck .dash{position:absolute;left:0;right:0;bottom:0;z-index:45;padding:1.4vmin 2.2vmin 2.8vmin;transition:transform .4s;
  background:linear-gradient(180deg,rgba(250,253,255,.42),rgba(242,248,254,.78) 45%,rgba(236,244,252,.92));
  -webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 -1.2vmin 4vmin rgba(40,90,140,.08)}
#ck .dash::before{content:"";position:absolute;top:0;left:5%;right:5%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(8,145,178,.8) 22%,rgba(2,132,199,.9) 50%,rgba(8,145,178,.8) 78%,transparent);
  box-shadow:0 0 1.4vmin var(--glow)}
#ck .dash-row{display:grid;grid-template-columns:1fr minmax(0,48vmin) 1fr;gap:1.8vmin;
  max-width:min(1800px,96vw);margin:0 auto;align-items:center}
#ck .cluster{display:flex;justify-content:center;gap:1.4vmin}
#ck .dial{position:relative;width:clamp(60px,9.4vmin,124px);aspect-ratio:1/1;cursor:pointer;
  transition:transform .35s cubic-bezier(.2,1.2,.4,1);flex:none}
#ck .dial svg{width:100%;height:100%;overflow:visible;display:block;filter:drop-shadow(0 .5vmin 1.2vmin rgba(40,80,130,.35))}
#ck .dial:hover{transform:translateY(-.6vmin)}
#ck .dial .num{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  font-family:ui-monospace,monospace;font-size:clamp(12px,2vmin,26px);font-weight:700;color:#0c2a47;
  transition:.3s;pointer-events:none}
#ck .dial .dl{position:absolute;left:50%;bottom:-.6vmin;transform:translateX(-50%);
  font-size:clamp(10px,1.3vmin,16px);letter-spacing:.2vmin;color:#2e4f70;font-weight:600;
  white-space:nowrap;transition:.3s;pointer-events:none}
#ck .dial.act{transform:translateY(-.9vmin) scale(1.07)}
#ck .dial.act .num{color:var(--sc);font-weight:800}
#ck .dial.act .dl{color:var(--sc)}
#ck .dial .arc{transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1)}
#ck .dial .needle{transform-origin:50px 46px}
#ck .mfd{position:relative;border-radius:1.6vmin;padding:1.3vmin 1.8vmin 1.1vmin;overflow:hidden;cursor:pointer;
  background:linear-gradient(165deg,rgba(255,255,255,.92) 0%,rgba(244,249,254,.86) 50%,rgba(230,240,250,.86) 100%);
  border:1px solid rgba(8,145,178,.35);
  box-shadow:0 .6vmin 2.4vmin rgba(60,100,150,.28),inset 0 0 2.4vmin rgba(120,180,230,.35),0 0 2vmin rgba(8,145,178,.15)}
#ck .mfd::before{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(8,145,178,.05) 2px 3px)}
#ck .mfd::after{content:"";position:absolute;top:0;left:-40%;width:36%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(120,190,240,.2),transparent);animation:ckMfd 6.5s ease-in-out infinite}
@keyframes ckMfd{0%{left:-40%}55%,100%{left:120%}}
#ck .mfd-top{display:flex;justify-content:space-between;align-items:center;
  font-family:ui-monospace,monospace;font-size:clamp(8px,1.05vmin,13px);letter-spacing:.2vmin;color:var(--dim)}
#ck .mfd-top .live{color:#059669;display:flex;align-items:center;gap:.4vmin}
#ck .mfd-top .live::before{content:"";width:.55vmin;height:.55vmin;min-width:5px;min-height:5px;border-radius:50%;background:#059669;
  box-shadow:0 0 .8vmin #059669;animation:ckPulse 1.6s infinite}
#ck .mfd-top .autoind{display:none;color:#b45309;font-weight:700}
#ck.auto .mfd-top .autoind{display:inline}
#ck .mfd-main{display:flex;align-items:center;gap:1.5vmin;margin-top:.7vmin}
#ck .compass{width:clamp(58px,8.4vmin,108px);aspect-ratio:1;flex:none}
#ck .compass svg{width:100%;height:100%}
#ck .comp-needle{transform-origin:50px 50px}
#ck .mfd-info{flex:1;min-width:0}
#ck .mfd-info .st{font-family:ui-monospace,monospace;font-size:clamp(8px,1.05vmin,13px);letter-spacing:.3vmin;color:var(--cy);font-weight:600}
#ck .mfd-info h3{font-size:clamp(15px,2.3vmin,30px);letter-spacing:.25vmin;margin:.35vmin 0 .3vmin;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ck .mfd-info p{font-size:clamp(10px,1.35vmin,17px);color:#2e4f70;letter-spacing:.1vmin;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ck .mfd-bar{margin-top:.8vmin;display:flex;align-items:center;gap:.8vmin}
#ck .mfd-bar .track{flex:1;height:.3vmin;min-height:3px;border-radius:.2vmin;background:rgba(20,120,180,.16);position:relative;overflow:hidden}
#ck .mfd-bar .fill{position:absolute;inset:0;transform-origin:left;
  background:linear-gradient(90deg,var(--bl),var(--cy));box-shadow:0 0 1vmin var(--glow);transition:transform .8s cubic-bezier(.4,0,.2,1)}
#ck .mfd-bar span{font-family:ui-monospace,monospace;font-size:clamp(8px,1vmin,12px);color:var(--dim);letter-spacing:.1vmin}
/* —— HUD 取景角标：克制的驾驶舱感 —— */
#ck .hudf{position:absolute;left:2.6vmin;right:2.6vmin;top:calc(clamp(46px,7vmin,96px) + clamp(24px,3.6vmin,46px) + 1.6vmin);
  bottom:clamp(120px,19vmin,220px);z-index:7;pointer-events:none}
#ck .hudf i{position:absolute;width:3.2vmin;height:3.2vmin;min-width:18px;min-height:18px;border:0 solid var(--cy);opacity:.55;transition:border-color .6s}
#ck .hudf .tl{left:0;top:0;border-left-width:1.5px;border-top-width:1.5px}
#ck .hudf .tr{right:0;top:0;border-right-width:1.5px;border-top-width:1.5px}
#ck .hudf .bl{left:0;bottom:0;border-left-width:1.5px;border-bottom-width:1.5px}
#ck .hudf .br{right:0;bottom:0;border-right-width:1.5px;border-bottom-width:1.5px}
#ck .hint{position:absolute;z-index:46;left:50%;bottom:.7vmin;transform:translateX(-50%);
  font-size:clamp(9px,1.1vmin,13px);letter-spacing:.22vmin;color:rgba(20,80,130,.5);
  font-family:ui-monospace,monospace;white-space:nowrap;pointer-events:none}

/* ===================== 章节展示层（3D 翻转入场） ===================== */
#ck-ov{position:absolute;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:3vmin}
#ck-ov.open{display:flex}
#ck-ov .mask{position:absolute;inset:0;background:rgba(214,229,244,.62);backdrop-filter:blur(14px)}
#ck-ov.open .mask{animation:ckFade .4s both}
@keyframes ckFade{from{opacity:0}to{opacity:1}}
#ck .ov-card{position:relative;width:min(1240px,90vw);height:min(720px,84vh);border-radius:2vmin;
  overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;
  background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(240,247,253,.99));
  border:1px solid rgba(8,145,178,.45);
  box-shadow:0 3vmin 9vmin rgba(60,100,150,.4),0 0 7vmin rgba(8,145,178,.14)}
#ck .ov-txt{padding:clamp(26px,4.8vmin,62px) clamp(24px,4.4vmin,58px) clamp(22px,3.8vmin,48px);
  display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;min-width:0}
#ck .ov-txt .k{font-family:ui-monospace,monospace;font-size:clamp(10px,1.4vmin,17px);letter-spacing:.45vmin;color:var(--cy);font-weight:600}
#ck .ov-txt h2{font-size:clamp(26px,5.2vmin,66px);letter-spacing:.35vmin;margin:1.2vmin 0 .7vmin;font-weight:800;color:#0c2a47}
#ck .ov-txt h2 em{font-style:normal;color:var(--cy)}
#ck .ov-txt .sub{font-size:clamp(13px,2.1vmin,26px);letter-spacing:.15vmin;color:#2e4f70;margin-bottom:2.6vmin;line-height:1.6;font-weight:600}
#ck .ov-txt ul{list-style:none;display:flex;flex-direction:column;gap:1.5vmin}
#ck .ov-txt li{display:flex;gap:1vmin;font-size:clamp(13px,2.1vmin,25px);line-height:1.6;letter-spacing:.05vmin;color:#123a5c}
#ck .ov-txt li::before{content:"◈";flex:none;color:var(--cy);font-size:.85em;margin-top:.2vmin}
#ck .ov-acts{margin-top:3vmin;display:flex;align-items:center;gap:1.6vmin}
#ck .ov-link{display:inline-flex;align-items:center;gap:.8vmin;padding:1.4vmin 3.2vmin;border-radius:3vmin;
  font-size:clamp(13px,1.9vmin,23px);letter-spacing:.25vmin;font-weight:700;color:#fff;
  background:linear-gradient(90deg,var(--cy2),var(--cy));box-shadow:0 .4vmin 2vmin var(--glow);transition:.25s}
#ck .ov-link:hover{transform:translateY(-2px);box-shadow:0 .8vmin 3vmin var(--glow)}
#ck .ov-pg{font-family:ui-monospace,monospace;font-size:clamp(11px,1.5vmin,18px);letter-spacing:.2vmin;color:var(--dim)}
#ck .ov-fig{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:2.6vmin;
  background:radial-gradient(120% 100% at 70% 40%,rgba(190,220,242,.4),rgba(218,234,248,.65) 78%)}
#ck .ov-fig img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:1.2vmin;
  border:1px solid rgba(150,220,255,.28);box-shadow:0 1.6vmin 5vmin rgba(50,90,140,.3),0 0 3vmin rgba(8,145,178,.16)}
#ck .ov-fig::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.88),transparent 22%)}
#ck .ov-close{position:absolute;top:1.4vmin;right:1.4vmin;z-index:6;width:3.6vmin;height:3.6vmin;
  min-width:34px;min-height:34px;border-radius:50%;border:1px solid rgba(8,145,178,.35);
  background:rgba(255,255,255,.85);color:#0c2a47;font-size:clamp(12px,1.6vmin,19px);transition:.25s}
#ck .ov-close:hover{transform:rotate(90deg);border-color:var(--cy);color:var(--cy)}
#ck .ov-nav{position:absolute;top:1.4vmin;left:1.4vmin;z-index:6;display:flex;gap:.8vmin}
#ck .ov-nav button{width:3.6vmin;height:3.6vmin;min-width:34px;min-height:34px;border-radius:50%;
  border:1px solid rgba(8,145,178,.4);background:rgba(255,255,255,.85);color:#0c2a47;font-size:clamp(13px,1.7vmin,20px);transition:.25s}
#ck .ov-nav button:hover{border-color:var(--cy);color:var(--cy);transform:scale(1.08)}
#ck .ov-prog{position:absolute;bottom:1.8vmin;right:2.4vmin;z-index:6;font-family:ui-monospace,monospace;
  font-size:clamp(9px,1.1vmin,13px);letter-spacing:.3vmin;color:var(--dim)}
#ck .ov-corner{position:absolute;width:2.2vmin;height:2.2vmin;border:2px solid var(--cy);opacity:.75;z-index:5}
#ck .ov-corner.tl{top:1vmin;left:1vmin;border-right:0;border-bottom:0}
#ck .ov-corner.tr{top:1vmin;right:1vmin;border-left:0;border-bottom:0}
#ck .ov-corner.bl{bottom:1vmin;left:1vmin;border-right:0;border-top:0}
#ck .ov-corner.br{bottom:1vmin;right:1vmin;border-left:0;border-top:0}

/* ===================== 开机自检 ===================== */
#ck-boot{position:absolute;inset:0;z-index:120;background:#f2f7fd;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:2.2vmin;font-family:ui-monospace,monospace}
#ck-boot .blogo{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-weight:800;font-size:clamp(20px,3.4vmin,42px);
  letter-spacing:1vmin;color:#0c2a47;text-shadow:0 0 3vmin rgba(8,145,178,.35)}
#ck-boot .blogo b{color:#0891b2}
#ck-boot pre{font-size:clamp(9px,1.2vmin,14px);line-height:2.1;letter-spacing:.1vmin;color:#4b6a88;
  width:min(460px,80vw);height:16vmin;overflow:hidden;white-space:pre-wrap;font-family:inherit}
#ck-boot .bbar{width:min(460px,80vw);height:.35vmin;min-height:3px;border-radius:.2vmin;background:rgba(20,120,180,.15);overflow:hidden}
#ck-boot .bfill{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#0891b2);box-shadow:0 0 1.2vmin #0891b2;transition:width .3s}
#ck-boot .skip{font-size:clamp(8px,1vmin,12px);letter-spacing:.3vmin;color:#7d95ad}

/* —— 返回标题页 —— */
#ck .nav a.nhome em{opacity:1;font-family:inherit;font-size:1em}
#ck .tmark.tov b{color:#0369a1;font-weight:700}
#ck .tmark.tov i{width:.8vmin;height:.8vmin;border-radius:.15vmin;transform:rotate(45deg);background:#0891b2}
#ck .ck-back{position:absolute;left:2.2vw;top:23vh;z-index:58;transform:translateX(-1.6vmin);opacity:0;pointer-events:none;
  display:flex;align-items:center;gap:.9vmin;padding:.9vmin 2.2vmin .9vmin 1.4vmin;border-radius:3vmin;cursor:pointer;
  font:600 clamp(12px,1.55vmin,19px)/1 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.3vmin;color:#0c2a47;
  background:rgba(255,255,255,.82);border:1px solid var(--line);backdrop-filter:blur(8px);
  box-shadow:0 .6vmin 2.4vmin rgba(12,42,71,.16);transition:opacity .45s,transform .45s,border-color .25s,color .25s}
#ck .ck-back i{font-style:normal;display:grid;place-items:center;width:2.4vmin;height:2.4vmin;min-width:18px;min-height:18px;border-radius:50%;
  color:#fff;background:linear-gradient(135deg,var(--cy2),var(--cy));font-size:1.2em;line-height:1}
#ck.at-ch .ck-back{opacity:1;pointer-events:auto;transform:none}
#ck .ck-back:hover i{transform:translateX(-2px)}
#ck .ck-back i{transition:transform .2s}
#ck .ck-back:hover{border-color:var(--cy);color:var(--cy)}
