/* ============================================================
   AR 互动体验 · 技能卡页
   - 只作用于 ar.html，类名统一 kiv-（Kivicube 启动区）/ sk-（技能卡）
   - 颜色全部走主题变量，浅色/深色主题都成立
   ============================================================ */

/* ---------- 首屏 ---------- */
.ar-hero{
  position:relative;overflow:hidden;
  padding:48px 0 60px;
  background:
    radial-gradient(1100px 460px at 88% -10%, rgba(var(--brass-rgb),.18), transparent 62%),
    radial-gradient(820px 420px at 4% 10%, rgba(14,95,85,.15), transparent 60%),
    linear-gradient(180deg, transparent 92%, rgba(var(--brass-rgb),.05));
}
/* 细点阵：高级感的「纸面肌理」，明暗主题都极淡 */
.ar-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(var(--brass-rgb),.5) 1px, transparent 1.2px);
  background-size:26px 26px;
  opacity:.045;mask-image:linear-gradient(180deg,#000 0%,transparent 78%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);
}
/* 颗粒噪点：压掉大面积纯色的「塑料感」 */
.ar-hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.ar-hero > .container{position:relative;z-index:1}
.ar-hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
@media (max-width:860px){ .ar-hero .container{grid-template-columns:1fr;gap:26px} }
.ar-hero .crumb{margin-bottom:14px;color:var(--ink3);letter-spacing:.6px}
.ar-hero .crumb a{color:var(--ink2)}
.ar-hero .crumb a:hover{color:var(--brass)}
.ar-hero h1{
  font-family:var(--serif);font-size:clamp(28px,4.8vw,52px);line-height:1.16;
  letter-spacing:1.2px;color:var(--ink);margin:8px 0 16px;font-weight:700;
  text-wrap:balance;
}
.ar-hero h1 em{
  font-style:normal;font-weight:800;
  background:linear-gradient(115deg,var(--brass) 20%, color-mix(in srgb, var(--brass) 55%, #fff8e1) 48%, var(--brass) 78%);
  background-clip:text;-webkit-background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 0 rgba(var(--brass-rgb),.18));
}
.ar-hero .lead{
  font-size:15.5px;line-height:2;color:var(--ink2);max-width:520px;
  text-wrap:pretty;letter-spacing:.2px;
}
/* kicker：字距拉开的「金线小标」 */
.ar-hero .kicker,.kiv-section .kicker,.sk-section .kicker,.ar-steps .kicker{
  display:inline-flex;align-items:center;gap:10px;letter-spacing:3.5px;
}
.ar-hero .kicker::before,.kiv-section .kicker::before,
.sk-section .kicker::before,.ar-steps .kicker::before{
  content:'';width:26px;height:1px;
  background:linear-gradient(90deg,transparent,var(--brass));
}
.ar-hero .cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.ar-hero .meta-row{
  display:flex;gap:26px;flex-wrap:wrap;margin-top:28px;padding-top:20px;
  border:0;position:relative;
}
.ar-hero .meta-row::before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,rgba(var(--brass-rgb),.6),rgba(var(--brass-rgb),.12) 55%,transparent);
}
.ar-hero .meta-row b{
  display:block;font-family:var(--serif);font-size:23px;letter-spacing:.5px;font-weight:800;
  background:linear-gradient(160deg,var(--ink) 30%,color-mix(in srgb,var(--brass) 72%,var(--ink)));
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.ar-hero .meta-row span{font-size:11px;color:var(--ink3);letter-spacing:1.6px;text-transform:uppercase}

/* 海报（吉祥物卡） */
.ar-poster{position:relative;justify-self:center;width:min(330px,78vw);perspective:900px}
.ar-poster .frame{
  position:relative;border-radius:20px;overflow:hidden;
  border:1px solid rgba(var(--brass-rgb),.45);
  box-shadow:0 34px 70px -30px rgba(10,20,30,.55), 0 0 0 6px rgba(var(--brass-rgb),.08);
  transform:rotate(-2.2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1);
  background:#0b1220;
}
.ar-poster:hover .frame{transform:rotate(0deg) translateY(-6px) scale(1.015)}
.ar-poster img{width:100%;display:block}
.ar-poster .halo{
  position:absolute;inset:-18% -12% auto;height:60%;border-radius:50%;
  background:radial-gradient(closest-side, rgba(var(--brass-rgb),.28), transparent 72%);
  filter:blur(6px);pointer-events:none;z-index:-1;
}
.ar-poster .tag{
  position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);
  white-space:nowrap;padding:7px 16px;border-radius:99px;
  background:linear-gradient(180deg,#127368,var(--pitch-solid) 60%,var(--pitch-deep));
  color:#fff;font-size:11.5px;font-weight:700;letter-spacing:1.6px;
  box-shadow:0 12px 26px -12px rgba(14,95,85,.7);
}

/* ---------- Kivicube 启动区 ---------- */
.kiv-section{padding:26px 0 56px;position:relative}
.kiv-section::before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--brass-rgb),.32) 20%,rgba(var(--brass-rgb),.16) 58%,transparent);
}
.kiv-wrap{display:grid;grid-template-columns:1.55fr .85fr;gap:20px;align-items:stretch;min-width:0}
@media (max-width:900px){ .kiv-wrap{grid-template-columns:1fr} }

.kiv-stage{
  position:relative;border-radius:20px;overflow:hidden;min-height:420px;
  background:
    radial-gradient(600px 300px at 50% 0%, rgba(20,120,140,.22), transparent 70%),
    radial-gradient(900px 420px at 110% 110%, rgba(var(--brass-rgb),.1), transparent 65%),
    linear-gradient(160deg,#0a1524,#071019 55%,#050b12);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 26px 60px -34px rgba(6,14,24,.85), inset 0 1px 0 rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:4/3;width:100%;height:auto;align-self:start;
}
/* 取景框四角：金属 L 形标记 */
.kiv-stage::before,.kiv-stage::after{
  content:'';position:absolute;width:26px;height:26px;z-index:4;pointer-events:none;
  border:2px solid rgba(var(--brass-rgb),.75);
}
.kiv-stage::before{top:14px;right:14px;border-left:0;border-bottom:0;border-top-right-radius:8px}
.kiv-stage::after{bottom:14px;left:14px;border-right:0;border-top:0;border-bottom-left-radius:8px}
@media (max-width:900px){ .kiv-stage{aspect-ratio:3/4;min-height:0} }
.kiv-stage iframe{
  width:100%;height:100%;border:none;display:block;background:#05080d;
}
.kiv-stage iframe[hidden]{display:none}

/* 占位 / 引导层 */
.kiv-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;padding:26px 22px;text-align:center;color:#dfe8f2}
.kiv-ph[hidden]{display:none}
.kiv-ph .rings{position:relative;width:112px;height:112px;margin-bottom:4px}
.kiv-ph .rings i{
  position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(var(--brass-rgb),.55);
  animation:kivPulse 3s ease-out infinite;
}
.kiv-ph .rings i:nth-child(2){animation-delay:1s}
.kiv-ph .rings i:nth-child(3){animation-delay:2s}
.kiv-ph .rings b{
  position:absolute;inset:26px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(160deg,rgba(var(--brass-rgb),.25),rgba(var(--brass-rgb),.06));
  border:1px solid rgba(var(--brass-rgb),.45);font-size:26px;line-height:1;
}
@keyframes kivPulse{0%{transform:scale(.62);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.kiv-ph h3{font-family:var(--serif);font-size:19px;color:#fff;letter-spacing:.6px}
.kiv-ph p{font-size:12.5px;line-height:1.85;color:rgba(223,232,242,.72);max-width:400px}
.kiv-ph code{font-size:11.5px;padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.1);color:#ffe6a8}

.kiv-form{display:flex;gap:8px;width:min(460px,100%);margin-top:4px}
.kiv-form input{
  flex:1;min-width:0;padding:11px 14px;border-radius:11px;font-family:inherit;font-size:12.5px;
  color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  outline:none;transition:border-color .15s,background .15s;
}
.kiv-form input::placeholder{color:rgba(255,255,255,.38)}
.kiv-form input:focus{border-color:rgba(var(--brass-rgb),.7);background:rgba(255,255,255,.11)}
.kiv-form .btn{white-space:nowrap}
.kiv-hint{font-size:11px;color:rgba(223,232,242,.5);line-height:1.7;max-width:440px}
.kiv-hint a{color:#ffd75e;text-decoration:underline;text-underline-offset:2px}

/* 右上角状态胶囊 */
.kiv-badge{
  position:absolute;top:12px;left:12px;z-index:3;display:flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:1px;
  background:rgba(6,14,24,.62);border:1px solid rgba(255,255,255,.14);color:#cfe0f0;backdrop-filter:blur(6px);
}
.kiv-badge i{width:6px;height:6px;border-radius:50%;background:#8fa4b8;box-shadow:0 0 0 3px rgba(143,164,184,.18)}
.kiv-badge.on i{background:#37d39a;box-shadow:0 0 0 3px rgba(55,211,154,.2)}
.kiv-badge.err i{background:#ff7a7a;box-shadow:0 0 0 3px rgba(255,122,122,.2)}

/* 右下角操作 */
.kiv-acts{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;gap:8px}
.kiv-acts[hidden]{display:none}
.kiv-acts .btn{padding:8px 13px;font-size:12px}

/* 侧栏说明 */
.kiv-side{display:flex;flex-direction:column;gap:14px}
.kiv-step{
  display:flex;gap:13px;padding:16px;border-radius:15px;
  background:var(--card);border:1px solid var(--line);
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.kiv-step:hover{border-color:rgba(var(--brass-rgb),.42);transform:translateY(-2px);
  box-shadow:0 16px 30px -24px rgba(10,20,30,.7)}
.kiv-step .n{
  flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--serif);font-size:13px;font-weight:800;color:var(--brass-deep);
  background:rgba(var(--brass-rgb),.13);border:1px solid rgba(var(--brass-rgb),.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.kiv-step b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:5px;letter-spacing:.6px}
.kiv-step p{font-size:12px;line-height:1.8;color:var(--ink3);text-wrap:pretty}
.kiv-note{
  position:relative;padding:15px 16px 15px 18px;border-radius:14px;font-size:12px;line-height:1.85;
  color:var(--ink2);border:1px solid rgba(var(--brass-rgb),.28);
  background:linear-gradient(115deg, rgba(var(--brass-rgb),.12), rgba(var(--brass-rgb),.03) 62%, transparent);
  text-wrap:pretty;
}
.kiv-note::before{
  content:'';position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,var(--brass),rgba(var(--brass-rgb),.15));
}
.kiv-note b{color:var(--brass-deep);letter-spacing:.4px}

/* ---------- 技能卡区 ---------- */
.sk-section{padding:8px 0 60px}
.sk-toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:22px 0 18px;padding:12px 14px;border-radius:16px;
  background:var(--card);border:1px solid var(--line);
}
.sk-toolbar .sp{flex:1}
.sk-chip{
  padding:7px 14px;border-radius:99px;cursor:pointer;font-family:inherit;
  font-size:12.5px;font-weight:600;color:var(--ink2);letter-spacing:.3px;
  background:var(--bg);border:1.5px solid var(--line);transition:all .16s;
}
.sk-chip:hover{border-color:var(--brass);color:var(--brass-deep)}
.sk-chip.on{
  color:#fff;border-color:transparent;
  background:linear-gradient(180deg,#127368,var(--pitch-solid) 60%,var(--pitch-deep));
  box-shadow:0 8px 18px -10px rgba(14,95,85,.8);
}
.sk-count{font-size:11.5px;color:var(--ink3);letter-spacing:.5px}

.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
@media (max-width:560px){ .sk-grid{grid-template-columns:repeat(2,1fr);gap:12px} }

.sk-card{
  position:relative;border:none;padding:0;cursor:pointer;font-family:inherit;
  border-radius:16px;overflow:hidden;background:#0b1220;
  border:1px solid rgba(var(--rc-rgb, 200,150,46),.34);
  box-shadow:0 14px 30px -22px rgba(8,18,28,.9);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s, border-color .28s;
  aspect-ratio:512/680;
}
.sk-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sk-card:hover,.sk-card:focus-visible{
  transform:translateY(-8px) scale(1.014);
  border-color:rgba(var(--rc-rgb,200,150,46),.85);
  box-shadow:0 26px 46px -24px rgba(var(--rc-rgb,200,150,46),.55), 0 0 0 1px rgba(var(--rc-rgb,200,150,46),.4);
  outline:none;
}
.sk-card::after{ /* 高光扫过 */
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.32) 46%,transparent 60%);
  transform:translateX(-40%);transition:opacity .2s;
}
.sk-card:hover::after{opacity:1;animation:skShine .9s ease-out}
@keyframes skShine{0%{transform:translateX(-45%)}100%{transform:translateX(45%)}}

.sk-card .rar{
  position:absolute;top:9px;right:9px;z-index:2;
  padding:3px 9px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:1px;
  color:#0b1220;background:rgba(var(--rc-rgb,200,150,46),.94);
  box-shadow:0 4px 12px -6px rgba(0,0,0,.8);
}
.sk-card .code{
  position:absolute;top:9px;left:9px;z-index:2;
  font-family:ui-monospace,Consolas,monospace;font-size:9.5px;letter-spacing:1.2px;
  color:rgba(255,255,255,.92);padding:2px 7px;border-radius:99px;
  background:rgba(6,12,20,.42);backdrop-filter:blur(3px);
}
.sk-card .veil{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:30px 12px 12px;display:flex;justify-content:center;
  background:linear-gradient(180deg,transparent,rgba(4,10,18,.66));
  transform:translateY(10px);opacity:0;transition:transform .26s,opacity .26s;
}
.sk-card:hover .veil,.sk-card:focus-visible .veil{transform:translateY(0);opacity:1}
.sk-card .veil .hint{
  font-size:10.5px;font-weight:800;letter-spacing:1.4px;
  padding:6px 14px;border-radius:99px;
  color:#0b1220;background:rgba(var(--rc-rgb,200,150,46),.95);
  box-shadow:0 8px 18px -10px rgba(0,0,0,.9);
}

/* ---------- 灯箱 ---------- */
.sk-lb{
  position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(5,10,18,.78);backdrop-filter:blur(10px);
  opacity:0;pointer-events:none;transition:opacity .22s;
}
.sk-lb.show{opacity:1;pointer-events:auto}
.sk-lb .box{
  display:grid;grid-template-columns:minmax(0,auto) minmax(260px,320px);gap:0;
  max-width:900px;width:100%;max-height:88vh;overflow:hidden;
  border-radius:20px;border:1px solid rgba(var(--brass-rgb),.4);
  background:linear-gradient(160deg,#0b1420,#0a1018);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
  transform:translateY(10px) scale(.985);transition:transform .24s;
}
.sk-lb.show .box{transform:none}
@media (max-width:760px){
  .sk-lb .box{grid-template-columns:1fr;max-height:92vh;overflow:auto}
}
.sk-lb .pic{display:flex;align-items:center;justify-content:center;background:#05090f;padding:14px}
.sk-lb .pic img{max-height:74vh;width:auto;max-width:100%;border-radius:12px;display:block}
.sk-lb .info{padding:24px 22px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.sk-lb .info .k{font-size:10px;letter-spacing:2.4px;color:rgba(255,255,255,.4);text-transform:uppercase}
.sk-lb .info h3{
  font-family:var(--serif);font-size:26px;letter-spacing:1.2px;line-height:1.2;font-weight:800;
  background:linear-gradient(120deg,#fff 30%,#ffe1a0);
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.sk-lb .info .en{font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.45);text-transform:uppercase;margin-top:-6px}
.sk-lb .info .rar-tag{
  align-self:flex-start;padding:4px 11px;border-radius:99px;font-size:10.5px;font-weight:800;letter-spacing:1px;
  color:#0b1220;background:rgba(var(--rc-rgb,200,150,46),.95);
}
.sk-lb .bars{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.sk-lb .bar{display:flex;align-items:center;gap:9px}
.sk-lb .bar b{width:34px;font-size:11px;color:rgba(255,255,255,.62);font-weight:600;letter-spacing:.5px}
.sk-lb .bar .stars{display:flex;gap:2px}
.sk-lb .bar .stars i{
  width:13px;height:13px;display:block;background:currentColor;
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.sk-lb .bar .stars{color:#ffd75e}
.sk-lb .bar .stars i.off{color:rgba(255,255,255,.16)}
.sk-lb .quote{
  font-size:12.5px;line-height:1.85;color:rgba(255,255,255,.72);
  padding:12px 13px;border-radius:12px;background:rgba(255,255,255,.055);
  border-left:2px solid rgba(var(--brass-rgb),.7);
}
.sk-lb .q-tag{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.sk-lb .how{
  display:flex;flex-direction:column;gap:6px;padding:12px 13px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.12);
}
.sk-lb .how .row{display:flex;gap:8px;font-size:11.5px;line-height:1.7;color:rgba(255,255,255,.62)}
.sk-lb .how .row b{flex:0 0 52px;color:rgba(255,255,255,.42);font-weight:600;letter-spacing:.5px}
.sk-lb .how a{color:#ffd75e;text-decoration:underline;text-underline-offset:2px}
.sk-lb .q-tag span{font-size:10.5px;padding:3px 9px;border-radius:99px;color:#ffe1a6;
  background:rgba(var(--brass-rgb),.14);border:1px solid rgba(var(--brass-rgb),.3)}
.sk-lb .lb-qr{
  display:flex;align-items:center;gap:12px;margin-top:2px;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);
}
.sk-lb .lb-qr img{
  flex:0 0 84px;width:84px;height:84px;padding:4px;border-radius:10px;
  background:#fff;object-fit:contain;
}
.sk-lb .lb-qr .t{display:flex;flex-direction:column;gap:3px;min-width:0}
.sk-lb .lb-qr .t b{font-size:12px;color:#ffe1a6;letter-spacing:.6px}
.sk-lb .lb-qr .t span{font-size:10.5px;color:rgba(255,255,255,.55);line-height:1.5}
.sk-lb .lb-qr.empty{border-style:dashed}
.sk-lb .lb-qr.empty img{display:none}
.sk-lb .nav{display:flex;gap:8px;margin-top:auto;padding-top:12px}
.sk-lb .nav button{
  flex:1;padding:9px;border-radius:11px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;
  color:rgba(255,255,255,.8);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  transition:background .15s,color .15s;
}
.sk-lb .nav button:hover{background:rgba(255,255,255,.14);color:#fff}
.sk-lb .x{
  position:absolute;top:16px;right:18px;width:36px;height:36px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;font-size:15px;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:background .15s;
}
.sk-lb .x:hover{background:rgba(255,255,255,.2)}

/* ---------- 玩法三步 ---------- */
.ar-steps{padding:0 0 60px}
.ar-steps .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:800px){ .ar-steps .grid{grid-template-columns:1fr} }
.ar-steps .item{
  position:relative;padding:22px 20px;border-radius:16px;background:var(--card);
  border:1px solid var(--line);overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, border-color .25s;
}
.ar-steps .item::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,rgba(var(--brass-rgb),.75),rgba(var(--brass-rgb),.08) 60%,transparent);
  opacity:.55;transition:opacity .25s;
}
.ar-steps .item:hover{transform:translateY(-4px);border-color:rgba(var(--brass-rgb),.4);
  box-shadow:0 22px 44px -28px rgba(10,20,30,.6)}
.ar-steps .item:hover::before{opacity:1}
.ar-steps .item .n{
  font-family:var(--serif);font-size:46px;line-height:1;font-weight:800;
  position:absolute;right:14px;top:8px;
  color:transparent;-webkit-text-stroke:1px rgba(var(--brass-rgb),.4);
}
.ar-steps .item b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:6px;letter-spacing:.8px}
.ar-steps .item p{font-size:12px;line-height:1.85;color:var(--ink3);text-wrap:pretty}

/* ---------- 手机扫码直达（整行横条） ---------- */
.kiv-qr{
  position:relative;overflow:hidden;
  margin-top:22px;padding:24px 26px;border-radius:18px;
  display:flex;align-items:center;gap:24px;
  background:linear-gradient(100deg, rgba(var(--brass-rgb),.12), var(--card) 46%);
  border:1px solid rgba(var(--brass-rgb),.4);
  box-shadow:
    inset 0 1px 0 rgba(var(--brass-rgb),.22),
    0 24px 50px -32px rgba(10,20,30,.6);
}
.kiv-qr::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg, transparent 55%, rgba(255,255,255,.05) 72%, transparent 88%);
}
/* 右侧留白处的水印，避免整条看起来头重脚轻 */
.kiv-qr::after{
  content:'AR';position:absolute;right:26px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-size:120px;line-height:1;font-weight:800;letter-spacing:3px;
  color:rgba(var(--brass-rgb),.07);pointer-events:none;user-select:none;
}
.kiv-qr-codes{flex:0 0 auto;display:flex;gap:14px;align-items:flex-start}
.qr-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:7px}
.qr-fig .qr-fig-img,.qr-fig > img{
  width:148px;height:148px;border-radius:14px;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);padding:8px;
  box-shadow:0 14px 28px -20px rgba(10,20,30,.6);
}
.qr-fig > img{object-fit:contain;padding:5px}
.qr-fig.is-mini .qr-fig-img,.qr-fig.is-mini > img{border-color:rgba(var(--brass-rgb),.6);box-shadow:0 16px 30px -20px rgba(var(--brass-rgb),.5)}
.qr-fig .qr-fig-img svg{display:block;width:100%;height:100%;image-rendering:pixelated}
.qr-fig figcaption{font-size:10.5px;letter-spacing:1.6px;color:var(--ink2)}
.kiv-qr-info{flex:1;min-width:0;max-width:660px;display:flex;flex-direction:column;gap:9px}
.kiv-qr-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.kiv-qr-head b{font-family:var(--serif);font-size:20px;letter-spacing:.8px;font-weight:800;color:var(--ink)}
.kiv-qr-head span{font-size:11.5px;color:var(--ink2);letter-spacing:.3px}
.kiv-qr-tip{font-size:13px;line-height:1.7;color:var(--ink)}
.kiv-qr-url{
  display:inline-block;align-self:flex-start;max-width:100%;font-size:11.5px;color:var(--ink2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  padding:5px 9px;border-radius:8px;background:var(--bg);border:1px solid var(--line);
}
.kiv-qr-acts{display:flex;gap:9px;flex-wrap:wrap;margin-top:2px}
.kiv-qr-note{font-size:11px;line-height:1.75;color:var(--ink2)}
.kiv-qr-note code{font-size:10px;padding:1px 5px;border-radius:6px;
  background:rgba(var(--brass-rgb),.12);color:var(--brass-deep)}

@media (max-width:900px){
  .kiv-qr::after{display:none}
  .kiv-qr{flex-direction:column;align-items:flex-start;gap:14px;padding:16px}
  /* 手机上：网页码用不上（自己扫自己），只留可长按识别的小程序码 */
  .qr-fig:not(.is-mini){display:none}
  .qr-fig.is-mini .qr-fig-img,.qr-fig.is-mini > img{width:112px;height:112px}
  .kiv-qr-codes{gap:12px}
  .kiv-qr #kivQrDown{display:none}
  .kiv-qr{padding:16px 18px}
  .kiv-qr-url{font-size:11px}
  .kiv-qr-head b{font-size:15.5px}
}

/* 首屏海报上的迷你二维码 */
.qr-badge{
  position:absolute;right:-26px;top:-18px;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:9px 9px 7px;border-radius:14px;text-decoration:none;
  background:#fff;border:1px solid rgba(var(--brass-rgb),.55);
  box-shadow:0 18px 34px -18px rgba(10,20,30,.6);
  transform:rotate(4deg);transition:transform .18s,box-shadow .18s;
}
.qr-badge:hover{transform:rotate(0) translateY(-2px);box-shadow:0 22px 40px -18px rgba(10,20,30,.7)}
.qr-badge .qb-img{display:block;width:74px;height:74px;border-radius:6px;object-fit:contain;background:#fff}
.qr-badge .qb-cap{
  font-size:10px;letter-spacing:.6px;color:#1b2b3a;font-weight:700;
  white-space:nowrap;
}
@media (max-width:900px){ .qr-badge{display:none} }

/* ---------- 版面气质：区块标题、留白、锚点 ---------- */
.kiv-section .sec-head h2,
.sk-section .sec-head h2,
.ar-steps .sec-head h2{
  font-size:clamp(27px,3.1vw,34px);letter-spacing:1.2px;line-height:1.3;
}
/* 标题下的短金线，替代大段留白 */
.kiv-section .sec-head h2::after,
.sk-section .sec-head h2::after,
.ar-steps .sec-head h2::after{
  content:'';display:block;width:52px;height:2px;border-radius:2px;margin-top:14px;
  background:linear-gradient(90deg,var(--brass),rgba(var(--brass-rgb),.05));
}
.ar-steps .sec-head.center h2::after{
  width:74px;margin-left:auto;margin-right:auto;
  background:linear-gradient(90deg,transparent,var(--brass),transparent);
}
.kiv-section .sec-head p,
.sk-section .sec-head p,
.ar-steps .sec-head p{
  font-size:14px;line-height:1.95;color:var(--ink2);letter-spacing:.2px;text-wrap:pretty;
}
@media (max-width:640px){
  .kiv-section .sec-head h2,.sk-section .sec-head h2,.ar-steps .sec-head h2{font-size:25px}
}

/* 锚点跳转避开吸顶导航 */
#ar-launch,#ar-cards{scroll-margin-top:96px}

/* 引导页里的狼头放大一点，避免在一片留白里显得太小 */
.kiv-ph .rings b{font-size:34px}

/* 浅色主题下颗粒噪点要更轻，否则纸面显脏 */
:root[data-theme="porcelain"] .ar-hero::after{opacity:.028}
:root[data-theme="porcelain"] .ar-hero::before{opacity:.03}

/* 移动端两个 CTA 等宽铺满，避免一宽一窄显得零碎 */
@media (max-width:560px){
  .ar-hero .cta-row{display:grid;grid-template-columns:1fr;gap:10px}
  .ar-hero .cta-row .btn{width:100%;justify-content:center}
}
