/* ===================================================================
   7 站 Hero 视觉组件（纯 CSS/SVG，零外部图片）
   设计约束：沿用 home.css 的双主题令牌；禁橙黄红；每站意象互不复用。
   aiddun.com 用视频轮播（.hero-shot），其余 7 站各用一枚 .art-* 组件。
   =================================================================== */

/* ---------- 通用外壳 ---------- */
.art{
  position:relative;width:100%;aspect-ratio:16/10;border-radius:20px;overflow:hidden;
  background:var(--card);border:1px solid var(--line-2);
  box-shadow:0 30px 70px rgba(0,0,0,.5);
  padding:18px;display:flex;gap:12px;isolation:isolate;
}
.art::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 92% at 80% -12%,var(--tint),transparent 62%);
}
.art > *{position:relative;z-index:1;min-width:0}
.art-sim{
  position:absolute;right:12px;top:12px;z-index:3;
  font-size:10px;letter-spacing:.14em;color:var(--dim-2);
  border:1px solid var(--hair);border-radius:999px;padding:3px 9px;
  background:var(--chip);
}
@keyframes art-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes art-pulse{0%{transform:scale(.6);opacity:.85}100%{transform:scale(1.9);opacity:0}}
@keyframes art-flow{to{stroke-dashoffset:-30}}
@keyframes art-scan{0%,100%{top:13%}50%{top:83%}}
@keyframes art-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* ===================================================================
   01 · pddun.cn —— 智能体货架墙（搜索框 + 分类 chips + 货架格 + 实时成交）
   =================================================================== */
.art-shelf{flex-direction:column;gap:9px}
.sh-top{display:flex;align-items:center;gap:9px;flex:none}
.sh-search{
  flex:1;display:flex;align-items:center;gap:8px;min-width:0;
  padding:10px 13px;border-radius:12px;
  background:var(--tint-soft);border:1px solid var(--line-2);
  font-size:13px;color:var(--dim-2);
}
.sh-search svg{width:14px;height:14px;flex:none;stroke:var(--gold-l);fill:none;stroke-width:2;stroke-linecap:round}
.sh-caret{width:1px;height:14px;background:var(--gold-l);flex:none;animation:art-blink 1.05s steps(1) infinite}
.sh-live{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--dim-2);white-space:nowrap;flex:none}
.sh-live i{width:6px;height:6px;border-radius:50%;background:var(--gold-h);animation:art-drift 1.9s ease-in-out infinite}
.sh-chips{display:flex;gap:5px;flex-wrap:wrap;flex:none}
.sh-chips span{font-size:11px;padding:3px 10px;border-radius:999px;border:1px solid var(--hair);color:var(--dim-2)}
.sh-chips span.on{background:var(--tint);border-color:var(--line-2);color:var(--gold-l);font-weight:700}
.sh-shelf{flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:7px;min-height:0}
.sh-item{
  border-radius:11px;border:1px solid var(--hair);background:var(--tint-soft);
  padding:8px 9px;display:flex;flex-direction:column;gap:5px;min-height:0;
}
.sh-item .ic{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--tint);border:1px solid var(--line-2);flex:none}
.sh-item .ic svg{width:12px;height:12px;stroke:var(--gold-l);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sh-item b{font-size:11px;font-weight:700;line-height:1.25;margin-top:auto}
.sh-item i{font-style:normal;font-size:10px;color:var(--gold-l);font-weight:700}
.sh-foot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;
  font-size:10.5px;color:var(--dim-2);border-top:1px solid var(--hair);padding-top:7px;
}
.sh-foot b{color:var(--gold-l)}

/* ===================================================================
   02 · pddun.com.cn —— 县域地图 + AI 赋能官
   =================================================================== */
.art-county{flex-direction:row;align-items:stretch}
.ct-left{flex:1.2;display:flex;flex-direction:column;gap:9px}
.ct-map{
  flex:1;border-radius:14px;border:1px solid var(--hair);
  background:var(--tint-soft);overflow:hidden;position:relative;
}
.ct-map svg{width:100%;height:100%;display:block}
.ct-blk{fill:var(--tint);stroke:var(--line-2);stroke-width:1}
.ct-blk.on{fill:var(--deco)}
.ct-halo{fill:none;stroke:var(--gold-h);stroke-width:1.1;transform-box:fill-box;transform-origin:center;animation:art-pulse 2.9s ease-out infinite}
.ct-dot{fill:var(--gold-h)}
.ct-stats{display:flex;gap:7px;flex:none}
.ct-stat{flex:1;border-radius:11px;border:1px solid var(--hair);background:var(--tint-soft);padding:7px 9px;min-width:0}
.ct-stat b{display:block;font-size:16px;font-weight:900;color:var(--gold-l);line-height:1.15;white-space:nowrap}
.ct-stat span{font-size:10px;color:var(--dim-2);display:block;white-space:nowrap}
.ct-right{flex:.86;display:flex;flex-direction:column;gap:8px}
.ct-officer{
  display:flex;align-items:center;gap:8px;flex:none;
  border-radius:12px;border:1px solid var(--line-2);background:var(--tint);padding:9px 10px;
}
.ct-ava{
  width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--gold-l),var(--gold));color:var(--btn-fg);
  font-weight:900;font-size:12px;
}
.ct-officer .tx{min-width:0}
.ct-officer b{display:block;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-officer i{font-style:normal;font-size:10px;color:var(--dim-2)}
.ct-mini{border-radius:11px;border:1px solid var(--hair);background:var(--tint-soft);padding:8px 10px;min-height:0}
.ct-mini b{display:block;font-size:11.5px;color:var(--gold-l);margin-bottom:1px}
.ct-mini span{font-size:10px;color:var(--dim-2);line-height:1.35;display:block}

/* ===================================================================
   03 · a2ahub.com.cn —— 节点网络图谱（连线流动 + 节点脉冲）
   =================================================================== */
.art-graph{padding:12px;align-items:stretch}
.gr-svg{width:100%;height:100%;display:block}
.gr-link{fill:none;stroke:var(--line-2);stroke-width:1.2;stroke-dasharray:5 9;animation:art-flow 2.6s linear infinite}
.gr-link.d1{animation-delay:-.35s}
.gr-link.d2{animation-delay:-.7s}
.gr-link.d3{animation-delay:-1.05s}
.gr-link.d4{animation-delay:-1.4s}
.gr-halo{fill:none;stroke:var(--gold-h);stroke-width:1;opacity:.6;transform-box:fill-box;transform-origin:center;animation:art-pulse 3.1s ease-out infinite}
.gr-halo.d1{animation-delay:-1s}
.gr-halo.d2{animation-delay:-2s}
.gr-core{fill:var(--card-2);stroke:var(--gold-h);stroke-width:1.6}
.gr-node text{font-size:9px;font-weight:700;fill:var(--dim-2);text-anchor:middle}
.gr-node.c .gr-core{fill:var(--gold);stroke:var(--gold-hi);stroke-width:2}
.gr-node.c text{fill:var(--btn-fg);font-size:10px;dominant-baseline:middle}
.gr-cap{
  position:absolute;left:16px;bottom:14px;display:flex;gap:5px;flex-wrap:wrap;z-index:2;
}
.gr-cap span{
  font-size:10.5px;padding:4px 10px;border-radius:999px;
  border:1px solid var(--hair);background:var(--chip);color:var(--dim-2);
}
.gr-cap span.on{border-color:var(--line-2);color:var(--gold-l);font-weight:700}

/* ===================================================================
   04 · dundununion.com —— 创作者工作台 + AI 助手面板
   =================================================================== */
.art-desk{flex-direction:column;gap:10px;padding:16px}
.dk-row{flex:1;display:flex;gap:11px;min-height:0}
.dk-main{
  flex:1.25;border-radius:13px;border:1px solid var(--hair);background:var(--tint-soft);
  display:flex;flex-direction:column;overflow:hidden;min-width:0;
}
.dk-bar{display:flex;align-items:center;gap:5px;padding:7px 10px;border-bottom:1px solid var(--hair);font-size:10px;color:var(--dim-2);flex:none}
.dk-bar i{width:6px;height:6px;border-radius:50%;background:var(--line-2);flex:none}
.dk-bar span{margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-body{flex:1;padding:11px 12px;display:flex;flex-direction:column;gap:7px;justify-content:center;min-height:0}
.dk-ln{height:6px;border-radius:4px;background:var(--line);opacity:.6}
.dk-ln.g{background:var(--gold-l);opacity:.8}
.dk-caret{width:2px;height:13px;background:var(--gold-h);animation:art-blink 1.05s steps(1) infinite}
.dk-side{flex:.9;display:flex;flex-direction:column;gap:7px;min-width:0}
.dk-ai{border-radius:11px;border:1px solid var(--line-2);background:var(--tint);padding:8px 10px;flex:none}
.dk-ai b{font-size:11px;color:var(--gold-l)}
.dk-ai p{margin:2px 0 0;font-size:10px;color:var(--dim-2);line-height:1.4}
.dk-pill{
  border-radius:999px;border:1px solid var(--hair);background:var(--tint-soft);
  padding:5px 10px;font-size:10px;color:var(--dim-2);
  display:flex;align-items:center;gap:6px;flex:none;
}
.dk-pill em{width:5px;height:5px;border-radius:50%;background:var(--gold-h);font-style:normal;flex:none}
.dk-flow{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex:none;font-size:10px;color:var(--dim-2)}
.dk-flow span{border:1px solid var(--hair);border-radius:999px;padding:3px 9px;background:var(--chip)}
.dk-flow span.on{border-color:var(--line-2);color:var(--gold-l);font-weight:700}
.dk-flow em{font-style:normal;color:var(--line-2)}

/* ===================================================================
   05 · duncreator.cn —— 社区 Feed 流 + Skill 市场
   =================================================================== */
.art-feed{flex-direction:row;align-items:stretch;padding:16px}
.fd-stream{flex:1.3;display:flex;flex-direction:column;gap:7px;justify-content:center}
.fd-post{display:flex;gap:8px;border-radius:11px;border:1px solid var(--hair);background:var(--tint-soft);padding:8px 10px;min-width:0}
.fd-ava{width:24px;height:24px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--gold-l),var(--gold));opacity:.9}
.fd-post .tx{min-width:0}
.fd-post b{font-size:10.5px;color:var(--gold-l)}
.fd-post p{margin:1px 0 2px;font-size:10.5px;color:var(--txt);opacity:.88;line-height:1.35}
.fd-meta{font-size:9.5px;color:var(--dim-2)}
.fd-skill{
  flex:.82;border-radius:12px;border:1px solid var(--line-2);background:var(--tint);
  padding:9px 10px;display:flex;flex-direction:column;gap:6px;min-width:0;
}
.fd-skill .hd{font-size:10.5px;color:var(--gold-l);font-weight:800;letter-spacing:.06em;flex:none}
.fd-sk{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;border-bottom:1px dashed var(--hair);padding-bottom:5px;min-width:0}
.fd-sk:last-of-type{border-bottom:0;padding-bottom:0}
.fd-sk span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-sk i{font-style:normal;color:var(--gold-l);font-weight:700;flex:none}
.fd-badge{margin-top:auto;font-size:9.5px;color:var(--dim-2);border-top:1px solid var(--hair);padding-top:5px;flex:none}

/* ===================================================================
   06 · duncreator.com —— 终端 / 代码（英文站，GitHub 极客风）
   =================================================================== */
.art-term{padding:14px;flex-direction:column}
.tm-win{
  flex:1;border-radius:12px;border:1px solid var(--line-2);
  background:rgba(0,0,0,.62);display:flex;flex-direction:column;overflow:hidden;min-height:0;
}
html[data-theme="light"] .tm-win{background:#0B1220}
.tm-bar{
  display:flex;align-items:center;gap:5px;padding:6px 10px;flex:none;
  border-bottom:1px solid rgba(255,255,255,.10);font-size:10px;color:rgba(255,255,255,.57);
  font-family:"SFMono-Regular",Consolas,Menlo,monospace;
}
.tm-bar i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.20);flex:none}
.tm-bar span{margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-code{
  margin:0;padding:10px 12px;flex:1;overflow:hidden;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:10.5px;line-height:1.72;color:#DCE4F0;white-space:pre;
}
.tm-code .c{color:#e8cd8e}
.tm-code .k{color:#8FB7E8}
.tm-code .s{color:#d9c07e}
.tm-code .f{color:#A9D2B8}
.tm-code .cm{color:rgba(255,255,255,.44)}
.tm-code .ok{color:#7ECFA0}
.tm-caret{display:inline-block;width:6px;height:11px;background:#D9BE7A;vertical-align:-1px;animation:art-blink 1.05s steps(1) infinite}
.tm-caps{display:flex;gap:6px;flex-wrap:wrap;flex:none}
.tm-caps span{
  font-size:10.5px;padding:4px 10px;border-radius:999px;letter-spacing:.04em;
  border:1px solid var(--hair);background:var(--chip);color:var(--dim-2);
  font-family:"SFMono-Regular",Consolas,Menlo,monospace;
}
.tm-caps span.on{border-color:var(--line-2);color:var(--gold-l);font-weight:700}

/* ===================================================================
   07 · aiddun.cn —— 手机界面 + 扫码开店（移动端优先）
   =================================================================== */
.art-phone{flex-direction:row;align-items:center;gap:14px;padding:16px}
.ph-frame{
  width:40%;max-width:196px;aspect-ratio:9/17.6;flex:none;
  border-radius:22px;border:1.5px solid var(--line-2);background:var(--card-2);
  padding:7px;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.45);
}
.ph-notch{width:46px;height:4px;border-radius:999px;background:var(--line-2);margin:0 auto 5px;flex:none}
.ph-screen{
  flex:1;border-radius:15px;border:1px solid var(--hair);background:var(--tint-soft);
  padding:9px;display:flex;flex-direction:column;gap:7px;overflow:hidden;min-height:0;
}
.ph-title{font-size:11px;font-weight:800;color:var(--gold-l);text-align:center;flex:none}
.ph-scan{
  flex:1;border-radius:11px;border:1px dashed var(--line-2);position:relative;
  display:grid;place-items:center;overflow:hidden;min-height:0;
}
.ph-scan .cn{position:absolute;width:15px;height:15px;border:2px solid var(--gold-h);border-radius:3px}
.ph-scan .cn.tl{top:7px;left:7px;border-right:0;border-bottom:0}
.ph-scan .cn.tr{top:7px;right:7px;border-left:0;border-bottom:0}
.ph-scan .cn.bl{bottom:7px;left:7px;border-right:0;border-top:0}
.ph-scan .cn.br{bottom:7px;right:7px;border-left:0;border-top:0}
.ph-scan .ln{position:absolute;left:9%;right:9%;height:2px;background:linear-gradient(90deg,transparent,var(--gold-h),transparent);animation:art-scan 2.3s ease-in-out infinite}
.ph-scan .t{font-size:10px;color:var(--dim-2);text-align:center;line-height:1.35;z-index:1}
.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;flex:none}
.ph-grid div{
  border-radius:8px;border:1px solid var(--hair);background:var(--card);
  padding:6px 2px;text-align:center;font-size:9.5px;font-weight:700;color:var(--dim);
  white-space:nowrap;
}
.ph-side{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.ph-qr{
  width:74px;height:74px;border-radius:11px;border:1px solid var(--line-2);background:var(--tint);
  display:grid;place-items:center;padding:6px;font-size:9px;line-height:1.3;
  color:var(--dim-2);text-align:center;flex:none;
}
.ph-step{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--dim-2)}
.ph-step b{
  width:17px;height:17px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--tint);border:1px solid var(--line-2);color:var(--gold-l);font-size:9px;
}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .art{aspect-ratio:16/11}
  .art-county,.art-desk,.art-feed,.art-phone,.art-term{flex-direction:column}
  .art-desk .dk-row{flex-direction:column}
  .art-phone{align-items:center}
  .ph-frame{width:34%;max-width:150px}
  .sh-shelf{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:767px){
  .art{aspect-ratio:auto;min-height:0;padding:14px;gap:10px}
  .art-shelf{aspect-ratio:16/13}
  .art-county{aspect-ratio:16/13}
  .sh-shelf{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(0,auto)}
  .sh-item{padding:7px 8px}
  .fd-skill{display:none}
  .ph-frame{width:44%;max-width:140px}
  .ct-right{flex-direction:row;flex-wrap:wrap}
  .ct-officer{flex:1 1 100%}
  .ct-mini{flex:1 1 calc(50% - 4px)}
  .gr-svg{min-height:190px}
}
@media (max-width:640px){
  .tm-code{font-size:9.5px;line-height:1.6}
  .art-term{aspect-ratio:16/13}
  .art-phone{aspect-ratio:16/13}
  .art-feed{aspect-ratio:16/13}
  .art-desk{aspect-ratio:16/13}
  .ph-qr{width:62px;height:62px}
}
@media (prefers-reduced-motion:reduce){
  .art *{animation:none!important}
}

/* ===== 右上角实景视频窗口（2026-09-19 追加）===== */
.art--video{display:block!important;padding:0!important;aspect-ratio:16/10!important}
.hv-box{position:absolute;inset:0;z-index:2;background:#08111F;overflow:hidden}
.hv-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.hv-slide.is-on{opacity:1}
.hv-video{display:block;width:100%;height:100%;object-fit:cover;background:#08111F}
.hv-tag{position:absolute;right:12px;top:12px;z-index:5;font-size:10px;letter-spacing:.14em;
  color:var(--dim-2);border:1px solid var(--hair);border-radius:999px;padding:3px 9px;
  background:var(--chip);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hv-dots{position:absolute;left:14px;bottom:12px;z-index:5;display:flex;gap:6px}
.hv-dot{width:7px;height:7px;padding:0;border:1px solid var(--hair);border-radius:50%;
  background:rgba(0,0,0,.38);cursor:pointer;transition:background .2s ease,transform .2s ease}
.hv-dot.is-on{background:var(--gold-l,#C9A95A);border-color:var(--gold-l,#C9A95A);transform:scale(1.18)}
.hv-dot:hover{background:var(--gold-l,#C9A95A)}
@media (max-width:1080px){.art--video{aspect-ratio:16/11!important}}
@media (max-width:767px){.art--video{aspect-ratio:16/13!important}}
@media (max-width:640px){.art--video{aspect-ratio:16/13!important}}
/* 降级或播放失败时的「点击播放」入口：绝不留黑屏，点了必播 */
.hv-play{position:absolute;inset:0;z-index:4;display:none;align-items:center;justify-content:center;
  gap:9px;margin:0;border:0;padding:0;background:rgba(8,17,31,.44);cursor:pointer;color:#fff;
  font:600 13px/1 -apple-system,"Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:.06em;
  -webkit-appearance:none;appearance:none;text-align:center}
.hv-box[data-static="1"] .hv-play,.hv-box.is-failed .hv-play{display:flex}
.hv-play-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:50%;background:rgba(201,169,90,.94);color:#08111F;font-size:13px;padding-left:3px;
  transition:transform .18s ease}
.hv-play:hover .hv-play-ic{transform:scale(1.08)}
@media (max-width:640px){.hv-play{font-size:12px;gap:7px}.hv-play-ic{width:30px;height:30px;font-size:12px}}
