/* ============================================================
   rectify_a2.css — A-F 细节（前缀 .a2-*，与 g/c/h 共存）
   配色零改动：全部沿用既有浅蓝白体系（#E4EDF8/#38BDF8/#3D6DA8 等）
   ============================================================ */

/* ---------- A 节点缩略图真实化 ---------- */
/* 图区略增大，视觉成主体；节点外盒仍 232×218，只重排内部分配 */
#graphView.light .graph-node .gn-thumb {
  height: 126px; margin-bottom: 6px;
}
#graphView.light .graph-node .gn-visual {
  min-height: 38px; margin-bottom: 5px; -webkit-line-clamp: 2;
}
/* 真实参考图：铺满、圆角（沿用既有 object-fit:cover） */
#graphView.light .graph-node .gn-thumb img.a2-realthumb {
  width:100%; height:100%; object-fit:cover; display:block;
}
/* 无图占位：待生成引导（浅蓝虚线框 + 居中提示，非灰死框） */
#graphView.light .graph-node .gn-thumb-ph.a2-todo {
  background: repeating-linear-gradient(135deg,#EEF4FB 0 10px,#E6EFFA 10px 20px);
  border: 1.5px dashed #B9D2EC; border-radius:8px;
  color:#5A7BA6; font-size:12px; gap:4px; padding:8px; text-align:center;
}
#graphView.light .graph-node .gn-thumb-ph.a2-todo em {
  font-style:normal; font-weight:600; color:#3D6DA8; font-size:12px;
}
#graphView.light .graph-node .gn-thumb-ph.a2-todo .a2-ph-sub {
  font-size:12px; color:#909399;
}
#graphView.light .graph-node .gn-thumb-ph.a2-todo svg { color:#38BDF8; opacity:.5; }

/* ---------- B 资产节点（素材卡，同镜头卡体系） ---------- */
.graph-node.a2-asset { width:200px; }
.graph-node.a2-asset .gn-thumb { height:150px; }
.graph-node.a2-asset .gn-visual { min-height:0; -webkit-line-clamp:1; }
#graphView.light .graph-node.a2-asset {
  border:1.5px solid #9CC0E8; background:linear-gradient(180deg,#F4F9FE,#EAF2FB);
}
.graph-node.a2-asset .gn-anchor { background:#00b42a; border-color:#8FD9B8; }
.a2-asset-tag {
  position:absolute; left:8px; top:8px; z-index:2; font-size:12px; font-weight:700;
  padding:1px 6px; border-radius:4px; background:#E4F3EA; color:#3C8A5F; border:1px solid #BCE0CB;
}
.a2-drop-hint {
  position:absolute; inset:0; z-index:30; display:none; align-items:center; justify-content:center;
  background:rgba(228,240,251,.75); border:2px dashed #38BDF8; border-radius:12px;
  color:#3D6DA8; font-size:13px; font-weight:600; pointer-events:none;
}
#graphView.a2-dragover .a2-drop-hint { display:flex; }

/* ---------- C 技能标签分组 ---------- */
#gSkillTags { padding:8px 10px; border-top:1px solid #f5f7fa; }
#gSkillTags .a2-st-title { font-size:12px; font-weight:700; color:#4E6B92; margin-bottom:6px; }
#gSkillTags .a2-st-group { margin-bottom:8px; }
#gSkillTags .a2-st-label {
  display:inline-block; font-size:12px; padding:2px 8px; border-radius:20px; cursor:pointer;
  background:#E4F0FC; color:#3D6DA8; border:1px solid #C4DBF2; margin-bottom:4px;
}
#gSkillTags .a2-st-label:hover { background:#D3E6FA; }
#gSkillTags .a2-st-members { font-size:12px; color:#7E93AF; line-height:1.5; }
#gSkillTags .a2-st-members b { color:#4E6B92; font-weight:600; cursor:pointer; }
#gSkillTags .a2-st-members b:hover { text-decoration:underline; }

/* 定位节点闪一下 */
#graphView.light .graph-node.a2-flash {
  box-shadow:0 0 0 3px #38BDF8, 0 6px 18px rgba(56,189,248,.4);
  transition:box-shadow .15s;
}

/* ---------- A 点击放大预览 lightbox（浅蓝白体系，非深色遮罩） ---------- */
.a2-lightbox {
  position:fixed; inset:0; z-index:9999; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:12px;
  background:rgba(228,240,251,.92); cursor:zoom-out;
}
.a2-lightbox img {
  max-width:88vw; max-height:82vh; border-radius:12px;
  box-shadow:0 10px 40px rgba(61,109,168,.35); border:3px solid #fff;
}
.a2-lb-tip { font-size:12px; color:#3D6DA8; font-weight:600; }

/* ---------- C 分组折叠 ---------- */
.a2-st-group .a2-st-label { cursor:pointer; user-select:none; }
.a2-st-group .a2-st-label i { font-style:normal; opacity:.6; font-weight:400; }
.a2-st-group[data-a2open="0"] .a2-st-members { display:none; }
.a2-st-group[data-a2open="0"] .a2-st-label { opacity:.75; }
.a2-st-item { font-size:12px; color:#4E6B92; line-height:1.9; }
.a2-st-item .a2-st-q { font-style:normal; font-size:12px; background:#e6f4ff; color:#3D6DA8; border-radius:8px; padding:0 5px; margin-left:4px; }
.a2-st-empty { font-size:12px; color:#9DB4D0; }
.a2-sum-btn {
  display:block; width:100%; margin:8px 0; padding:6px 0; border-radius:8px; cursor:pointer;
  background:linear-gradient(180deg,#D8E9FB,#C6DFF8); color:#303133; border:1px solid #A9C9EC; font-size:12px; font-weight:600;
}
.a2-sum-btn:hover { background:#CBE2FA; }
.a2-think { background:#F2F8FE; border:1px solid #dcdfe6; border-radius:8px; padding:8px; margin-bottom:8px; }
.a2-think.hidden { display:none; }
.a2-think-t { font-size:12px; font-weight:700; color:#4E6B92; margin-bottom:4px; }
.a2-think-b { font-family:inherit; font-size:12px; color:#5A7BA6; white-space:pre-wrap; line-height:1.6; margin:0; }

/* ---------- H 类型徽标（浅蓝白小徽，镜头蓝/素材绿） ---------- */
.a2-type-badge {
  font-size:12px; font-weight:700; padding:1px 6px; border-radius:4px; margin-right:4px;
  background:#E4F0FC; color:#3D6DA8; border:1px solid #C4DBF2;
}
.a2-type-badge.shot { background:#E4F0FC; color:#3D6DA8; }
.graph-node.a2-asset .a2-asset-tag { /* 素材徽标已由既有标签承担 */ }

/* ---------- G 区块折叠 + 底部导航条 ---------- */
.graph-node.a2-sc-hidden { display:none !important; }
.gv-scene-box.a2-sc-collapsed { height:40px !important; }
.gv-scene-box.a2-sc-collapsed .gv-scene-title { opacity:.85; }
#graphView.light .gv-scene-box { /* 浅背景已在 g 包；不动 */ }
#a2BlockNav {
  position:absolute; left:50%; bottom:56px; transform:translateX(-50%); z-index:26;
  display:flex; align-items:center; gap:6px; padding:5px 12px; border-radius:20px;
  background:rgba(255,255,255,.92); border:1px solid #dcdfe6; box-shadow:0 4px 14px rgba(56,189,248,.25);
}
.a2bn-title { font-size:12px; font-weight:700; color:#909399; }
#a2BlockNav button {
  font-size:12px; padding:2px 10px; border-radius:12px; border:1px solid #C4DBF2;
  background:#ffffff; color:#3D6DA8; cursor:pointer;
}
#a2BlockNav button:hover { background:#e6f4ff; }
#a2BlockNav button.on { background:#3D6DA8; color:#fff; border-color:#3D6DA8; }
#a2BlockNav button.off { opacity:.55; text-decoration:line-through; }

/* ---------- I 只读提示条 ---------- */
.a2-ro-banner {
  position:absolute; top:8px; left:50%; transform:translateX(-50%); z-index:26;
  display:flex; align-items:center; gap:10px; padding:6px 14px; border-radius:8px;
  background:#FFF7E8; border:1px solid #F0D9A8; color:#8A6D2F; font-size:12px; font-weight:600;
}
.a2-ro-banner.hidden { display:none; }
.a2-ro-copy {
  padding:3px 12px; border-radius:8px; border:1px solid #D9B878; background:#fff;
  color:#8A6D2F; cursor:pointer; font-size:12px; font-weight:700;
}
.a2-ro-copy:hover { background:#FFF1D6; }

/* ---------- K 生成成功闪光动效（浅蓝白 CSS 动画，不生图） ---------- */
#graphView.light .graph-node.a2-success {
  animation: a2flash 1.5s ease-out;
}
@keyframes a2flash {
  0%   { box-shadow:0 0 0 0 rgba(120,194,154,.9), 0 0 24px 6px rgba(95,194,154,.8); border-color:#00b42a; }
  60%  { box-shadow:0 0 0 4px rgba(120,194,154,.35), 0 0 18px 4px rgba(95,194,154,.45); }
  100% { box-shadow:0 0 0 0 rgba(120,194,154,0); }
}

/* ---------- L 成片总结报告（浅蓝白卡片） ---------- */
.a2-report-mask {
  position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center;
  background:rgba(228,240,251,.85);
}
.a2-report {
  width:420px; max-width:92vw; background:#fff; border:1px solid #dcdfe6; border-radius:12px;
  padding:20px 22px; box-shadow:0 12px 44px rgba(61,109,168,.28);
}
.a2-report h4 { margin:0 0 6px; font-size:16px; color:#303133; }
.a2r-name { font-size:12px; color:#909399; margin-bottom:12px; }
.a2r-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.a2r-cell {
  background:#ffffff; border:1px solid #dcdfe6; border-radius:12px; padding:10px;
  display:flex; flex-direction:column; gap:2px;
}
.a2r-cell b { font-size:20px; color:#303133; }
.a2r-cell span { font-size:12px; color:#909399; }
.a2r-sub { font-size:12px; color:#909399; margin:10px 0; line-height:1.5; }
.a2r-acts { display:flex; gap:8px; justify-content:flex-end; }

/* ---------- M/N/O/P 通用（浅蓝白） ---------- */
.w2-mask {
  position:fixed; inset:0; z-index:2100; display:flex; align-items:center; justify-content:center;
  background:rgba(228,240,251,.85);
}
.w2-card {
  width:440px; max-width:92vw; max-height:86vh; overflow:auto;
  background:#fff; border:1px solid #dcdfe6; border-radius:12px;
  padding:18px 20px; box-shadow:0 12px 44px rgba(61,109,168,.28);
}
.w2-card h4 { margin:0 0 10px; font-size:16px; color:#303133; }
.w2-sub2 { font-size:12px; color:#909399; font-weight:400; margin-left:6px; }
.w2-lab { font-size:12px; color:#909399; margin:10px 0 5px; font-weight:600; }
.w2-chips { display:flex; flex-wrap:wrap; gap:6px; }
.w2-chip {
  padding:6px 12px; border-radius:999px; border:1px solid #dcdfe6; background:#ffffff;
  color:#303133; font-size:12px; cursor:pointer;
}
.w2-chip.on { background:#e6f4ff; border-color:#7FB2E8; color:#303133; font-weight:700; }
.w2-stage {
  position:relative; height:150px; border:1px solid #dcdfe6; border-radius:12px;
  background:linear-gradient(#F4F9FE 0 62%, #E3EEFA 62%); overflow:hidden;
}
.w2-floor { position:absolute; left:0; right:0; top:62%; border-top:1px dashed #A9C8EA; }
.w2-dot {
  position:absolute; width:26px; height:26px; border-radius:50%;
  background:#fff; border:2px solid #38BDF8; color:#303133;
  font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; cursor:grab;
  box-shadow:0 2px 6px rgba(61,109,168,.2);
}
.w2-cam { position:absolute; font-size:16px; }
.w2-row { margin:9px 0; }
.w2-row label { display:block; font-size:12px; color:#909399; margin-bottom:4px; }
.w2-row select {
  width:100%; padding:8px 10px; border-radius:8px; border:1px solid #dcdfe6;
  background:#F7FBFF; color:#303133; font-size:13px; outline:none;
}
.w2-note { font-size:12px; color:#909399; background:#ffffff; border-radius:8px; padding:6px 9px; }
.w2-acts { display:flex; gap:8px; justify-content:flex-end; margin-top:14px; }

/* 字幕层 */
#w2SubBar {
  position:absolute; left:0; right:0; bottom:44px; height:46px;
  background:rgba(255,255,255,.9); border-top:1px solid #dcdfe6;
  overflow-x:auto; overflow-y:hidden; z-index:50;
}
#w2SubTrack { display:flex; gap:4px; padding:5px 10px; width:max-content; }
.w2-sub-item {
  flex:none; padding:3px 7px; border-radius:8px; border:1px solid #e6f4ff;
  background:#F7FBFF; cursor:pointer;
}
.w2-sub-item.on { background:#e6f4ff; border-color:#7FB2E8; }
.w2-sub-l { font-size:12px; color:#303133; font-weight:700; }
.w2-sub-t { font-size:12px; color:#909399; max-width:120px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

/* 导出预览 */
.w2x-img {
  height:180px; border-radius:12px; border:1px solid #dcdfe6; background:#ffffff center/cover no-repeat;
  display:flex; align-items:center; justify-content:center; color:#9DBBE0; font-size:12px;
}
.w2x-img.w2x-empty::after { content:'（无参考图）'; }
.w2x-n { font-size:12px; color:#303133; font-weight:700; margin-top:8px; }
.w2x-t { font-size:12px; color:#303133; margin-top:3px; line-height:1.5; }

/* 规划中空态 */
.w2-soon { text-align:center; }
.w2-soon-icon { font-size:36px; }
.w2-soon-d { font-size:13px; color:#303133; line-height:1.7; margin:10px 0; }

/* ---------- Q 小地图 + 骨架屏 + 进度动画 ---------- */
#w2Mini {
  position:absolute; right:260px; bottom:56px; width:140px; height:90px;
  background:rgba(255,255,255,.92); border:1px solid #dcdfe6; border-radius:8px;
  overflow:hidden; cursor:pointer; z-index:60;
}
.w2-mm-dot { position:absolute; width:5px; height:5px; border-radius:2px; }
#w2Skeleton {
  position:fixed; inset:0; background:#F2F8FE; z-index:3000; transition:opacity .3s;
  padding:60px;
}
#w2Skeleton.done { opacity:0; pointer-events:none; }
.w2-sk-bar, .w2-sk-node {
  background:linear-gradient(90deg,#E3EEFA 25%,#ffffff 50%,#E3EEFA 75%);
  background-size:200% 100%; animation:w2sk 1.2s infinite; border-radius:12px; margin-bottom:14px;
}
.w2-sk-bar { height:34px; width:60%; }
.w2-sk-node { height:120px; width:180px; }
@keyframes w2sk { from { background-position:200% 0; } to { background-position:-200% 0; } }
.w2-prog {
  margin-top:6px; display:flex; align-items:center; gap:6px;
  background:#ffffff; border:1px solid #dcdfe6; border-radius:8px; padding:4px 8px;
}
.w2-spin {
  width:12px; height:12px; border:2px solid #dcdfe6; border-top-color:#38BDF8;
  border-radius:50%; animation:w2spin .8s linear infinite;
}
@keyframes w2spin { to { transform:rotate(360deg); } }
.w2-prog-t { font-size:12px; color:#303133; flex:1; }
.w2-prog-x { border:0; background:transparent; color:#B04A4A; cursor:pointer; font-size:12px; }

/* ---------- W-AD ---------- */
.w2-draw-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin:10px 0; }
.w2-draw { border:1px solid #dcdfe6; border-radius:12px; overflow:hidden; }
.w2-draw-img { height:64px; background:#ffffff center/cover no-repeat; }
.w2-draw-b { font-size:12px; color:#909399; padding:4px 6px; }
.w2-pick { width:100%; border:0; background:#ffffff; color:#303133; font-size:12px; padding:5px; cursor:pointer; }
.w2-hk { display:flex; align-items:center; gap:10px; padding:5px 0; border-bottom:1px dashed #e6f4ff; font-size:12px; color:#303133; }
.w2-hk kbd { background:#ffffff; border:1px solid #dcdfe6; border-radius:8px; padding:2px 8px; font-size:12px; color:#303133; min-width:60px; text-align:center; }
.w2-as { width:380px; }
.w2-as-log { height:220px; overflow:auto; background:#F7FBFF; border:1px solid #e6f4ff; border-radius:12px; padding:10px; margin:10px 0; }
.w2-as-bot { background:#fff; border:1px solid #e6f4ff; border-radius:12px; padding:8px 10px; font-size:12px; color:#303133; margin-bottom:6px; }
.w2-as-me { background:#e6f4ff; border-radius:12px; padding:8px 10px; font-size:12px; color:#303133; margin-bottom:6px; margin-left:40px; }
.w2-as-in { display:flex; gap:6px; }
.w2-as-in input { flex:1; padding:8px 10px; border-radius:8px; border:1px solid #dcdfe6; font-size:12px; outline:none; }
.w2-tc-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0; }
.w2-tc { padding:12px; border:1px solid #dcdfe6; border-radius:12px; background:#F7FBFF; cursor:pointer; font-size:13px; color:#303133; }
.w2-tc:hover { background:#EFF6FE; }

/* ---------- AE/AH/AJ ---------- */
.w2-reel-row { display:flex; align-items:center; gap:10px; border:1px solid #e6f4ff; border-radius:12px; padding:6px; margin:6px 0; }
.w2-reel-thumb { width:64px; height:40px; border-radius:8px; background:linear-gradient(135deg,#e6f4ff,#B8D4F2); flex:none; }
.w2-reel-info { flex:1; display:flex; flex-direction:column; }
.w2-reel-info b { font-size:12px; color:#303133; }
.w2-reel-info span { font-size:12px; color:#909399; }
.w2-reel-add { border:0; background:#e6f4ff; color:#303133; border-radius:8px; padding:6px 10px; font-size:12px; cursor:pointer; }
#w2TagFilter { position:absolute; left:0; right:0; top:44px; height:30px; background:rgba(255,255,255,.9); border-bottom:1px solid #e6f4ff; display:flex; align-items:center; gap:6px; padding:0 10px; z-index:50; overflow-x:auto; }
.w2-tf-lab { font-size:12px; color:#909399; font-weight:700; }
.w2-tf-chip { border:1px solid #dcdfe6; background:#F7FBFF; color:#303133; border-radius:999px; padding:3px 10px; font-size:12px; cursor:pointer; }
.w2-tf-chip.on { background:#e6f4ff; border-color:#7FB2E8; }
.w2-fx-pack { display:flex; align-items:center; gap:10px; border:1px solid #e6f4ff; border-radius:12px; padding:10px; margin:8px 0; }
.w2-fx-pack b { font-size:13px; color:#303133; width:80px; flex:none; }
.w2-fx-pack span { flex:1; font-size:12px; color:#303133; line-height:1.5; }
.w2-fx-pack button { border:0; background:#e6f4ff; color:#303133; border-radius:8px; padding:6px 12px; font-size:12px; cursor:pointer; }
.a2-asset-t { font-size:12px; color:#909399; padding:2px 6px; }

/* ---------- AK A/B 对比 ---------- */
.w2-ab-pick { display:flex; gap:10px; margin:10px 0; }
.w2-ab-col { flex:1; }
.w2-ab-h { font-size:12px; color:#303133; font-weight:700; margin-bottom:4px; }
.w2-ab-sel { width:100%; margin-bottom:6px; padding:6px; border:1px solid #dcdfe6; border-radius:8px; font-size:12px; color:#303133; }
.w2-ab-img { height:180px; border-radius:12px; border:1px solid #dcdfe6; background:#ffffff center/cover no-repeat; }
.w2-tc-detect { display:block; margin:6px auto 0; border:0; background:#e6f4ff; color:#303133; border-radius:8px; padding:3px 10px; font-size:12px; cursor:pointer; }
.w2-rm-v { border-left:3px solid #7FB2E8; background:#ffffff; border-radius:0 10px 10px 0; padding:10px 12px; margin:8px 0; }
.w2-rm-v b { display:block; font-size:13px; color:#303133; margin-bottom:4px; }
.w2-rm-v span { font-size:12px; color:#303133; line-height:1.6; }
.w2-rm-far { border-left-color:#B8D4F2; }

/* ---------- AN 2.5D 导演台侧滑 ---------- */
#w2DirPanel {
  position:absolute; top:0; right:0; bottom:0; width:340px; z-index:80;
  background:#fff; border-left:1px solid #dcdfe6; box-shadow:-8px 0 24px rgba(61,109,168,.15);
  display:flex; flex-direction:column;
}
.w2-dir-head { padding:10px 14px; border-bottom:1px solid #e6f4ff; font-size:13px; font-weight:700; color:#303133; display:flex; align-items:center; gap:8px; }
.w2-dir-head span { font-size:12px; color:#909399; font-weight:400; flex:1; }
.w2-dir-head button { border:0; background:transparent; color:#909399; cursor:pointer; }
.w2-dir-body { flex:1; overflow:auto; padding:12px; }
#w2Stage { width:100%; height:190px; background:#F4F9FE; border:1px solid #dcdfe6; border-radius:12px; }
.w2-orbit-dot { fill:#fff; stroke:#38BDF8; stroke-width:2; cursor:grab; }
.w2-orbit-e { stroke:#7FB2E8; }
.w2-ch { fill:#e6f4ff; stroke:#38BDF8; cursor:grab; }
.w2-ch-t { font-size:12px; fill:#303133; text-anchor:middle; pointer-events:none; }
.w2-dir-rows { margin-top:10px; }
.w2-dir-out { margin-top:10px; }
.w2-dir-out textarea { width:100%; border:1px solid #dcdfe6; border-radius:8px; padding:8px; font-size:12px; color:#303133; background:#F7FBFF; }
.w2-dir-empty { padding:40px 20px; text-align:center; font-size:13px; color:#303133; line-height:2; }
.w2-dir-empty span { font-size:12px; color:#9DBBE0; }
#w2QueueBar {
  position:absolute; left:0; right:0; bottom:44px; height:26px; z-index:55;
  background:#FFF8E6; color:#8A6D1A; font-size:12px; display:flex; align-items:center; padding:0 12px;
  border-top:1px solid #F0E0B0;
}
#w2QueueBar:empty { display:none; }
#w2QueueBar button { border:0; background:#F5D98E; color:#6B5310; border-radius:8px; padding:2px 8px; font-size:12px; cursor:pointer; margin-left:8px; }
.w2-mx-row { display:flex; align-items:center; gap:10px; padding:5px 0; border-bottom:1px dashed #e6f4ff; font-size:12px; color:#303133; }
.w2-st { padding:1px 8px; border-radius:999px; font-size:12px; background:#ffffff; color:#303133; }
.w2-st-failed { background:#ffece8; color:#B04A4A; }
.w2-st-completed { background:#E6F6EF; color:#3D8B6B; }
.w2-mx-retry { margin-left:auto; border:0; background:#e6f4ff; color:#303133; border-radius:8px; padding:3px 10px; font-size:12px; cursor:pointer; }
.w2-snaps { margin:8px 0; max-height:160px; overflow:auto; }
.w2-snap { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px dashed #e6f4ff; font-size:12px; color:#303133; }
.w2-snap button { border:0; background:#ffffff; color:#303133; border-radius:8px; padding:2px 8px; font-size:12px; cursor:pointer; }
.w2-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:8px 0; }
.w2-gcell { height:64px; background:#ffffff; border:1px solid #dcdfe6; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:12px; color:#303133; }
.w2-rw-sug { background:#E6F6EF; border-radius:8px; padding:8px; font-size:12px; color:#3D8B6B; margin:8px 0; }
.w2-note2 { font-size:12px; color:#303133; background:#F7FBFF; border:1px solid #e6f4ff; border-radius:8px; padding:5px 8px; margin:4px 0; }
.w2-v12 { font-size:12px; background:#e6f4ff; color:#303133; border-radius:999px; padding:2px 8px; }
.w2-3d-list { margin:10px 0; }
.w2-3d-list div { font-size:13px; color:#303133; padding:5px 0; border-bottom:1px dashed #e6f4ff; }
.w2-fee { font-size:12px; color:#909399; background:#ffffff; border-radius:12px; padding:10px 12px; line-height:1.8; }
.w2-fee b { color:#303133; }
#w2ModeBtn { position:absolute; right:8px; bottom:56px; z-index:70; border:1px solid #dcdfe6; background:#fff; border-radius:999px; padding:5px 12px; font-size:12px; color:#303133; cursor:pointer; }
.w2-cmd-row { padding:6px 8px; font-size:13px; color:#303133; border-radius:8px; cursor:pointer; }
.w2-cmd-row:hover { background:#ffffff; }
.w2-sand-dot { position:absolute;width:28px;height:28px;border-radius:50%;background:#e6f4ff;color:#303133;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:grab;box-shadow:0 2px 6px rgba(120,160,210,.3); }
.w2-sand-dot.cam { background:#C9E7D8; color:#2F7A58; }
.w2-pull-row { display:flex; align-items:center; gap:10px; padding:5px 0; border-bottom:1px dashed #e6f4ff; font-size:12px; color:#303133; }
.w2-pull-thumb { width:56px; height:36px; background:linear-gradient(135deg,#e6f4ff,#B8D6F2); border-radius:8px; font-size:12px; display:flex;align-items:center;justify-content:center;color:#303133; }
.w2-pull-row button { margin-left:auto; border:0; background:#e6f4ff; color:#303133; border-radius:8px; padding:3px 10px; font-size:12px; cursor:pointer; }
.w2-gscell { position:absolute; border:1px solid #fff; display:flex; align-items:center; justify-content:center; font-size:12px; color:#303133; }
#w2TagBar { position:absolute; top:34px; right:8px; z-index:70; display:flex; gap:4px; align-items:center; background:#fff; border:1px solid #e6f4ff; border-radius:999px; padding:3px 8px; }
.w2-tagf { border:0; background:transparent; color:#303133; font-size:12px; padding:2px 8px; border-radius:999px; cursor:pointer; }
.w2-tagf.on { background:#e6f4ff; color:#303133; }
.w2-la-row { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px dashed #e6f4ff; font-size:12px; color:#303133; }
.w2-la-row button { margin-left:auto; border:0; background:#e6f4ff; color:#303133; border-radius:8px; padding:2px 8px; font-size:12px; cursor:pointer; }
.w2-prog { height:10px; background:#E8F1FC; border-radius:999px; overflow:hidden; margin:8px 0; }
.w2-prog-bar { height:100%; background:linear-gradient(90deg,#9EC8EE,#6FA8DC); border-radius:999px; }
.w2-prog-row { display:flex; justify-content:space-between; font-size:12px; color:#303133; padding:3px 0; }
.w2-b-row { display:flex; align-items:center; gap:6px; font-size:13px; color:#303133; padding:4px 0; border-bottom:1px dashed #e6f4ff; }
.w2-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.w2-g9 { padding:10px 0; border:1px solid #dcdfe6; background:#F7FBFF; border-radius:8px; font-size:12px; color:#303133; cursor:pointer; }
.w2-g9:hover { background:#E6F0FB; }
.w2-slash { font-size:12px; color:#303133; line-height:2; background:#F7FBFF; border-radius:12px; padding:10px 12px; margin-top:6px; }
#w2CutTip { position:absolute; top:34px; left:50%; transform:translateX(-50%); z-index:70; background:#e6f4ff; color:#303133; border-radius:999px; padding:4px 14px; font-size:12px; }
#w2DemoTag { position:absolute; right:8px; bottom:56px; z-index:70; background:#FFF3D6; color:#8A6D1F; border:1px solid #F0DDA0; border-radius:999px; padding:3px 10px; font-size:12px; }
#w2RevBoard { position:absolute; left:8px; bottom:56px; z-index:70; background:#fff; border:1px solid #e6f4ff; border-radius:999px; padding:4px 12px; font-size:12px; color:#303133; }
