/* ============================================================
   mj-align.css —— 漫剧系列(剧情版/解说版/S2.0)与智能多帧 1:1 对齐参考站
   仅在 body.mj-agent / body.mf-agent 下生效，绝不影响 AI 大模型工作台
   参考站基准：
     body / 主区      = rgb(15,15,18)        （中性近黑）
     底部输入面板      = rgba(27,28,33,.95)   （灰黑、圆角 18.9px）
   ============================================================ */

/* ---------- 1. 主区中性化：彻底去除本地偏蓝/偏青的星空辉光与装饰 ---------- */
body.mj-agent .workspace-shell .ws-main.re-cosmos-dock,
body.mf-agent .workspace-shell .ws-main.re-cosmos-dock {
  background: rgb(15, 15, 18) !important;
}

/* 辉光层：仅保留中性、极微妙的纵向明暗，不含任何蓝/青/紫彩色 */
body.mj-agent .workspace-shell .ws-main > .re-bg.re-bg-full,
body.mf-agent .workspace-shell .ws-main > .re-bg.re-bg-full {
  background: linear-gradient(180deg, #0f0f12 0%, #0e0e11 52%, #101014 100%) !important;
}

/* 彩色光球 / 网格 / 流线 / 星点 在漫剧·多帧页面一律隐藏（参考站装饰极弱、近乎不可见） */
body.mj-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-orb,
body.mf-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-orb,
body.mj-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-grid,
body.mf-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-grid,
body.mj-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-flow,
body.mf-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-flow,
body.mj-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-lines,
body.mf-agent .workspace-shell .ws-main.re-cosmos-dock .re-bg-lines,
body.mj-agent .workspace-shell .ws-main.re-cosmos-dock .re-stars,
body.mf-agent .workspace-shell .ws-main.re-cosmos-dock .re-stars {
  display: none !important;
  opacity: 0 !important;
}

/* ---------- 2. 底部输入面板：参考站 rgba(27,28,33,.95) 圆角 18.9 ---------- */
body.mf-agent .workspace-shell .ws-composer.mf-composer .composer-box,
body.mj-agent .workspace-shell .ws-composer.cp-v2 .composer-box {
  background: rgba(27, 28, 33, .95) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, .05) !important;
  border-radius: 18.9px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .35) !important;
}

/* 面板内 ribbon 与面板融合（参考站 ribbon 不抢眼） */
body.mf-agent .workspace-shell .mf-composer .mf-ribbon,
body.mj-agent .workspace-shell .mf-composer .mf-ribbon {
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.015)) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
}

/* ===== s2-studio 自带舞台背景：中性化对齐参考站（漫剧·多帧页面） ===== */
body.mj-agent .s2-beijing,
body.mf-agent .s2-beijing {
  background-image: linear-gradient(rgb(15,15,18), rgb(16,16,19), rgb(15,15,18)) !important;
}
body.mj-agent .s2bj-flow, body.mf-agent .s2bj-flow,
body.mj-agent [class*="s2bj-orb"], body.mf-agent [class*="s2bj-orb"],
body.mj-agent .s2bj-grid, body.mf-agent .s2bj-grid,
body.mj-agent .s2bj-particles, body.mf-agent .s2bj-particles,
body.mj-agent .page-bg, body.mf-agent .page-bg {
  display: none !important;
  opacity: 0 !important;
}

/* ===== engine-1to1 舞台网格/粒子：漫剧·多帧页面隐藏 ===== */
body.mj-agent .cosmos-grid, body.mf-agent .cosmos-grid,
body.mj-agent .cosmos-particles, body.mf-agent .cosmos-particles {
  display: none !important;
  opacity: 0 !important;
}

/* ===== 新建项目模态 7 字段（剧情版/解说版） ===== */
.xm-field-row { display:flex; gap:12px; }
.xm-field-row .xm-half { flex:1; min-width:0; }
.xm-vmodel {
  height:46px; border-radius:10px; border:1px dashed rgba(255,255,255,.14);
  display:flex; align-items:center; gap:8px; padding:0 14px; color:#8a8f98;
  cursor:pointer; background:rgba(255,255,255,.02); font-size:13px;
}
.xm-vmodel .vm-ic { color:#f59e0b; font-size:13px; }
.xm-vmodel.has-vm { border-style:solid; border-color:rgba(245,158,11,.5); color:#fbbf24; }
.xm-vmodel:hover { border-color:rgba(245,158,11,.55); }
.xm-label-sub { font-size:11px; color:#7c8693; font-weight:400; margin-left:8px; }
.xm-stepper {
  display:flex; align-items:center; height:46px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  border-radius:10px; overflow:hidden;
}
.xm-step-btn {
  width:52px; height:100%; border:none; background:transparent;
  color:#9aa0ab; font-size:20px; cursor:pointer; flex-shrink:0;
}
.xm-step-btn:hover { background:rgba(255,255,255,.06); color:#fff; }
.xm-step-val { flex:1; text-align:center; font-size:22px; font-weight:700; color:#22d3ee; }
.xm-step-unit { font-size:13px; color:#8a8f98; font-weight:400; margin-left:3px; }
.xm-billing-tip { margin-top:9px; font-size:12px; color:#fbbf24; line-height:1.6; display:flex; gap:6px; }
.xm-tip-ic { color:#fbbf24; flex-shrink:0; }

/* ===== 空章节 3 入口（智能 AI 创作） ===== */
.mj-entry-stage { position:relative; max-width:480px; margin:0 auto; padding:58px 20px 40px; display:flex; flex-direction:column; align-items:center; }
.mje-topnote { position:absolute; top:14px; right:4px; font-size:13px; color:rgba(255,255,255,.34); display:flex; align-items:center; gap:6px; }
.mje-topstar { color:rgba(255,255,255,.3); }
.mje-logo { width:58px; height:58px; color:#d8b25a; opacity:.92; }
.mje-logo svg { width:100%; height:100%; }
.mje-title { font-size:30px; font-weight:800; color:#f3f6fb; margin:18px 0 8px; letter-spacing:1px; }
.mje-sub { font-size:14.5px; color:#9aa3b2; margin-bottom:30px; }
.mje-cards { width:100%; display:flex; flex-direction:column; gap:14px; }
.mje-card {
  display:flex; align-items:center; gap:11px; width:100%; padding:15px 18px;
  border-radius:12px; background:rgba(255,255,255,.028); border:1px solid rgba(255,255,255,.08);
  cursor:pointer; transition:.2s; font-size:15px;
}
.mje-card .mje-ic { font-size:17px; }
.mje-card .mje-k { color:#e8edf5; font-weight:600; }
.mje-card .mje-arrow { margin-left:auto; color:#6b7280; }
.mje-card .mje-d { color:#9aa3b2; }
.mje-card:hover { border-color:rgba(34,211,238,.45); background:rgba(34,211,238,.05); }
.mje-card.sel { border-color:rgba(34,211,238,.7); background:rgba(34,211,238,.1); }
.mje-card.sel .mje-d { color:#a5f3fc; }
.mje-tip {
  margin-top:26px; display:flex; align-items:center; gap:7px; padding:11px 18px;
  border-radius:999px; background:rgba(251,191,36,.08); border:1px solid rgba(251,191,36,.3);
  color:#fcd34d; font-size:13.5px;
}
.mje-tip-k { font-weight:700; }

/* ===== 漫剧引擎：左侧 App 导航保持「可折叠」（对齐参考站 aside.sidebar + body.sidebar-open）。
   默认展开（2列）；点 #sbCollapse 收起为 0 后，项目栏落 x=0、资产网格变为 3 列。 ===== */
body.mj-agent #wsSidebar { display: flex !important; }
body.mj-agent #wsSidebar.collapsed { width: 0 !important; border-right: none !important; overflow: hidden !important; }
body.mj-agent .ws-main.re-cosmos-dock { left: auto !important; margin-left: 0 !important; }
body.mj-agent #wsSidebar.collapsed ~ .ws-main.re-cosmos-dock { left: 0 !important; }
/* 折叠后浮动展开按钮保持可见 */
body.mj-agent .sb-expand-btn { display: none; }
body.mj-agent #wsSidebar.collapsed ~ .ws-main .sb-expand-btn { display: flex !important; }

/* ===== 章节工作区三栏 + 右侧章节资产面板 ===== */
body.mj-agent .s2-studio-body { display:flex; flex-direction:row; align-items:stretch; overflow:hidden; }
body.mj-agent #chatThread { flex:1; min-width:0; }
/* 参考站 token（作用于面板与资产详情模态，保证变量解析） */
body.mj-agent .mca-panel, .preview-modal-overlay{
  --b-20:rgba(0,0,0,.2); --b-30:rgba(0,0,0,.3); --b-50:rgba(0,0,0,.5); --b-60:rgba(0,0,0,.6);
  --w-2:rgba(255,255,255,.02); --w-3:rgba(255,255,255,.03); --w-5:rgba(255,255,255,.05);
  --w-6:rgba(255,255,255,.06); --w-8:rgba(255,255,255,.08); --w-10:rgba(255,255,255,.1);
  --w-12:rgba(255,255,255,.12); --w-25:rgba(255,255,255,.25); --w-30:rgba(255,255,255,.3);
  --w-40:rgba(255,255,255,.4); --w-45:rgba(255,255,255,.45); --w-50:rgba(255,255,255,.5);
  --w-60:rgba(255,255,255,.6); --w-80:rgba(255,255,255,.8); --w-85:rgba(255,255,255,.85);
  --w-90:rgba(255,255,255,.9); --w-95:rgba(255,255,255,.95);
}
.mca-panel {
  flex:1 1 0; min-width:420px; display:flex; flex-direction:column;
  border-left:none; background:transparent; overflow:hidden;
  transform:translateZ(0); backface-visibility:hidden;
}
/* 右侧面板空态（章节已进、资产未生成） */
.mca-empty-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--w-40);gap:10px;text-align:center;}
.mca-empty-ic{font-size:42px;color:var(--w-25);}
.mca-empty-tx{font-size:15px;font-weight:600;color:var(--w-85);}
.mca-empty-sub{font-size:12px;color:var(--w-40);line-height:1.7;max-width:340px;}
/* 滚动容器（参考 .content-area） */
.mca-panel .asset-panel{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1rem 1.25rem;}
.mca-panel .asset-panel::-webkit-scrollbar{width:6px}
.mca-panel .asset-panel::-webkit-scrollbar-thumb{background:var(--w-12);border-radius:3px}
.mca-panel .asset-panel::-webkit-scrollbar-track{background:transparent}
/* ===== 参考站 1:1 资产块 ===== */
.asset-block{background:var(--w-2);border:1px solid var(--w-6);border-radius:.75rem;overflow:hidden}
.block-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:#6366f10d;border-bottom:1px solid rgba(99,102,241,.1)}
.block-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--w-85)}
.block-title svg{color:#818cf8}
.block-count{font-size:.75rem;padding:.125rem .5rem;background:#6366f126;border-radius:.75rem;color:#a5b4fc}
.header-actions{display:flex;align-items:center;gap:.5rem}
.manage-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:.5rem;font-size:.75rem;color:#a5b4fc;cursor:pointer;transition:all .2s ease}
.manage-btn:hover{background:#6366f133;border-color:#6366f166;color:#c7d2fe;transform:translateY(-1px)}
.manage-btn.library{background:#fb923c1a;border-color:#fb923c40;color:#fb923c}
.manage-btn.library:hover{background:#fb923c33;border-color:#fb923c66;color:#fdba74}
.generate-action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#fbbf2414,#f59e0b14);border-bottom:1px solid rgba(251,191,36,.15)}
.generate-info{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#fbbf24e6}
.generate-info svg{color:#fbbf24}
.generate-info strong{color:#fbbf24;font-weight:600}
.generate-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:.5rem;font-size:.8125rem;font-weight:600;color:#000;cursor:pointer;transition:all .2s ease}
.generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2459}
.generate-btn:disabled{opacity:.7;cursor:not-allowed}
.asset-section{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}
.asset-section+.asset-section{border-top:1px solid var(--w-6)}
.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:0;padding-left:.25rem}
.section-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.section-dot.pending{background:#fbbf24}
.section-dot.completed{background:#4ade80}
.section-title{font-size:.75rem;font-weight:500;color:var(--w-60)}
.section-count{font-size:.6875rem;padding:.0625rem .375rem;background:var(--w-8);border-radius:.5rem;color:var(--w-50)}
.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.875rem}
.asset-item{background:var(--w-2);border:1px solid var(--w-6);border-radius:.5rem;overflow:hidden;transition:all .2s ease}
.asset-item:hover{border-color:var(--w-12)}
.asset-item.pending{cursor:default}
.asset-item.pending.editable{cursor:pointer}
.asset-item.pending.editable:hover{border-color:#fbbf2466}
.asset-item.pending.editable:hover .edit-overlay{opacity:1}
.asset-item.pending.editable:hover .delete-btn{opacity:1}
.asset-item.clickable{cursor:pointer}
.asset-item.clickable:hover .preview-overlay{opacity:1}
.asset-item.role{border-color:#ec489933}
.asset-item.role:hover{border-color:#ec489966}
.asset-item.role.is-completed{border-color:#ec48994d}
.asset-item.scene{border-color:#22c55e33}
.asset-item.scene:hover{border-color:#22c55e66}
.asset-item.scene.is-completed{border-color:#22c55e4d}
.asset-item.prop{border-color:#8b5cf633}
.asset-item.prop:hover{border-color:#8b5cf666}
.asset-item.prop.is-completed{border-color:#8b5cf64d}
.asset-item.is-failed{border-color:#ef44444d}
.item-preview{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--w-3)}
.item-preview img{width:100%;height:100%;object-fit:cover}
.preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--b-60);opacity:0;transition:opacity .2s ease;color:var(--w-90)}
.edit-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--b-60);opacity:0;transition:opacity .2s ease;color:var(--w-80);pointer-events:none}
.delete-btn{position:absolute;top:.25rem;right:.25rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transition:all .2s ease;z-index:10}
.delete-btn:hover{background:#ef4444;transform:scale(1.1)}
.type-badge{position:absolute;top:.375rem;left:.375rem;padding:.125rem .375rem;font-size:.625rem;font-weight:500;border-radius:.25rem;background:var(--b-50);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.type-badge.role{color:#f472b6}
.type-badge.scene{color:#4ade80}
.type-badge.prop{color:#a78bfa}
.status-badge{position:absolute;top:.375rem;right:.375rem;padding:.125rem .375rem;font-size:.6rem;font-weight:500;border-radius:.25rem;background:var(--b-60);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.status-badge.待创建{color:#fbbf24;background:#fbbf244d}
.status-badge.生成中{color:#a78bfa;background:#8b5cf64d}
.status-badge.失败{color:#f87171;background:#ef44444d}
.preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}
.preview-placeholder.role{background:linear-gradient(135deg,#ec489926,#db27771a);color:#ec489980}
.preview-placeholder.scene{background:linear-gradient(135deg,#22c55e26,#16a34a1a);color:#22c55e80}
.preview-placeholder.prop{background:linear-gradient(135deg,#8b5cf626,#a855f71a);color:#8b5cf680}
.item-info{padding:.5rem;display:flex;flex-direction:column;gap:.125rem}
.item-name{font-size:.75rem;font-weight:600;color:var(--w-90);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-desc{font-size:.65rem;color:var(--w-45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
@media (max-width:1300px){.mca-panel{min-width:380px}}
@media (max-width:1150px){.mca-panel{flex:0 0 360px;min-width:360px}}
@media (max-width:1000px){.mca-panel{display:none}}
@media (max-width:900px) { .mca-panel { display:none; } }

/* ===== 资产详情模态（1:1 参考站 .preview-modal） ===== */
@keyframes overlay-in{from{opacity:0}to{opacity:1}}
@keyframes modal-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.preview-modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:overlay-in .2s ease-out}
.preview-modal{width:90%;max-width:56rem;max-height:90vh;background:linear-gradient(160deg,#1a1a24,#12121a);border:1px solid rgba(99,102,241,.2);border-radius:.875rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 1px #6366f114,0 24px 48px -12px var(--b-60);animation:modal-in .25s ease-out;transition:max-width .3s ease,width .3s ease}
.preview-modal.modal-zoomed{width:95%;max-width:80rem}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(99,102,241,.1);background:linear-gradient(180deg,rgba(99,102,241,.08) 0%,transparent 100%);flex-shrink:0}
.modal-header .header-left{display:flex;align-items:center;gap:.875rem}
.header-icon{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;flex-shrink:0}
.header-icon.role{background:#ec489926;color:#f472b6}
.header-icon.scene{background:#22c55e26;color:#4ade80}
.header-icon.prop{background:#8b5cf626;color:#a78bfa}
.header-title h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--w-95)}
.header-title p{margin:0;font-size:.75rem;color:var(--w-45)}
.preview-modal .close-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease}
.preview-modal .close-btn:hover{background:#ff505026;border-color:#ff50504d;color:#ff6464e6}
.preview-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden;background:var(--b-30)}
.image-container{position:relative;width:100%;aspect-ratio:16/9;cursor:zoom-in;overflow:hidden;border-radius:.5rem;background:var(--b-30)}
.image-container img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}
.image-container .image-container-tu{width:100%;height:100%;position:relative}
.image-container .image-container-tu img{width:100%;height:100%;object-fit:contain}
.image-container.zoomed{cursor:grab;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.5) var(--b-30)}
.image-container.zoomed:active{cursor:grabbing}
.image-container.zoomed::-webkit-scrollbar{width:10px;height:10px}
.image-container.zoomed::-webkit-scrollbar-track{background:var(--b-30);border-radius:5px}
.image-container.zoomed::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:5px}
.image-container.zoomed::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}
.image-container.zoomed::-webkit-scrollbar-corner{background:var(--b-30)}
.image-container.zoomed img{width:150%;height:150%;object-fit:contain}
.image-container.zoomed .image-container-tu{width:150%;height:150%}
.image-container.zoomed .image-container-tu .ytylt-anniu,.image-container.zoomed .image-container-tu .ytylt-jiaobiao{display:none}
.ytylt{position:relative;display:inline-flex;width:100%;height:100%}
.ytylt-img{display:block;max-width:inherit;max-height:inherit;border-radius:inherit;-webkit-user-select:none;user-select:none}
.ytylt-anniu{position:absolute;top:.75rem;right:.75rem;width:2.5rem;height:2.5rem;background-color:#06b6d44d;border:1px solid rgba(34,211,238,.6);border-radius:50%;color:#67e8f9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;box-shadow:0 .375rem 1rem #00000047;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}
.ytylt-anniu:hover:not(:disabled){background-color:#06b6d47a;border-color:#22d3eed9;color:#fff;transform:scale(1.1)}
.ytylt .ytylt-jiaobiao{position:absolute;bottom:.75rem;left:.75rem;z-index:10;max-width:calc(100% - 1.5rem)}
.iqb{display:inline-flex;align-items:center;gap:.375rem;max-width:min(80vw,28rem);padding:.3125rem .625rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background-color:#0000008c;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem);color:#ffffffc7;font-size:.75rem;line-height:1.2;white-space:nowrap;overflow:hidden}
.iqb-text{overflow:hidden;text-overflow:ellipsis}
.zoom-hint{margin-top:.75rem;font-size:.75rem;color:var(--w-30)}
.preview-info{padding:1rem 1.25rem;border-top:1px solid var(--w-6);background:var(--b-20);flex-shrink:0}
.info-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.625rem}
.info-row:last-child{margin-bottom:0}
.info-label{flex-shrink:0;font-size:.75rem;color:var(--w-40);min-width:3rem}
.info-value{font-size:.8125rem;color:var(--w-85)}
.info-value.desc{margin:0;line-height:1.5}
.info-value.status{padding:.125rem .5rem;border-radius:.25rem;font-size:.6875rem;font-weight:500}
.info-value.status.待创建{background:#fbbf2426;color:#fbbf24}
.info-value.status.生成中{background:#8b5cf626;color:#a78bfa}
.info-value.status.失败{background:#ef444426;color:#f87171}
.info-value.status.已完成{background:#4ade8026;color:#4ade80}
@media(max-width:48rem){.ytylt-anniu{top:.5rem;right:.5rem;width:2.25rem;height:2.25rem}.ytylt-jiaobiao{bottom:.5rem;left:.5rem}}
/* 停用旧资产抽屉：参考站资产即右侧常驻栏 */
body.mj-agent #mjDrawer { display:none !important; }
/* manju 三栏：未进章节时 agentWorkspace 正常显示落地页；进入章节(body.mj-in-chapter)后才收起为引擎锚点、不占位 */
body.mj-agent.mj-in-chapter #agentWorkspace { position:absolute !important; flex:0 0 0 !important; width:0 !important; max-width:0 !important; height:0 !important; max-height:0 !important; overflow:hidden; padding:0 !important; border:none !important; margin:0 !important; pointer-events:none; }

/* ===== 章节工作区·分镜区内联（对齐参考站右栏） ===== */
body.mj-agent .mca-shots{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
body.mj-agent .mca-shots-head{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:#e7ebf3;margin-bottom:10px}
body.mj-agent .mca-shots-head .mca-ic{color:#22d3ee}
body.mj-agent .mca-shots-head .mca-n{color:#22d3ee;font-weight:800}
body.mj-agent .mca-shots-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}
body.mj-agent .mca-shots-actions .fj-btn,
body.mj-agent .mca-shots-actions .mj-dbtn{flex:1 1 auto;padding:7px 8px;border-radius:8px;font-size:11px;font-weight:700;border:0;cursor:pointer;white-space:nowrap}
body.mj-agent .fj-btn-orange{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}
body.mj-agent .fj-btn-green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}
body.mj-agent .mj-dbtn-red{background:rgba(239,68,68,.16);color:#fca5a5;border:1px solid rgba(239,68,68,.3)!important}
body.mj-agent .mca-shots-actions .mj-dbtn:not(.mj-dbtn-red){background:rgba(148,163,184,.14);color:#cbd5e1;border:1px solid rgba(148,163,184,.2)!important}
body.mj-agent .mj-dbtn-primary{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;color:#fff;border:0!important}
body.mj-agent .mca-shots-note{font-size:11px;color:#7c869a;margin-bottom:10px}
body.mj-agent .mca-shot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
body.mj-agent .mca-shot-grid .mj-shot-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12.6px;padding:12.6px;display:flex;flex-direction:column;gap:6px}
body.mj-agent .mj-shot-top{display:flex;align-items:center;gap:7px}
body.mj-agent .mj-shot-no{font-size:12px;font-weight:800;color:#38bdf8}
body.mj-agent .mj-shot-dur{font-size:11px;color:#94a3b8;background:rgba(148,163,184,.12);padding:2px 7px;border-radius:6px}
body.mj-agent .mj-play-btn{margin-left:auto;width:24px;height:24px;border-radius:7px;border:0;background:rgba(34,211,238,.16);color:#22d3ee;cursor:pointer;font-size:10px}
body.mj-agent .mj-shot-md{font-size:11px;line-height:1.55;color:#c3ccdb;white-space:pre-wrap;word-break:break-word}
body.mj-agent .mj-shot-chips{display:flex;flex-wrap:wrap;gap:4px}
body.mj-agent .mj-chip{font-size:10px;padding:2px 7px;border-radius:5px;background:rgba(148,163,184,.15);color:#cbd5e1}
body.mj-agent .mj-chip-role{background:rgba(244,114,182,.16);color:#f9a8d4}
body.mj-agent .mj-chip-scene{background:rgba(74,222,128,.16);color:#86efac}
body.mj-agent .mj-chip-prop{background:rgba(251,146,60,.16);color:#fdba74}
body.mj-agent .mj-shot-empty,body.mj-agent .mj-shot-fail{font-size:10.5px;color:#7c869a}
body.mj-agent .mj-shot-fail{color:#fca5a5}
body.mj-agent .mj-shot-vids video{width:100%;border-radius:8px}
body.mj-agent .mj-shot-add{grid-column:1/-1;border:1px dashed rgba(148,163,184,.28);border-radius:11px;display:flex;align-items:center;justify-content:center;min-height:64px;cursor:pointer;color:#8290a5}
body.mj-agent .mj-shot-add:hover{border-color:#22d3ee;color:#22d3ee}
body.mj-agent .mj-shot-add-in{font-size:11px;text-align:center;line-height:1.6}

/* 进入章节后，隐藏落地页 .re-wrap，只保留对话流 */
body.mj-agent.mj-in-chapter #agentWorkspace .re-wrap,
body.mj-agent.mj-in-chapter .re-wrap{display:none!important;}
/* 收起态零宽引擎锚点强制裁切，杜绝落地页内容溢出遮挡 */
body.mj-agent.mj-in-chapter #agentWorkspace{overflow:hidden!important;}

/* ============================================================
   中心 AI 气泡（1:1 参考站 .qipao-ai）
   ============================================================ */
#chatThread .mj-aibubble { display:flex; justify-content:flex-start; margin:14px 0; }
#chatThread .mj-aibubble .mab-main { max-width:92%; width:100%; }
#chatThread .mj-aibubble .mab-qipao {
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 6px 22px rgba(0,0,0,.28);
}
#chatThread .mj-aibubble .mab-content { color:#e6eaf2; font-size:14.5px; line-height:1.8; word-break:break-word; }
#chatThread .mj-aibubble .mab-content h3 {
  font-size:15px; font-weight:700; color:#f3d58a; margin:14px 0 6px;
  display:flex; align-items:center; gap:6px;
}
#chatThread .mj-aibubble .mab-content h3:first-child { margin-top:0; }
#chatThread .mj-aibubble .mab-content p { margin:7px 0; }
#chatThread .mj-aibubble .mab-content strong { color:#fde9b8; font-weight:700; }
#chatThread .mj-aibubble .mab-bottom {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:7px; padding:0 4px;
}
#chatThread .mj-aibubble .mab-actions { display:flex; gap:14px; }
#chatThread .mj-aibubble .mab-act {
  font-size:12px; color:#9aa3b2; cursor:pointer;
}
#chatThread .mj-aibubble .mab-act:hover { color:#e8edf5; }
#chatThread .mj-aibubble .mab-status { font-size:12px; }
#chatThread .mj-aibubble .mab-status-done { color:#4ade80; }
#chatThread .mj-aibubble .mab-status-run { color:#fbbf24; }
#chatThread .mj-aibubble .mab-status-fail { color:#f87171; }

/* 用户气泡（右对齐） */
#chatThread .mj-user { display:flex; justify-content:flex-end; margin:14px 0; }
#chatThread .mj-user-bubble {
  max-width:88%; background:linear-gradient(135deg,rgba(56,132,255,.22),rgba(99,102,241,.18));
  border:1px solid rgba(120,160,255,.22); border-radius:14px; padding:12px 15px;
  color:#eef2ff; font-size:14.5px; line-height:1.7;
}
#chatThread .mj-user-bubble .mj-user-meta {
  display:flex; gap:12px; margin-top:7px; font-size:11.5px; color:rgba(200,210,240,.6);
}

/* 打字中三点 */
#chatThread .mab-typing { display:flex; gap:5px; align-items:center; padding:2px 0; }
#chatThread .mab-typing span {
  width:7px; height:7px; border-radius:50%; background:#9aa3b2;
  animation:mabBlink 1.2s infinite ease-in-out both;
}
#chatThread .mab-typing span:nth-child(2){ animation-delay:.18s; }
#chatThread .mab-typing span:nth-child(3){ animation-delay:.36s; }
@keyframes mabBlink {
  0%,80%,100%{ opacity:.25; transform:scale(.8); }
  40%{ opacity:1; transform:scale(1); }
}
