/* AI创作 P1 共享样式 —— pptwz.com/aigc/ */
:root {
  --p: #6c5ce7; --p2: #8b7bf5; --pd: #5a4bd1;
  --bg: #f4f5fb; --card: #ffffff; --line: #e8e9f3;
  --t1: #2b2f42; --t2: #7a7f99; --t3: #a3a8c2;
  --r: 14px;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif; background: var(--bg); color: var(--t1); font-size: 14px; }
a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; border: none; }

/* 顶栏 */
.wb-top { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.wb-top-in { max-width: 1200px; margin: 0 auto; padding: 0 20px; height: 56px; display: flex; align-items: center; gap: 24px; }
.wb-logo { font-size: 18px; font-weight: 700; color: var(--p); display: flex; align-items: center; gap: 8px; }
.wb-logo .ai-badge { font-size: 11px; color: #fff; background: linear-gradient(90deg, var(--p), #a55eea); border-radius: 8px; padding: 2px 7px; font-weight: 600; }
.wb-nav { display: flex; gap: 20px; flex: 1; }
.wb-nav a { color: var(--t2); font-size: 14px; padding: 4px 2px; }
.wb-nav a.on, .wb-nav a:hover { color: var(--p); font-weight: 600; }
.wb-top-r { display: flex; gap: 12px; align-items: center; }
.wb-btn-ghost { padding: 6px 14px; border-radius: 8px; border: 1px solid var(--p); color: var(--p); font-size: 13px; background: #fff; }
.wb-btn-p { padding: 7px 16px; border-radius: 8px; background: linear-gradient(90deg, var(--p), var(--p2)); color: #fff; font-size: 13px; font-weight: 600; }

.wrap { max-width: 1200px; margin: 0 auto; padding: 24px 20px 80px; }

/* 首页 hero */
.hero { text-align: center; padding: 38px 0 26px; }
.hero h1 { font-size: 30px; font-weight: 800; letter-spacing: 1px; }
.hero h1 em { font-style: normal; color: var(--p); }
.hero p { color: var(--t2); margin-top: 10px; font-size: 14px; }

/* 模块卡 */
.mods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 18px 0 30px; }
.mod { background: var(--card); border-radius: var(--r); padding: 22px 20px; border: 1px solid var(--line); transition: .2s; position: relative; overflow: hidden; }
.mod:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(108,92,231,.14); }
.mod .ic { width: 42px; height: 42px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 21px; margin-bottom: 12px; }
.mod h3 { font-size: 16px; margin-bottom: 6px; }
.mod p { color: var(--t2); font-size: 12.5px; line-height: 1.55; }
.mod .go { display: inline-block; margin-top: 12px; color: var(--p); font-size: 13px; font-weight: 600; }
.mod.off { opacity: .55; }
.mod.off .go { color: var(--t3); }
.mod .soon { position: absolute; top: 12px; right: -26px; transform: rotate(45deg); background: #c3c8dd; color: #fff; font-size: 11px; padding: 3px 28px; }
.ic-write { background: #eef0ff; } .ic-chat { background: #e8f7f0; } .ic-know { background: #fff4e5; } .ic-ppt { background: #fdeaea; }

/* 分类 tab */
.tabs { display: flex; gap: 10px; flex-wrap: wrap; margin: 6px 0 18px; }
.tab { padding: 8px 18px; border-radius: 20px; background: #fff; border: 1px solid var(--line); color: var(--t2); font-size: 13.5px; cursor: pointer; }
.tab.on { background: linear-gradient(90deg, var(--p), var(--p2)); color: #fff; border-color: transparent; font-weight: 600; }

/* 场景卡 */
.scenes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sc { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 16px; cursor: pointer; transition: .18s; }
.sc:hover { border-color: var(--p); box-shadow: 0 8px 20px rgba(108,92,231,.12); transform: translateY(-2px); }
.sc h4 { font-size: 15px; margin-bottom: 7px; display: flex; align-items: center; gap: 8px; }
.sc h4 .dot { width: 8px; height: 8px; border-radius: 3px; background: linear-gradient(135deg, var(--p), #a55eea); flex: none; }
.sc p { color: var(--t2); font-size: 12.5px; line-height: 1.5; height: 38px; overflow: hidden; }
.sc .meta { margin-top: 10px; display: flex; gap: 8px; }
.sc .meta span { font-size: 11px; padding: 2px 8px; border-radius: 9px; background: #f2f0ff; color: var(--p); }
.sc .meta .hot { background: #fff0eb; color: #f56c3d; }

/* 底部输入 */
.ask { max-width: 860px; margin: 46px auto 0; }
.ask-box { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 14px 14px 10px; box-shadow: 0 8px 30px rgba(108,92,231,.08); }
.ask-box textarea { width: 100%; border: none; outline: none; resize: none; font-size: 14px; height: 62px; font-family: inherit; background: transparent; }
.ask-bar { display: flex; align-items: center; justify-content: space-between; padding-top: 8px; border-top: 1px solid #f2f3fa; }
.ask-tips { color: var(--t3); font-size: 12px; }
.ask-go { padding: 8px 22px; border-radius: 10px; background: linear-gradient(90deg, var(--p), var(--p2)); color: #fff; font-weight: 600; font-size: 14px; }
.ask-foot { text-align: center; color: var(--t3); font-size: 12px; margin-top: 12px; }

/* 创作页/对话页 */
.work { display: grid; grid-template-columns: 400px 1fr; gap: 18px; align-items: start; }
.panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; }
.panel h2 { font-size: 18px; margin-bottom: 4px; }
.panel .sub { color: var(--t2); font-size: 12.5px; margin-bottom: 18px; }
.fld { margin-bottom: 14px; }
.fld label { display: block; font-size: 13px; color: var(--t1); font-weight: 600; margin-bottom: 6px; }
.fld input, .fld textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font-size: 13.5px; outline: none; font-family: inherit; background: #fafafe; }
.fld textarea { min-height: 110px; resize: vertical; }
.fld input:focus, .fld textarea:focus { border-color: var(--p); background: #fff; }
.gen-btn { width: 100%; padding: 12px; border-radius: 10px; background: linear-gradient(90deg, var(--p), var(--p2)); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 2px; }
.gen-btn:disabled { opacity: .6; cursor: not-allowed; }
.quota-line { text-align: center; color: var(--t3); font-size: 12px; margin-top: 10px; }
.quota-line b { color: var(--p); }

.out-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.out-head h3 { font-size: 15px; }
.out-acts { display: flex; gap: 8px; }
.out-acts button { padding: 6px 12px; border-radius: 8px; border: 1px solid var(--line); background: #fff; color: var(--t2); font-size: 12.5px; }
.out-acts button:hover { border-color: var(--p); color: var(--p); }
.out-body { min-height: 420px; max-height: calc(100vh - 210px); overflow: auto; border: 1px solid #f0f1f8; border-radius: 10px; padding: 18px; background: #fcfcff; font-size: 14px; line-height: 1.85; }
.out-body.empty { display: flex; align-items: center; justify-content: center; color: var(--t3); }
.out-body h1, .out-body h2, .out-body h3 { margin: 14px 0 8px; }
.out-body p { margin: 6px 0; }
.cursor { display: inline-block; width: 7px; height: 16px; background: var(--p); vertical-align: -3px; animation: blink 1s infinite; }
@keyframes blink { 50% { opacity: 0; } }

/* 对话页 */
.chat-wrap { max-width: 880px; margin: 0 auto; }
.chat-list { display: flex; flex-direction: column; gap: 16px; min-height: 46vh; padding: 6px 2px 20px; }
.msg { display: flex; gap: 10px; }
.msg .ava { width: 34px; height: 34px; border-radius: 10px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.msg.u { flex-direction: row-reverse; }
.msg.u .ava { background: #eef0ff; }
.msg.a .ava { background: linear-gradient(135deg, var(--p), #a55eea); color: #fff; }
.msg .bub { max-width: 76%; padding: 12px 16px; border-radius: 14px; font-size: 14px; line-height: 1.8; white-space: pre-wrap; word-break: break-word; }
.msg.u .bub { background: var(--p); color: #fff; border-top-right-radius: 4px; }
.msg.a .bub { background: var(--card); border: 1px solid var(--line); border-top-left-radius: 4px; }
.chat-input { position: sticky; bottom: 14px; }
.hello-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 10px 0 4px; }
.hello-cards .hc { border: 1px dashed var(--line); border-radius: 12px; padding: 14px; cursor: pointer; text-align: center; color: var(--t2); font-size: 13px; }
.hello-cards .hc:hover { border-color: var(--p); color: var(--p); }

.toast { position: fixed; top: 70px; left: 50%; transform: translateX(-50%); background: rgba(43,47,66,.92); color: #fff; padding: 10px 20px; border-radius: 10px; font-size: 13px; z-index: 99; display: none; }

@media (max-width: 900px) {
  .mods { grid-template-columns: repeat(2, 1fr); }
  .scenes { grid-template-columns: repeat(2, 1fr); }
  .work { grid-template-columns: 1fr; }
  .wb-nav { display: none; }
  .out-body { max-height: none; }
}

/* ===== P3 AI PPT ===== */
.pt-head { text-align:center; padding: 30px 0 20px; }
.pt-head h1 { font-size: 28px; font-weight: 800; }
.pt-head h1 em { font-style: normal; color: var(--p); }
.pt-head p { color: var(--t2); margin-top: 8px; }
.pt-wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px 80px; }
.pt-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; margin-bottom: 18px; }
.pt-card > h2 { font-size: 16px; margin-bottom: 4px; display:flex; align-items:center; gap:8px; }
.pt-card > h2 i { font-style: normal; width:20px; height:20px; border-radius:6px; background: linear-gradient(135deg,var(--p),#a55eea); color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; }
.pt-card > .sub { color: var(--t3); font-size: 12.5px; margin-bottom: 14px; }
.pt-row { display:flex; gap:12px; flex-wrap:wrap; }
.pt-row > * { flex: 1 1 200px; }
.pt-inp, .pt-area, .pt-sel { width:100%; border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:14px; font-family:inherit; color:var(--t1); background:#fbfbfe; outline:none; }
.pt-inp:focus, .pt-area:focus, .pt-sel:focus { border-color: var(--p); background:#fff; }
.pt-area { resize: vertical; min-height: 84px; line-height:1.6; }
.pt-lab { font-size:12.5px; color: var(--t2); margin: 12px 0 6px; display:block; }
.pt-btn { padding: 11px 26px; border-radius: 10px; background: linear-gradient(90deg,var(--p),var(--p2)); color:#fff; font-weight:700; font-size:15px; }
.pt-btn:disabled { opacity:.55; cursor:not-allowed; }
.pt-btn-ghost { padding: 9px 18px; border-radius: 10px; border:1px solid var(--line); background:#fff; color:var(--t2); font-size:13.5px; }
.pt-act { display:flex; align-items:center; gap:14px; margin-top:16px; flex-wrap:wrap; }
.pt-tip { color: var(--t3); font-size:12.5px; }
.pt-adv { color: var(--p); font-size:12.5px; cursor:pointer; margin-left:auto; }

/* 大纲 */
.slides { display:flex; flex-direction:column; gap:12px; }
.sl { border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:#fbfbfe; position:relative; }
.sl.k-cover { border-left:3px solid #6c5ce7; }
.sl.k-section { border-left:3px solid #f0932b; }
.sl.k-content { border-left:3px solid #2e86de; }
.sl.k-end { border-left:3px solid #8395a7; }
.sl-hd { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.sl-no { font-size:11px; color:#fff; background: var(--t3); border-radius:6px; padding:2px 7px; }
.sl-kind { font-size:11px; padding:2px 8px; border-radius:8px; background:#eef0ff; color:var(--p); }
.sl-del { margin-left:auto; color:var(--t3); font-size:12px; cursor:pointer; }
.sl-del:hover { color:#e74c3c; }
.sl-t { width:100%; border:1px solid var(--line); border-radius:8px; padding:7px 10px; font-size:14px; font-weight:600; font-family:inherit; background:#fff; outline:none; }
.sl-p { width:100%; border:1px solid var(--line); border-radius:8px; padding:7px 10px; font-size:13px; line-height:1.7; font-family:inherit; background:#fff; outline:none; margin-top:7px; resize:vertical; }
.sl-add { margin-top:12px; width:100%; border:1px dashed var(--line); background:#fff; border-radius:10px; padding:10px; color:var(--t2); font-size:13px; }

/* 风格 & 背景 */
.pals { display:grid; grid-template-columns: repeat(6,1fr); gap:10px; }
.pal { border:2px solid var(--line); border-radius:12px; padding:10px 8px; text-align:center; cursor:pointer; background:#fff; }
.pal.on { border-color: var(--p); box-shadow:0 6px 16px rgba(108,92,231,.15); }
.pal .bar { height:26px; border-radius:7px; margin-bottom:6px; }
.pal .nm { font-size:12px; color: var(--t2); }
.bgs { display:grid; grid-template-columns: repeat(6,1fr); gap:10px; }
.bg { border:2px solid var(--line); border-radius:10px; overflow:hidden; cursor:pointer; position:relative; background:#f4f5fb; }
.bg.on { border-color: var(--p); }
.bg img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.bg .nm { font-size:11px; color:var(--t2); padding:4px 6px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.bg-none { display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--t3); }

/* 结果 */
.pt-res { display:none; }
.pt-res .file { display:flex; align-items:center; gap:14px; padding:14px; border-radius:12px; background:linear-gradient(120deg,#f3f0ff,#eef6ff); border:1px solid #e3dcff; }
.pt-res .file .fi { font-size:30px; }
.pt-res .file .meta { flex:1; min-width:0; }
.pt-res .file .meta b { display:block; font-size:14px; }
.pt-res .file .meta span { font-size:12px; color:var(--t2); }
.dl { padding:9px 20px; border-radius:9px; background:linear-gradient(90deg,var(--p),var(--p2)); color:#fff; font-weight:600; font-size:13.5px; }
.recs { display:grid; grid-template-columns: repeat(4,1fr); gap:12px; margin-top:6px; }
.rec { background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; transition:.18s; }
.rec:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(108,92,231,.12); }
.rec img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:#f4f5fb; }
.rec .t { font-size:12.5px; padding:7px 9px; line-height:1.4; height:44px; overflow:hidden; color:var(--t2); }
@media (max-width: 900px) {
  .pals { grid-template-columns: repeat(3,1fr); }
  .bgs { grid-template-columns: repeat(3,1fr); }
  .recs { grid-template-columns: repeat(2,1fr); }
}

/* ===== P2 AI知识库 ===== */
.kb-wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px 80px; }
.kb-head { text-align:center; padding: 30px 0 22px; }
.kb-head h1 { font-size: 28px; font-weight: 800; }
.kb-head h1 em { font-style: normal; color: var(--p); }
.kb-head p { color: var(--t2); margin-top: 8px; font-size: 14px; }
.kb-main { display:flex; gap:18px; align-items:flex-start; }
.kb-side { flex: 0 0 320px; }
.kb-qa { flex: 1; min-width: 0; }
.kb-card { background: var(--card); border:1px solid var(--line); border-radius: var(--r); padding:18px; margin-bottom:16px; }
.kb-card > h2 { font-size:15.5px; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
.kb-card > h2 i { font-style:normal; width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg,var(--p),#a55eea); color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center; }
.kb-card > .sub { color: var(--t3); font-size:12.5px; margin-bottom:12px; }
.kb-card > h2 .cnt { margin-left:auto; font-size:12px; color:var(--t3); background:#f1f2f8; border-radius:8px; padding:1px 8px; }
.kb-drop { border:1.5px dashed var(--line); border-radius:12px; background:#fbfbfe; cursor:pointer; transition:.16s; }
.kb-drop:hover, .kb-drop.over { border-color: var(--p); background:#f6f4ff; }
.kb-drop-in { padding:20px 14px; text-align:center; }
.kb-drop-in .ico { font-size:26px; }
.kb-drop-in .t { font-size:13.5px; color:var(--t1); margin-top:4px; }
.kb-drop-in .s { font-size:12px; color:var(--t3); margin-top:4px; }
.kb-uping { margin-top:10px; font-size:12.5px; color:var(--p); }
.kb-docs { max-height: 420px; overflow:auto; }
.kb-doc { display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--line); border-radius:10px; margin-bottom:8px; cursor:pointer; background:#fff; transition:.15s; }
.kb-doc:hover { border-color:#c9cff0; }
.kb-doc.on { border-color:var(--p); background:#f7f5ff; }
.kb-doc-i { flex:0 0 40px; height:26px; border-radius:6px; background:#eef0ff; color:var(--p); font-size:10.5px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.kb-doc-m { flex:1; min-width:0; }
.kb-doc-m b { display:block; font-size:13px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.kb-doc-m span { font-size:11.5px; color:var(--t3); }
.kb-doc-x { flex:0 0 auto; color:var(--t3); font-size:13px; padding:0 4px; }
.kb-doc-x:hover { color:#e74c3c; }
.kb-none, .kb-nologin { text-align:center; color:var(--t3); font-size:13px; padding:18px 10px; line-height:1.9; }
.kb-nologin a { color:var(--p); }
.kb-scope { font-size:12.5px; color:var(--t2); margin-bottom:10px; }
.kb-scope label { margin-left:14px; cursor:pointer; }
.kb-q { width:100%; box-sizing:border-box; min-height:96px; border:1px solid var(--line); border-radius:12px; padding:12px 14px; font:14px/1.7 inherit; color:var(--t1); background:#fbfbfe; resize:vertical; outline:none; }
.kb-q:focus { border-color:var(--p); background:#fff; }
.kb-act { display:flex; align-items:center; gap:14px; margin-top:12px; flex-wrap:wrap; }
.kb-text { font-size:14.5px; line-height:1.85; color:var(--t1); white-space:normal; word-break:break-word; }
.kb-text .cite { font-style:normal; display:inline-block; min-width:15px; height:16px; line-height:16px; text-align:center; font-size:11px; color:var(--p); background:#eef0ff; border-radius:4px; margin:0 2px; vertical-align:2px; }
.kb-dot { color:var(--t3); font-size:13px; }
.kb-dot::after { content:''; display:inline-block; width:14px; text-align:left; animation:kbd 1.2s infinite steps(4); }
@keyframes kbd { 0%{content:''} 25%{content:'.'} 50%{content:'..'} 75%{content:'...'} }
.kb-refs { margin-top:16px; border-top:1px dashed var(--line); padding-top:12px; }
.kb-refs-t { font-size:13px; color:var(--t2); display:flex; align-items:center; gap:10px; }
.kb-toggle { font-size:12px; color:var(--p); cursor:pointer; }
.kb-refs-b { margin-top:10px; display:flex; flex-direction:column; gap:8px; }
.kb-ref { background:#fafbfe; border:1px solid var(--line); border-radius:9px; padding:9px 11px; font-size:12.5px; color:var(--t2); line-height:1.7; }
.kb-ref .no { color:var(--p); font-weight:700; margin-right:6px; }
.kb-ref .doc { font-size:11.5px; color:var(--t3); }
.kb-ref .txt { margin-top:4px; }
.kb-empty { text-align:center; padding:50px 20px; color:var(--t3); }
.kb-empty .ico { font-size:40px; }
.kb-empty .t { font-size:15px; color:var(--t2); margin-top:8px; }
.kb-empty .s { font-size:12.5px; margin-top:4px; }
@media (max-width: 900px) {
  .kb-main { flex-direction:column; }
  .kb-side { width:100%; flex:none; }
  .kb-docs { max-height:none; }
}

/* ===== 通用头部余额 & chips ===== */
.wb-quota { font-size:12.5px; color:var(--t2,#666); background:#f4f5fb; border-radius:20px; padding:5px 12px; margin-right:8px; }
.wb-quota b { color:var(--p,#6c5ce7); }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.chip { font-size:12.5px; color:var(--t2,#555); background:#fff; border:1px solid var(--line,#e6e8f0); border-radius:18px; padding:5px 12px; cursor:pointer; user-select:none; transition:.15s; }
.chip:hover { border-color:var(--p,#6c5ce7); color:var(--p,#6c5ce7); }
.chip.on { background:linear-gradient(90deg,var(--p,#6c5ce7),#a55eea); color:#fff; border-color:transparent; }
.chip.hot { position:relative; }
.chip.hot::after { content:'HOT'; position:absolute; top:-8px; right:-6px; font-size:9px; background:#ff4757; color:#fff; border-radius:6px; padding:0 4px; line-height:13px; }
.chip-jump { border-style:dashed; }
.ask-count { font-size:12px; color:var(--t3,#999); }
/* 对话页工具条 */
.ct-tools { display:flex; align-items:center; gap:10px; margin:14px 0 6px; flex-wrap:wrap; }
.ct-t { font-size:13px; color:var(--t2,#555); background:#fff; border:1px solid var(--line,#e6e8f0); border-radius:9px; padding:6px 12px; cursor:pointer; text-decoration:none; }
.ct-t:hover { border-color:var(--p,#6c5ce7); color:var(--p,#6c5ce7); }
.ct-sp { flex:1; }
.ct-tip { font-size:12.5px; color:var(--p,#6c5ce7); }
/* 区块标题 + 搜索 */
.sec-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:34px 0 12px; flex-wrap:wrap; }
.sec-head h2 { font-size:19px; font-weight:800; display:flex; align-items:center; gap:10px; }
.sec-sub { font-size:12.5px; font-weight:400; color:var(--t3,#999); }
.sch { display:flex; gap:6px; }
.sch input { width:210px; border:1px solid var(--line,#e6e8f0); border-radius:9px; padding:7px 12px; font-size:13px; outline:none; background:#fff; }
.sch input:focus { border-color:var(--p,#6c5ce7); }
.sch button { border:1px solid var(--p,#6c5ce7); background:var(--p,#6c5ce7); color:#fff; border-radius:9px; padding:7px 14px; font-size:13px; cursor:pointer; }
.sc-tag { font-style:normal; font-size:10.5px; color:var(--p,#6c5ce7); background:#eef0ff; border-radius:6px; padding:1px 6px; margin-left:6px; vertical-align:2px; }
.sc-tag.gray { color:#888; background:#f1f2f6; }
.sc-empty { grid-column:1/-1; text-align:center; color:var(--t3,#999); padding:34px 0; font-size:13.5px; }

/* ===== 写作页左右布局 ===== */
.wr-wrap { display:flex; gap:18px; align-items:flex-start; margin-top:22px; }
.wr-left { flex:0 0 330px; position:sticky; top:14px; }
.wr-right { flex:1; min-width:0; }
.wr-card { background:var(--card,#fff); border:1px solid var(--line,#e6e8f0); border-radius:var(--r,14px); padding:20px; margin-bottom:16px; }
.wr-card > h2 { font-size:18px; font-weight:800; margin-bottom:4px; }
.wr-card .sub { color:var(--t3,#999); font-size:13px; margin-bottom:14px; }
.wr-prev { background:linear-gradient(160deg,#f6f4ff,#eef6ff); border:1px solid #e6e0ff; border-radius:14px; padding:16px; }
.wr-prev-h { font-size:12px; color:var(--p,#6c5ce7); font-weight:700; letter-spacing:1px; }
.wr-prev-t { font-size:16px; font-weight:800; margin:8px 0 4px; line-height:1.4; }
.wr-prev-sub { font-size:12.5px; color:var(--t2,#666); line-height:1.6; }
.wr-prev-s { margin-top:12px; background:#fff; border-radius:10px; padding:10px 12px; }
.wr-prev-si { font-size:13px; font-weight:700; display:flex; align-items:center; gap:6px; }
.wr-prev-si i { font-style:normal; color:var(--p,#6c5ce7); }
.wr-prev-ol { margin-top:8px; display:flex; flex-direction:column; gap:6px; }
.ol-i { font-size:12px; color:var(--t2,#555); border-left:2px solid #dcd6ff; padding-left:8px; }
.ol-i b { margin-right:6px; }
.wr-prev-tags { margin-top:12px; }
.wr-faq { margin-top:14px; background:#fff; border:1px solid var(--line,#e6e8f0); border-radius:14px; padding:14px 16px; }
.wr-faq-h { font-size:13.5px; font-weight:700; margin-bottom:8px; }
.faq { border-top:1px dashed var(--line,#e6e8f0); padding:9px 0 0; margin-top:9px; }
.faq:first-of-type { border-top:0; }
.faq b { font-size:12.5px; }
.faq p { font-size:12px; color:var(--t3,#888); line-height:1.7; margin:4px 0 0; }
.fld-row { display:flex; gap:12px; }
.fld-row > div { flex:1; }
.wr-up { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.wr-up select { border:1px solid var(--line,#e6e8f0); border-radius:9px; padding:7px 10px; font-size:13px; background:#fff; max-width:190px; }
.wr-up-tip { font-size:12.5px; color:var(--p,#6c5ce7); }
.wr-chk { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--t3,#888); margin:12px 0 10px; }
.wr-lib { max-width:1040px; margin:0 auto; padding:0 20px 70px; }
@media (max-width:900px){
  .wr-wrap{flex-direction:column}
  .wr-left{width:100%;flex:none;position:static}
}

/* ===== AI记录页 ===== */
.rc-wrap { max-width:960px; margin:0 auto; padding:22px 20px 70px; }
.rc-head { text-align:center; padding:10px 0 18px; }
.rc-head h1 { font-size:26px; font-weight:800; }
.rc-head p { color:var(--t2,#666); font-size:13.5px; margin-top:6px; }
.rc-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.rc-bar .tabs { margin:0; flex-wrap:wrap; }
.rc-bar .tab i { font-style:normal; font-size:11px; color:var(--t3,#999); background:#f1f2f8; border-radius:8px; padding:0 6px; margin-left:4px; }
.rc-sort select { border:1px solid var(--line,#e6e8f0); border-radius:9px; padding:6px 10px; font-size:12.5px; background:#fff; }
.rc-list { margin-top:14px; display:flex; flex-direction:column; gap:10px; }
.rc-item { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line,#e6e8f0); border-radius:12px; padding:12px 14px; cursor:pointer; transition:.15s; }
.rc-item:hover { border-color:#c9cff0; box-shadow:0 6px 16px rgba(108,92,231,.08); }
.rc-kind { flex:0 0 78px; font-size:11px; text-align:center; border-radius:8px; padding:3px 0; background:#f1f2f8; color:var(--t2,#555); }
.rc-kind.k-write { background:#eef0ff; color:#6c5ce7; }
.rc-kind.k-chat { background:#e8f6ff; color:#2e86de; }
.rc-kind.k-ppt { background:#fff2e8; color:#e17055; }
.rc-kind.k-kb { background:#eafaf1; color:#26a65b; }
.rc-main { flex:1; min-width:0; }
.rc-main b { display:block; font-size:14px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.rc-main span { font-size:12px; color:var(--t3,#999); }
.rc-ops { display:flex; gap:10px; }
.rc-op { font-size:12.5px; color:var(--p,#6c5ce7); cursor:pointer; }
.rc-op.del { color:#bbb; }
.rc-op.del:hover { color:#e74c3c; }
.rc-empty { text-align:center; padding:60px 20px; color:var(--t3,#999); font-size:14px; }
.rc-page { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:18px; }
.rc-pg { border:1px solid var(--line,#e6e8f0); background:#fff; border-radius:8px; padding:5px 14px; font-size:13px; cursor:pointer; }
.rc-pg:disabled { opacity:.5; cursor:not-allowed; }
.rc-pn { font-size:13px; color:var(--t2,#666); }
.rc-mask { position:fixed; inset:0; background:rgba(20,18,40,.45); display:flex; align-items:center; justify-content:center; z-index:99; padding:20px; }
.rc-dlg { background:#fff; border-radius:14px; width:min(760px,100%); max-height:86vh; display:flex; flex-direction:column; overflow:hidden; }
.rc-dlg-h { display:flex; align-items:center; padding:14px 18px; border-bottom:1px solid var(--line,#e6e8f0); }
.rc-dlg-h b { font-size:15px; flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.rc-x { cursor:pointer; color:var(--t3,#999); font-size:16px; }
.rc-dlg-m { padding:14px 18px; overflow:auto; flex:1; }
.rc-dlg-i { font-size:12px; color:var(--t3,#999); margin-bottom:10px; }
.rc-dlg-b { font-size:14.5px; line-height:1.85; }
.rc-dlg-b h2,.rc-dlg-b h3 { margin:14px 0 6px; font-size:15.5px; }
.rc-dlg-b h4,.rc-dlg-b h5 { margin:10px 0 4px; font-size:14px; }
.rc-dlg-b p { margin:6px 0; }
.rc-dlg-f { display:flex; gap:10px; padding:12px 18px; border-top:1px solid var(--line,#e6e8f0); }
.rc-ot { width:100%; border-collapse:collapse; font-size:12.5px; margin-top:10px; }
.rc-ot th,.rc-ot td { border:1px solid var(--line,#e6e8f0); padding:6px 8px; text-align:left; }
.rc-ot th { background:#f7f8fc; }
.rc-ot-t { font-size:13px; color:var(--t2,#555); }

/* ===== AI PPT 增补 ===== */
.pt-tabs { display:flex; gap:6px; margin-bottom:16px; border-bottom:1px solid var(--line,#e6e8f0); }
.pt-tab { font-size:14px; color:var(--t2,#666); padding:8px 14px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; }
.pt-tab.on { color:var(--p,#6c5ce7); font-weight:700; border-bottom-color:var(--p,#6c5ce7); }
.pt-opts { margin-top:14px; }
.pt-opts > div { flex:1 1 150px; }
.pt-opts .pt-sel { width:100%; }
.pt-docinfo { margin-top:10px; font-size:12.5px; color:var(--t3,#999); background:#fafbfe; border:1px dashed var(--line,#e6e8f0); border-radius:10px; padding:10px 12px; }
.pt-confirm { display:flex; gap:10px; background:linear-gradient(120deg,#f3f0ff,#eef6ff); border:1px solid #e3dcff; border-radius:12px; padding:12px 14px; margin-bottom:14px; }
.pt-cf-ava { flex:0 0 32px; height:32px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; }
.pt-cf-bub { flex:1; min-width:0; }
.pt-cf-bub b { display:block; font-size:14px; }
.pt-cf-bub > span { display:block; font-size:12.5px; color:var(--t2,#666); margin-top:4px; }
.pt-cf-acts { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.pt-cf-acts .ok { background:linear-gradient(90deg,var(--p,#6c5ce7),#a55eea); color:#fff; border-color:transparent; font-weight:600; }
.pt-loading { text-align:center; color:var(--t2,#666); font-size:14px; padding:24px 0; }
.pt-bar { width:min(320px,80%); height:6px; background:#eee; border-radius:6px; margin:12px auto 0; overflow:hidden; }
.pt-bar i { display:block; height:100%; width:40%; background:linear-gradient(90deg,var(--p,#6c5ce7),#a55eea); border-radius:6px; animation:ptmove 1.1s infinite ease-in-out; }
@keyframes ptmove { 0%{margin-left:-40%} 100%{margin-left:100%} }

/* ==========================================================
   AI创作 —— 对齐熊猫办公 /index/aigc 的界面框架（左侧功能栏 + 双栏首页）
   ========================================================== */

/* ---------- 左侧功能栏 ---------- */
body { padding-left: 186px; }
.wb-side { position: fixed; left: 0; top: 0; bottom: 0; width: 186px; background: #fff;
  border-right: 1px solid var(--line); display: flex; flex-direction: column;
  padding: 12px 10px 14px; z-index: 60; overflow-y: auto; }
.wb-side-brand { display: flex; align-items: center; gap: 9px; padding: 4px 8px 14px; }
.wb-side-brand i { width: 32px; height: 32px; border-radius: 10px; flex: none;
  background: linear-gradient(135deg, var(--p), #a55eea); color: #fff; font-style: normal;
  font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.wb-side-brand span { font-size: 11.5px; color: var(--t3); line-height: 1.25; }
.wb-side-brand b { display: block; color: var(--t1); font-size: 14px; font-weight: 700; }
.wb-side-nav { display: flex; flex-direction: column; gap: 2px; }
.wb-side-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px;
  border-radius: 10px; color: var(--t2); font-size: 14px; }
.wb-side-item:hover { background: #f4f2ff; color: var(--p); }
.wb-side-item.on { background: linear-gradient(90deg, #f0edff, #faf9ff); color: var(--p); font-weight: 600; }
.wb-side-item .si { font-style: normal; width: 18px; text-align: center; font-size: 15px; }
.wb-side-kf { margin-top: auto; padding: 12px 12px 2px; display: flex; align-items: center;
  gap: 10px; color: var(--t2); font-size: 13px; border-top: 1px solid #f1f2f8; }
.wb-side-kf:hover { color: var(--p); }

/* ---------- 首页：热门创作双栏 ---------- */
.ai-home { max-width: 1180px; margin: 0 auto; padding: 22px 24px 8px; }
.section-title { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; }
.section-title > span { font-size: 18px; }
.section-title h2 { font-size: 19px; font-weight: 800; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.zhanshi { display: inline-flex; align-items: center; gap: 5px; font-weight: 400; font-size: 12px;
  color: #0a84ff; background: #eaf4ff; border-radius: 11px; padding: 2px 9px; }
.zhanshi i { width: 6px; height: 6px; border-radius: 50%; background: #0a84ff; display: inline-block; }
.zhanshi em { font-style: normal; }
.main-content { display: grid; grid-template-columns: 1fr 300px; gap: 16px; align-items: start; }

.function-box { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.function-item { background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 18px 18px 16px; display: block; transition: .18s; }
.function-item:hover { box-shadow: 0 10px 24px rgba(108,92,231,.13); transform: translateY(-2px); border-color: #d8d2ff; }
.function-item h2 { font-size: 17px; font-weight: 800; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.extra-tag { font-size: 11px; font-weight: 500; color: #f56c3d; background: #fff2ec; border-radius: 8px; padding: 2px 7px; }
.function-item p { color: var(--t2); font-size: 13px; margin: 8px 0 14px; }
.function-item button { border: 1px solid var(--p); color: var(--p); background: #fff; border-radius: 9px; padding: 6px 16px; font-size: 13px; }
.function-item:hover button { background: var(--p); color: #fff; }

.ai-writing { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px 16px; }
.xiezuo { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.xiezuo h3 { font-size: 15px; font-weight: 800; }
.xiezuo a { font-size: 12.5px; color: var(--p); }
.writing-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.writing-item { display: flex; gap: 10px; align-items: flex-start; padding: 10px; border-radius: 11px;
  border: 1px solid #f0f1f8; background: #fcfcff; transition: .16s; }
.writing-item:hover { border-color: #d8d2ff; background: #fff; box-shadow: 0 6px 16px rgba(108,92,231,.1); }
.wi-ic { width: 34px; height: 34px; flex: none; border-radius: 9px;
  background: linear-gradient(135deg, #eef0ff, #f7f4ff); display: flex; align-items: center; justify-content: center; font-size: 16px; }
.writing-item h4 { font-size: 13.5px; font-weight: 700; margin-bottom: 3px; }
.wi-tag { font-style: normal; font-size: 10px; color: var(--p); background: #eef0ff; border-radius: 6px; padding: 1px 5px; margin-left: 5px; }
.writing-item p { font-size: 12px; color: var(--t2); line-height: 1.45; height: 35px; overflow: hidden; }

.right-section { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px; position: sticky; top: 72px; }
.right-section h2 { font-size: 16px; font-weight: 800; display: flex; align-items: center; gap: 7px; }
.right-section h2 i { font-style: normal; }
.right-section > p { color: var(--t2); font-size: 12.5px; margin: 6px 0 12px; }
.right-section ol { padding-left: 17px; color: var(--t2); font-size: 12.5px; line-height: 1.9; }
.rs-link { display: inline-block; margin: 12px 0 10px; font-size: 13px; color: var(--p); }
.indexupload { width: 100%; display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 9px; border-radius: 10px; background: linear-gradient(90deg, var(--p), var(--p2));
  color: #fff; font-size: 13.5px; font-weight: 600; }
.indexupload i { font-style: normal; }
.rs-used { margin-top: 10px; text-align: center; font-size: 11.5px; color: var(--t3); }

/* ---------- 底部输入区（开关式工具条） ---------- */
#askBox { max-width: 1000px; margin: 26px auto 46px; padding: 0 24px; }
#askBox .chips { gap: 10px; margin-bottom: 12px; }
#askBox .chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px;
  border-radius: 20px; background: #fff; border: 1px solid var(--line); font-size: 12.5px;
  color: var(--t2); cursor: pointer; user-select: none; transition: .15s; }
#askBox .chip i { font-style: normal; font-size: 13px; }
#askBox .chip em { font-style: normal; }
#askBox .chip .switch { width: 30px; height: 17px; border-radius: 9px; background: #dcdfe9;
  position: relative; transition: .18s; flex: none; }
#askBox .chip .switch > i { position: absolute; top: 2px; left: 2px; width: 13px; height: 13px;
  border-radius: 50%; background: #fff; transition: .18s; }
#askBox .chip:hover { border-color: var(--p); color: var(--p); }
#askBox .chip.on { color: var(--p); border-color: #c9c1ff; background: #f6f4ff; }
#askBox .chip.on .switch { background: var(--p); }
#askBox .chip.on .switch > i { left: 15px; }
#askBox .chip-jump { border-style: dashed; }
#askBox .chip.hot { position: relative; }
#askBox .chip.hot::after { content: 'HOT'; position: absolute; top: -8px; right: -4px; font-size: 9px;
  background: #ff4757; color: #fff; border-radius: 6px; padding: 0 4px; line-height: 13px; }
#askBox .ask-box { box-shadow: 0 10px 34px rgba(108,92,231,.1); }
#askBox .ask-go { width: 78px; }

/* ---------- 窄屏 ---------- */
@media (max-width: 1080px) {
  .main-content { grid-template-columns: 1fr; }
  .right-section { position: static; }
  .writing-items { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  body { padding-left: 0; }
  .wb-side { display: none; }
  .ai-home { padding: 16px 14px 8px; }
  #askBox { padding: 0 14px; }
  .function-box { grid-template-columns: 1fr; }
}

/* ---------- 首页大卡：渐变底 + 插画（对齐熊猫办公） ---------- */
.function-item { position: relative; overflow: hidden; }
.function-item.fi-a { background: linear-gradient(135deg, #f0ecff 0%, #faf9ff 62%); border-color: #e2dcff; }
.function-item.fi-b { background: linear-gradient(135deg, #fff3e9 0%, #fffaf5 62%); border-color: #ffdfd0; }
.fi-art { position: absolute; right: 14px; bottom: 2px; font-size: 52px; line-height: 1;
  opacity: .9; filter: drop-shadow(0 6px 10px rgba(80,60,180,.16)); pointer-events: none; }
.function-item.fi-a button { background: linear-gradient(90deg, var(--p), var(--p2)); color: #fff; border-color: transparent; }
.function-item.fi-b button { background: linear-gradient(90deg, #ff7a45, #ff9c6e); color: #fff; border-color: transparent; }
.function-item.fi-a:hover button, .function-item.fi-b:hover button { filter: brightness(1.06); }

/* ---------- 10-06 排版美化：热门创作首页 ---------- */
/* 去掉角标后标题行更干净 */
.section-title { margin-bottom: 16px; }

/* 双大卡：等高、内边距统一、按钮不贴边 */
.function-box { gap: 16px; }
.function-item { padding: 20px 20px 18px; display: flex; flex-direction: column; align-items: flex-start; min-height: 168px; }
.function-item h2 { line-height: 1.35; }
.function-item p { flex: 1; margin: 8px 0 14px; max-width: 75%; }
.function-item button { margin-top: auto; padding: 7px 20px; border-radius: 999px; font-weight: 600; cursor: pointer; transition: filter .15s; }
.fi-art { font-size: 58px; right: 20px; bottom: 10px; }

/* AI写作六宫格：等高卡片、图标垂直居中、描述两行截断 */
.ai-writing { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.writing-items { gap: 12px; }
.writing-item { min-height: 64px; align-items: center; padding: 12px; }
.wi-ic { width: 38px; height: 38px; font-size: 18px; flex: none; }
.writing-item h4 { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; line-height: 1.3; }
.writing-item h4 .wi-tag { margin-left: 0; }
.writing-item p { height: auto; min-height: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }

/* 右栏知识库卡：步骤编号圆点 + 两个等宽按钮 */
.right-section { padding: 20px; border-radius: 16px; }
.right-section ol.rs-steps { list-style: none; padding-left: 0; margin: 0; counter-reset: rs; }
.right-section ol.rs-steps li { counter-increment: rs; position: relative; padding-left: 26px; line-height: 2.1; color: var(--t2); font-size: 13px; }
.right-section ol.rs-steps li::before { content: counter(rs); position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg, var(--p), var(--p2)); color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
.rs-btn { display: flex; align-items: center; justify-content: center; width: 100%; padding: 9px 0; margin: 14px 0 10px; border: 1px solid var(--p); color: var(--p); border-radius: 999px; font-size: 13.5px; font-weight: 600; transition: .15s; }
.rs-btn:hover { background: var(--p); color: #fff; }

/* 底部输入区：与主区同宽对齐、间距收紧、HOT 角标不被裁 */
.ai-home { padding-bottom: 0; }
.ask { max-width: 1180px; margin: 26px auto 0; padding: 0 24px; box-sizing: border-box; }
.ask .chips { padding-top: 10px; margin-bottom: 12px; }
.ask .chip { padding: 6px 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; }
.ask .chip i { font-style: normal; font-size: 13px; line-height: 1; }
.ask .chip .switch { margin-left: 2px; }
.ask-box { border-radius: 18px; }
.ask-box textarea { height: 68px; padding: 4px 2px; }
.ask-go { border-radius: 999px; cursor: pointer; }
#askBox .ask-go { width: 84px; }

/* 首页底部留白与免责声明 */
.ask-foot { margin: 14px 0 26px; }

/* 窄屏兜底 */
@media (max-width: 900px) {
    .main-content { grid-template-columns: 1fr; }
    .writing-items { grid-template-columns: 1fr 1fr; }
    .ask { padding: 0 14px; }
}
@media (max-width: 560px) {
    .writing-items { grid-template-columns: 1fr; }
    .function-box { grid-template-columns: 1fr; }
}

/* ---------- 10-06b 首页对齐：对话框入左栏 + 知识库卡到底 ---------- */
/* 左右两栏等高拉伸：左栏(大卡+AI写作+对话框) 撑起高度，右卡跟随到底 */
.main-content { align-items: stretch; }
.main-content > .right-section { position: static; top: auto; display: flex; flex-direction: column; }
.main-content > .right-section .rs-used { margin-top: auto; padding-top: 12px; }

/* 对话框成为左栏一员：与 function-box / ai-writing 同边距同宽度 */
.left-section .ask { max-width: none; margin: 16px 0 4px; padding: 0; }
.left-section .ask .chips { padding-top: 8px; }
.left-section .ask-foot { margin: 10px 0 0; }

/* 窄屏时右卡排在下面，恢复普通文档流 */
@media (max-width: 900px) {
    .main-content > .right-section { position: static; }
}

/* #askBox 是 ID 选择器会压过类规则，这里同 ID 覆盖，保证对话框与左栏内容同宽对齐 */
#askBox { max-width: none; margin: 16px 0 0; padding: 0; }
@media (max-width: 900px) { #askBox { padding: 0; } }

/* chips 一行放下（7个） */
#askBox .chips { gap: 5px; }
#askBox .chip { padding: 5px 9px; font-size: 12px; }
/* AI点数：侧栏模型选择 + 点数余额 + 充值入口（2026-10-06） */
.wb-side-mod { margin: 6px 6px 10px; }
.wb-side-mod label { display: block; font-size: 11px; color: var(--t3); margin-bottom: 5px; padding-left: 5px; }
.wb-side-mod select { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 9px;
  padding: 7px 8px; font-size: 13px; color: var(--t1); background: #fff; outline: none; }
.wb-side-mod select:focus { border-color: var(--p); }
.wb-side-pts { display: flex; align-items: center; gap: 6px; margin: 0 6px 12px; padding: 9px 11px;
  border-radius: 11px; background: linear-gradient(120deg, #f3f1ff, #fdfbff); border: 1px solid #ece8ff; }
.wb-side-pts span { font-size: 11.5px; color: var(--t3); }
.wb-side-pts b { font-size: 15px; color: var(--p); }
.wb-side-pts a { margin-left: auto; font-size: 11.5px; color: var(--p); text-decoration: none; }
.wb-side-pts a:hover { text-decoration: underline; }

/* ================= chat 页 tukuppt 风格改版 (v20261006j) ================= */
/* 顶部右侧小按钮 */
.chat-wrap .cw-top{display:flex;justify-content:flex-end;align-items:center;gap:10px;max-width:1180px;margin:0 auto 6px;padding-top:10px}
.chat-wrap .cw-t{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #e8e9f2;color:#3a3f4c;border-radius:999px;padding:7px 15px;font-size:13px;cursor:pointer;text-decoration:none;transition:.15s}
.chat-wrap .cw-t:hover{border-color:#b9aefc;color:#6c5ce7;box-shadow:0 4px 14px rgba(108,92,231,.12)}
.chat-wrap .ct-tip{font-size:12px;color:#8a90a0}

/* 欢迎区 */
.chat-wrap .cw-hello{text-align:center;padding:26px 0 8px}
.chat-wrap .cw-badge{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #ececf5;border-radius:999px;padding:7px 18px;font-size:13px;font-weight:600;color:#3a3f4c;box-shadow:0 4px 16px rgba(31,36,48,.06)}
.chat-wrap .cw-title{margin:18px 0 10px;font-size:34px;line-height:1.25;font-weight:800;color:#1f2430;letter-spacing:.5px}
.chat-wrap .cw-title span{background:linear-gradient(90deg,#6c5ce7,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#6c5ce7}
.chat-wrap .cw-sub{margin:0 0 26px;font-size:14px;color:#8a90a0}

/* 六宫格 */
.chat-wrap .cw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:780px;margin:0 auto;text-align:left}
.chat-wrap .gcard{position:relative;display:block;background:#fff;border:1px solid #ececf5;border-radius:14px;padding:16px 34px 16px 16px;text-decoration:none;color:inherit;transition:.18s}
.chat-wrap .gcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(108,92,231,.14);border-color:#d8d0fc}
.chat-wrap .gcard .gi{display:inline-flex;width:34px;height:34px;border-radius:9px;background:#f3f1fe;align-items:center;justify-content:center;font-size:17px;margin-bottom:8px}
.chat-wrap .gcard .gt{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:#1f2430}
.chat-wrap .gcard p{margin:5px 0 0;font-size:12px;color:#8a90a0;line-height:1.5}
.chat-wrap .gcard .arr{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#c3c8d4;font-size:15px;transition:.15s}
.chat-wrap .gcard:hover .arr{color:#6c5ce7;transform:translateY(-50%) translateX(2px)}
.chat-wrap .gcard.gc-ppt{background:linear-gradient(135deg,#fff5f2,#fff);border-color:#ffd9cd}
.chat-wrap .gcard.gc-ppt .gi{background:#ffe9e2}
.chat-wrap .gcard .gnew{font-style:normal;background:#f4433c;color:#fff;font-size:11px;font-weight:700;border-radius:6px 6px 6px 2px;padding:2px 6px;line-height:1}

/* 更多写作 */
.chat-wrap .cw-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:#fff;border:1px solid #ececf5;border-radius:999px;padding:9px 20px;font-size:13px;color:#3a3f4c;text-decoration:none;transition:.15s}
.chat-wrap .cw-more:hover{border-color:#b9aefc;box-shadow:0 4px 14px rgba(108,92,231,.12)}
.chat-wrap .cw-more i{font-style:normal}
.chat-wrap .cw-more em{font-style:normal;color:#8a90a0;font-size:12px}

/* 大输入框 */
.chat-wrap .cw-input{max-width:780px;margin:26px auto 0}
.chat-wrap .cw-input .ask-box{background:#fff;border:1px solid #e8e9f2;border-radius:16px;box-shadow:0 8px 30px rgba(31,36,48,.07);padding:14px 16px 10px}
.chat-wrap .cw-input textarea{width:100%;min-height:64px;border:0;outline:0;resize:vertical;font-size:14px;line-height:1.7;color:#1f2430;background:transparent;box-sizing:border-box;font-family:inherit}
.chat-wrap .cw-input textarea::placeholder{color:#a7adbc}
.chat-wrap .cw-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.chat-wrap .cw-tools{display:flex;align-items:center;gap:8px;min-width:0}
.chat-wrap .cw-clip{width:32px;height:32px;border-radius:9px;border:0;background:#f3f4f9;color:#6c7280;font-size:15px;cursor:pointer;flex:0 0 auto;transition:.15s}
.chat-wrap .cw-clip:hover{background:#ececf5;color:#6c5ce7}
.chat-wrap .cw-input .chips{display:inline-flex;gap:6px;flex-wrap:wrap}
.chat-wrap .cw-input .chip{padding:5px 11px;font-size:12px}
.chat-wrap .cw-send{width:38px;height:38px;border-radius:11px;border:0;background:#6c5ce7;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.15s}
.chat-wrap .cw-send:hover{background:#5a4bd1;box-shadow:0 6px 16px rgba(108,92,231,.35)}
.chat-wrap .cw-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 6px 0;font-size:12px;color:#a0a5b4}
.chat-wrap .cw-foot .cf-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-wrap .cw-foot .cf-l b{color:#6c5ce7}

/* 对话中的消息区宽度 */
.chat-wrap .chat-list{max-width:780px;margin:0 auto;width:100%}

/* 窄屏 */
@media (max-width:900px){
    .chat-wrap .cw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .chat-wrap .cw-title{font-size:26px}
}
@media (max-width:560px){
    .chat-wrap .cw-grid{grid-template-columns:1fr 1fr;gap:10px}
    .chat-wrap .cw-title{font-size:22px}
    .chat-wrap .cw-top{justify-content:center}
}

/* ==========================================================
   add9 —— write.php 创作场景库（对齐熊猫办公 全量内容版）
   ========================================================== */

/* ---------- Hero 欢迎区 ---------- */
.wr-hero { max-width: 1040px; margin: 0 auto; padding: 36px 20px 4px; text-align: center; }
.wr-hero h1 { font-size: 30px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap;
  background: linear-gradient(90deg, #2b2467, #6c5ce7 55%, #a55eea); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-badge { font-style: normal; font-size: 12px; font-weight: 600; color: #fff; background: linear-gradient(90deg, var(--p), var(--p2));
  border-radius: 12px; padding: 3px 12px; -webkit-text-fill-color: #fff; }
.wr-hero p { color: var(--t2); font-size: 14px; margin-top: 10px; }
.hero-sch { display: flex; align-items: center; max-width: 580px; margin: 22px auto 0; background: #fff;
  border: 2px solid #c9c1ff; border-radius: 26px; padding: 5px 5px 5px 10px; box-shadow: 0 10px 30px rgba(108,92,231,.12); }
.hero-sch:focus-within { border-color: var(--p); }
.hero-sch input { flex: 1; border: 0; outline: 0; background: transparent; padding: 10px 8px 10px 14px; font-size: 14.5px; color: var(--t1); }
.hero-sch button { flex: none; border: 0; cursor: pointer; border-radius: 20px; color: #fff; font-size: 14.5px; font-weight: 600;
  padding: 11px 30px; background: linear-gradient(90deg, var(--p), var(--p2)); }
.hero-sch button:hover { opacity: .92; }
.hero-hots { margin-top: 14px; font-size: 12.5px; color: var(--t3); }
.hero-hots b { font-weight: 400; color: var(--t2); cursor: pointer; margin-left: 12px; }
.hero-hots b:hover { color: var(--p); }

/* ---------- 库区：计数徽标 + 4 列卡片 ---------- */
.sc-total { font-style: normal; font-size: 12px; font-weight: 600; color: var(--p); background: #eef0ff;
  border-radius: 10px; padding: 2px 10px; }
.wr-lib .scenes { grid-template-columns: repeat(4, 1fr); }
.wr-lib .sc .meta span.hot { background: #fff0eb; color: #f56c3d; }

/* ---------- 窄屏 ---------- */
@media (max-width: 1080px) {
  .wr-lib .scenes { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .wr-hero { padding: 22px 14px 2px; }
  .wr-hero h1 { font-size: 23px; }
  .hero-sch button { padding: 10px 20px; }
  .wr-lib .scenes { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .wr-lib .scenes { grid-template-columns: 1fr; }
}
/* ===== add10: 场景编辑器 v2（对齐 tukuppt 表单交互） 2026-10-06 ===== */
.wr-card .fld{margin:0 0 18px}
.wr-card .fld>label{display:block;font-size:15px;font-weight:600;color:#333;margin-bottom:8px}
.wr-card .fld>label .req{color:#e74c3c;font-style:normal;margin-left:2px}
.wr-card .fld input[type=text],.wr-card .fld input[type=number],.wr-card .fld input:not([type]),
.wr-card .fld textarea{width:100%;box-sizing:border-box;border:1px solid #e3e6ef;border-radius:10px;
    padding:11px 14px;font-size:14px;color:#333;background:#fff;outline:none;transition:border .15s,box-shadow .15s}
.wr-card .fld textarea{min-height:84px;resize:vertical;line-height:1.7}
.wr-card .fld input:focus,.wr-card .fld textarea:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px rgba(108,92,231,.12)}
.wr-card .fld input.num{max-width:260px}
.wr-card .fld input::placeholder,.wr-card .fld textarea::placeholder{color:#b3b9c9}
/* radio 药丸组 */
.rd-group{display:flex;flex-wrap:wrap;gap:10px}
.rd-group .rd{display:inline-flex;align-items:center;cursor:pointer;user-select:none}
.rd-group .rd input{position:absolute;opacity:0;pointer-events:none}
.rd-group .rd span{display:inline-block;padding:8px 22px;border:1px solid #e3e6ef;border-radius:999px;
    font-size:14px;color:#555;background:#fff;transition:all .15s}
.rd-group .rd:hover span{border-color:#a99ef0;color:#6c5ce7}
.rd-group .rd.on span{background:#6c5ce7;border-color:#6c5ce7;color:#fff;font-weight:500;
    box-shadow:0 4px 12px rgba(108,92,231,.28)}
/* 立即创作按钮 tukuppt 化 */
.wr-card .gen-btn{display:block;width:100%;max-width:420px;margin:26px auto 8px;padding:14px 0;
    border:none;border-radius:999px;background:linear-gradient(90deg,#7d6bff,#5a45e0);
    color:#fff;font-size:17px;font-weight:600;letter-spacing:6px;cursor:pointer;
    box-shadow:0 8px 20px rgba(108,92,231,.35);transition:transform .15s,box-shadow .15s}
.wr-card .gen-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(108,92,231,.45)}
.wr-card .gen-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.wr-card .quota-line{text-align:center;font-size:13px;color:#999;margin-top:6px}
.wr-card .quota-line b{color:#6c5ce7}
/* 上传行 */
.wr-card .wr-up{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wr-card .wr-up select{border:1px solid #e3e6ef;border-radius:10px;padding:10px 12px;font-size:13px;color:#555;background:#fff;max-width:280px}
.wr-card .wr-up-tip{font-size:13px;color:#6c5ce7}
/* 协议勾选 */
.wr-chk{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;color:#999;margin:4px 0 0;line-height:1.6}
.wr-chk input{margin-top:3px;accent-color:#6c5ce7}
/* 窄屏 */
@media (max-width:760px){
    .wr-card .gen-btn{letter-spacing:3px}
    .rd-group .rd span{padding:7px 16px}
}
/* fix2: hidden radio */.rd-group .rd input{width:0!important;height:0!important;min-width:0!important}

/* ==========================================================
   add11 —— 编辑页 tukuppt 化（大标题+徽标 / label 左置表单 /
   radio 横排 / 推荐标题 / FAQ 两列 / 左栏示例框+编号步骤）
   2026-10-06
   ========================================================== */

/* ---------- 右卡头部 ---------- */
.wr-card .ed-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.wr-card .ed-head h1 { font-size: 30px; font-weight: 800; color: #322e5e; margin: 0; line-height: 1.25; }
.ed-badge { display: inline-flex; align-items: center; gap: 5px; background: #fff; border: 1px solid #e6e0ff;
  color: #6c5ce7; font-size: 12.5px; font-weight: 600; padding: 4px 12px; border-radius: 999px;
  box-shadow: 0 2px 8px rgba(108,92,231,.10); white-space: nowrap; }
.ed-sub { color: #8a90a6; font-size: 14px; margin-bottom: 24px; }

/* ---------- 表单行：label 左置 ---------- */
.frow { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 18px; }
.frow > label { flex: 0 0 118px; text-align: right; font-size: 14.5px; font-weight: 600; color: #333;
  line-height: 42px; margin: 0; }
.frow > label .req { color: #e74c3c; font-style: normal; margin-right: 3px; }
.frow .fctl { flex: 1; min-width: 0; position: relative; }
.frow .fctl > input[type=text],
.frow .fctl > input[type=number],
.frow .fctl > input:not([type]) { width: 100%; box-sizing: border-box; height: 42px; border: 1px solid #e3e6ef;
  border-radius: 10px; padding: 0 14px; font-size: 14px; color: #333; background: #fff; outline: none;
  transition: border .15s, box-shadow .15s; }
.frow .fctl > textarea { width: 100%; box-sizing: border-box; min-height: 84px; border: 1px solid #e3e6ef;
  border-radius: 10px; padding: 10px 14px; font-size: 14px; color: #333; background: #fff; outline: none;
  line-height: 1.7; resize: vertical; font-family: inherit; }
.frow .fctl > input:focus, .frow .fctl > textarea:focus { border-color: #6c5ce7;
  box-shadow: 0 0 0 3px rgba(108,92,231,.12); }
.frow .fctl > input::placeholder, .frow .fctl > textarea::placeholder { color: #b3b9c9; }
.frow .fctl > input[type=number].num { max-width: 260px; }

/* ---------- radio 横排（tukuppt 原生风） ---------- */
.rd-inline { display: flex; flex-wrap: wrap; gap: 6px 28px; padding: 12px 2px 2px; }
.rd-inline .rd { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none;
  font-size: 14.5px; color: #333; }
.rd-inline .rd input { width: 16px; height: 16px; min-width: 16px; accent-color: #6c5ce7; position: static;
  opacity: 1; margin: 0; padding: 0; border: 0; pointer-events: auto; }
.rd-inline .rd span { padding: 0; border: 0; border-radius: 0; background: none !important; color: inherit;
  font-size: inherit; transition: none; box-shadow: none !important; }
.rd-inline .rd:hover span { border: 0; color: #6c5ce7; }
.rd-inline .rd.on { color: #6c5ce7; font-weight: 600; }
.rd-inline .rd.on span { background: none !important; color: #6c5ce7; }

/* ---------- 推荐标题 ---------- */
.reco-btn { position: absolute; right: 10px; top: 6px; border: none; background: #f4f1ff; color: #6c5ce7;
  font-size: 12.5px; font-weight: 600; padding: 6px 12px; border-radius: 999px; cursor: pointer; z-index: 2; }
.reco-btn:hover { background: #ece7ff; }
.reco-btn:disabled { opacity: .6; cursor: wait; }
.reco-pop { position: absolute; right: 0; top: 44px; z-index: 30; background: #fff; border: 1px solid #e6e0ff;
  border-radius: 12px; box-shadow: 0 12px 34px rgba(80,60,200,.18); padding: 6px; display: none;
  min-width: 320px; max-width: 420px; }
.reco-i { padding: 9px 12px; font-size: 13.5px; color: #333; border-radius: 8px; cursor: pointer; }
.reco-i:hover { background: #f4f1ff; color: #6c5ce7; }

/* ---------- 上传行（在 frow 内） ---------- */
.frow .wr-up { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.frow .wr-up select { border: 1px solid #e3e6ef; border-radius: 10px; padding: 9px 12px; font-size: 13px;
  color: #555; background: #fff; max-width: 280px; }

/* ---------- FAQ 两列 ---------- */
.ed-faq { margin-top: 20px; border-top: 1px solid #eef0f6; padding-top: 4px; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.qa { position: relative; padding: 11px 26px 11px 2px; cursor: pointer; border-bottom: 1px dashed #eef0f6; }
.qa b { font-size: 13px; color: #555; font-weight: 600; }
.qa > span { position: absolute; right: 6px; top: 12px; color: #b3b9c9; font-size: 15px;
  transition: transform .15s; }
.qa p { display: none; font-size: 12.5px; color: #8a90a6; line-height: 1.7; margin: 6px 0 4px; }
.qa.open > span { transform: rotate(90deg); }
.qa.open p { display: block; }

/* ---------- 左栏：示例框 + 编号步骤 + 气泡装饰 ---------- */
.ed-demo { margin-bottom: 4px; }
.ed-demo-tag { display: inline-block; background: linear-gradient(135deg, #7d6bff, #5a45e0); color: #fff;
  font-size: 13px; font-weight: 700; padding: 7px 18px; border-radius: 10px 10px 10px 0;
  box-shadow: 0 4px 12px rgba(108,92,231,.25); position: relative; z-index: 1; }
.ed-demo-box { border: 1.5px dashed #b9aef5; border-radius: 0 12px 12px 12px; background: #fff;
  padding: 12px 14px; font-size: 13.5px; color: #6c5ce7; margin-top: -2px; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.ed-steps { margin-top: 20px; }
.ed-step { display: flex; gap: 11px; position: relative; padding: 0 0 18px; }
.ed-step:before { content: ''; position: absolute; left: 12px; top: 26px; bottom: 2px;
  border-left: 2px dashed #d9d2f7; }
.ed-step:last-child:before { display: none; }
.ed-step i { flex: 0 0 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #7d6bff, #5a45e0);
  color: #fff; font-style: normal; font-size: 13px; font-weight: 700; display: flex; align-items: center;
  justify-content: center; position: relative; z-index: 1; }
.ed-step b { display: block; font-size: 14px; color: #333; }
.ed-step span { display: block; font-size: 12.5px; color: #8a90a6; line-height: 1.6; margin-top: 3px; }
.ed-bubbles { position: relative; height: 118px; margin: 6px 0 10px; }
.ed-bubbles span { position: absolute; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; font-size: 12.5px; font-weight: 600; text-align: center;
  background: #efeaff; color: #6c5ce7; opacity: .92; }
.ed-bubbles .b1 { width: 74px; height: 74px; left: 8%; top: 14px; background: #e4dcff; }
.ed-bubbles .b2 { width: 66px; height: 66px; right: 12%; top: 6px; background: #f0ecff; }
.ed-bubbles .b3 { width: 60px; height: 60px; left: 32%; top: 56px; background: #f6f3ff; }
.ed-bubbles .b4 { width: 68px; height: 68px; right: 28%; top: 50px; background: #e9e2ff; }

/* ---------- 窄屏 ---------- */
@media (max-width: 900px) {
  .wr-card .ed-head h1 { font-size: 24px; }
  .frow { flex-direction: column; gap: 6px; }
  .frow > label { flex: none; text-align: left; line-height: 1.5; }
  .faq-grid { grid-template-columns: 1fr; }
  .ed-bubbles { height: 96px; }
  .reco-pop { min-width: 260px; }
}

/* ===== kb.php v2 对齐 tukuppt（add12） ===== */
.kb2-wrap{max-width:1280px;margin:18px auto 120px;padding:0 20px;position:relative}
/* 顶部标题栏 */
.kb2-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.kb2-title{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;color:#1f2430}
.kb2-logo{width:26px;height:26px;display:inline-grid;grid-template-columns:1fr 1fr;gap:2px;transform:rotate(45deg);margin-right:2px}
.kb2-logo b{border-radius:3px}
.kb2-logo b:nth-child(1){background:#f25c54}
.kb2-logo b:nth-child(2){background:#f9b826}
.kb2-logo b:nth-child(3){background:#3fb27f}
.kb2-logo b:nth-child(4){background:#4d7bf3}
.kb2-acts{display:flex;gap:10px;align-items:center}
.kb2-btn{border:0;cursor:pointer;border-radius:20px;padding:9px 20px;font-size:14px;font-weight:600;transition:.15s}
.kb2-btn.primary{background:linear-gradient(90deg,#6a5cff,#8b7bff);color:#fff;box-shadow:0 4px 12px rgba(106,92,255,.28)}
.kb2-btn.primary:hover{filter:brightness(1.06)}
.kb2-btn.ghost{background:#fff;color:#3c4150;border:1px solid #e6e8f0}
.kb2-btn.ghost:hover{border-color:#c9cce0;color:#6a5cff}
.kb2-btn.ghost.danger{color:#e05252}
.kb2-btn.ghost.danger:hover{border-color:#e05252}
/* 主卡片 */
.kb2-main{background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(40,50,90,.06);padding:26px;min-height:380px;position:relative}
/* 空态 */
.kb2-empty{padding:70px 0 40px;text-align:center}
.kb2-empty-ill{width:120px;height:120px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(160deg,#eef0fb,#f6f7fc);display:flex;align-items:center;justify-content:center;font-size:52px;filter:grayscale(.15)}
.kb2-empty-t{font-size:15px;color:#5b6172;margin-bottom:8px}
.kb2-empty-s{font-size:13px;color:#9aa0b2}
.kb2-login{display:inline-block;margin-top:6px;color:#6a5cff;font-weight:600}
/* 三列说明 */
.kb2-intro{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;padding:26px 18px 4px;border-top:1px dashed #e8eaf2;margin-top:26px}
.kb2-intro-i{display:flex;gap:12px;align-items:flex-start}
.kb2-intro-i i{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#eceafc;color:#6a5cff;font-style:normal;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}
.kb2-intro-i b{display:block;font-size:14px;color:#3c4150;margin-bottom:4px}
.kb2-intro-i p{font-size:12px;color:#9aa0b2;line-height:1.7;margin:0}
/* 文件网格 */
.kb2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.kb2-file{border:1px solid #eceef6;border-radius:12px;padding:16px;background:#fff;cursor:pointer;transition:.15s;position:relative}
.kb2-file:hover{box-shadow:0 6px 18px rgba(40,50,90,.08);transform:translateY(-1px)}
.kb2-file.sel{border-color:#6a5cff;box-shadow:0 0 0 2px rgba(106,92,255,.15)}
.kb2-chk{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;border:1.5px solid #ccd0e0;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;background:#fff}
.kb2-chk.on{background:#6a5cff;border-color:#6a5cff}
.kb2-file-i{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;margin-bottom:10px;background:#7f8bb5}
.kb2-file-i.docx{background:#4d7bf3}
.kb2-file-i.pdf{background:#e05252}
.kb2-file-i.txt{background:#3fb27f}
.kb2-file-i.md{background:#9b6cf0}
.kb2-file-n{font-size:14px;font-weight:600;color:#2b3040;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb2-file-m{font-size:12px;color:#9aa0b2;margin-bottom:10px}
.kb2-file-a{display:flex;gap:8px}
.kb2-mini{border:1px solid #dcd6ff;background:#fff;color:#6a5cff;border-radius:14px;padding:3px 14px;font-size:12px;cursor:pointer;transition:.15s}
.kb2-mini:hover{background:#6a5cff;color:#fff;border-color:#6a5cff}
/* 上传中 */
.kb2-uping{display:flex;align-items:center;gap:10px;justify-content:center;padding:30px 0;color:#6a5cff;font-size:14px}
.kb2-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid #ddd6ff;border-top-color:#6a5cff;animation:kbspin .8s linear infinite;display:inline-block}
@keyframes kbspin{to{transform:rotate(360deg)}}
/* 回答卡 */
.kb2-ans{border:1px solid #e6e3ff;border-radius:12px;padding:16px 18px;margin-top:18px;background:#fbfaff}
.kb2-ans-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.kb2-ans-q{font-size:14px;font-weight:700;color:#3c3450}
.kb2-ans-x{cursor:pointer;color:#9aa0b2;font-size:13px;padding:2px 6px}
.kb2-ans-x:hover{color:#e05252}
.kb2-ans-b{font-size:14px;line-height:1.85;color:#33384a;word-break:break-word}
.kb2-ans-b .cite{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:4px;background:#e9e5ff;color:#6a5cff;font-size:11px;font-style:normal;margin:0 2px;vertical-align:2px}
.kb2-refs{margin-top:12px;border-top:1px dashed #e3e0f5;padding-top:10px}
.kb2-refs-t{font-size:12px;color:#8a8fa5;margin-bottom:8px}
.kb2-refs-t em{font-style:normal;color:#6a5cff;cursor:pointer;margin-left:6px}
.kb2-refs-b{display:grid;gap:8px}
.kb-ref{font-size:12px;color:#5b6172;background:#fff;border:1px solid #eeeaf9;border-radius:8px;padding:8px 10px}
.kb-ref .no{color:#6a5cff;font-weight:700;margin-right:6px}
.kb-ref .doc{font-weight:600;color:#3c4150;margin-right:8px}
.kb-ref .txt{margin-top:4px;color:#8a8fa5;line-height:1.6}
/* 底部提问条 */
.kb2-askbar{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(245,246,250,0),#f5f6fa 40%);padding:14px 0 18px;z-index:30}
.kb2-ask-in{max-width:860px;margin:0 auto;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3e5f0;border-radius:28px;padding:8px 8px 8px 22px;box-shadow:0 6px 22px rgba(40,50,90,.08)}
.kb2-ask-in input{flex:1;border:0;outline:0;font-size:15px;color:#2b3040;background:transparent}
.kb2-ask-in input::placeholder{color:#a8adc0}
.kb2-ask-in button{border:0;cursor:pointer;background:linear-gradient(90deg,#6a5cff,#8b7bff);color:#fff;border-radius:22px;padding:10px 22px;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(106,92,255,.28)}
.kb2-ask-in button:disabled{opacity:.5;cursor:not-allowed}
.kb2-ask-in button i{font-style:normal;margin-left:2px}
.kb2-scope{text-align:center;font-size:12px;color:#8a8fa5;height:18px;margin-top:6px}
@media (max-width:900px){
  .kb2-intro{grid-template-columns:1fr;gap:14px}
  .kb2-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .kb2-ask-in{margin:0 14px}
  .kb2-title{font-size:18px}
  .kb2-btn{padding:8px 14px;font-size:13px}
}

/* ===== ppt.php v2 对齐 ai.tukuppt.com（add13） ===== */
.ph-hero{max-width:1100px;margin:0 auto;padding:34px 20px 10px;text-align:center;position:relative}
.ph-title{margin:6px 0 10px;font-size:44px;font-weight:900;letter-spacing:2px}
.ph-title em{font-style:normal;background:linear-gradient(92deg,#ff7a3c,#e0367f 55%,#8a3ff0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph-title i{font-style:italic;background:linear-gradient(92deg,#4a72ff,#7a3ff0);-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:6px}
.ph-sub{color:#5a6172;font-size:15px;margin:0 0 26px}
/* 输入卡 */
.ph-card{max-width:780px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(90,70,220,.14);padding:14px 18px 14px;text-align:left;position:relative}
.ph-tabs{display:flex;gap:6px;margin:-30px 0 10px -6px}
.ph-tab{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:12px 12px 0 0;padding:12px 18px;font-size:14px;font-weight:600;color:#6a6f82;cursor:pointer;box-shadow:0 -4px 14px rgba(90,70,220,.10)}
.ph-tab.on{color:#241a4f;font-weight:700}
.ph-tab:not(.on){background:#fff;box-shadow:0 -4px 14px rgba(90,70,220,.10);opacity:.75}
.ph-tab .icp,.ph-tab .icw,.ph-mode .icp,.ph-mode .icw,.ph-mode .ict{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800;font-style:normal}
.ph-tab .icp,.ph-mode .icp{background:linear-gradient(135deg,#ff8a4c,#e0367f)}
.ph-tab .icw,.ph-mode .icw{background:linear-gradient(135deg,#4a8cff,#2f5fe0)}
.ph-mode .ict{background:linear-gradient(135deg,#9b6cf0,#6a3fd8)}
.ph-inrow{display:flex;align-items:flex-end;gap:12px;border:1.5px solid #d9d4ff;border-radius:12px;padding:10px 10px 10px 16px;background:#fff}
.ph-inrow:focus-within{border-color:#8a7bff;box-shadow:0 0 0 3px rgba(122,96,255,.12)}
.ph-inrow textarea{flex:1;border:0;outline:0;resize:none;font-size:15px;line-height:1.6;color:#2b3040;max-height:120px;background:transparent;font-family:inherit}
.ph-send{border:0;cursor:pointer;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#8a6bff,#6a4df0);color:#fff;font-size:15px;box-shadow:0 4px 12px rgba(106,77,240,.35);flex:0 0 38px}
.ph-send:hover{filter:brightness(1.08)}
.ph-subrow{display:flex;align-items:center;gap:14px;margin:10px 2px 4px;flex-wrap:wrap}
.ph-mini-link{color:#7a6cf0;font-size:13px;cursor:pointer}
.ph-mini-link:hover{text-decoration:underline}
.ph-atchip{font-size:12px;color:#5a6172;background:#f1effe;border-radius:14px;padding:4px 12px}
.ph-atchip i{font-style:normal;color:#b06;cursor:pointer;margin-left:4px}
.ph-atchip b{font-weight:600;max-width:180px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
/* 下拉 */
.ph-dd{position:relative;display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#5a6172;background:#f6f6fb;border-radius:16px;padding:7px 14px;cursor:pointer;user-select:none}
.ph-dd b{color:#2b3040;font-weight:600}
.ph-dd.on,.ph-dd:hover{background:#efeaff}
.ph-ddmenu{position:absolute;top:calc(100% + 8px);left:0;min-width:150px;background:#fff;border-radius:12px;box-shadow:0 10px 34px rgba(40,40,90,.16);padding:6px;z-index:60;text-align:left}
.ph-opt{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 12px;border-radius:8px;font-size:13px;color:#3c4150;cursor:pointer}
.ph-opt:hover{background:#f4f2ff}
.ph-opt.on{color:#6a4df0;font-weight:700}
.ph-opt i{font-style:normal;color:#6a4df0}
.ph-pills{display:flex;gap:10px;margin:12px 0 2px;flex-wrap:wrap}
/* 首页特征行 */
.ph-feats{display:flex;justify-content:center;gap:34px;margin:22px 0 8px;color:#8a90a5;font-size:13px;flex-wrap:wrap}
/* 流程态 */
.ph-hello{font-size:30px;font-weight:900;margin:8px 0 18px}
.ph-hello b{background:linear-gradient(92deg,#ff7a3c,#e0367f 55%,#8a3ff0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph-modes{display:flex;justify-content:center;gap:22px;margin-bottom:26px}
.ph-mode{width:112px;padding:16px 0 12px;background:#fff;border-radius:14px;box-shadow:0 6px 22px rgba(90,70,220,.12);font-size:13px;font-weight:600;color:#3c4150;cursor:pointer;transition:.15s}
.ph-mode:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(90,70,220,.18)}
.ph-mode i{margin-bottom:8px}
.ph-chat{max-width:780px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:14px}
.ph-bub{max-width:88%;border-radius:14px;padding:12px 16px;font-size:14px;line-height:1.7;word-break:break-word}
.ph-bub.user{align-self:flex-end;background:linear-gradient(120deg,#8a6bff,#6a4df0);color:#fff;border-bottom-right-radius:4px}
.ph-bub.ai{align-self:flex-start;background:#fff;color:#3c4150;box-shadow:0 4px 16px rgba(90,70,220,.08);border-top-left-radius:4px}
.ph-wait{color:#7a6cf0}
.ph-wbar{display:inline-block;width:90px;height:6px;border-radius:3px;background:#ece7ff;margin-left:10px;overflow:hidden;vertical-align:middle}
.ph-wbar i{display:block;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,#8a6bff,#6a4df0);animation:phslide 1.2s ease-in-out infinite}
@keyframes phslide{0%{margin-left:-40%}100%{margin-left:100%}}
/* 模板小卡（对话内） */
.ph-tplcard{display:flex;gap:12px;align-items:center;background:#f8f7ff;border:1px solid #e4defc;border-radius:12px;padding:10px;position:relative}
.ph-tplcard img{width:120px;aspect-ratio:16/10;object-fit:cover;object-position:center top;border-radius:8px;display:block;background:#eef0f6}
.ph-tplcard .m b{display:block;font-size:14px;color:#2b3040;margin-bottom:6px;max-width:420px}
.ph-tplcard .m span{font-size:12px;color:#8a90a5}
.ph-tplcard .m a{color:#6a4df0}
.ph-tplcard .x{position:absolute;top:8px;right:10px;font-style:normal;color:#a0a4b5;cursor:pointer}
.ph-tplcard .x:hover{color:#e05252}
/* 大纲树 */
.ph-olcard{max-width:100%;background:#fff;border:1px solid #e6e3f7}
.ph-ol{border:1px solid #e8e6f2;border-radius:10px;padding:14px 18px;max-height:420px;overflow:auto;background:#fbfaff}
.ph-ol-root,.ph-ol-sec{display:flex;gap:14px;margin-bottom:12px}
.ph-ol-sec{border-top:1px dashed #e3e0f2;padding-top:12px}
.ph-ol .lab{flex:0 0 44px;height:24px;line-height:24px;text-align:center;background:#efeaff;color:#6a4df0;border-radius:6px;font-size:12px;font-style:normal}
.ph-ol .items{flex:1}
.ph-ol .it{font-size:13px;color:#4a4f60;line-height:2;white-space:pre-wrap}
.ph-ol .it.b{font-weight:700;color:#2b3040}
.ph-ol-act{display:flex;justify-content:center;gap:16px;margin-top:14px}
.ph-btn{border:0;cursor:pointer;border-radius:20px;padding:10px 26px;font-size:14px;font-weight:700;background:linear-gradient(90deg,#8a6bff,#6a4df0);color:#fff;box-shadow:0 4px 14px rgba(106,77,240,.3)}
.ph-btn.ghost{background:#fff;color:#6a4df0;border:1px solid #cfc4ff;box-shadow:none}
.ph-btn.ghost:hover{background:#f4f1ff}
.ph-btn:hover{filter:brightness(1.06)}
/* 画廊 */
.ph-wrap{max-width:1280px;margin:26px auto 60px;padding:0 20px}
.ph-lib-h{font-size:26px;font-weight:900;text-align:center;margin:10px 0 18px}
.ph-lib-h em{font-style:normal;background:linear-gradient(92deg,#e0367f,#8a3ff0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph-cats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.ph-cat{font-size:13px;color:#4a4f60;background:#fff;border-radius:16px;padding:7px 18px;cursor:pointer;box-shadow:0 2px 10px rgba(40,40,90,.06)}
.ph-cat.on{background:linear-gradient(90deg,#8a6bff,#6a4df0);color:#fff;font-weight:700}
.ph-cat:hover{color:#6a4df0}
.ph-cat.on:hover{color:#fff}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px}
.ph-grid-wait{grid-column:1/-1;text-align:center;color:#9aa0b2;padding:60px 0}
.ph-tpl{background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 2px 12px rgba(40,40,90,.07);transition:.15s;position:relative}
.ph-tpl:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(40,40,90,.14)}
.ph-tpl img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center top;display:block;background:#eef0f6}
.ph-tpl .nm{padding:10px 12px 12px;font-size:13px;color:#2b3040;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-tpl .use{position:absolute;inset:auto 0 44px 0;margin:0 12px;text-align:center;background:linear-gradient(90deg,#8a6bff,#6a4df0);color:#fff;border-radius:8px;padding:7px 0;font-size:13px;font-weight:700;opacity:0;transition:.15s}
.ph-tpl:hover .use{opacity:1}
/* 生成进度遮罩 */
.ph-gen{position:fixed;inset:0;background:rgba(30,25,60,.45);z-index:100;display:flex;align-items:center;justify-content:center}
.ph-gen-card{background:#fff;border-radius:18px;padding:38px 46px;text-align:center;min-width:340px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ph-gen-card b{display:block;font-size:16px;color:#2b3040;margin:14px 0 16px}
.ph-ring{width:54px;height:54px;margin:0 auto;border-radius:50%;border:4px solid #ece7ff;border-top-color:#6a4df0;animation:phspin .9s linear infinite}
@keyframes phspin{to{transform:rotate(360deg)}}
.ph-gen-bar{height:8px;border-radius:4px;background:#eee9ff;overflow:hidden;margin-bottom:12px}
.ph-gen-bar i{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#8a6bff,#6a4df0);transition:width .5s}
.ph-gen-card span{font-size:12px;color:#8a90a5}
/* 结果页 */
.ph-slides{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.ph-slide{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(40,40,90,.08);min-height:180px;position:relative;padding-bottom:26px}
.ph-slide .hd{color:#fff;font-size:15px;font-weight:700;padding:14px 18px}
.ph-slide .pts{margin:16px 20px;padding:0 0 0 18px;color:#3c4150;font-size:13px;line-height:2}
.ph-slide .sec{display:flex;align-items:center;justify-content:center;min-height:120px;font-size:22px;font-weight:800;text-align:center;padding:0 16px}
.ph-slide .pg{position:absolute;bottom:8px;right:14px;font-size:11px;color:#a0a4b5}
.ph-slide.cover{padding:0}
.ph-slide.cover .cov{aspect-ratio:16/9;background-size:cover;background-position:top center;position:relative}
.ph-slide.cover .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,45,.05),rgba(20,15,45,.55));display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;padding:0 14px}
.ph-slide.cover .ov b{font-size:20px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.ph-slide.cover .ov span{font-size:12px;margin-top:8px;opacity:.85}
.ph-slide.end{padding:0;min-height:0}
.ph-slide.end .en{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.ph-slide.end .en b{font-size:26px;letter-spacing:4px}
.ph-slide.end .en span{font-size:12px;margin-top:10px;opacity:.85}
.ph-filecard{display:flex;align-items:center;gap:14px;background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(40,40,90,.08);padding:16px 20px;margin:0 auto;max-width:760px}
.ph-filecard .fi{font-size:26px}
.ph-filecard .meta{flex:1}
.ph-filecard .meta b{display:block;font-size:15px;color:#2b3040}
.ph-filecard .meta span{font-size:12px;color:#8a90a5}
.ph-filecard .dl{background:linear-gradient(90deg,#8a6bff,#6a4df0);color:#fff;border-radius:18px;padding:9px 20px;font-size:13px;font-weight:700;text-decoration:none}
.ph-filecard .dl.ghost{background:#fff;color:#6a4df0;border:1px solid #cfc4ff}
/* 文档弹窗 */
.ph-mask{position:fixed;inset:0;background:rgba(30,25,60,.45);z-index:90;display:flex;align-items:center;justify-content:center}
.ph-modal{background:#fff;border-radius:16px;width:520px;max-width:92vw;padding:0 0 14px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ph-mx{position:absolute;top:12px;right:14px;color:#a0a4b5;cursor:pointer;font-size:14px}
.ph-mx:hover{color:#e05252}
.ph-mtabs{display:flex;gap:26px;padding:16px 24px 0;border-bottom:1px solid #eee}
.ph-mtabs span{font-size:14px;color:#6a6f82;padding:10px 2px;cursor:pointer;border-bottom:2px solid transparent}
.ph-mtabs span.on{color:#6a4df0;font-weight:700;border-bottom-color:#6a4df0}
.ph-mpane{padding:20px 24px 6px}
.ph-up{border:1.5px dashed #cfc9f5;border-radius:12px;background:#fbfaff;text-align:center;padding:34px 16px;cursor:pointer}
.ph-up.over{border-color:#8a6bff;background:#f4f1ff}
.ph-up-ic{width:56px;height:56px;line-height:56px;margin:0 auto 12px;border-radius:16px;background:linear-gradient(135deg,#8a6bff,#6a4df0);color:#fff;font-size:22px}
.ph-up b{display:block;font-size:15px;color:#2b3040;margin-bottom:8px}
.ph-up span{font-size:12px;color:#9aa0b2;line-height:1.8}
.ph-mpane textarea{width:100%;border:1.5px solid #d9d4ff;border-radius:10px;padding:12px;font-size:13px;resize:vertical;outline:0;font-family:inherit;color:#2b3040;box-sizing:border-box}
.ph-mact{text-align:right;padding:12px 24px 0}
.ph-mok{border:0;cursor:pointer;background:linear-gradient(90deg,#8a6bff,#6a4df0);color:#fff;border-radius:18px;padding:9px 28px;font-size:14px;font-weight:700}
/* 窄屏 */
@media (max-width:860px){
  .ph-title{font-size:30px}
  .ph-slides{grid-template-columns:1fr 1fr}
  .ph-feats{gap:14px}
  .ph-modes{gap:10px}
  .ph-mode{width:96px}
  .ph-bub{max-width:96%}
  .ph-filecard{flex-wrap:wrap}
}
@media (max-width:560px){
  .ph-slides{grid-template-columns:1fr}
  .ph-tabs{flex-wrap:wrap}
}
.ph-mdchk{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12.5px;color:#4a5068;cursor:pointer}.ph-mdchk input{accent-color:#6a4df0;width:15px;height:15px}
