/* ============================================================================
 * 简历模板专用样式库（已外置，原内联在 app.html 的 <style> 中）
 * 由 <head> 中的 <link rel="stylesheet" href="/tgen-themes.css"> 全局引入。
 *
 * 新增一套简历模板时：
 *   1) 在 public/tgen-themes.json 的 themes 数组里加一项 {value, label}（下拉框出现新选项）
 *   2) 把这套模板的 CSS 追加到本文件（例如 .tpl-xxx .rp-paper{...}），无需再改 app.html
 * 岗位示例数据见 public/tgen-roles.json。
 * ============================================================================
  /* ============ 13 套模板变体：仅覆盖 --accent / 字体 / 姓名与章节强调，基础组件统一 ============ */
  /* 1 黑白简约：衬线、中性、细线分隔 */
  .tpl-minimal .rp-paper{font-family:var(--rp-font-serif);color:#1a1a1a;--accent:#222;--rp-dot:#222}
  .tpl-minimal .rp-name{border-bottom:2px solid var(--accent);letter-spacing:3px}
  .tpl-minimal .rp-sum{background:#fafafa;border-color:#ececec}

  /* 2 商务蓝 */
  .tpl-business .rp-paper{font-family:var(--rp-font-sans);color:#1f2937;--accent:#1d4ed8;--rp-dot:#1d4ed8}
  .tpl-business .rp-name{color:var(--accent);border-bottom:3px solid var(--accent);letter-spacing:1px;
    background:linear-gradient(180deg,#eff6ff,#fff);padding:8px 0;border-radius:var(--rp-radius-sm) var(--rp-radius-sm) 0 0}
  .tpl-business .rp-sum{background:#eff6ff;border-color:#dbeafe;border-left-color:var(--accent);color:#1e3a8a}

  /* 3 现代 */
  .tpl-modern .rp-paper{--accent:#2563eb;--rp-dot:#2563eb;font-family:var(--rp-font-sans);color:#1f2937}
  .tpl-modern .rp-name{text-align:left;color:#111827;border-bottom:3px solid var(--accent);padding:0 0 8px;margin:0 0 14px;letter-spacing:.5px}
  .tpl-modern .rp-sum{border-left-color:var(--accent)}
  .tpl-modern .rp-body p{margin:0 0 7px}

  /* 4 高管：深色姓名横幅 + 衬线 */
  .tpl-executive .rp-paper{font-family:var(--rp-font-serif);color:#1f2937;--accent:#334155;--rp-dot:#334155}
  .tpl-executive .rp-name{display:block;text-align:center;background:#1e293b;color:#f8fafc;padding:13px 0;margin:0 0 14px;letter-spacing:3px;border-bottom:0;border-radius:var(--rp-radius) var(--rp-radius) 0 0}
  .tpl-executive .rp-sum{text-align:center;color:#475569;font-style:italic}
  .tpl-executive .rp-body p{margin:0 0 8px}
  .tpl-executive .rp-sec::before{background:var(--accent)}

  /* 5 学术 CV：双线姓名、衬线 */
  .tpl-academic .rp-paper{font-family:var(--rp-font-serif);color:#1a1a1a;--accent:#111;--rp-dot:#111}
  .tpl-academic .rp-name{text-align:center;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);padding:8px 0;margin:0 0 12px;letter-spacing:2px}
  .tpl-academic .rp-sum{color:#333;font-size:12.5px;background:#fafafa;border-color:#ececec}
  .tpl-academic .rp-body p{margin:0 0 5px}

  /* 6 色彩边栏：左侧强调色竖条 */
  .tpl-colorbar .rp-paper{border-left:6px solid var(--accent);font-family:var(--rp-font-sans);color:#1f2937;--accent:#2563eb;--rp-dot:#2563eb}
  .tpl-colorbar .rp-name{text-align:left;color:var(--accent);padding:0 0 8px;margin:0 0 12px;border-bottom:1px solid #e5e7eb}
  .tpl-colorbar .rp-sum{border-left-color:var(--accent)}

  /* 7 紧凑 */
  .tpl-compact .rp-paper{font-family:var(--rp-font-sans);color:#1f2937;--accent:#334155;--rp-dot:#334155}
  .tpl-compact .rp-name{font-size:19px;padding-bottom:6px;margin-bottom:8px;border-bottom:2px solid var(--accent)}
  .tpl-compact .rp-sum{color:#374151;margin-bottom:8px;padding:8px 12px}
  .tpl-compact .rp-body p{margin:0 0 4px}

  /* 8 创意活力：青绿 */
  .tpl-creative .rp-paper{--accent:#0d9488;--rp-dot:#0d9488;font-family:var(--rp-font-sans);color:#1f2937}
  .tpl-creative .rp-name{text-align:left;color:var(--accent);border-bottom:3px solid var(--accent);padding:0 0 8px;margin:0 0 12px}
  .tpl-creative .rp-sum{background:#ccfbf1;color:#134e4a;border-color:#99f6e4;border-left-color:var(--accent)}

  /* 9 瑞士国际主义：无衬线、红黑 */
  .tpl-swiss .rp-paper{--accent:#dc2626;--rp-dot:#111827;font-family:"Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;color:#111827}
  .tpl-swiss .rp-name{text-align:left;font-size:30px;font-weight:800;letter-spacing:1px;padding:0 0 9px;margin:0 0 4px;border-bottom:3px solid var(--accent)}
  .tpl-swiss .rp-name::after{content:"";display:block;border-bottom:1px solid #111827;margin-top:3px}
  .tpl-swiss .rp-sum{color:#374151;margin-bottom:16px;font-size:13px}
  .tpl-swiss .rp-sec{font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border-bottom:0;padding-bottom:0}
  .tpl-swiss .rp-li::before{width:6px;height:6px;border-radius:0;background:var(--rp-dot);left:2px;top:8px}

  /* 10 编辑杂志：衬线、居中双线 */
  .tpl-editorial .rp-paper{font-family:var(--rp-font-serif);color:#1a1a1a;--accent:#1a1a1a;--rp-dot:#1a1a1a}
  .tpl-editorial .rp-name{text-align:center;font-size:28px;font-weight:800;letter-spacing:4px;padding:10px 0;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0 0 14px;border-radius:0}
  .tpl-editorial .rp-sum{text-align:center;font-style:italic;color:#555;margin-bottom:16px;background:#fafafa}
  .tpl-editorial .rp-sec{text-align:center;font-size:14px;letter-spacing:3px;color:var(--accent);margin:18px 0 10px;border-bottom:0;padding-bottom:0;justify-content:center}
  .tpl-editorial .rp-sec::before{display:none}
  .tpl-editorial .rp-sec::after{content:"";display:inline-block;width:24px;height:1px;background:var(--accent);margin-left:10px}
  .tpl-editorial .rp-li::before{content:"—";left:0;top:0;width:auto;height:auto;background:none;color:var(--accent);font-weight:700;transform:none}
  .tpl-editorial .rp-li:hover::before{transform:none}

  /* 11 墨金奢华 */
  .tpl-inkgold .rp-paper{--accent:#c9a227;--rp-dot:#c9a227;font-family:var(--rp-font-serif);color:#1f2937}
  .tpl-inkgold .rp-name{text-align:center;background:#0f3d3e;color:#f4e4bc;padding:16px 0;margin:0 0 16px;letter-spacing:4px;font-size:24px;border-bottom:0;border-radius:var(--rp-radius) var(--rp-radius) 0 0}
  .tpl-inkgold .rp-sum{color:#3a4a4a;border:1px solid var(--accent);padding:10px 14px;margin-bottom:16px;font-style:italic;text-align:center;background:#fbfaf3}
  .tpl-inkgold .rp-sec{color:#0f3d3e;border-left:3px solid var(--accent);padding:3px 0 3px 10px;letter-spacing:1px;font-size:15px;border-bottom:0;border-radius:0}
  .tpl-inkgold .rp-sec::before{display:none}
  .tpl-inkgold .rp-li::before{width:6px;height:6px;border-radius:0;background:var(--rp-dot);transform:rotate(45deg);left:3px;top:7px}

  /* 12 薄荷清新 */
  .tpl-softmint .rp-paper{--accent:#14b8a6;--rp-dot:#14b8a6;font-family:var(--rp-font-sans);color:#334155;
    background:linear-gradient(180deg,#f0fdfa 0%,#ffffff 90px)}
  .tpl-softmint .rp-name{text-align:left;color:#0f766e;font-size:25px;font-weight:800;letter-spacing:.5px;padding-bottom:10px;margin:0 0 12px;border-bottom:2px solid #99f6e4}
  .tpl-softmint .rp-sum{background:#f0fdfa;border:1px solid #99f6e4;border-radius:var(--rp-radius);padding:10px 14px;color:#0f766e;margin-bottom:14px;border-left-color:var(--accent)}
  .tpl-softmint .rp-sec{color:#0d9488;font-size:15px;border-bottom:1px solid #ccfbf1;padding-bottom:4px;margin:16px 0 8px}
  .tpl-softmint .rp-sec::before{content:"●";flex:0 0 auto;width:auto;height:auto;background:none;border-radius:0;color:var(--accent);font-size:11px;margin-right:0}
  .tpl-softmint .rp-li::before{background:var(--rp-dot)}

  /* 13 几何青 */
  .tpl-geoteal .rp-paper{--accent:#0ea5e9;--rp-dot:#0ea5e9;font-family:var(--rp-font-sans);color:#1e293b}
  .tpl-geoteal .rp-name{text-align:left;color:#0c4a6e;font-size:27px;font-weight:800;padding:0 0 8px 12px;margin:0 0 6px;border-left:6px solid var(--accent);border-bottom:0}
  .tpl-geoteal .rp-sum{color:#334155;margin-bottom:14px}
  .tpl-geoteal .rp-sec{color:#0369a1;font-size:14px;font-weight:800;letter-spacing:1px;margin:16px 0 8px;padding-bottom:4px;border-bottom:2px solid var(--accent)}
  .tpl-geoteal .rp-sec::before{content:"■";flex:0 0 auto;width:auto;height:auto;background:none;border-radius:0;color:var(--accent);font-size:10px;margin-right:0}
  .tpl-geoteal .rp-li::before{width:6px;height:6px;border-radius:0;background:var(--rp-dot);left:2px;top:8px}

  /* ============ 莫兰迪创意系列：浅卡其/雾蓝/豆沙 · 纤细手绘线 · 柔和排版（颜色硬编码，不受主题色控件覆盖） ============ */
  /* 莫兰迪·卡其 */
  .tpl-morandi1 .rp-paper{font-family:var(--rp-font-serif);color:#4a443d;background:#faf7f1;border:1px solid #e7ddcd;box-shadow:0 0 0 7px #faf7f1,0 0 0 8px #e3d8c6}
  .tpl-morandi1 .rp-name{color:#8c7d5e;text-align:left;font-weight:700;letter-spacing:2px;border-bottom:1px solid #d9cdb8}
  .tpl-morandi1 .rp-sum{background:#f3eee3;border-color:#e7ddcd;border-left:3px solid #b7a98f;color:#6b6353}
  .tpl-morandi1 .rp-sec{color:#8c7d5e;border-bottom:1px dashed #d9cdb8}
  .tpl-morandi1 .rp-sec::before{background:#b7a98f}
  .tpl-morandi1 .rp-li::before{background:#b7a98f}
  /* 莫兰迪·雾蓝 */
  .tpl-morandi2 .rp-paper{font-family:var(--rp-font-serif);color:#434e54;background:#f6f8f8;border:1px solid #dfe6e6;box-shadow:0 0 0 7px #f6f8f8,0 0 0 8px #d2dcdd}
  .tpl-morandi2 .rp-name{color:#5f7682;font-weight:700;letter-spacing:2px;border-bottom:1px solid #cdd9da}
  .tpl-morandi2 .rp-sum{background:#eef3f3;border-color:#dfe6e6;border-left:3px solid #9fb3bd;color:#51636b}
  .tpl-morandi2 .rp-sec{color:#5f7682;border-bottom:1px dashed #cdd9da}
  .tpl-morandi2 .rp-sec::before{background:#9fb3bd}
  .tpl-morandi2 .rp-li::before{background:#9fb3bd}
  /* 莫兰迪·豆沙 */
  .tpl-morandi3 .rp-paper{font-family:var(--rp-font-serif);color:#4a403f;background:#faf5f4;border:1px solid #ecdcd9;box-shadow:0 0 0 7px #faf5f4,0 0 0 8px #e3cfcc}
  .tpl-morandi3 .rp-name{color:#a07f7c;text-align:left;font-weight:700;letter-spacing:2px;border-bottom:1px solid #e0cbc8}
  .tpl-morandi3 .rp-sum{background:#f4eceb;border-color:#ecdcd9;border-left:3px solid #c2a3a3;color:#6b5654}
  .tpl-morandi3 .rp-sec{color:#a07f7c;border-bottom:1px dashed #e0cbc8}
  .tpl-morandi3 .rp-sec::before{background:#c2a3a3}
  .tpl-morandi3 .rp-li::before{background:#c2a3a3}

  /* ============ 商务稳重 ATS 系列：深灰+藏蓝+白 · 无花哨 · 正式字体（颜色硬编码，符合 HR/ATS 机筛） ============ */
  /* 商务·藏蓝 */
  .tpl-atsbiz1 .rp-paper{font-family:"Microsoft YaHei","SimSun",serif;color:#374151;background:#fff;border:1px solid #cbd5e1}
  .tpl-atsbiz1 .rp-name{color:#1e3a5f;text-align:left;border-bottom:3px solid #1e3a5f;font-weight:800;letter-spacing:1px}
  .tpl-atsbiz1 .rp-sum{background:#f1f5f9;border-color:#dbe2ea;border-left:3px solid #1e3a5f;color:#334155}
  .tpl-atsbiz1 .rp-sec{color:#1e3a5f;border-bottom:2px solid #1e3a5f;font-weight:800}
  .tpl-atsbiz1 .rp-li::before{background:#1e3a5f}
  /* 商务·深灰 */
  .tpl-atsbiz2 .rp-paper{font-family:"Microsoft YaHei","SimSun",serif;color:#374151;background:#fff;border:1px solid #d1d5db}
  .tpl-atsbiz2 .rp-name{color:#1f2937;text-align:left;border-bottom:3px solid #374151;font-weight:800;letter-spacing:1px}
  .tpl-atsbiz2 .rp-sum{background:#f3f4f6;border-color:#e5e7eb;border-left:3px solid #374151;color:#374151}
  .tpl-atsbiz2 .rp-sec{color:#1f2937;border-bottom:2px solid #374151;font-weight:800}
  .tpl-atsbiz2 .rp-li::before{background:#374151}
  /* 商务·靛青 */
  .tpl-atsbiz3 .rp-paper{font-family:"Microsoft YaHei","SimSun",serif;color:#374151;background:#fff;border:1px solid #c5cbe0}
  .tpl-atsbiz3 .rp-name{color:#283593;text-align:left;border-bottom:3px solid #283593;font-weight:800;letter-spacing:1px}
  .tpl-atsbiz3 .rp-sum{background:#eef0fa;border-color:#d6daf0;border-left:3px solid #283593;color:#334155}
  .tpl-atsbiz3 .rp-sec{color:#283593;border-bottom:2px solid #283593;font-weight:800}
  .tpl-atsbiz3 .rp-li::before{background:#283593}
