/* P1-1 格式预检 + P2-1 同人标记 + P2-2 投稿台账 的样式。
   全部走 tokens.css 的变量，不写死颜色。 */

/* ---- P2-1 衍生作品标记 ---- */
.deriv-box{margin-top:16px;border:1px solid var(--bd);border-radius:12px;background:var(--card);overflow:hidden;}
.deriv-box.on{border-color:rgba(245,180,69,.42);}
.deriv-hd{display:flex;align-items:center;gap:8px;padding:11px 16px;background:rgba(148,163,184,.06);border-bottom:1px solid var(--border-soft);}
.deriv-box.on .deriv-hd{background:var(--warn-dim);}
.deriv-hd b{margin-right:auto;font-weight:600;font-size:13.5px;}
.deriv-box.on .deriv-hd b{color:var(--warn);}
.deriv-dot{width:7px;height:7px;border-radius:50%;background:var(--ink3);flex:none;}
.deriv-box.on .deriv-dot{background:var(--warn);}
.deriv-bd{padding:12px 16px 14px;}
.deriv-lbl{font-size:12px;color:var(--ink3);margin-bottom:6px;}
.deriv-ops{margin-top:9px;}
.deriv-tip{margin-top:10px;font-size:11.5px;line-height:1.8;color:var(--meta);}
.deriv-tip b{color:var(--fg-2);font-weight:600;}

/* ---- P2-2 投稿台账 ---- */
.sub-box{margin-top:16px;border:1px solid var(--bd);border-radius:12px;background:var(--card);overflow:hidden;}
.sub-hd{display:flex;align-items:center;gap:8px;padding:11px 16px;background:rgba(148,163,184,.06);border-bottom:1px solid var(--border-soft);}
.sub-hd b{font-weight:600;font-size:13.5px;margin-right:auto;}
.sub-cnt{font-size:11.5px;color:var(--meta);}
.sub-list{padding:8px 16px;}
.sub-empty{font-size:12px;color:var(--ink3);line-height:1.9;padding:6px 0;}
.sub-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-soft);font-size:12.5px;}
.sub-row:last-child{border-bottom:none;}
.sub-name{font-weight:600;color:var(--fg-2);min-width:104px;}
.sub-st{font-size:11px;padding:2px 8px;border-radius:20px;border:1px solid var(--bd);color:var(--ink3);}
.sub-st.sub-accepted{color:var(--ok,#2dd4bf);border-color:rgba(45,212,191,.4);background:rgba(45,212,191,.1);}
.sub-st.sub-pending{color:var(--warn);border-color:rgba(245,180,69,.4);background:var(--warn-dim);}
.sub-st.sub-rejected,.sub-st.sub-withdrawn{color:var(--ink3);}
.sub-note{font-size:11.5px;color:var(--meta);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sub-del{margin-left:auto;background:none;border:none;color:var(--ink3);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px;}
.sub-del:hover{color:var(--danger);background:rgba(227,94,83,.1);}
.sub-add{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--border-soft);flex-wrap:wrap;}
.sub-add select{background:var(--surface-2);border:1px solid var(--bd);color:var(--fg-2);border-radius:var(--radius-sm);padding:6px 9px;font-size:12.5px;}
.sub-tip{padding:0 16px 13px;font-size:11.5px;line-height:1.8;color:var(--meta);}

/* ---- P1-1 格式预检 ---- */
.pre-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.pre-head select{background:var(--surface-2);border:1px solid var(--bd);color:var(--fg-2);border-radius:var(--radius-sm);padding:6px 9px;font-size:12.5px;}
.pre-loading{font-size:12.5px;color:var(--ink3);padding:14px 0;}
.pre-sum{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;padding:10px 12px;border-radius:var(--radius-sm);}
.pre-sum.ok{color:var(--ok,#2dd4bf);background:rgba(45,212,191,.08);border-left:3px solid var(--ok,#2dd4bf);}
.pre-sum.bad{color:var(--danger);background:rgba(227,94,83,.08);border-left:3px solid var(--danger);}
.pre-cnt{margin-left:auto;display:flex;gap:8px;font-weight:400;}
.pre-c{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:20px;}
.pre-c.pre-block{color:var(--danger);background:rgba(227,94,83,.14);}
.pre-c.pre-warn{color:var(--warn);background:var(--warn-dim);}
.pre-c.pre-info{color:var(--ink3);background:rgba(148,163,184,.12);}
.pre-sumtxt{font-size:12px;color:var(--ink3);margin:8px 0 12px;line-height:1.8;}
.pre-none{font-size:12.5px;color:var(--ok,#2dd4bf);padding:10px 0;}
.pre-list{display:flex;flex-direction:column;gap:9px;}
.pre-item{border:1px solid var(--bd);border-radius:10px;padding:10px 12px;background:rgba(148,163,184,.04);}
.pre-item.pre-block{border-color:rgba(227,94,83,.4);background:rgba(227,94,83,.05);}
.pre-item.pre-warn{border-color:rgba(245,180,69,.34);background:var(--warn-dim);}
.pre-item-hd{display:flex;align-items:center;gap:9px;margin-bottom:6px;flex-wrap:wrap;}
.pre-rule{font-size:12.5px;font-weight:600;color:var(--fg-2);}
.pre-lv{font-size:11px;padding:1px 7px;border-radius:20px;border:1px solid var(--bd);color:var(--ink3);}
.pre-item.pre-block .pre-lv{color:var(--danger);border-color:rgba(227,94,83,.42);}
.pre-item.pre-warn .pre-lv{color:var(--warn);border-color:rgba(245,180,69,.42);}
.pre-chap{font-size:11px;color:var(--meta);margin-left:auto;}
.pre-msg{font-size:12.5px;color:var(--fg-2);line-height:1.75;margin-bottom:5px;}
.pre-fix{font-size:12px;color:var(--ink3);line-height:1.8;}
.pre-fix b{color:var(--fg-2);font-weight:600;}

/* ---- 平台卡片：三类提示的展示位 ---- */
.pub-note{margin-top:7px;font-size:11.5px;line-height:1.75;border-radius:var(--radius-sm);padding:6px 9px;border-left:3px solid var(--bd);background:rgba(148,163,184,.06);color:var(--ink3);}
.pub-note.block{border-left-color:var(--danger);background:rgba(227,94,83,.08);color:var(--fg-2);}
.pub-note.warn{border-left-color:var(--warn);background:var(--warn-dim);color:var(--fg-2);}
.pub-subtag{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:20px;background:rgba(45,212,191,.12);color:var(--success);margin-top:7px;}

/* ---- 平台固有风险条：与作品无关、写死在平台规则里的坑 ---- */
/* 与 .pub-note 视觉上刻意区分：note 是「你这部作品怎样」，risk 是「这平台本身怎样」，
   用警示图标 + 更硬的边框表达「这是平台自带的坑，跟你写什么无关」。 */
.pub-risk{
  display:flex;align-items:flex-start;gap:6px;
  margin-top:7px;font-size:11.5px;line-height:1.75;
  border-radius:var(--radius-sm);padding:7px 9px;
  border:1px solid var(--danger-dim);
  background:var(--danger-dim);color:var(--fg-2);
}
.pub-risk svg{flex:none;margin-top:2px;color:var(--danger);}

/* ---- P1-3 投稿分流建议卡 ---- */
.dv-card{margin-bottom:14px;}
.dv-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:720px){.dv-cols{grid-template-columns:1fr;}}
.dv-col{min-width:0;}
.dv-hd{font-size:12px;font-weight:600;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--border-soft);}
.dv-hd-rec{color:var(--success);}
.dv-hd-avoid{color:var(--meta);}
.dv-row{
  display:flex;align-items:flex-start;gap:9px;
  padding:8px 9px;margin-bottom:6px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--border-soft);
}
.dv-rec{cursor:pointer;transition:border-color .15s,background .15s;}
.dv-rec:hover{border-color:var(--accent);background:var(--accent-dim);}
.dv-idx{
  flex:none;width:16px;height:16px;margin-top:2px;border-radius:50%;
  background:var(--success-dim);border:1px solid var(--success);
}
.dv-x{
  background:transparent;border-color:var(--meta);
  color:var(--meta);font-size:11px;line-height:14px;text-align:center;
}
.dv-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.dv-main b{font-size:12.5px;color:var(--fg);}
.dv-reason{font-size:11.5px;color:var(--ink3);line-height:1.7;}
.dv-go{flex:none;font-size:11.5px;color:var(--accent-strong);white-space:nowrap;}
.dv-none{font-size:12px;color:var(--ink3);line-height:1.8;padding:4px 0;}
/* 点建议项后高亮对应平台卡（pubGoto），1.6s 后自动褪去 */
.pub-card.dv-flash{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);}

@media(max-width:560px){
  .sub-add{flex-direction:column;}
  .sub-add select,.sub-add button{width:100%;}
  .pre-chap{margin-left:0;}
}
