/* ==========================================================
   Widemorrow Agent · 二级页样式
   依赖 ../assets/css/base.css（令牌、导航、联系浮层、备案行）
   ========================================================== */
:root{
  --ok:#1f9d63; --ok-soft:#e7f6ee;
  --warn:#c98210; --warn-soft:#fdf3df;
  --bad:#d6453d; --bad-soft:#fdecea;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,"Roboto Mono",monospace;
  --shadow-win:0 30px 70px -30px rgba(40,30,110,.35),0 2px 8px rgba(20,20,40,.05);
}
/* 行业主题：在任一容器上加 .t-xb / .t-med / .t-art / .t-mfg */
.t-xb {--c:#0e8f96;--c-ink:#0b6d73;--c-soft:#e5f4f4;--c-2:#4fbccd}
.t-med{--c:#2f6fe0;--c-ink:#1f55b8;--c-soft:#eaf1fd;--c-2:#7aa7f5}
.t-art{--c:#d4437a;--c-ink:#a8285c;--c-soft:#fbe9f0;--c-2:#9a7cf0}
.t-mfg{--c:#d98a14;--c-ink:#8f5a06;--c-soft:#fdf2df;--c-2:#5d7596}

#nav.light.top{background:transparent;box-shadow:none}
.sec{padding:clamp(80px,11vh,128px) 0}
.sec-head{max-width:760px}
.sec-head.center{margin:0 auto;text-align:center}
.sec-head .t-h2{margin-top:12px;text-wrap:balance}
.sec-head .t-lead{margin-top:14px}
.eyebrow-agent{color:var(--c-agent)}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-size:15px;font-weight:600;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(107,92,231,.55)}
.btn-line{border:1px solid var(--line-strong);background:rgba(255,255,255,.7);color:var(--ink)}
.btn-line:hover{border-color:var(--c-agent);color:var(--c-agent)}

/* ==========================================================
   Hero
   ========================================================== */
#hero{position:relative;overflow:hidden;padding:clamp(120px,16vh,168px) 0 clamp(64px,9vh,104px);
  background:linear-gradient(180deg,#f1f0fb 0%,#f4f1fb 50%,#fbf1ea 85%,#fff 100%)}
#hero .glow{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}
#hero .g1{left:-12%;top:-18%;width:58vw;height:58vw;background:radial-gradient(circle,rgba(150,136,245,.38),rgba(150,136,245,.1) 40%,transparent 66%);animation:gA 22s ease-in-out infinite alternate}
#hero .g2{right:-14%;top:4%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(120,185,245,.28),transparent 64%);animation:gB 26s ease-in-out infinite alternate}
#hero .g3{left:26%;bottom:-30%;width:62vw;height:40vw;background:radial-gradient(ellipse,rgba(255,184,138,.45),transparent 66%);animation:gC 19s ease-in-out infinite alternate}
@keyframes gA{to{transform:translate3d(7vw,5vh,0)}}
@keyframes gB{to{transform:translate3d(-8vw,6vh,0)}}
@keyframes gC{to{transform:translate3d(-6vw,-4vh,0)}}
.hero-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(28px,4vw,64px);align-items:center}
@media(max-width:980px){.hero-wrap{grid-template-columns:minmax(0,1fr)}}
.hero-copy .t-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--c-agent)}
.hero-copy .t-eyebrow i{width:22px;height:1px;background:currentColor}
.hero-copy h1{margin-top:18px;font-size:clamp(36px,4.6vw,60px);font-weight:600;letter-spacing:-.03em;line-height:1.12;text-wrap:balance}
.hero-copy h1 em{font-style:normal;background:linear-gradient(92deg,#6b5ce7,#c9652b);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy .lead{margin-top:18px;max-width:34em;font-size:clamp(15px,1.25vw,17.5px);line-height:1.8;color:var(--muted)}
.hero-forms{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:520px}
.hero-forms a{display:block;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.66);border:1px solid rgba(40,30,110,.08);transition:background .25s,transform .25s var(--ease),box-shadow .25s}
.hero-forms a:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(107,92,231,.6)}
.hero-forms b{display:block;font-size:14.5px}
.hero-forms b span{font-size:11px;font-weight:600;color:var(--c-agent);letter-spacing:.1em;margin-right:6px}
.hero-forms small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted);line-height:1.5}
.hero-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}
.hero-inds{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--faint)}
.hero-inds button{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink-2);transition:border-color .2s,color .2s}
.hero-inds button::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c)}
.hero-inds button:hover{border-color:var(--c);color:var(--c-ink)}
@media(max-width:560px){.hero-forms{grid-template-columns:1fr}}

/* Hero 右侧：交付物扇面 + 悬浮助手 */
.hv{position:relative;height:460px;max-width:600px;width:100%;justify-self:center}
.hv-card{position:absolute;left:4%;top:24px;width:74%;height:300px;border-radius:18px;background:#fff;border:1px solid rgba(40,30,110,.08);box-shadow:var(--shadow-win);overflow:hidden;
  transition:transform .9s var(--ease),opacity .9s,filter .9s;transform-origin:50% 100%;font-size:11px}
.hv-card[data-pos="0"]{transform:translate(0,40px) rotate(0);z-index:4}
.hv-card[data-pos="1"]{transform:translate(18%,6px) rotate(4deg) scale(.94);z-index:3;opacity:.9}
.hv-card[data-pos="2"]{transform:translate(32%,-18px) rotate(8deg) scale(.88);z-index:2;opacity:.65}
.hv-card[data-pos="3"]{transform:translate(42%,-36px) rotate(11deg) scale(.82);z-index:1;opacity:.35}
.hv-top{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600;color:var(--ink-2);background:#fbfbfd}
.hv-top .dotc{width:8px;height:8px;border-radius:50%;background:var(--c)}
.hv-top em{margin-left:auto;font-style:normal;font-size:10px;font-weight:600;color:var(--c-ink);background:var(--c-soft);padding:2px 8px;border-radius:99px}
.hv-body{padding:12px}
.hv-pill{position:absolute;right:2%;bottom:18px;z-index:6;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:999px;background:#fff;border:1px solid rgba(40,30,110,.1);box-shadow:0 18px 40px -14px rgba(40,30,110,.45)}
.hv-pill .orb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#6b5ce7,#9b8cff);color:#fff;flex:none;position:relative}
.hv-pill .orb::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(107,92,231,.35);animation:ring 2.2s ease-out infinite}
@keyframes ring{from{transform:scale(.85);opacity:1}to{transform:scale(1.35);opacity:0}}
.hv-pill .orb svg{width:18px;height:18px}
.hv-pill .txt{font-size:12.5px;font-weight:600;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv-pill .txt small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.hv-pill .ico{display:flex;gap:4px;padding-left:8px;border-left:1px solid var(--line)}
.hv-pill .ico i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.hv-pill .ico i svg{width:15px;height:15px}
.hv-bubble{position:absolute;right:2%;bottom:78px;z-index:6;max-width:300px;padding:10px 12px;border-radius:14px;background:#1d1b2e;color:#f1f0fb;font-size:12.5px;line-height:1.55;box-shadow:0 16px 36px -16px rgba(20,16,50,.6);transition:opacity .4s}
.hv-bubble b{color:#c9c2ff}
.hv-bubble::after{content:"";position:absolute;right:40px;bottom:-6px;width:12px;height:12px;background:#1d1b2e;transform:rotate(45deg)}
@media(max-width:560px){.hv{height:400px}.hv-card{width:86%;left:0;height:260px}.hv-pill .ico{display:none}.hv-bubble{max-width:250px}}

/* ==========================================================
   两种形态
   ========================================================== */
#forms{background:#fff}
.forms-grid{margin-top:clamp(36px,5vh,56px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:900px){.forms-grid{grid-template-columns:minmax(0,1fr)}}
.form-card{position:relative;border-radius:var(--radius-lg);padding:28px;border:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,#fbfaff 100%);overflow:hidden}
.form-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--k1),var(--k2))}
.form-card.f1{--k1:#6b5ce7;--k2:#a79cff}
.form-card.f2{--k1:#6b5ce7;--k2:#e07a35}
.fc-no{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--c-agent)}
.form-card h3{margin-top:10px;font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.02em}
.form-card .fc-sub{margin-top:4px;font-size:15px;font-weight:600;color:var(--ink-2)}
.form-card .fc-lead{margin-top:10px;font-size:14.5px;color:var(--muted);line-height:1.75}
.fc-flow{margin-top:20px;display:flex;align-items:stretch;gap:6px}
.fc-flow > div{flex:1;min-width:0;padding:10px 10px 11px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted);position:relative}
.fc-flow > div b{display:block;font-size:13px;color:var(--ink);margin-bottom:2px}
.fc-flow > div + div::before{content:"";position:absolute;left:-7px;top:50%;width:8px;height:8px;border-top:1.5px solid var(--faint);border-right:1.5px solid var(--faint);transform:translate(-2px,-50%) rotate(45deg)}
.fc-flow i{display:block;font-style:normal;font-size:10.5px;font-weight:700;color:var(--c-agent);letter-spacing:.08em;margin-bottom:4px}
.fc-points{list-style:none;margin-top:18px;display:grid;gap:10px}
.fc-points li{display:flex;gap:10px;font-size:14px;line-height:1.65;color:var(--ink-2)}
.fc-points li svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--c-agent)}
.fc-points b{color:var(--ink)}
.fc-roles{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px}
.fc-roles span{font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;background:#f3f1ff;color:#5645d4}
.fc-roles span.x{background:#fff4ec;color:#b1561b}
.fc-anti{margin-top:18px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px dashed var(--line-strong);font-size:13px;color:var(--muted)}
.fc-anti s{color:var(--faint)}
.fc-anti b{color:var(--ink)}
@media(max-width:560px){.form-card{padding:22px}.fc-flow{flex-wrap:wrap}.fc-flow > div{flex:1 1 40%}.fc-flow > div + div::before{display:none}}

.compare{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:#fff}
.compare table{width:100%;border-collapse:collapse;font-size:14px}
.compare th,.compare td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare tr:last-child td{border-bottom:0}
.compare th{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--faint);background:var(--bg-soft)}
.compare td:first-child{color:var(--muted);white-space:nowrap;width:120px}
.compare td b{color:var(--ink)}
@media(max-width:700px){.compare{overflow-x:auto}.compare table{min-width:620px}}

/* ==========================================================
   行业区：吸顶切换条
   ========================================================== */
#industry{background:var(--bg-soft);padding-bottom:clamp(80px,11vh,128px)}
.ind-intro{padding-top:clamp(80px,11vh,128px)}
.ind-switch-wrap{position:sticky;top:64px;z-index:30;margin-top:28px;padding:10px 0;background:rgba(247,247,249,.96);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.ind-switch-wrap.stuck{border-bottom-color:var(--line)}
.ind-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ind-tab{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:left;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.ind-tab .ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--c-soft);color:var(--c-ink);transition:background .25s,color .25s}
.ind-tab .ic svg{width:20px;height:20px}
.ind-tab b{display:block;font-size:15px;font-weight:600;letter-spacing:-.005em}
.ind-tab small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ind-tab > span{min-width:0}
.ind-tab:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c) 40%,#fff)}
.ind-tab[aria-selected="true"]{border-color:var(--c);box-shadow:0 12px 26px -16px var(--c)}
.ind-tab[aria-selected="true"] .ic{background:var(--c);color:#fff}
@media(max-width:900px){
  .ind-switch{display:flex;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .ind-switch::-webkit-scrollbar{display:none}
  .ind-tab{flex:none;padding:8px 12px 8px 8px}
  .ind-tab small{display:none}
  .ind-tab .ic{width:30px;height:30px;border-radius:9px}
}

.ind-banner{margin-top:32px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.ind-banner h2{font-size:clamp(26px,3vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.2}
.ind-banner h2 span{color:var(--c-ink)}
.ind-banner p{margin-top:8px;max-width:40em;color:var(--muted);font-size:15px}
.ind-banner .mini-stats{display:flex;gap:8px;flex-wrap:wrap}
.ind-banner .mini-stats span{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.ind-banner .mini-stats b{color:var(--c-ink)}

.blk{margin-top:clamp(32px,4.5vh,56px)}
.blk-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:10px}
.blk-head .no{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--c-agent)}
.blk-head .no i{font-style:normal;padding:2px 8px;border-radius:6px;background:#efecff}
.blk-head h3{margin-top:3px;font-size:clamp(19px,1.85vw,24px);font-weight:600;letter-spacing:-.015em}
.blk-head p{margin-top:2px;font-size:14px;color:var(--muted);max-width:44em}
.blk-tags{display:flex;flex-wrap:wrap;gap:6px}
.blk-tags span{font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}

.swap{transition:opacity .35s,transform .35s var(--ease)}
.swap.out{opacity:0;transform:translateY(8px)}

/* ==========================================================
   板块一：桌面级智能助手
   ========================================================== */
.as-grid{display:grid;gap:8px}
.desk{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:stretch;border-radius:22px;padding:11px 18px 35px;min-height:clamp(420px,50vh,600px);overflow:hidden;
  background:radial-gradient(120% 90% at 10% 0%,color-mix(in srgb,var(--c) 16%,#fff) 0%,transparent 55%),radial-gradient(90% 80% at 100% 100%,rgba(255,196,160,.5),transparent 60%),linear-gradient(160deg,#eef0f8,#f6f1f4);
  border:1px solid var(--line)}
.as-dock{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-width:0;position:relative;z-index:2}
@media(max-width:1000px){.desk{grid-template-columns:minmax(0,1fr)}}
.desk-os{position:absolute;left:0;right:0;bottom:0;height:34px;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.8);font-size:11px;color:var(--muted)}
.desk-os i{width:18px;height:18px;border-radius:5px;background:rgba(40,40,80,.12)}
.desk-os i.on{background:var(--c)}
.sys{position:relative;background:#fff;border-radius:12px;border:1px solid rgba(20,20,50,.1);box-shadow:0 20px 50px -30px rgba(20,20,60,.45);overflow:hidden;font-size:12.5px;color:var(--ink-2)}
.sys-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f5f6f9;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.sys-bar i{width:9px;height:9px;border-radius:50%;background:#d9dbe2}
.sys-bar span{margin-left:8px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sys-bar em{margin-left:auto;font-style:normal;white-space:nowrap}
.sys-body{min-height:clamp(300px,36vh,420px)}
/* 识别高亮 */
[data-hl]{position:relative;transition:box-shadow .35s,background .35s}
.hl-on [data-hl]{box-shadow:0 0 0 2px var(--c),0 0 0 6px color-mix(in srgb,var(--c) 18%,transparent);border-radius:6px;background-color:color-mix(in srgb,var(--c) 5%,transparent)}
.hl-on [data-hl]::after{content:attr(data-hl);position:absolute;right:-2px;top:-11px;z-index:3;font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:5px;background:var(--c);color:#fff;white-space:nowrap;animation:pop .35s var(--ease)}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.filled{animation:fillIn .8s var(--ease)}
@keyframes fillIn{from{background:color-mix(in srgb,var(--c) 22%,#fff)}}
/* 悬浮工具栏 + 助手面板 */
.fab{align-self:flex-end;display:flex;align-items:center;gap:8px;padding:5px 8px 5px 5px;border-radius:999px;background:#fff;border:1px solid rgba(20,20,60,.1);box-shadow:0 16px 36px -14px rgba(30,20,90,.45)}
.fab .orb{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--c-agent),#9b8cff);color:#fff;position:relative}
.fab .orb svg{width:17px;height:17px}
.fab .orb.live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(107,92,231,.35);animation:ring 2s ease-out infinite}
.fab .ctx{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.fab .ctx small{font-weight:500;color:var(--muted)}
.fab .tools{display:flex;gap:2px;padding-left:6px;border-left:1px solid var(--line)}
.fab .tools i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.fab .tools i.on{background:var(--c-soft);color:var(--c-ink)}
.fab .tools i svg{width:15px;height:15px}
.ap{width:100%;max-height:clamp(340px,47vh,500px);overflow:auto;background:#fff;border-radius:16px;border:1px solid rgba(20,20,60,.1);box-shadow:0 26px 60px -24px rgba(30,20,90,.5);font-size:12.5px;color:var(--ink-2);scrollbar-width:thin}
.ap-hd{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;padding:9px 12px;background:#fff;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink)}
.ap-hd > svg{width:16px;height:16px;flex:none;color:var(--c-agent)}
.ap-hd .st{margin-left:auto;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--c-soft);color:var(--c-ink)}
.ap-bd{padding:10px}
.ap-toast{position:relative;align-self:flex-end;max-width:320px;padding:10px 12px;border-radius:14px;background:#1d1b2e;color:#eeeafc;font-size:12.5px;line-height:1.55;box-shadow:0 16px 36px -16px rgba(20,16,50,.6)}
.ap-toast b{color:#c9c2ff}
.ap-toast::after{content:"";position:absolute;right:46px;bottom:-6px;width:12px;height:12px;background:#1d1b2e;transform:rotate(45deg)}
.ap-toast button{margin-top:8px;display:inline-flex;font-size:12px;font-weight:600;padding:5px 12px;border-radius:99px;background:#fff;color:#1d1b2e}
.ap-sec{margin-top:10px}
.ap-sec:first-child{margin-top:0}
.ap-t{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--faint);margin-bottom:5px;display:flex;align-items:center;gap:6px}
.ap-t em{font-style:normal;margin-left:auto;font-weight:600;letter-spacing:0;color:var(--muted)}
.rec{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 9px;border-radius:9px;background:var(--bg-soft);margin-top:4px;animation:fadeIn .4s var(--ease) both}
.rec .k{font-size:11px;color:var(--faint);white-space:nowrap}
.rec .v{font-weight:600;color:var(--ink);min-width:0}
.rec .cf{font-family:var(--mono);font-size:10.5px;color:var(--c-ink)}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}}
.wf{list-style:none;counter-reset:wf;display:grid;gap:4px}
.wf li{counter-increment:wf;display:flex;gap:8px;align-items:flex-start;padding:6px 9px;border-radius:9px;border:1px solid var(--line);animation:fadeIn .4s var(--ease) both}
.wf li::before{content:counter(wf);flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700;background:var(--c-soft);color:var(--c-ink)}
.wf li.ok::before{content:"✓";background:var(--c);color:#fff}
.wf li small{display:block;color:var(--muted);font-size:11.5px}
.mode{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#f3f1ff;color:#5645d4;font-weight:600;font-size:12px}
.ap-note{margin-top:8px;padding:7px 9px;border-radius:9px;background:#f7f7fa;font-size:11.5px;color:var(--muted);line-height:1.55}
.ap-note b{color:var(--ink-2)}
.ap-foot{position:sticky;bottom:0;display:flex;gap:6px;justify-content:flex-end;padding:9px 12px;background:#fff;border-top:1px solid var(--line)}
.mini-btn{font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-2)}
.mini-btn.pri{background:var(--c);border-color:var(--c);color:#fff}
.opt{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border-radius:10px;border:1px solid var(--line);margin-top:5px}
.opt.on{border-color:color-mix(in srgb,var(--c) 50%,#fff);background:color-mix(in srgb,var(--c) 5%,#fff)}
.opt .body{min-width:0;flex:1}
.opt .body b{display:block;color:var(--ink);font-size:12px}
.opt .body p{margin-top:2px;line-height:1.6}
.cb{flex:none;width:16px;height:16px;margin-top:1px;border-radius:5px;border:1.5px solid var(--line-strong);display:grid;place-items:center;background:#fff}
.cb.on{background:var(--c);border-color:var(--c)}
.cb.on::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(0,-1px) rotate(45deg)}
.evi{display:inline-flex;align-items:center;gap:4px;margin:4px 4px 0 0;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:6px;background:#f2f3f7;color:var(--muted)}
.evi::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c)}

.as-side{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:12px}
@media(max-width:1000px){.as-side{grid-template-columns:minmax(0,1fr)}}
.as-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 13px}
.as-card h4{font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.as-card .who{font-size:12px;color:var(--muted);margin-top:2px}
.as-steps{list-style:none;margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
@media(max-width:700px){.as-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.as-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px}
.as-steps button{width:100%;height:100%;display:flex;align-items:flex-start;gap:9px;text-align:left;padding:8px 9px;border-radius:12px;border:1px solid var(--line);transition:background .2s,border-color .2s}
.as-steps button:hover{background:var(--bg-soft)}
.as-steps .n{flex:none;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;border:1.5px solid var(--line-strong);color:var(--muted);background:#fff}
.as-steps b{display:block;font-size:13px;color:var(--ink)}
.as-steps small{display:block;font-size:12px;color:var(--muted);line-height:1.45;margin-top:1px}
.as-steps li.done .n{background:var(--c);border-color:var(--c);color:#fff}
.as-steps li.cur button{background:var(--c-soft);border-color:color-mix(in srgb,var(--c) 30%,#fff)}
.as-steps li.cur .n{border-color:var(--c);color:var(--c-ink)}
.as-ctrl{display:flex;gap:8px;flex:none}
.as-ctrl button{font-size:13px;font-weight:600;padding:9px 10px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;transition:background .2s,color .2s,border-color .2s}
.as-ctrl button.pri{background:var(--ink);border-color:var(--ink);color:#fff}
.as-ctrl button:disabled{opacity:.4;cursor:default}
.as-ctrl button:not(:disabled):hover{border-color:var(--c);color:var(--c-ink)}
.as-ctrl button.pri:not(:disabled):hover{background:var(--c);border-color:var(--c);color:#fff}
.as-zero{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.4}
.as-zero svg{flex:none;width:17px;height:17px;color:var(--c-agent);margin-top:1px}
.as-more{list-style:none;display:grid;gap:3px;margin-top:6px}
.as-more li{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 9px;border-radius:10px;background:var(--bg-soft);color:var(--ink-2)}
.as-more li b{font-weight:600;color:var(--ink);white-space:nowrap}
.as-more li i{font-style:normal;color:var(--faint)}
@media(max-width:760px){
  .desk{padding:10px 10px 12px;min-height:0}
  .desk-os{display:none}
  .ap{max-height:none}
  .ap-toast::after{display:none}
  .sys-body{min-height:0}
}

/* ---------- 业务系统示意：跨境 · 卖家后台 ---------- */
.sx{display:grid;grid-template-columns:170px minmax(0,1fr) 180px;min-height:clamp(340px,38vh,500px)}
.sx-list{border-right:1px solid var(--line);background:#fafbfc;padding:7px}
.sx-lh{display:flex;align-items:center;font-size:11px;font-weight:700;color:var(--muted);padding:3px 6px 6px}
.sx-lh em{margin-left:auto;font-style:normal;background:var(--c);color:#fff;border-radius:99px;padding:0 6px;font-size:10px}
.sx-it{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;padding:5px 6px;border-radius:8px;align-items:center}
.sx-it.on{background:#fff;box-shadow:0 0 0 1px var(--line)}
.sx-it i{width:26px;height:26px;border-radius:50%;background:#e6e9ef;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:11px;color:#56606e}
.sx-it b{display:block;font-size:12px;color:var(--ink);white-space:nowrap}
.sx-it small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-it time{font-size:10px;color:var(--faint);align-self:start}
.fl{display:inline-block;font-size:9px;font-weight:700;padding:0 4px;border-radius:3px;background:#eef0f4;color:#56606e;vertical-align:1px;margin-left:3px;font-style:normal}
.sx-conv{display:flex;flex-direction:column;padding:10px 12px;gap:8px;min-width:0}
.sx-ch{display:flex;align-items:center;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sx-ch b{color:var(--ink)}
.sx-ch em{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted);font-family:var(--mono)}
.sx-msg{max-width:90%;padding:7px 10px;border-radius:4px 14px 14px 14px;background:#f1f3f6;line-height:1.5;color:#2b2f36}
.sx-msg time{display:block;margin-top:3px;font-size:10px;color:var(--faint)}
.sx-sysn{align-self:center;font-size:10.5px;color:var(--faint)}
.sx-reply{margin-top:auto;min-height:70px;border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;line-height:1.5;color:#2b2f36}
.sx-reply .ph{color:var(--faint)}
.sx-reply p+p{margin-top:4px}
.sx-reply.filled{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent)}
.sx-draft{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:10.5px;font-weight:700;color:var(--c-ink);background:var(--c-soft);padding:2px 8px;border-radius:6px}
.sx-draft svg{width:12px;height:12px}
.sx-send{display:flex;gap:8px;justify-content:flex-end;font-size:11.5px;color:var(--muted)}
.sx-send span{padding:5px 10px;border:1px solid var(--line);border-radius:7px}
.sx-send b{padding:5px 14px;border-radius:7px;background:#232f3e;color:#fff}
.sx-ord{border-left:1px solid var(--line);padding:8px;background:#fafbfc}
.sx-kv{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;font-size:11.5px;padding:7px;border-radius:8px;background:#fff;border:1px solid var(--line)}
.sx-kv span{color:var(--muted)}
.sx-kv b{color:var(--ink);font-weight:600;text-align:right}
.sx-tick{margin-top:8px;display:flex;gap:8px;padding:7px;border-radius:8px;background:var(--c-soft);color:var(--c-ink)}
.sx-tick svg{width:16px;height:16px;flex:none;margin-top:2px}
.sx-tick b{display:block;font-size:11.5px}
.sx-tick small{font-size:10.5px}
@media(max-width:760px){.sx{grid-template-columns:minmax(0,1fr);min-height:0}.sx-list{display:none}.sx-ord{border-left:0;border-top:1px solid var(--line)}}

/* ---------- 业务系统示意：医疗 · HIS 工作站 ---------- */
.hx{min-height:clamp(340px,38vh,500px);display:flex;flex-direction:column;background:#f4f6fa}
.hx-tabs{display:flex;gap:2px;padding:5px 10px 0;background:#e9eef6;border-bottom:1px solid #dbe2ee;overflow:hidden}
.hx-tabs span{padding:5px 12px;font-size:12px;color:#5a6680;border-radius:6px 6px 0 0;white-space:nowrap}
.hx-tabs span.on{background:#fff;color:#1f55b8;font-weight:600;box-shadow:inset 0 2px 0 #2f6fe0}
.hx-pt{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;padding:8px 14px;background:#fff;border-bottom:1px solid #e3e8f0;font-size:12px;color:#44506a}
.hx-pt b{font-size:14px;color:#111}
.hx-alg{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:#fdecea;color:#c7281f;border:1px solid #f6c3be}
.hx-pt em{margin-left:auto;font-style:normal;font-size:11px;color:#8a93a6}
.hx-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:9px;padding:7px}
.hx-form,.hx-side{background:#fff;border:1px solid #e3e8f0;border-radius:8px;padding:9px 11px}
.hx-side{padding:9px}
.hx-form h6,.hx-side h6{font-size:12.5px;font-weight:700;color:#1d2433;margin-bottom:3px}
.hx-f{margin-top:5px}
.hx-f label{display:block;font-size:11px;color:#6b7489;margin-bottom:3px}
.hx-f label i{font-style:normal;color:#d6453d}
.hx-f label b.ok{color:var(--ok);font-weight:700}
.hx-in{min-height:26px;border:1px solid #d9dfea;border-radius:6px;padding:4px 8px;font-size:12px;line-height:1.5;color:#1d2433;background:#fff}
.hx-in.filled{border-color:var(--c);background:#f7faff}
.hx-in.en{color:#9aa3b2;font-style:italic}
.hx-sign{margin-top:8px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ok);padding:5px 10px;border-radius:6px;background:var(--ok-soft)}
.hx-sign svg{width:14px;height:14px;flex:none}
.hx-v{padding:4px 0;border-bottom:1px dashed #e3e8f0;font-size:11.5px}
.hx-v b{display:block;color:#1d2433;font-weight:600}
.hx-v small{color:#6b7489}
.hx-vs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}
.hx-vs span{padding:4px 5px;border-radius:6px;background:#f4f6fa;font-size:10.5px;color:#6b7489}
.hx-vs b{display:block;font-size:13px;color:#1d2433}
.hx-vs .lo b{color:#d6453d}
@media(max-width:760px){.hx-body{grid-template-columns:minmax(0,1fr)}.hx{min-height:0}}
/* 转写 */
.tr{display:grid;gap:6px}
.tr p{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;font-size:12px;line-height:1.6}
.tr .w{font-size:10.5px;font-weight:700;color:var(--muted);padding-top:1px}
.tr .w.d{color:var(--c-ink)}

/* ---------- 业务系统示意：创作 · 剪辑软件（深色） ---------- */
.sys.dark{background:#16151c;border-color:#2c2b37}
.sys.dark .sys-bar{background:#1d1c25;border-color:#2c2b37;color:#8c889c}
.sys.dark .sys-bar span{color:#dcd9e6}
.sys.dark .sys-bar i{background:#3a3947}
.ex{min-height:clamp(340px,38vh,500px);display:flex;flex-direction:column;color:#c8c5d3;font-size:11.5px}
.ex h6{font-size:11px;font-weight:700;color:#8c889c;margin-bottom:6px;letter-spacing:.04em}
.ex-top{flex:1;display:grid;grid-template-columns:124px minmax(0,1fr) 158px;border-bottom:1px solid #2c2b37}
.ex-bin,.ex-ins{padding:8px;background:#1b1a22}
.ex-bin{border-right:1px solid #2c2b37}
.ex-ins{border-left:1px solid #2c2b37}
.ex-clip{margin-bottom:6px}
.ex-clip .frame{border-radius:5px;aspect-ratio:auto;height:40px}
.ex-clip span{display:block;margin-top:2px;font-size:10px;color:#8c889c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-mon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;background:#111016}
.ex-screen{position:relative;width:128px}
.ex-screen .frame{border-radius:4px;box-shadow:0 0 0 1px #2c2b37}
.ex-sub{position:absolute;left:6px;right:6px;bottom:18%;text-align:center;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 3px #000,0 0 6px #000}
.ex-tc{font-family:var(--mono);font-size:11px;color:#f0b43c}
.ex-tc span{color:#6f6b80}
.ex-ins dl{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;font-size:11px}
.ex-ins dt{color:#6f6b80}
.ex-ins dd{text-align:right;color:#dcd9e6}
.ex-tl{position:relative;padding:4px 10px 6px;background:#1b1a22}
.ex-ru{display:flex;justify-content:space-between;padding:0 0 3px 74px;font-family:var(--mono);font-size:9.5px;color:#6f6b80}
.ex-tr{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:2px 0}
.ex-tr > span{font-size:10px;font-weight:600;color:#8c889c;white-space:nowrap}
.ex-tr .tl-track{height:16px;border-radius:4px;background:#23222c}
.ex-tr .tl-track i{color:#fff;font-size:9.5px}
.ex-empty{outline:1px dashed #4a4858;outline-offset:-1px}
.ex-empty.has{outline:0}
.ex-play{position:absolute;top:4px;bottom:6px;width:2px;background:#ff4d6d;z-index:2}
@media(max-width:760px){.ex-top{grid-template-columns:minmax(0,1fr)}.ex-bin,.ex-ins{display:none}.ex{min-height:0}}
/* 深色应用内的主题色适配 */
.app.dark{--c-soft:color-mix(in srgb,var(--c) 20%,#17161d);--c-ink:#ff9cc0;--ok-soft:#173a2a;--ok:#4fd08e;--warn-soft:#3a2e14;--warn:#f0b43c;--bad-soft:#3d1c1c}
.app.dark .evi{background:#262532;color:#a9a5b8}
.app.dark .mini-btn{background:#262532;border-color:#3a3947;color:#dcd9e6}
.beats{position:relative;display:flex;gap:3px;height:26px;margin:26px 0 4px}
.beats i{display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:700;border-radius:6px;background:var(--app-soft);color:var(--app-mute)}
.beats .bt{position:absolute;top:-24px;transform:translateX(-50%);font-size:10px;color:var(--app-mute);white-space:nowrap;text-align:center;line-height:1.2}
.beats .bt b{display:block;color:var(--app-ink);font-size:10.5px}
.beats .bt::after{content:"";display:block;width:2px;height:30px;margin:2px auto 0;background:var(--app-line)}
.beats .bt.on{color:var(--c-ink)}
.beats .bt.on b{color:#fff;background:var(--c);border-radius:4px;padding:0 5px}
.beats .bt.on::after{background:var(--c)}
.ol{margin-left:18px;display:grid;gap:4px;font-size:12px}
.ol li::marker{color:var(--c);font-weight:700}

/* ---------- 业务系统示意：制造 · 设备监控 ---------- */
.mx{min-height:clamp(340px,38vh,500px);display:flex;flex-direction:column;background:#eef1f5}
.mx-hd{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;padding:6px 14px;font-size:11.5px}
.mx-hd b{color:#fff;font-size:12.5px}
.mx-hd span{display:inline-flex;align-items:center;gap:6px}
.mx-hd em{margin-left:auto;font-style:normal;color:#aeb8c7}
.mx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}
.mx-m{background:#fff;border:1px solid #dde2ea;border-radius:8px;padding:5px 8px;font-size:11px;color:#56606e}
.mx-m.x{border-color:#f0b0ab;background:#fff6f5}
.mx-m.w{background:#fffaf0}
.mx-mt{display:flex;align-items:center;justify-content:space-between}
.mx-mt b{font-size:12.5px;color:#1d2433;font-family:var(--mono)}
.mx-m dl{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;margin-top:3px}
.mx-m dt{color:#8a93a6}
.mx-m dd{text-align:right;font-weight:600;color:#1d2433;font-family:var(--mono)}
.mx-m dd.hot{color:var(--bad)}
.mx-bot{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:6px;padding:0 8px 8px}
.mx-log,.mx-wo{background:#fff;border:1px solid #dde2ea;border-radius:8px;padding:7px}
.mx-log h6,.mx-wo h6{font-size:11.5px;font-weight:700;color:#1d2433;margin-bottom:5px}
.mx-wo b{display:block;font-family:var(--mono);font-size:13px;color:#1d2433}
.mx-wo small{display:block;font-size:11px;color:#6b7489;margin-top:2px}
.mlamps{display:flex;gap:10px;margin-top:8px;font-size:11px;color:var(--app-ink2)}
.mlamps span{display:inline-flex;align-items:center;gap:5px}
.d8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.d8-i{display:flex;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;min-width:0}
.d8-i > b{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:11px;background:var(--ok-soft);color:var(--ok)}
.d8-i.c > b{background:var(--c-soft);color:var(--c-ink)}
.d8-i.w > b{background:#f1f2f5;color:var(--faint)}
.d8-i strong{display:block;font-size:12px;color:var(--ink);font-weight:600}
.d8-i small{display:block;font-size:10.5px;color:var(--muted);line-height:1.45}
@media(max-width:900px){.mx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-bot{grid-template-columns:minmax(0,1fr)}.d8{grid-template-columns:repeat(2,minmax(0,1fr))}.mx{min-height:0}}

/* ==========================================================
   板块二：行业垂直 Agent 应用窗口
   ========================================================== */
.app{--app-bg:#fff;--app-line:var(--line);--app-ink:var(--ink);--app-ink2:var(--ink-2);--app-mute:var(--muted);--app-soft:var(--bg-soft);--app-panel:#fbfbfd;
  border-radius:18px;background:var(--app-bg);border:1px solid rgba(20,20,60,.1);box-shadow:var(--shadow-win);overflow:hidden;color:var(--app-ink2);font-size:12.5px}
.app-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--app-panel);border-bottom:1px solid var(--app-line)}
.app-bar .dots{display:flex;gap:6px}
.app-bar .dots i{width:10px;height:10px;border-radius:50%;background:#ff5f57}
.app-bar .dots i:nth-child(2){background:#febc2e}.app-bar .dots i:nth-child(3){background:#28c840}
.app-bar .nm{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--app-ink);font-size:13px;white-space:nowrap}
.app-bar .nm svg{width:22px;height:auto;fill:currentColor}
.app-bar .pack{font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--c-soft);color:var(--c-ink);white-space:nowrap}
.app-bar .sp{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--app-mute);white-space:nowrap}
.app-bar .sp .mdl{padding:3px 9px;border-radius:7px;border:1px solid var(--app-line)}
.app-bar .av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-size:11px;font-weight:700}
.app-roles{display:flex;gap:4px;padding:8px 10px 0;border-bottom:1px solid var(--app-line);overflow-x:auto;scrollbar-width:none;background:var(--app-bg)}
.app-roles::-webkit-scrollbar{display:none}
.role{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px 10px;border-radius:10px 10px 0 0;border:1px solid transparent;border-bottom:0;margin-bottom:-1px;color:var(--app-mute);transition:color .2s,background .2s}
.role .ri{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--app-soft);color:var(--app-mute)}
.role .ri svg{width:14px;height:14px}
.role b{display:block;font-size:12.5px;font-weight:600;color:inherit;line-height:1.2}
.role small{display:block;font-size:10.5px;opacity:.8;line-height:1.3}
.role:hover{color:var(--app-ink)}
.role[aria-selected="true"]{background:var(--app-bg);border-color:var(--app-line);color:var(--app-ink);box-shadow:inset 0 2px 0 var(--c)}
.role[aria-selected="true"] .ri{background:var(--c);color:#fff}
.role.more{opacity:.42;cursor:default}
.role.more:hover{color:var(--app-mute)}
.role.add{color:var(--app-mute);font-weight:600;font-size:12px;border:1px dashed var(--app-line);border-radius:10px;margin:0 0 8px 6px;padding:6px 10px}
.app-body{display:grid;grid-template-columns:230px minmax(0,1fr) 250px;height:680px}
.rail,.ctx{background:var(--app-panel);overflow:auto;scrollbar-width:thin;padding:14px 12px}
.rail{border-right:1px solid var(--app-line)}
.ctx{border-left:1px solid var(--app-line)}
.rail h5,.ctx h5{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--app-mute);margin:16px 2px 8px;display:flex;align-items:center;gap:6px}
.rail > h5:first-child,.ctx > h5:first-child{margin-top:0}
.rail h5 em,.ctx h5 em{font-style:normal;margin-left:auto;letter-spacing:0;font-weight:600}
.brief{padding:10px;border-radius:10px;background:var(--app-bg);border:1px solid var(--app-line);font-size:12px;line-height:1.6;color:var(--app-ink2)}
.brief .who{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--app-mute);margin-bottom:4px}
.brief .who i{width:16px;height:16px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:700}
.tasks{list-style:none;display:grid;gap:2px}
.tasks li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:12px;color:var(--app-ink2);white-space:nowrap;overflow:hidden}
.tasks li span{overflow:hidden;text-overflow:ellipsis;flex:1}
.tasks li.on{background:var(--app-bg);box-shadow:0 0 0 1px var(--app-line);color:var(--app-ink);font-weight:600}
.tasks li i{font-style:normal;font-size:10.5px;color:var(--app-mute)}
.tasks li .d{width:6px;height:6px;border-radius:50%;background:var(--app-line);flex:none}
.tasks li.on .d{background:var(--c)}
.pipe{list-style:none;position:relative;display:grid;gap:0}
.pipe li{position:relative;display:flex;gap:9px;padding:6px 2px 8px;font-size:12px;line-height:1.45;color:var(--app-ink2)}
.pipe li::before{content:"";position:absolute;left:10px;top:24px;bottom:-4px;width:1.5px;background:var(--app-line)}
.pipe li:last-child::before{display:none}
.pipe .s{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--app-bg);border:1.5px solid var(--app-line);position:relative;z-index:1}
.pipe li.ok .s{background:var(--c);border-color:var(--c)}
.pipe li.ok .s::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 1.8px 1.8px 0;transform:translateY(-1px) rotate(45deg)}
.pipe li.run .s{border-color:color-mix(in srgb,var(--c) 30%,transparent);border-top-color:var(--c);animation:spin .9s linear infinite}
.pipe li.wait .s{border-style:dashed}
.pipe b{display:block;font-weight:600;color:var(--app-ink);font-size:12px}
.pipe small{display:block;color:var(--app-mute);font-size:11px}
@keyframes spin{to{transform:rotate(360deg)}}
.plugs{display:flex;flex-wrap:wrap;gap:5px}
.plugs span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px 8px;border-radius:7px;background:var(--app-bg);border:1px solid var(--app-line);color:var(--app-ink2)}
.plugs span::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--c-2)}
.plugs span.sk::before{background:#e07a35}
.plugs span.cn::before{background:#6b5ce7}
.canvas{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--app-bg)}
.cv-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--app-line);min-width:0}
.cv-file{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600;color:var(--app-ink);font-size:12.5px}
.cv-file svg{flex:none;width:16px;height:16px;color:var(--c)}
.cv-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-state{flex:none;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px}
.cv-state.ok{background:var(--ok-soft);color:var(--ok)}
.cv-state.run{background:var(--c-soft);color:var(--c-ink)}
.cv-state.wait{background:var(--warn-soft);color:var(--warn)}
.cv-acts{margin-left:auto;display:flex;gap:6px;flex:none}
.cv-acts span{font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:8px;border:1px solid var(--app-line);color:var(--app-ink2);white-space:nowrap}
.cv-acts span.pri{background:var(--c);border-color:var(--c);color:#fff}
.cv-body{flex:1;overflow:auto;padding:18px;scrollbar-width:thin}
.cv-body > .dv{animation:fadeIn .45s var(--ease) both}
.ctx .card{background:var(--app-bg);border:1px solid var(--app-line);border-radius:12px;padding:12px}
.ctx .card + .card{margin-top:8px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:11.5px;margin-top:8px}
.kv dt{color:var(--app-mute);white-space:nowrap}
.kv dd{color:var(--app-ink);font-weight:500;text-align:right}
.ent{display:flex;align-items:center;gap:10px}
.ent .av{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--c-soft);color:var(--c-ink)}
.ent .av svg{width:18px;height:18px}
.ent b{display:block;font-size:13px;color:var(--app-ink)}
.ent small{display:block;font-size:11px;color:var(--app-mute)}
.srcs{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.srcs span{font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;background:var(--c-soft);color:var(--c-ink)}
.checks{list-style:none;display:grid;gap:6px}
.checks li{display:flex;gap:8px;font-size:11.5px;line-height:1.5;color:var(--app-ink2)}
.checks li::before{flex:none;content:"✓";width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:9.5px;font-weight:700;background:var(--ok-soft);color:var(--ok);margin-top:1px}
.checks li.w::before{content:"!";background:var(--warn-soft);color:var(--warn)}
.checks li.x::before{content:"×";background:var(--bad-soft);color:var(--bad)}
.handoff{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;border-radius:12px;background:var(--c-soft);color:var(--c-ink);font-weight:600;font-size:12px;transition:transform .2s var(--ease)}
.handoff:hover{transform:translateX(2px)}
.handoff small{display:block;font-weight:500;opacity:.85;font-size:11px}
.handoff .go{margin-left:auto;font-size:15px}
.app-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:9px 14px;border-top:1px solid var(--app-line);background:var(--app-panel);font-size:11px;color:var(--app-mute)}
.app-foot b{color:var(--app-ink2);font-weight:600}
.app-foot .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:5px}
@media(max-width:1180px){.app-body{grid-template-columns:210px minmax(0,1fr)}.ctx{display:none}}
@media(max-width:760px){
  .app-body{grid-template-columns:minmax(0,1fr);height:auto}
  .rail{border-right:0;border-bottom:1px solid var(--app-line);max-height:none}
  .rail .tasks,.rail .rail-tasks{display:none}
  .cv-body{max-height:640px}
  .cv-acts span:not(.pri){display:none}
  .app-bar .sp .mdl{display:none}
}
/* 内容创作：深色工作室 */
.app.dark{--app-bg:#17161d;--app-panel:#1d1c25;--app-line:#2c2b37;--app-ink:#f2f0f7;--app-ink2:#c8c5d3;--app-mute:#8c889c;--app-soft:#262532;color:var(--app-ink2)}
.app.dark .role[aria-selected="true"]{box-shadow:inset 0 2px 0 var(--c)}
.app.dark .cv-acts span{border-color:#3a3947}

/* 跨角色说明条 */
.roles-note{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.roles-note div{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.6}
.roles-note b{display:block;color:var(--ink);font-size:14px}
.roles-note svg{flex:none;width:20px;height:20px;color:var(--c-agent);margin-top:1px}
@media(max-width:800px){.roles-note{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================
   交付物通用部件（.dv）
   ========================================================== */
.dv{color:var(--app-ink2,var(--ink-2));font-size:12.5px;line-height:1.6;min-width:0}
.dv-h{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px;margin-bottom:14px}
.dv-h h4{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--app-ink,var(--ink));line-height:1.3}
.dv-h p{font-size:12px;color:var(--app-mute,var(--muted));margin-top:2px}
.verdict{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;font-weight:700;font-size:12.5px;background:var(--ok-soft);color:var(--ok);white-space:nowrap}
.verdict big{font-size:18px;line-height:1}
.verdict.w{background:var(--warn-soft);color:var(--warn)}
.verdict.c{background:var(--c-soft);color:var(--c-ink)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kpis.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{padding:10px 12px;border-radius:12px;background:var(--app-soft,var(--bg-soft));border:1px solid var(--app-line,var(--line))}
.kpi small{display:block;font-size:11px;color:var(--app-mute,var(--muted))}
.kpi b{display:block;margin-top:2px;font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--app-ink,var(--ink));line-height:1.2;font-variant-numeric:tabular-nums}
.kpi b sub{vertical-align:baseline;font-size:11px;font-weight:600;color:var(--app-mute,var(--muted));margin-left:2px}
.kpi i{display:block;font-style:normal;font-size:11px;font-weight:600;margin-top:2px}
.up{color:var(--ok)}.dn{color:var(--bad)}.wn{color:var(--warn)}
.st{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--app-mute,var(--faint));margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.st::after{content:"";flex:1;height:1px;background:var(--app-line,var(--line))}
.st em{font-style:normal;order:2;letter-spacing:0;font-weight:600}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.g12{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px}
.box{padding:12px;border-radius:12px;border:1px solid var(--app-line,var(--line));background:var(--app-bg,#fff);min-width:0}
.box.soft{background:var(--app-soft,var(--bg-soft))}
.box.c{background:var(--c-soft);border-color:color-mix(in srgb,var(--c) 25%,#fff)}
.box h6{font-size:12px;font-weight:600;color:var(--app-ink,var(--ink));margin-bottom:6px;display:flex;align-items:center;gap:6px}
.box h6 em{font-style:normal;margin-left:auto;font-size:11px;font-weight:600;color:var(--app-mute,var(--muted))}
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--app-mute,var(--muted));text-align:left;padding:4px 8px;border-bottom:1px solid var(--app-line,var(--line));white-space:nowrap;background:var(--app-soft,var(--bg-soft))}
.tbl td{padding:4px 8px;border-bottom:1px solid var(--app-line,var(--line));vertical-align:top;color:var(--app-ink2,var(--ink-2))}
.tbl tr:last-child td{border-bottom:0}
.tbl td.n,.tbl th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl td b{color:var(--app-ink,var(--ink));font-weight:600}
.tbl .mono{font-family:var(--mono);font-size:11px}
.tbl tr.hi td{background:color-mix(in srgb,var(--c) 6%,transparent)}
.tw{overflow-x:auto;border:1px solid var(--app-line,var(--line));border-radius:12px}
.tw .tbl{min-width:520px}
.tag{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap;background:var(--app-soft,#f2f3f7);color:var(--app-mute,var(--muted))}
.tag.ok{background:var(--ok-soft);color:var(--ok)}
.tag.w{background:var(--warn-soft);color:var(--warn)}
.tag.x{background:var(--bad-soft);color:var(--bad)}
.tag.c{background:var(--c-soft);color:var(--c-ink)}
.brs{display:grid;gap:7px}
.br{display:grid;grid-template-columns:minmax(70px,auto) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:12px}
.br .l{color:var(--app-ink2,var(--ink-2));white-space:nowrap}
.br .t{height:8px;border-radius:99px;background:var(--app-soft,#eef0f4);overflow:hidden}
.br .t i{display:block;height:100%;border-radius:inherit;background:var(--c);transform-origin:left;animation:grow .9s var(--ease) both}
.br .v{font-weight:600;color:var(--app-ink,var(--ink));font-variant-numeric:tabular-nums;font-size:11.5px}
@keyframes grow{from{transform:scaleX(0)}}
.chart{display:block;width:100%;height:auto;overflow:visible}
.chart text{font-size:9.5px;fill:var(--app-mute,#8e8e93);font-family:var(--sans)}
.chart .ax{stroke:var(--app-line,#ececf0)}
.lg{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--app-mute,var(--muted));margin-top:6px}
.lg span{display:inline-flex;align-items:center;gap:5px}
.lg i{width:10px;height:3px;border-radius:2px;background:var(--k)}
.note{margin-top:12px;display:flex;gap:10px;padding:10px 12px;border-radius:12px;background:var(--app-soft,var(--bg-soft));font-size:12px;line-height:1.65}
.note svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--c)}
.note.w{background:var(--warn-soft);color:#7a5000}
.note.w svg{color:var(--warn)}
.note b{color:var(--app-ink,var(--ink))}
.note.w b{color:#5c3c00}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:8px;font-size:11.5px;font-weight:600;background:var(--app-soft,var(--bg-soft));color:var(--app-ink2,var(--ink-2));border:1px solid var(--app-line,var(--line))}
.chip.c{background:var(--c-soft);border-color:transparent;color:var(--c-ink)}
.mark{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--c) 28%,transparent) 58%);color:inherit}
del{color:var(--bad);text-decoration:line-through;background:var(--bad-soft);padding:0 2px;border-radius:3px}
ins{color:var(--ok);text-decoration:none;background:var(--ok-soft);padding:0 2px;border-radius:3px}
.sheet{background:#fff;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.02),0 10px 30px -18px rgba(20,20,60,.35);border:1px solid var(--line);padding:22px 24px;color:#2b2b33;position:relative}
.wm{position:absolute;right:16px;top:14px;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;border:1px dashed var(--warn);color:var(--warn);background:var(--warn-soft)}
.frame{position:relative;border-radius:8px;overflow:hidden;background:var(--bg,#223);aspect-ratio:16/9}
.frame.v{aspect-ratio:9/16}
.frame.sq{aspect-ratio:1/1}
.frame.p34{aspect-ratio:3/4}
.frame svg{position:absolute;inset:0;width:100%;height:100%}
.frame .cap{position:absolute;left:6px;right:6px;bottom:6px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);line-height:1.35}
.frame .tc{position:absolute;left:6px;top:6px;font-family:var(--mono);font-size:9.5px;padding:1px 5px;border-radius:4px;background:rgba(0,0,0,.45);color:#fff}
.prog{height:6px;border-radius:99px;background:var(--app-soft,#eef0f4);overflow:hidden}
.prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--c),var(--c-2))}
@media(max-width:760px){.g2,.g12{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- 行业专属部件 ---------- */
/* 跨境：商品详情页预览 */
.pdp{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px}
.pdp-gal{display:grid;grid-template-columns:34px 1fr;gap:8px}
.pdp-th{display:grid;gap:6px;align-content:start}
.pdp-th i{display:block;aspect-ratio:1;border-radius:6px;border:1px solid var(--line);background:#fff}
.pdp-th i.on{border-color:var(--c);box-shadow:0 0 0 1px var(--c)}
.pdp-main{aspect-ratio:1;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.pdp h5{font-size:14.5px;font-weight:600;line-height:1.45;color:var(--ink)}
.pdp .star{margin-top:6px;font-size:12px;color:#c98210;letter-spacing:1px}
.pdp .star span{color:var(--muted);letter-spacing:0;margin-left:6px}
.pdp .pr{margin-top:6px;font-size:20px;font-weight:600;color:var(--ink)}
.pdp .pr small{font-size:12px;color:var(--muted);font-weight:500;margin-left:6px}
.pdp ul{margin:10px 0 0 16px;display:grid;gap:5px}
.pdp ul b{color:var(--ink)}
.lang{display:inline-flex;padding:3px;border-radius:10px;background:var(--bg-soft);border:1px solid var(--line);gap:2px}
.lang button{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:7px;color:var(--muted)}
.lang button.on{background:#fff;color:var(--c-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
@media(max-width:760px){.pdp{grid-template-columns:minmax(0,1fr)}.pdp-gal{max-width:260px}}
/* 跨境：图组 */
.imgset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.imgset figure{margin:0}
.imgset .frame{border:1px solid var(--line)}
.imgset figcaption{margin-top:5px;display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--muted)}
.imgset figcaption b{color:var(--ink);font-weight:600}
/* 分镜条 */
.board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.board .sh{min-width:0}
.board .sh b{display:block;margin-top:5px;font-size:11px;color:var(--app-ink,var(--ink))}
.board .sh p{font-size:10.5px;line-height:1.5;color:var(--app-mute,var(--muted))}
@media(max-width:900px){.board{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 时间线 */
.tl{border:1px solid var(--app-line,var(--line));border-radius:12px;overflow:hidden;background:var(--app-soft,var(--bg-soft))}
.tl-ruler{display:flex;justify-content:space-between;padding:5px 10px 4px 64px;font-family:var(--mono);font-size:9.5px;color:var(--app-mute,var(--faint));border-bottom:1px solid var(--app-line,var(--line))}
.tl-row{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:4px 10px;position:relative}
.tl-row > span{font-size:10.5px;font-weight:600;color:var(--app-mute,var(--muted))}
.tl-track{position:relative;height:20px}
.tl-track i{position:absolute;top:2px;bottom:2px;border-radius:4px;background:var(--k,var(--c));opacity:.9;font-style:normal;font-size:9px;color:#fff;padding:0 4px;overflow:hidden;white-space:nowrap;line-height:16px}
.tl-play{position:absolute;top:0;bottom:0;width:2px;background:#ff4d6d;z-index:2}
.tl-play::before{content:"";position:absolute;top:0;left:-4px;border:5px solid transparent;border-top-color:#ff4d6d}
/* 医疗：病历 */
.emr-f{display:grid;grid-template-columns:auto 84px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px dashed #e4e6ec}
.emr-f:last-of-type{border-bottom:0}
.emr-f .lb{font-weight:600;color:#1d1d24;font-size:12.5px;padding-top:1px}
.emr-f .tx{color:#3a3a44;line-height:1.7}
.emr-f.off .tx{color:#9a9aa2;font-style:italic}
.emr-hd{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 12px;border-radius:10px;background:#f5f8fe;font-size:12px;color:#44506a;margin:10px 0 6px}
.emr-hd b{color:#1d1d24}
.sign-bar{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#f5f8fe;border:1px solid #dbe6fb}
.sign-bar .sp{margin-left:auto;display:flex;gap:6px}
/* 公文 */
.gw-red{color:#c7281f;text-align:center;font-family:var(--serif);font-size:22px;letter-spacing:.3em;font-weight:700}
.gw-line{height:2px;background:#c7281f;margin:8px 0 14px}
.gw-no{text-align:center;font-size:12px;color:#555;margin-top:6px}
.gw-t{text-align:center;font-family:var(--serif);font-size:16px;font-weight:700;color:#1d1d24;margin:6px 0 12px;line-height:1.5}
.gw p{font-family:var(--serif);font-size:13px;line-height:2;color:#2b2b33;text-indent:2em}
.gw p.ni{text-indent:0}
/* 创作：漫画页 */
.comic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:78px;gap:6px;padding:8px;background:#fff;border-radius:6px}
.pn{position:relative;border:2px solid #111;overflow:hidden;background:#f4f4f4}
.pn svg{position:absolute;inset:0;width:100%;height:100%}
.bub{position:absolute;z-index:2;background:#fff;border:1.5px solid #111;border-radius:14px;padding:3px 7px;font-size:10px;font-weight:600;color:#111;line-height:1.35;max-width:62%}
.bub.th{border-radius:50%;padding:6px 9px;border-style:dashed}
.bub.box{border-radius:2px;background:#fffbe8}
.pn .no{position:absolute;left:4px;top:3px;z-index:2;font-family:var(--mono);font-size:9px;color:#111;background:#fff;padding:0 3px}
/* 创作：小说正文 */
.prose{font-family:var(--serif);font-size:14px;line-height:2;color:#e9e6f2}
.prose p{text-indent:2em;margin-bottom:6px}
.anno{margin-top:6px;padding:8px 10px;border-radius:9px;background:#262532;border-left:3px solid var(--c);font-size:11.5px;line-height:1.6;color:#c8c5d3}
.anno.w{border-left-color:#f0b43c}
.anno b{color:#fff}
/* 创作：歌曲结构 */
.song{display:flex;gap:3px;height:34px;border-radius:8px;overflow:hidden}
.song i{display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:700;color:#fff;background:var(--k);min-width:0;overflow:hidden;white-space:nowrap}
.lyr{font-family:var(--serif);font-size:13.5px;line-height:1.95;color:#e9e6f2}
.lyr .sec{display:block;font-family:var(--sans);font-size:10.5px;font-weight:700;color:var(--c-2);letter-spacing:.1em;margin-top:8px}
.lyr .cd{display:inline-block;font-family:var(--mono);font-size:10px;color:#f0b43c;margin-right:6px;min-width:22px}
.lyr u{text-decoration:none;color:#fff;background:color-mix(in srgb,var(--c) 45%,transparent);border-radius:3px;padding:0 2px}
/* 制造：SOP */
.sop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sop-s{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.sop-s .pic{height:86px;background:#f3f4f7;display:grid;place-items:center;border-bottom:1px solid var(--line);position:relative}
.sop-s .pic svg{width:70%;height:80%}
.sop-s .pic .n{position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:6px;background:#2f3a4a;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.sop-s .bd{padding:8px 10px}
.sop-s .bd b{display:block;font-size:12px;color:var(--ink)}
.sop-s .bd p{font-size:11px;color:var(--muted);line-height:1.55;margin-top:2px}
.sop-s .kp{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.sop-s .kp span{font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;background:#eef2f8;color:#34507d}
.sop-s .kp span.pf{background:var(--warn-soft);color:var(--warn)}
@media(max-width:900px){.sop{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 制造：甘特 */
.gantt{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.gt-h,.gt-r{display:grid;grid-template-columns:92px repeat(7,minmax(0,1fr))}
.gt-h span{font-size:10.5px;font-weight:700;color:var(--muted);padding:6px 6px;border-left:1px solid var(--line);background:var(--bg-soft);text-align:center}
.gt-h span:first-child{border-left:0;text-align:left}
.gt-r{position:relative;border-top:1px solid var(--line);height:44px}
.gt-r .ln{grid-column:1;font-size:11.5px;font-weight:600;color:var(--ink);padding:6px 8px;line-height:1.25}
.gt-r .ln small{display:block;font-size:10px;font-weight:500;color:var(--muted)}
.gt-r .cells{grid-column:2 / -1;position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/7 - 1px),var(--line) calc(100%/7 - 1px),var(--line) calc(100%/7))}
.gt-b{position:absolute;top:8px;height:26px;border-radius:6px;font-size:10px;font-weight:700;color:#fff;padding:0 6px;line-height:26px;white-space:nowrap;overflow:hidden;background:var(--k)}
.gt-b.mt{background:repeating-linear-gradient(135deg,#8a94a6 0 6px,#a3acbc 6px 12px)}
.gt-b.cf{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bad)}
/* 制造：HMI 顶栏 */
.hmi{background:#2f3a4a;color:#dfe5ee}
.lamp{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(31,157,99,.18)}
.lamp.w{background:var(--warn);box-shadow:0 0 0 3px rgba(201,130,16,.2)}
.lamp.x{background:var(--bad);box-shadow:0 0 0 3px rgba(214,69,61,.2);animation:blinkL 1s steps(1) infinite}
.lamp.off{background:#9aa3b2;box-shadow:none}
@keyframes blinkL{50%{opacity:.35}}
.gauge{position:relative;width:120px;height:66px;margin:0 auto}
.gauge svg{width:100%;height:100%}
.gauge b{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:20px;font-weight:600;color:var(--ink)}

/* ==========================================================
   架构
   ========================================================== */
#arch{background:#fff}
.arch{margin-top:clamp(36px,5vh,52px);display:grid;gap:10px}
.ar-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:stretch}
.ar-lb{display:flex;flex-direction:column;justify-content:center;padding:4px 0}
.ar-lb b{font-size:14px;font-weight:600}
.ar-lb small{font-size:12px;color:var(--muted)}
.ar-cells{display:grid;gap:10px}
.ar-cells.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ar-cells.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ar-cells.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ar{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--muted);line-height:1.6}
.ar b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:2px}
.ar.pu{background:#f5f3ff;border-color:#e2ddff}
.ar.pu b{color:#4b3bc9}
.ar.or{background:#fff6ef;border-color:#fbe0cc}
.ar.or b{color:#a24d15}
.ar.ind{border-top:3px solid var(--c)}
.ar.ind b{color:var(--c-ink)}
.ar.dash{border-style:dashed;background:var(--bg-soft)}
.ar .sub{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.ar .sub span{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:7px;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.05);color:var(--ink-2)}
.ar-arrow{display:flex;justify-content:center;color:var(--faint);font-size:12px;letter-spacing:.2em;gap:8px;align-items:center}
.ar-arrow::before,.ar-arrow::after{content:"";height:1px;width:60px;background:var(--line-strong)}
@media(max-width:900px){.ar-row{grid-template-columns:minmax(0,1fr);gap:8px}.ar-cells.c5,.ar-cells.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-cells.c2{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================
   数据与部署 / FAQ / 收尾
   ========================================================== */
#deploy{background:var(--bg-soft)}
.dep-grid{margin-top:clamp(32px,5vh,48px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dep{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.dep .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#f3f1ff;color:var(--c-agent)}
.dep .ic svg{width:21px;height:21px}
.dep h4{margin-top:14px;font-size:16px;font-weight:600}
.dep p{margin-top:6px;font-size:13.5px;color:var(--muted);line-height:1.7}
@media(max-width:1000px){.dep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dep-grid{grid-template-columns:minmax(0,1fr)}}

#faq{background:#fff}
.faq{margin:clamp(28px,4vh,44px) auto 0;max-width:860px;display:grid;gap:10px}
.faq details{border:1px solid var(--line);border-radius:16px;background:#fff;transition:border-color .25s,box-shadow .25s}
.faq details[open]{border-color:#ddd8ff;box-shadow:0 12px 30px -22px rgba(107,92,231,.6)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;font-size:15px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq .a{padding:0 20px 18px;font-size:14px;color:var(--muted);line-height:1.8}
.faq .a b{color:var(--ink-2)}

#closing{position:relative;overflow:hidden;text-align:center;padding:clamp(88px,13vh,140px) 0 0;background:linear-gradient(180deg,#fff 0%,#f6f3ff 55%,#fbeee4 100%)}
#closing::before{content:"";position:absolute;left:50%;bottom:-40%;width:130vw;height:80%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(255,190,140,.4),rgba(170,150,245,.2) 40%,transparent 66%);pointer-events:none}
#closing .inner{position:relative}
#closing h2{font-size:clamp(28px,3.4vw,44px);font-weight:600;letter-spacing:-.02em;text-wrap:balance}
#closing p.lead{margin:14px auto 0;max-width:36em;color:var(--muted)}
.trial-pick{margin:26px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.trial-pick button{padding:8px 16px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.8);font-size:14px;font-weight:600;color:var(--ink-2);transition:all .2s}
.trial-pick button[aria-pressed="true"]{border-color:var(--c);background:var(--c);color:#fff}
#closing .btn{margin-top:22px}
.trial-tip{margin-top:12px;min-height:20px;font-size:13px;color:var(--c-agent)}
.cross{margin:clamp(56px,8vh,88px) auto 0;max-width:860px;display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}
.cross a{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.8);border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s}
.cross a:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px var(--k)}
.cross a i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--k);box-shadow:0 0 0 4px color-mix(in srgb,var(--k) 18%,transparent)}
.cross b{display:block;font-size:15px}
.cross small{display:block;font-size:13px;color:var(--muted)}
.cross .go{margin-left:auto;font-size:18px;color:var(--k)}
@media(max-width:640px){.cross{grid-template-columns:minmax(0,1fr)}}
#closing .icp-line{position:relative;margin-top:clamp(56px,8vh,90px);color:#a09a98}
.disclaim{margin-top:12px;font-size:12px;color:var(--faint);text-align:center}

@media(prefers-reduced-motion:reduce){
  #hero .glow,.hv-pill .orb::after,.fab .orb.live::after,.pipe li.run .s,.lamp.x{animation:none}
  .hv-card,.swap{transition:none}
  .br .t i,.cv-body > .dv,.rec,.wf li{animation:none}
}
