/* 习字帮 · 站点公共样式  V0.1
   设计基调：宣纸底 + 墨色字 + 朱砂点缀 */

:root {
  /* 华栋字能品牌视觉色彩体系规范 V1.0 设计令牌（HEX 为唯一真源） */
  --ink: #201e1a;        /* 玄墨 201E1A */
  --ink-2: #3d3a34;      /* 墨灰深 3D3A34 */
  --ink-3: #6e6a62;      /* 墨灰中 6E6A62 */
  --paper: #fbf8f1;      /* 象牙白 FBF8F1（页面默认底色） */
  --paper-2: #f6f1e5;    /* 宣纸米白 F6F1E5（内容区/卡片底层） */
  --line: #d8d3c8;       /* 墨灰浅 D8D3C8（分割线/边框/禁用底） */
  --cinnabar: #b5342b;   /* 朱印红 B5342B（品牌识别/CTA/强调） */
  --cinnabar-d: #8f2620; /* 朱红深 8F2620（悬停/深阶/错误） */
  --jade: #2f5d62;       /* 青黛 2F5D62（提示/标签/次级链接） */
  --pine: #4e7a5a;     /* 松绿 4E7A5A（成功/进步） */
  --gold: #c29a5b;       /* 鎏金 C29A5B（荣誉/品质点缀） */
  --rattan: #d9a441;     /* 藤黄 D9A441（警示，须配玄墨文字） */
  /* ---- 品牌色彩体系规范 V1.1 新增 AI 科技配色（HEX 为唯一真源，不自行派生近似色）----
     用途纪律：朱印红 --cinnabar 负责品牌发声与核心行动；
     竹青/科技蓝仅用于智能化与成长激励模块，不挤占品牌主色。
     深阶/浅阶（--bamboo-d/-l、--tech-d/-l）已按规范 V1.1（品牌中心 2026-10-27）十二章速查表填入真值。 */
  --bamboo: #18A05B;     /* 竹青 18A05B（V1.1 标准阶・成长/健康） */
  --bamboo-d: #0E7A43;   /* 竹青深 0E7A43（浅底小字/按钮白字/图标） */
  --bamboo-l: #E6F4EB;   /* 竹青浅 E6F4EB（健康/成长区块底色） */
  --tech: #2B7BE4;       /* 科技蓝 2B7BE4（V1.1 标准阶・智能/AI） */
  --tech-d: #1A5FD0;     /* 科技蓝深 1A5FD0（浅底小字/按钮白字/图标） */
  --tech-l: #E8F0FC;     /* 科技蓝浅 E8F0FC（智能/数字区块底色） */
  /* 深阶/浅阶：规范 V1.1 十二章速查表真值（原自派生值已全部替换，变量名不变）。
     浅阶 = 区块底色（规范 6.4），故 --*-bg 直接取浅阶，不再自造 8% 底。
     注：--*-line（绿/蓝调边框）规范未定义；规范只规定墨灰浅 D8D3C8 作分割线/边框，
     此处按同色相明度区间派生，待品牌中心出 V1.2 定义后立即替换。 */
  --bamboo-d: #0E7A43;   /* 竹青深（规范真值） */
  --bamboo-l: #E6F4EB;   /* 竹青浅（规范真值・区块底色） */
  --bamboo-bg: #E6F4EB;  /* 竹青区块底 = 竹青浅（规范 6.4） */
  --bamboo-line: #c6e8d5;/* 待定夺：规范未定义绿调边框 */
  --tech-d: #1A5FD0;     /* 科技蓝深（规范真值） */
  --tech-l: #E8F0FC;     /* 科技蓝浅（规范真值・区块底色） */
  --tech-bg: #E8F0FC;    /* 科技蓝区块底 = 科技蓝浅（规范 6.4） */
  --tech-line: #c3daf7;  /* 待定夺：规范未定义蓝调边框 */
  /* 科技色徽标（浅底）：浅阶作底 + 深阶作字（规范 6.4），小字对比度 ≥4.5:1（规范十一） */
  --bamboo-chip-bg: #E6F4EB; --bamboo-chip-fg: #0E7A43;
  --tech-chip-bg: #E8F0FC;   --tech-chip-fg: #1A5FD0;
  /* ---- 浅色模式纸色与层次（规范 V1.1 已定稿，全部改用规范真值）----
     规范只给两档纸色：象牙白 #FBF8F1（页面底）/ 宣纸米白 #F6F1E5（内容区 · 卡片底）。
     层次不再靠"更白"，改由墨灰浅 #D8D3C8 边框 + 阴影承载（规范 9.2：避免纯白大面积出现）。
     标注「派生」者为规范未定义的次级值，按同色相明度区间推导，规范定义后立即替换。 */
  --paper-3: #f6f1e5;    /* 宣纸米白 F6F1E5（内容区 / 卡片底层） */
  --card: #f6f1e5;       /* 宣纸米白 F6F1E5（卡片面，与页底靠边框与阴影区分） */
  --line-2: #d8d3c8;     /* 墨灰浅 D8D3C8（卡片边框） */
  --line-3: #e4e0d6;     /* 派生（虚线分隔） */
  --line-strong: #6e6a62;/* 墨灰中 6E6A62（悬停边框） */
  --cell-line: #e4e0d6;  /* 派生（米字格淡线） */
  --cell-diag: #d8d3c8;  /* 墨灰浅 D8D3C8（米字格对角虚线） */
  --cell-frame: #c0baae; /* 派生（米字格外框） */
  --jade-bg: #eaf0ef;    /* 派生（青黛浅底 · 规范未定义） */
  --jade-line: #c7d6d7;  /* 派生（青黛浅边 · 规范未定义） */
  --pine-bg: #ecf3ee;  /* 派生（松绿浅底 · 规范未定义） */
  --pine-line: #c3ddcb;/* 派生（松绿浅边 · 规范未定义） */
  --radius: 14px;
  --shadow: 0 2px 8px rgba(32, 30, 26, .06), 0 12px 32px rgba(32, 30, 26, .06);
  --maxw: 1080px;
}


/* ---- 松绿（品牌默认 · V1.7）：绿色系为主打品牌色，科技蓝只作点缀 ----
   品牌口径：绿承担品牌发声与核心行动（--cinnabar 覆写为竹青深阶）；
   朱印红不再作为主色，仅在需要「警示/印章」语义处由 --rattan/--cinnabar-d 之外的变量承载；
   底色沿用规范纸色真值（象牙白 / 宣纸米白），绿只落在主色、按钮、链接、导航与强调上。 */
html[data-theme="green"] {
  /* 竹青（品牌默认）· V1.8：色值取自《品牌视觉色彩体系规范 V1.1》第十二章速查表
     品牌口径：绿色系为主打品牌色，科技蓝仅作点缀；朱印红不再承担核心行动。
     ⚠ 规范 9.2 现文仍为「朱印红承担品牌发声与核心行动」，待品牌中心发布 V1.2 收口。
     标注「派生」者为规范未定义的次级值，规范定义后立即替换。 */
  --cinnabar: #0E7A43;   /* 竹青深（品牌主色：浅底按钮白字 / 小字 / 图标，≥4.5:1） */
  --cinnabar-d: #0B5F34; /* 竹青深夜（派生 · 悬停 / 次级） */
  --jade: #2F5D62;       /* 青黛（提示） */
  --pine: #4E7A5A;     /* 松绿（成功） */
  --gold: #C29A5B;       /* 鎏金（荣誉点缀） */
  --rattan: #D9A441;     /* 藤黄（警示，须配玄墨文字，≥4.5:1） */
  --bamboo: #18A05B; --bamboo-d: #0E7A43; --bamboo-l: #E6F4EB; --bamboo-bg: #E6F4EB;
  --tech: #2B7BE4;   --tech-d: #1A5FD0;   --tech-l: #E8F0FC;   --tech-bg: #E8F0FC;  /* 蓝仅点缀 */
  --paper-3: #F6F1E5;    /* 内容区底：宣纸米白（规范真值） */
  --line: #D8D3C8; --line-2: #D8D3C8; --line-3: #E4E0D6; --line-strong: #C0BAAE;
  --jade-bg: #EAF0EF; --jade-line: #C7D6D7;                 /* 派生：规范未定义青黛浅阶 */
  --pine-bg: #ECF3EE; --pine-line: #C3DDCB;             /* 派生：规范未定义松绿浅阶 */
}
/* 竹青下表单提交按钮跟随品牌主色（核心行动用绿，蓝不抢主色） */
html[data-theme="green"] .fm-sub{background:var(--cinnabar,#0E7A43)}
html[data-theme="green"] .fm-sub:hover{background:var(--cinnabar-d,#0B5F34)}

/* ---- r169 补齐宣纸/墨金/青瓷主题块（此前仅竹青/墨智，切这三套时整站不变色）----
   色值与工作台 theme.css V1.7 同源：宣纸 = 浅底米白 + 朱印红主色 + 纸纹；
   墨金 = 暖墨深底 + 鎏金点缀；青瓷 = 青黛深底 + 鎏金点缀。 */
html[data-theme="xuan"] {
  --ink: #201e1a; --ink-2: #3d3a34; --ink-3: #6e6a62;
  --paper: #F6F1E5; --paper-2: #FBF8F1; --paper-3: #FBF8F1;
  --card: #FBF8F1; --line: #D8D3C8; --line-2: #DDD3BF; --line-3: #E4E0D6;
  --line-strong: #6e6a62; --cell-line: #E4E0D6; --cell-diag: #D8D3C8; --cell-frame: #C0BAAE;
  --cinnabar: #b5342b; --cinnabar-d: #8f2620;
  --shadow: 0 1px 2px rgba(92,74,48,.05), 0 8px 22px rgba(92,74,48,.09);
}
/* 宣纸质感：纸纹铺底（与工作台同一张 SVG 噪纹） */
html[data-theme="xuan"] body{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23p)' opacity='0.22'/%3E%3C/svg%3E");background-attachment:fixed}

html[data-theme="ink"] {
  --ink: #fbf8f1; --ink-2: #d8d3c8; --ink-3: #d8d3c8;
  --paper: #201E1A; --paper-2: #2B2822; --paper-3: #1A1815;
  --card: #2B2822; --line: #3A362F; --line-2: #2E2A24; --line-3: #2E2A24;
  --line-strong: #6e6a62; --cell-line: #2E2A24; --cell-diag: #2E2A24; --cell-frame: #6E6A62;
  --cinnabar: #b5342b; --cinnabar-d: #8f2620; --gold: #C29A5B;
  --jade-bg: #2f5d62; --jade-line: #2f5d62; --pine-bg: #4e7a5a; --pine-line: #4e7a5a;
  --shadow: 0 2px 8px rgba(0,0,0,.34), 0 12px 32px rgba(0,0,0,.30);
}

html[data-theme="celadon"] {
  --ink: #fbf8f1; --ink-2: #d8d3c8; --ink-3: #d8d3c8;
  --paper: #1D3539; --paper-2: #24454A; --paper-3: #16292C;
  --card: #24454A; --line: #336066; --line-2: #2B5156; --line-3: #2B5156;
  --line-strong: #336066; --cell-line: #2B5156; --cell-diag: #2B5156; --cell-frame: #336066;
  --cinnabar: #b5342b; --cinnabar-d: #8f2620; --gold: #C29A5B;
  --jade-bg: #2f5d62; --jade-line: #2f5d62; --pine-bg: #4e7a5a; --pine-line: #4e7a5a;
  --shadow: 0 2px 8px rgba(0,0,0,.32), 0 12px 32px rgba(0,0,0,.28);
}

/* ---- 墨智（AI 强调）：深色合规底 + 科技色功能强调 ----
   V1.1 合规化整改（原「智蓝」以科技蓝深阶为底、朱印红降为告警，违反规范 9.2）：
   · 深色模式以玄墨为底（9.2），墨灰深作卡片层，象牙白/墨灰浅作文字层级（7.2）；
   · 朱印红仍承担品牌发声与核心行动，科技色不替代主色、不与朱印红同元素并置（9.2）；
   · 竹青/科技蓝仅作智能化与成长激励模块的功能强调（9.1/10.x）。
   全部色值取自规范十二章速查表，无自派生近似色。 */
html[data-theme="ai"] {
  --ink: #fbf8f1;        /* 象牙白（深底正文） */
  --ink-2: #d8d3c8;      /* 墨灰浅（次级文字） */
  --ink-3: #d8d3c8;      /* 墨灰浅（三级；规范深底仅两档浅色，层级靠字号/字重区分） */
  --paper: #201e1a;      /* 玄墨（页面底色） */
  --paper-2: #3d3a34;    /* 墨灰深（内容区/卡片底层） */
  --line: #3d3a34;       /* 墨灰深（分割线/边框） */
  --cinnabar: #b5342b;   /* 朱印红（品牌发声与核心行动） */
  --cinnabar-d: #8f2620; /* 朱红深（悬停/错误） */
  --jade: #2f5d62;       /* 青黛（提示） */
  --pine: #4e7a5a;     /* 松绿（成功） */
  --gold: #c29a5b;       /* 鎏金（荣誉点缀） */
  --rattan: #d9a441;     /* 藤黄（警示） */
  --bamboo: #18A05B;     /* 竹青（成长激励模块强调） */
  --tech: #2B7BE4;       /* 科技蓝（智能化模块强调） */
  --bamboo-d: #0E7A43; --bamboo-l: #E6F4EB; --bamboo-bg: #0E7A43; --bamboo-line: #18A05B;
  --tech-d: #1A5FD0;   --tech-l: #E8F0FC;   --tech-bg: #1A5FD0;   --tech-line: #2B7BE4;
  --paper-3: #201e1a;    /* 玄墨（内容区底色） */
  --card: #3d3a34;       /* 墨灰深（卡片面） */
  --line-2: #3d3a34;
  --line-3: #3d3a34;
  --line-strong: #6e6a62; /* 墨灰中（悬停边框） */
  --cell-line: #3d3a34;
  --cell-diag: #3d3a34;
  --cell-frame: #6e6a62;
  --jade-bg: #2f5d62;    /* 青黛底 + 象牙白字（规范色相，非自派生） */
  --jade-line: #2f5d62;
  --pine-bg: #4e7a5a;
  --pine-line: #4e7a5a;
  --shadow: 0 2px 8px rgba(0,0,0,.34), 0 12px 32px rgba(0,0,0,.30);
}
/* 深色底上的区块文字统一象牙白：竹青深 0E7A43 / 科技蓝深 1A5FD0 作区块底时对比度 ≥4.5（规范十一） */
html[data-theme="ai"]{--ink-on-soft:#fbf8f1;}
html[data-theme="ai"]{
  --bamboo-chip-bg:#0E7A43; --bamboo-chip-fg:#FBF8F1;
  --tech-chip-bg:#1A5FD0;   --tech-chip-fg:#FBF8F1;
}
/* ---- V1.1 科技色徽标：智能化=科技蓝 / 成长激励=竹青 ----
   仅用于 AI 智能与成长激励场景；禁止与朱印红在同一按钮或同一元素并置（规范 9.2）。 */
.tag-tech,.tag-grow{display:inline-block;padding:0 6px;border-radius:4px;font-size:11px;font-weight:700;line-height:18px;vertical-align:middle}
.tag-tech{background:var(--tech-chip-bg,#E8F0FC);color:var(--tech-chip-fg,#1A5FD0);border:1px solid var(--tech,#2B7BE4)}
.tag-grow{background:var(--bamboo-chip-bg,#E6F4EB);color:var(--bamboo-chip-fg,#0E7A43);border:1px solid var(--bamboo,#18A05B)}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0; padding: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
               "Microsoft YaHei", "Source Han Sans SC", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 20px; }

/* ---------- 顶部导航 ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(251, 248, 241, .92);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--line);
}
.nav-in {
  max-width: var(--maxw); margin: 0 auto; padding: 12px 20px;
  display: flex; align-items: center; justify-content: space-between;
}
.brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; letter-spacing: .5px; }
.brand-mark {
  width: 32px; height: 32px; border-radius: 9px;
  background: var(--ink); color: var(--paper);
  display: grid; place-items: center;
  font-size: 17px; font-weight: 700; line-height: 1;
  font-family: "Songti SC", "STSong", serif;
}
.brand small { font-weight: 400; font-size: 12px; color: var(--ink-3); letter-spacing: 0; }
.nav-links { display: flex; align-items: center; gap: 22px; font-size: 15px; color: var(--ink-2); }
.nav-links a:hover { color: var(--cinnabar); }

/* ---------- 移动端导航（右侧浮动面板 + 遮罩，样式参考 hanbo.fun） ---------- */
.nav-toggle { display: none; }
.nav-close-btn { display: none; }
.nav-menu { display: none; }    /* 桌面端隐藏，仅在移动端 @media 内显示 */
.nav-overlay { display: none; }

/* 面板底部的主行动按钮 */
.cta-sm {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 12px 20px; border-radius: 999px; border: 0;
  background: linear-gradient(135deg, #b5342b 0%, #b5342b 50%, #8f2620 100%);
  color: #fbf8f1; font-weight: 600; font-size: 15px; white-space: nowrap;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .26) inset, 0 4px 14px rgba(181, 52, 43, .30);
  transition: transform .18s, box-shadow .2s, filter .2s;
}
.cta-sm:hover { transform: translateY(-1px); filter: saturate(1.06); }
.cta-sm:active { transform: translateY(1px); }

@media (max-width: 720px) {
  .nav-links { display: none; }
  /* 关键：backdrop-filter 会为 fixed 子元素创建包含块，移动端必须去掉 */
  .nav {
    backdrop-filter: none; -webkit-backdrop-filter: none;
    background: rgba(251, 248, 241, .985);
  }
  .nav-in { min-height: 64px; padding-top: 10px; padding-bottom: 10px; }

  .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 5px; flex: none;
    width: 42px; height: 42px; padding: 0;
    border-radius: 11px; cursor: pointer;
    background: #fbf8f1; border: 1.5px solid var(--line); color: var(--ink);
    -webkit-appearance: none; appearance: none;
    transition: border-color .2s;
  }
  .nav-toggle span {
    display: block; width: 20px; height: 2px; border-radius: 2px;
    background: currentColor;
    transition: transform .3s ease, opacity .3s ease;
  }
  .nav-toggle.open { border-color: var(--cinnabar); color: var(--cinnabar); }
  .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity: 0; }
  .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .nav-overlay {
    display: block; position: fixed;
    top: var(--nav-h, 65px); left: 0; right: 0; bottom: 0;
    background: rgba(32, 30, 26, .42);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    z-index: 48; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .3s ease, visibility .3s;
  }
  .nav-overlay.show { opacity: 1; visibility: visible; pointer-events: auto; }

  .nav-menu {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    position: fixed; top: var(--nav-h, 65px); right: 8px;
    width: max-content; min-width: 206px; max-width: 82vw;
    height: fit-content;
    max-height: calc(100vh - var(--nav-h, 65px) - 18px);
    overflow-y: auto; overscroll-behavior: contain;
    background: #fbf8f1;
    padding: 48px 20px 18px;
    border-radius: 16px;
    box-shadow: -4px 0 24px rgba(32, 30, 26, .14), 0 14px 34px rgba(32, 30, 26, .10);
    transform: translateX(calc(100% + 16px));
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
    z-index: 51;
  }
  .nav-menu.open { transform: translateX(0); }

  .nav-close-btn {
    display: flex; align-items: center; justify-content: center;
    position: absolute; top: 10px; right: 10px;
    width: 34px; height: 34px; border-radius: 10px; border: 0;
    background: var(--cinnabar); color: #fbf8f1;
    font-size: 20px; line-height: 1; cursor: pointer;
    transition: transform .2s;
  }
  .nav-close-btn:hover { transform: rotate(90deg); }

  .nav-menu a:not(.cta-sm) {
    padding: 14px 0; font-size: 15.5px; color: var(--ink);
    text-align: left;
    border-bottom: 1px solid var(--line);
  }
  .nav-menu a:not(.cta-sm):last-child { border-bottom: 0; }
  .nav-menu a:not(.cta-sm).on { color: var(--cinnabar); font-weight: 600; }
  .nav-menu a:not(.cta-sm):active { color: var(--cinnabar); }
  .nav-menu .cta-sm { margin-top: 14px; }
}

/* ---------- 通用按钮 ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 26px; border-radius: 999px; border: 0;
  font-size: 16px; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: .18s transform, .18s box-shadow, .18s background;
}
.btn:active { transform: translateY(1px) scale(.99); }
.btn-primary { background: var(--cinnabar); color: #fbf8f1; box-shadow: 0 6px 18px rgba(181, 52, 43, .28); }
.btn-primary:hover { background: var(--cinnabar-d); }
.btn-ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--line); }
.btn-ghost:hover { border-color: var(--ink-3); }
.btn[disabled] { opacity: .55; cursor: not-allowed; }
.btn-lg { padding: 16px 38px; font-size: 17px; }
.btn-block { width: 100%; }

/* ---------- 板块 ---------- */
section { padding: 64px 0; }
.sec-head { text-align: center; margin-bottom: 40px; }
.sec-head h2 { font-size: 28px; margin: 0 0 10px; letter-spacing: .5px; }
.sec-head p { margin: 0; color: var(--ink-3); font-size: 15px; }
.eyebrow {
  display: inline-block; font-size: 13px; letter-spacing: 2px;
  color: var(--cinnabar); font-weight: 600; margin-bottom: 12px;
}
@media (max-width: 720px) { section { padding: 44px 0; } .sec-head h2 { font-size: 23px; } }

/* ---------- 页脚 ---------- */
footer {
  border-top: 1px solid var(--line); background: var(--paper-2);
  padding: 36px 0 28px; font-size: 13px; color: var(--ink-3); line-height: 2;
}
footer .wrap { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; }
footer b { color: var(--ink-2); }

/* ---------- 表单 ---------- */
.field { margin-bottom: 16px; }
.field label { display: block; font-size: 14px; color: var(--ink-2); margin-bottom: 7px; font-weight: 500; }
.field label .req { color: var(--cinnabar); }
.input {
  width: 100%; padding: 13px 15px; font-size: 16px; font-family: inherit;
  border: 1.5px solid var(--line); border-radius: 11px;
  background: #f6f1e5; color: var(--ink); transition: .16s border-color, .16s box-shadow;
}
.input:focus { outline: 0; border-color: var(--cinnabar); box-shadow: 0 0 0 3px rgba(181, 52, 43, .1); }
.input::placeholder { color: #6e6a62; }
select.input { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%); background-position: calc(100% - 20px) 21px, calc(100% - 14px) 21px; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.tip { font-size: 12px; color: var(--ink-3); margin-top: 10px; line-height: 1.6; }

/* ---- 统一提交表单（线索入口 · r157）---- */
.fm{max-width:560px;margin:0 auto;padding:18px 18px 20px;border:1px solid var(--line-2,#e7e0ce);
  border-radius:var(--radius,14px);background:var(--card,#fffdf7);box-shadow:var(--shadow)}
.fm h3{margin:0 0 6px;font-size:17px;color:var(--ink,#201e1a)}
.fm-desc{margin:0 0 14px;font-size:13px;line-height:1.8;color:var(--ink-3,#6e6a62)}
.fm-tip{margin:0 0 14px;font-size:12.5px;color:var(--jade,#2f5d62)}
.fm-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.fm-row label{width:84px;flex:none;font-size:13px;color:var(--ink-3,#6e6a62)}
.fm-row label i{font-style:normal;color:var(--cinnabar,#b5342b)}
.fm-row input,.fm-row select,.fm-row textarea{flex:1;min-width:180px;padding:9px 11px;font-size:14px;
  border:1px solid var(--line,#d8d3c8);border-radius:9px;background:var(--paper,#fbf8f1);color:var(--ink,#201e1a);font-family:inherit}
.fm-row textarea{resize:vertical;min-height:64px}
.fm-row input:focus,.fm-row select:focus,.fm-row textarea:focus{outline:none;border-color:var(--cinnabar,#b5342b)}
.fm-ok{display:flex;align-items:flex-start;gap:7px;margin:12px 0 14px;font-size:12.5px;line-height:1.7;color:var(--ink-3,#6e6a62)}
.fm-ok input{margin-top:2px}
.fm-sub{width:100%;padding:12px;border:0;border-radius:999px;background:var(--cinnabar,#b5342b);color:#fbf8f1;
  font-size:15px;cursor:pointer;font-family:inherit}
.fm-sub:hover{background:var(--cinnabar-d,#8f2620)}
.fm-sub[disabled]{opacity:.6;cursor:default}
.fm-res{margin-top:10px;font-size:13.5px;line-height:1.7;min-height:20px}
.fm-res.ok{color:var(--pine,#4e7a5a)}
.fm-res.bad{color:var(--cinnabar,#b5342b)}
html[data-theme="ai"] .fm{background:var(--card);border-color:var(--line-2)}
html[data-theme="ai"] .fm-row input,html[data-theme="ai"] .fm-row select,html[data-theme="ai"] .fm-row textarea{background:var(--paper-2);border-color:var(--line);color:var(--ink)}
html[data-theme="ai"] .fm-sub{background:var(--bamboo,#18A05B)}   /* 品牌口径：核心行动用绿，蓝只作点缀 */
@media(max-width:520px){.fm-row label{width:100%}.fm-row input,.fm-row select,.fm-row textarea{min-width:0;width:100%}}

/* ---- 在线支付卡片（扫码支付） ---- */
.paycard{margin-top:14px;padding:16px;border:1px solid var(--line,#e6e2da);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(32,30,26,.06)}
.paytt{font-size:15px;font-weight:700;color:#201e1a;margin-bottom:10px}
.paytt b{color:#0E7A43;font-size:18px}
.payqr{display:flex;justify-content:center;padding:10px;background:#fff;border-radius:10px}
.payqr svg{width:200px;height:200px;max-width:70vw;max-height:70vw}
.paytip{margin-top:10px;font-size:13px;color:#8a8279;line-height:1.7}
@media (max-width:420px){.paycard{padding:12px}.payqr svg{width:170px;height:170px}}
