/* ===== assets/css/06-ai-panels.css | 浮动按钮与助手 / 内嵌视图 / 历史与文档弹窗 / 需求确认单 / 思考遮罩 ===== */
/* 来源：原 index.html 内联样式 第 290-357 行；改样式只改这个文件 */
  /* 两侧浮动标签 */
  /* 右侧两个浮动标签：用 flex 列容器统一定位，标签高度变化也不会互相重叠 */
  /* 右下机器人 / 左下助手 */
  .ad-bot { position:fixed; right:22px; bottom:22px; width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,#d9a06b,#a05a2c); color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; cursor:pointer; z-index:20; box-shadow:0 6px 20px rgba(0,0,0,.5); }
  .ad-bot:hover { background:linear-gradient(135deg,#e0ab78,#b06432); }
  .ad-assistant { position:fixed; left:22px; bottom:22px; width:320px; background:#221d17; border:1px solid #3a332a; border-radius:14px; overflow:hidden; z-index:20; box-shadow:0 10px 30px rgba(0,0,0,.6); display:none; }
  .ad-assistant .ast-head { background:#7a2f22; color:#fff; padding:10px 14px; font-size:14px; display:flex; align-items:center; justify-content:space-between; }
  .ad-assistant .ast-body { padding:14px; font-size:13px; color:#cbc2ac; height:180px; overflow:auto; }
.vp-ben{display:inline-block; background:rgba(217,160,107,.14); color:#d9a06b; border:1px solid rgba(217,160,107,.4); border-radius:20px; padding:6px 16px; font-size:13px; font-weight:600; white-space:nowrap;}
  /* ===== 后台视图内嵌：外壳顶栏常驻，内容区原地切换（不跳页）===== */
  #app { display:none; }
  #app > .topbar, #app > .tabs { display:none; }            /* 统一用外壳顶栏，避免两套导航 */
  .ad-console.show-app > .ad-body,
  .ad-console.show-app > .ad-tools,
  .ad-console.show-app > .ad-bot,
  .ad-console.show-app > .ad-assistant { display:none !important; }
  .ad-console.show-app > #app { display:block !important; flex:1 1 auto; min-height:0; overflow:auto; }

/* ===== AI 工作台：历史记录 / 指令文档 / 图片 弹窗 ===== */
.ad-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.62); align-items:center; justify-content:center; z-index:30; }
.ad-modal-box { width:800px; max-width:94vw; max-height:86vh; background:#1e1914; border:1px solid #2d2720; border-radius:12px; display:flex; flex-direction:column; overflow:hidden; }
.ad-modal-head { display:flex; align-items:center; justify-content:space-between; padding:15px 20px; border-bottom:1px solid #2d2720; }
.ad-modal-head h3 { margin:0; font-size:15px; color:#e6e0d2; }
.ad-modal-head .x { cursor:pointer; color:#9a8f7a; font-size:22px; line-height:1; }
.ad-modal-head .x:hover { color:#d9a06b; }
.ad-modal-body { padding:16px 20px; overflow:auto; flex:1; }
.ad-modal-foot { padding:12px 20px; border-top:1px solid #2d2720; display:flex; gap:10px; align-items:center; }
/* ===== 需求确认单（对齐同事站：浅绿外框 + 米色内容区，内容是可核对的纯中文需求）===== */
.ad-modal-box.plan { background:#eef8f0; border:1px solid #86c99c; }
.ad-modal-box.plan .ad-modal-head { border-bottom:1px solid #b9dfc5; }
.ad-modal-box.plan .ad-modal-head h3 { color:#1f3b28; font-size:14.5px; }
.ad-modal-box.plan .ad-modal-head .x { color:#5d7a66; }
.ad-modal-box.plan .ad-modal-head .x:hover { color:#1f3b28; }
.ad-modal-box.plan .ad-modal-foot { border-top:1px solid #b9dfc5; }
.plan-body { background:#f8f3e6; color:#2a241c; border-radius:9px; padding:14px 16px; font-size:13.5px; line-height:1.85; max-height:46vh; overflow:auto; }
.plan-body .ph { display:block; margin:14px 0 6px; font-weight:800; color:#1d5c33; font-size:14px; }
.plan-body .ph:first-child { margin-top:0; }
.plan-body .li { margin:2px 0; }
.plan-qt { font-size:12.5px; color:#26543a; font-weight:700; }
.plan-ta { width:100%; min-height:72px; margin-top:7px; background:#fff; border:1px solid #b9dfc5; border-radius:8px; color:#2a241c; padding:9px 11px; font-size:13px; outline:none; resize:vertical; }
.plan-tip { font-size:12px; color:#4c6b56; }
/* 补充问答确认：逐题选择题（A/B/C/D）+「补充」「跳过」 */
.plan-qlist { display:flex; flex-direction:column; gap:9px; margin-top:7px; }
.plan-q { background:#fff; border:1px solid #cfe6d7; border-radius:8px; padding:9px 10px; }
.plan-q.answered { border-color:#79c79a; }
.plan-q.skipped { opacity:.5; }
.plan-q-t { font-size:13px; color:#2a241c; font-weight:700; line-height:1.65; }
.plan-q-opts { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.plan-q-opt { background:#f4faf6; border:1px solid #b9dfc5; color:#26543a; border-radius:7px; padding:5px 9px; font-size:12.5px; line-height:1.5; text-align:left; cursor:pointer; }
.plan-q-opt:hover { background:#e9f6ee; }
.plan-q-opt.on { background:#1d7a42; border-color:#1d7a42; color:#fff; }
.plan-q-opt.on b { color:#fff; }
.plan-q-acts { display:flex; gap:6px; align-items:center; margin-top:7px; }
.plan-q-mini { background:#fff; border:1px solid #cfd8d2; color:#4c6b56; border-radius:6px; padding:3px 10px; font-size:12px; cursor:pointer; }
.plan-q-mini:hover { background:#f1f6f3; }
.plan-q-mini.on { border-color:#1d7a42; color:#1d7a42; font-weight:700; }
.plan-q-inp { display:none; width:100%; margin-top:6px; background:#fff; border:1px solid #b9dfc5; border-radius:7px; color:#2a241c; padding:6px 8px; font-size:12.5px; }
.plan-qsum { font-size:12px; color:#4c6b56; margin-top:7px; }
.ad-toolbtn.blue { background:#1d3a5c; border-color:#2f5b8c; color:#cfe4ff; }
/* ===== AI 生成中：全屏「AI 正在思考」遮罩（写完才完整显示结果）===== */
#aiThink { display:none; position:fixed; inset:0; background:#161311; z-index:70; flex-direction:column; align-items:center; justify-content:center; }
#aiThink.on { display:flex; }
#aiThink .at-top { position:absolute; top:22px; left:0; right:0; text-align:center; color:#8d8271; font-size:13px; letter-spacing:1px; }
#aiThink .at-orb { position:relative; width:300px; height:300px; margin-bottom:26px; }
#aiThink .at-orb i { position:absolute; left:50%; top:50%; border-radius:50%; }
#aiThink .at-r1 { width:104px; height:104px; margin:-52px 0 0 -52px; border:1px solid rgba(217,160,107,.35); }
#aiThink .at-r2 { width:168px; height:168px; margin:-84px 0 0 -84px; border:1px dashed rgba(217,160,107,.22); animation:atSpin 16s linear infinite; }
#aiThink .at-r3 { width:236px; height:236px; margin:-118px 0 0 -118px; border:1px solid rgba(217,160,107,.13); animation:atSpin 26s linear infinite reverse; }
#aiThink .at-core { width:56px; height:56px; margin:-28px 0 0 -28px; background:radial-gradient(circle at 38% 35%,#f2c891,#a87540 62%,#33261a); box-shadow:0 0 30px rgba(217,160,107,.45); animation:atPulse 3.2s ease-in-out infinite; }
#aiThink .at-d { width:7px; height:7px; margin:-3.5px 0 0 -3.5px; background:#eab97d; box-shadow:0 0 10px rgba(234,185,125,.9); }
#aiThink .at-d1 { animation:atOrb1 5.5s linear infinite; }
#aiThink .at-d2 { animation:atOrb2 8.5s linear infinite; }
#aiThink .at-d3 { animation:atOrb3 11s linear infinite; }
#aiThink .at-d4 { animation:atOrb4 6.8s linear infinite; }
@keyframes atSpin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes atPulse { 0%,100% { transform:scale(1); opacity:.92; } 50% { transform:scale(1.09); opacity:1; } }
@keyframes atOrb1 { from { transform:rotate(0deg) translateX(62px); } to { transform:rotate(360deg) translateX(62px); } }
@keyframes atOrb2 { from { transform:rotate(120deg) translateX(88px); } to { transform:rotate(480deg) translateX(88px); } }
@keyframes atOrb3 { from { transform:rotate(240deg) translateX(118px); } to { transform:rotate(-120deg) translateX(118px); } }
@keyframes atOrb4 { from { transform:rotate(300deg) translateX(46px); } to { transform:rotate(660deg) translateX(46px); } }
#aiThink .at-main { color:#e6e0d2; font-size:15px; letter-spacing:2px; margin-bottom:30px; }
#aiThink .at-main .dot { color:#d9a06b; animation:atBlink 1.4s ease-in-out infinite; }
@keyframes atBlink { 0%,100% { opacity:.25; } 50% { opacity:1; } }
#aiThink .at-sub { color:#9a8f7a; font-size:13px; }
#aiThink .at-cnt { color:#d9a06b; font-size:12px; margin-top:12px; letter-spacing:1px; min-height:16px; }

/* ★v1.32：「AI 正在处理」动图（纯 SVG + CSS，无外部图片依赖；生成时亮出，写完给出完整源码） */
#aiThink .at-fig { position:absolute; left:50%; top:50%; width:232px; height:232px; margin:-116px 0 0 -116px; animation:atFloat 4.6s ease-in-out infinite; }
#aiThink .at-fig svg { width:100%; height:100%; overflow:visible; filter:drop-shadow(0 0 12px rgba(217,160,107,.35)); }
#aiThink .at-ring { transform-origin:100px 100px; animation:atSpin 24s linear infinite; }
#aiThink .at-led { animation:atLedPulse 1.6s ease-in-out infinite; }
#aiThink .at-eye { transform-box:fill-box; transform-origin:50% 50%; animation:atEyeBlink 3.6s ease-in-out infinite; }
#aiThink .at-scan { animation:atScanMove 2.4s ease-in-out infinite; }
#aiThink .at-mb { transform-box:fill-box; transform-origin:50% 50%; animation:atBarPulse 1.05s ease-in-out infinite; }
#aiThink .at-mb2 { animation-delay:.16s; }
#aiThink .at-mb3 { animation-delay:.32s; }
#aiThink .at-pin { animation:atPinGlow 1.9s ease-in-out infinite; }
#aiThink .at-pin2, #aiThink .at-pin5 { animation-delay:.22s; }
#aiThink .at-pin3, #aiThink .at-pin6 { animation-delay:.44s; }
#aiThink .at-fl1 { animation:atFlowIn 2.2s ease-in-out infinite; }
#aiThink .at-fl2 { animation:atFlowIn 2.2s ease-in-out .3s infinite; }
#aiThink .at-fl3 { animation:atFlowIn 2.2s ease-in-out .6s infinite; }
#aiThink .at-fl4 { animation:atFlowOut 2.2s ease-in-out infinite; }
#aiThink .at-fl5 { animation:atFlowOut 2.2s ease-in-out .3s infinite; }
#aiThink .at-fl6 { animation:atFlowOut 2.2s ease-in-out .6s infinite; }
@keyframes atFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes atLedPulse { 0%,100% { opacity:.35; } 50% { opacity:1; } }
@keyframes atEyeBlink { 0%,92%,100% { transform:scaleY(1); } 96% { transform:scaleY(.12); } }
@keyframes atScanMove { 0% { transform:translateY(0); opacity:0; } 12% { opacity:.95; } 88% { opacity:.95; } 100% { transform:translateY(58px); opacity:0; } }
@keyframes atBarPulse { 0%,100% { transform:scaleY(.45); opacity:.55; } 50% { transform:scaleY(1.15); opacity:1; } }
@keyframes atPinGlow { 0%,100% { opacity:.25; } 50% { opacity:1; } }
@keyframes atFlowIn { 0% { transform:translateX(-10px); opacity:0; } 35% { opacity:1; } 100% { transform:translateX(12px); opacity:0; } }
@keyframes atFlowOut { 0% { transform:translateX(10px); opacity:0; } 35% { opacity:1; } 100% { transform:translateX(-12px); opacity:0; } }
#aiThink .at-sub { max-width:660px; text-align:center; line-height:1.95; padding:0 20px; }
#aiThink .at-sub b { color:#e8c08a; }
/* 进度扫描条：让「在动」看得出来 */
#aiThink .at-bar { position:relative; width:320px; height:3px; margin:20px 0 0; border-radius:3px; background:rgba(217,160,107,.14); overflow:hidden; }
#aiThink .at-bar::after { content:""; position:absolute; top:0; left:-40%; width:40%; height:100%; border-radius:3px; background:linear-gradient(90deg,rgba(217,160,107,0),#e8c08a,rgba(217,160,107,0)); animation:atSweep 1.5s linear infinite; }
@keyframes atSweep { 0% { left:-40%; } 100% { left:100%; } }
/* 实时尾巴：看得见确实在写；完整源码仍是写完才一次性交付 */
#aiThink .at-peek { max-width:680px; max-height:96px; overflow:hidden; margin:16px 0 0; padding:0 0 0 14px; border-left:2px solid rgba(217,160,107,.22); color:#8a7d68; font-size:11.5px; line-height:1.75; text-align:left; white-space:pre-wrap; word-break:break-all; font-family:ui-monospace,Consolas,monospace; }
