
  /* =====================================================================
   * AIPEE V5 · 正向 14 步工作台（Track B）样式
   * 与 app.css 同设计语言：银墨、直角、等宽字点缀。仅新增 .f-* 命名空间，
   * 不改动旧 8 层（Track A）任何选择器。
   * ===================================================================== */

  /* ---------- 轨道：14 步 ---------- */
  .f-rail{display:flex;flex-wrap:wrap;gap:6px;padding:14px;margin-bottom:14px;background:var(--card);border:1px solid var(--silver-line);border-radius:2px}
  .f-chip{display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--silver-line);border-radius:2px;background:var(--paper);font-size:12px;color:var(--silver);transition:all .3s var(--ease-expo);cursor:pointer;white-space:nowrap}
  .f-chip:hover{border-color:var(--ink);color:var(--ink)}
  .f-chip .n{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em}
  .f-chip.done{color:var(--emerald);border-color:rgba(76,138,99,0.4);background:rgba(76,138,99,0.05)}
  .f-chip.active{color:var(--white);background:var(--ink);border-color:var(--ink)}
  .f-chip.locked{opacity:.62}
  .f-chip.on{box-shadow:0 0 0 2px rgba(21,23,26,0.18)}

  /* ---------- 概览条 ---------- */
  .f-brief{display:flex;flex-wrap:wrap;gap:0;margin-bottom:14px;padding:0 16px;background:var(--card);border:1px solid var(--silver-line);border-radius:2px}
  .f-brief .i{padding:12px 20px 12px 0;margin-right:20px;border-right:1px solid var(--silver-line)}
  .f-brief .i:last-child{border-right:none;margin-right:0}
  .f-brief .i .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);font-family:var(--font-mono)}
  .f-brief .i .v{margin-top:3px;font-size:13.5px;font-weight:500}
  .f-brief .i .v.mono{font-family:var(--font-mono);font-size:12px}

  /* ---------- 面板 ---------- */
  .f-panel{padding:26px;background:var(--card);border:1px solid var(--silver-line);border-radius:2px}
  .f-panel .hd{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--silver-line);padding-bottom:14px}
  .f-panel .hd h3{font-family:var(--font-display);font-size:19px;font-weight:600}
  .f-panel .hd .sub{font-size:12px;color:var(--silver);margin-top:4px}
  .f-panel .hd .sub .mono{font-family:var(--font-mono);font-size:11px}
  .f-panel .bd{margin-top:16px}
  .f-state{font-family:var(--font-mono);font-size:10px;padding:3px 10px;border-radius:999px;letter-spacing:.08em;white-space:nowrap}
  .f-state.done{color:var(--emerald);background:rgba(76,138,99,0.1)}
  .f-state.active{color:var(--white);background:var(--ink)}
  .f-state.locked{color:var(--silver);background:var(--paper);border:1px dashed var(--silver-line)}

  .f-lock{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-top:14px;background:var(--paper);border:1px solid var(--silver-line);border-left:2px solid var(--silver);border-radius:2px;font-size:13px;color:var(--ink-2)}
  .f-lock .ic{flex:none;color:var(--silver);font-family:var(--font-mono);font-size:11px;padding-top:2px}

  /* ---------- 表单与网格 ---------- */
  .f-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
  .f-cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:14px}
  .f-area{width:100%;min-height:110px;padding:12px 14px;border:1px solid var(--silver-line);border-radius:2px;background:var(--card);font-size:14px;color:var(--ink);font-family:var(--font-body);line-height:1.6;resize:vertical}
  .f-area:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(21,23,26,0.08)}
  .f-tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
  .f-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--silver-line);border-radius:2px;background:var(--paper);font-size:12px;font-family:var(--font-mono)}
  .f-tag b{font-weight:500}
  .f-tag.x{cursor:pointer}
  .f-tag.x:hover{border-color:var(--rose);color:var(--rose)}

  /* ---------- 事实 / 约束表 ---------- */
  .f-tbl{width:100%;border-collapse:collapse;margin-top:14px;font-size:12.5px}
  .f-tbl th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);font-weight:400;padding:8px 10px;border-bottom:1px solid var(--silver-line)}
  .f-tbl td{padding:9px 10px;border-bottom:1px dashed var(--silver-line);vertical-align:top}
  .f-tbl tr:last-child td{border-bottom:none}
  .f-tbl td.mono,.f-tbl td .mono{font-family:var(--font-mono);font-size:11.5px}
  .f-tbl .lv{font-family:var(--font-mono);font-size:10px;padding:2px 7px;border-radius:2px;border:1px solid var(--silver-line)}
  .f-tbl .lv.C0{color:var(--rose);border-color:rgba(168,84,84,0.5);background:rgba(168,84,84,0.06)}
  .f-tbl .lv.C1{color:var(--ink);border-color:var(--ink)}
  .f-tbl .st{font-family:var(--font-mono);font-size:10px}
  .f-tbl .st.confirmed,.f-tbl .st.locked{color:var(--emerald)}
  .f-tbl .st.proposed{color:var(--amber)}
  .f-tbl .st.violated,.f-tbl .st.stale{color:var(--rose)}
  .f-scroll{max-height:340px;overflow:auto;border:1px solid var(--silver-line);border-radius:2px;margin-top:14px}
  .f-scroll .f-tbl{margin-top:0}
  .f-scroll .f-tbl th{position:sticky;top:0;background:var(--card);z-index:1}

  /* ---------- 概念墙 ---------- */
  .f-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:16px}
  .f-ccard{border:1px solid var(--silver-line);border-radius:2px;background:var(--card);overflow:hidden;transition:border-color .3s var(--ease-expo),box-shadow .3s var(--ease-expo)}
  .f-ccard:hover{border-color:var(--ink)}
  .f-ccard.sel{border-color:var(--ink);box-shadow:0 0 0 2px rgba(21,23,26,0.16)}
  .f-ccard .pic{aspect-ratio:4/3;background:var(--paper-2);display:flex;align-items:center;justify-content:center;overflow:hidden}
  .f-ccard .pic svg{width:100%;height:100%;display:block}
  .f-ccard .pic .ph{font-family:var(--font-mono);font-size:10px;color:var(--silver)}
  .f-ccard .mt{padding:11px 12px;border-top:1px solid var(--silver-line)}
  .f-ccard .mt .t{font-size:13px;font-weight:500;line-height:1.35}
  .f-ccard .mt .d{font-family:var(--font-mono);font-size:10px;color:var(--silver);margin-top:4px}
  .f-ccard .mt .acts{display:flex;gap:6px;margin-top:9px}
  .f-ccard .mt .acts .btn{min-height:30px;padding:0 12px;font-size:10px;letter-spacing:.1em}

  /* ---------- 效果图库 ---------- */
  .f-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:16px}
  .f-shot{border:1px solid var(--silver-line);border-radius:2px;overflow:hidden;background:var(--paper-2)}
  .f-shot img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
  .f-shot .cap{padding:7px 10px;font-family:var(--font-mono);font-size:10px;color:var(--ink-2);background:var(--card);border-top:1px solid var(--silver-line);display:flex;justify-content:space-between;gap:8px}

  /* ---------- 结果徽标 ---------- */
  .f-pill{display:inline-block;font-family:var(--font-mono);font-size:10px;padding:2px 9px;border-radius:999px;letter-spacing:.06em}
  .f-pill.ok{color:var(--emerald);background:rgba(76,138,99,0.1)}
  .f-pill.warn{color:var(--amber);background:rgba(169,130,47,0.13)}
  .f-pill.bad{color:var(--rose);background:rgba(168,84,84,0.1)}
  .f-pill.mute{color:var(--silver);background:var(--paper);border:1px solid var(--silver-line)}

  /* ---------- 阻塞清单 ---------- */
  .f-blocks{display:flex;flex-direction:column;gap:7px;margin-top:14px}
  .f-block{display:flex;gap:10px;padding:11px 13px;border:1px solid var(--silver-line);border-left:2px solid var(--rose);border-radius:2px;background:var(--card);font-size:12.5px}
  .f-block.warn{border-left-color:var(--amber)}
  .f-block .code{font-family:var(--font-mono);font-size:10px;color:var(--silver);flex:none;padding-top:2px;min-width:130px}

  /* ---------- 日志 / 控制台 ---------- */
  .f-log{margin-top:14px;padding:12px 14px;background:var(--paper);border:1px solid var(--silver-line);border-radius:2px;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto}
  .f-log:empty{display:none}

  /* ---------- 忙态 ---------- */
  .f-busy{position:relative}
  .f-busy::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--ink),transparent);animation:f-sweep 1.1s linear infinite}
  @keyframes f-sweep{0%{transform:translateX(-40%)}100%{transform:translateX(40%)}}

  .f-note{font-size:11.5px;color:var(--silver);margin-top:10px}
  .f-warnline{padding:10px 13px;margin-top:14px;border:1px solid rgba(169,130,47,0.4);border-left:2px solid var(--amber);border-radius:2px;background:rgba(169,130,47,0.06);font-size:12.5px}

  /* ---------- 参考素材（旧 8 层）作为需求输入通道 ---------- */
  .ws-meta .ws-tag{font-style:normal;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-mono);color:var(--silver);border:1px solid var(--silver-line);border-radius:2px;padding:1px 6px;margin-left:7px;vertical-align:1px}
  .f-legacy{margin-bottom:14px;padding:18px 20px;background:var(--card);border:1px solid var(--silver-line);border-left:2px solid var(--amber);border-radius:2px}
  .f-legacy-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .f-legacy-hd .tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(169,130,47,0.4);border-radius:2px;padding:2px 7px;flex:none}
  .f-legacy-hd h4{font-size:14.5px;font-weight:600;margin:0}
  .f-legacy-bd p{margin:11px 0 0;font-size:13px;line-height:1.65;color:var(--ink-2);max-width:880px}
  .f-legacy-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:15px}
  .f-legacy-meta .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);font-family:var(--font-mono);margin-right:7px}
  .f-legacy-meta b{font-size:13px;font-weight:500;font-family:var(--font-mono)}
  .f-legacy-imgs{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
  .f-legacy-imgs .th{display:block;width:74px;height:74px;border:1px solid var(--silver-line);border-radius:2px;overflow:hidden;background:var(--paper);transition:border-color .2s}
  .f-legacy-imgs .th:hover{border-color:var(--ink)}
  .f-legacy-imgs img{width:100%;height:100%;object-fit:cover;display:block}
  .f-legacy .cta-row{margin-top:16px}
  .f-legacy .hint{flex:1 1 100%;margin-top:2px}

  /* ---------- 落地页：双轨说明 ---------- */
  .track-rail{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
  .track-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--silver-line);border-radius:2px;background:var(--card);font-size:12.5px;color:var(--ink-2)}
  .track-chip b{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--silver);font-weight:400}
  .track-note{margin-top:16px;font-size:13px;color:var(--ink-2);max-width:820px}
  .track-note b{font-weight:600}

  @media (max-width:768px){
    .f-cols,.f-cols3{grid-template-columns:1fr}
    .f-brief .i{border-right:none;padding-right:0;margin-right:14px}
  }
