/* ============================================================
   策略定制页样式（由 assets/site.css 作用域化生成，勿直接改本文件）
   全部选择器带 .st-page 前缀，避免与 index.php 全局样式互相污染
   ============================================================ */
/* M8 金融数据库 · 站点公共样式
   全部为纯 CSS，无外部依赖。窄屏优先设计，桌面在断点内扩展。 */

.st-page{
  --blue:#1B3FCB;
  --blue-2:#3A63E8;
  --ink:#182642;
  --text:#38475F;
  --mute:#7A8799;
  --line:#E3E8F2;
  --soft:#F5F7FC;
  --mono:ui-monospace,"Cascadia Mono",Consolas,"SF Mono",monospace;
}

.st-page *{margin:0;padding:0;box-sizing:border-box}

.st-page{background:#fff;color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,sans-serif;font-size:14.5px;line-height:1.75;-webkit-font-smoothing:antialiased}
.st-page a {text-decoration:none;color:inherit}
.st-page img {max-width:100%;display:block}
.st-page .wrap {max-width:1160px;margin:0 auto;padding:0 18px}
.st-page .mono {font-family:var(--mono)}

/* ===== 顶栏 ===== */
.st-page .top {background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.st-page .top-in {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.st-page .brand {display:flex;align-items:center;gap:10px;min-width:0}
.st-page .mark {width:38px;height:38px;flex:0 0 38px;background:linear-gradient(150deg,#1B3FCB,#3A63E8);display:flex;align-items:center;justify-content:center;gap:1.5px;border-radius:4px}
.st-page .mark i {display:block;width:2px;height:16px;background:#fff}
.st-page .brand-t b {font-size:17px;font-weight:700;color:var(--ink);white-space:nowrap;letter-spacing:.2px}
.st-page .brand-t span {display:block;font-size:11.5px;color:var(--mute)}
.st-page .nav {display:flex;gap:16px;align-items:center;font-size:13px;color:var(--mute)}
.st-page .nav a {padding:4px 0;border-bottom:1.5px solid transparent;white-space:nowrap}
.st-page .nav a:hover {color:var(--ink)}
.st-page .nav a.on {color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.st-page .nav a:focus-visible {outline:2px solid var(--blue);outline-offset:3px}
.st-page .nav-wide {display:none}
.st-page .menu-btn {display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:7px 11px;font-size:12.5px;color:var(--ink);cursor:pointer;font-family:inherit;min-height:36px}
.st-page .menu-btn:focus-visible {outline:2px solid var(--blue);outline-offset:2px}
.st-page .nav.open {display:flex;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 18px 10px;box-shadow:0 8px 18px rgba(24,38,66,.06)}
.st-page .nav.open a {padding:11px 0;border-bottom:1px solid var(--soft);font-size:14px;width:100%}
.st-page .nav.open a:last-child {border-bottom:none}

/* ===== 页面头（居中） ===== */
.st-page .phero {background:linear-gradient(180deg,#F7F9FE,#fff);border-bottom:1px solid var(--line);padding:36px 0 34px;text-align:center}
.st-page .phero .kicker {font-size:11.5px;letter-spacing:.14em;color:var(--blue-2);text-transform:uppercase;font-family:var(--mono)}
.st-page .phero h1 {font-size:clamp(23px,4.8vw,33px);line-height:1.35;font-weight:700;color:var(--ink);margin-top:10px}
.st-page .phero .lead {margin-top:12px;font-size:15px}
.st-page .phero .lead-2 {margin-top:4px;font-size:13.5px;color:var(--mute)}
.st-page .hero-btns {display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}

/* ===== 按钮 ===== */
.st-page .btn {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:background .15s,border-color .15s,color .15s}
.st-page .btn-p {background:var(--blue);color:#fff}
.st-page .btn-p:hover {background:#1633A8}
.st-page .btn-o {background:#fff;color:var(--blue);border-color:#C9D6F5}
.st-page .btn-o:hover {background:#F3F6FE;border-color:var(--blue)}
.st-page .btn:focus-visible {outline:2px solid var(--blue);outline-offset:2px}

/* ===== 区块 ===== */
.st-page .sec {padding:44px 0 0}
.st-page .sec.pb {padding-bottom:44px}
.st-page .sec-head {text-align:center;margin-bottom:26px}
.st-page .sec-head h2 {font-size:clamp(19px,3.2vw,23px);font-weight:700;color:var(--ink);letter-spacing:.4px}
.st-page .sec-head .dash {width:42px;height:2px;background:var(--blue);margin:12px auto 0}
.st-page .sec-head p {margin:10px auto 0;font-size:13.5px;color:var(--mute);max-width:60ch}

/* ===== 类目卡 ===== */
.st-page .cats {display:grid;grid-template-columns:1fr;gap:14px}
.st-page .cat {background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}
.st-page .cat:hover {border-color:#C7D5F4;box-shadow:0 6px 18px rgba(27,63,203,.08);transform:translateY(-2px)}
.st-page .cat-body {padding:18px 16px 16px;flex:1 1 auto}
.st-page .cat h3 {font-size:15.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}
.st-page .cat h3::before {content:"";width:3px;height:14px;background:var(--blue);flex:0 0 3px}
.st-page .freq {display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.st-page .freq span {font-size:11px;color:#3E5480;background:var(--soft);border:1px solid #E6ECF8;border-radius:3px;padding:1px 6px}
.st-page .cat p {margin-top:10px;font-size:13px;line-height:1.75}
.st-page .cat-meta {margin-top:10px;font-size:11.5px;color:var(--mute)}
.st-page .cat-foot {border-top:1px solid var(--line);background:var(--soft);text-align:center;padding:9px 12px;font-size:13px;font-weight:600;color:var(--blue)}
.st-page .cat-foot:hover {background:#EDF2FD}
.st-page .cat-foot:focus-visible {outline:2px solid var(--blue);outline-offset:-2px}

/* ===== 价格 / 方案卡 ===== */
.st-page .plans {display:grid;grid-template-columns:1fr;gap:16px}
.st-page .plan {border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px 20px 22px;text-align:center;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s}
.st-page .plan:hover {box-shadow:0 6px 20px rgba(27,63,203,.07);border-color:#CBD8F4}
.st-page .plan.best {border-color:#B7C9F5;background:linear-gradient(180deg,#F8FAFF,#fff)}
.st-page .plan h3 {font-size:17px;font-weight:700;color:var(--ink)}
.st-page .plan .sub {font-size:12px;color:var(--mute);margin-top:4px;min-height:20px}
.st-page .plan .price {margin-top:14px;font-size:13px;line-height:2;font-family:var(--mono)}
.st-page .plan .price b {font-size:20px;color:var(--blue);font-weight:700}
.st-page .plan ul {list-style:none;margin:16px 0 0;text-align:left;font-size:13px}
.st-page .plan li {position:relative;padding-left:16px;line-height:1.95}
.st-page .plan li::before {content:"";position:absolute;left:2px;top:.72em;width:5px;height:5px;background:var(--blue-2);border-radius:50%}
.st-page .plan .act {margin-top:auto;padding-top:18px}
.st-page .plan .btn {width:100%}
.st-page .tip {margin-top:18px;text-align:center;font-size:12.5px;color:var(--mute);background:var(--soft);border:1px dashed #D9E2F4;border-radius:6px;padding:10px 14px}

/* ===== 格式小卡 ===== */
.st-page .formats {display:grid;grid-template-columns:1fr;gap:12px}
.st-page .fmt {border:1px solid var(--line);border-radius:6px;padding:16px;background:#fff}
.st-page .fmt-h {display:flex;align-items:center;justify-content:space-between;gap:8px}
.st-page .fmt-h b {font-family:var(--mono);font-size:14px;color:var(--ink)}
.st-page .badge {font-size:10.5px;padding:1px 6px;border-radius:3px;background:#EAF0FE;color:var(--blue);font-weight:600}
.st-page .badge.g {background:#EEF1F6;color:#68768C}
.st-page .fmt p {margin-top:8px;font-size:12.5px;line-height:1.7}

/* ===== 统计条 ===== */
.st-page .stats {display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.st-page .stat {padding:16px 18px;border-bottom:1px solid var(--line)}
.st-page .stat:last-child {border-bottom:none}
.st-page .stat-k {font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase}
.st-page .stat-v {font-size:14px;font-weight:700;color:var(--ink);margin-top:3px}
.st-page .stat-v small {display:block;font-family:var(--mono);font-size:11.5px;font-weight:400;color:var(--mute);margin-top:2px}

/* ===== 表格 ===== */
.st-page .tbl-wrap {overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.st-page table {width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}
.st-page th, .st-page td {padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}
.st-page th {background:var(--soft);color:var(--ink);font-weight:700;font-size:12.5px;white-space:nowrap}
.st-page tr:last-child td {border-bottom:none}
.st-page td.mono, .st-page th.mono {font-family:var(--mono);font-size:12px}
.st-page td .sub {display:block;color:var(--mute);font-size:11.5px;margin-top:2px}
.st-page .grp {margin-top:30px}
.st-page .grp h3 {font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;margin-bottom:10px}
.st-page .grp h3::before {content:"";width:3px;height:13px;background:var(--blue)}
.st-page .grp .note {font-size:12.5px;color:var(--mute);margin:-4px 0 10px 11px}

/* ===== 代码样例 ===== */
.st-page .sample-box {border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.st-page .sample-bar {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line);font-size:12px;color:var(--mute);font-family:var(--mono)}
.st-page .code {padding:14px;overflow-x:auto;font-family:var(--mono);font-size:12px;line-height:1.95;color:#2B3E5E;white-space:pre;background:#fff}
.st-page .code .t {color:#7C8CA5}
.st-page .code .h {color:var(--blue);font-weight:700}
.st-page .field-grid {display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.st-page .field {display:grid;grid-template-columns:86px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.st-page .field b {color:var(--ink);font-weight:600}
.st-page .field span {line-height:1.7}

/* ===== AI 三栏 ===== */
.st-page .ai {display:grid;grid-template-columns:1fr;gap:14px}
.st-page .ai-col {border:1px solid var(--line);border-radius:6px;padding:18px 16px;background:#fff}
.st-page .ai-col h3 {font-size:14.5px;font-weight:700;color:var(--ink)}
.st-page .ai-col p {margin-top:8px;font-size:13px;line-height:1.75}
.st-page .ai-col code {font-family:var(--mono);font-size:11.5px;background:var(--soft);padding:1px 5px;border-radius:3px;color:var(--blue)}
.st-page .tree {margin-top:10px;background:var(--soft);border:1px solid #E8EEFA;border-radius:4px;padding:10px 12px;font-family:var(--mono);font-size:11.5px;line-height:1.9;color:#41547A;overflow-x:auto;white-space:pre}

/* ===== FAQ ===== */
.st-page .faq {border-top:1px solid var(--line)}
.st-page .faq details {border-bottom:1px solid var(--line);background:#fff}
.st-page .faq details:hover {background:#FCFDFF}
.st-page .faq summary {list-style:none;cursor:pointer;padding:14px 38px 14px 4px;font-size:14px;font-weight:600;color:var(--ink);position:relative;min-height:50px;display:flex;align-items:center}
.st-page .faq summary::-webkit-details-marker {display:none}
.st-page .faq summary::after {content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--mono);color:var(--blue);font-size:16px;font-weight:400}
.st-page .faq details[open] summary::after {content:"−"}
.st-page .faq summary:focus-visible {outline:2px solid var(--blue);outline-offset:-2px}
.st-page .faq .a {padding:0 20px 16px 4px;font-size:13px;line-height:1.8}
.st-page .faq .a code {font-family:var(--mono);font-size:11.5px;background:var(--soft);padding:1px 4px;border-radius:3px;color:var(--blue)}

/* ===== 下单 / CTA ===== */
.st-page .order {background:linear-gradient(180deg,#fff,#F7F9FE);border:1px solid var(--line);border-radius:8px;padding:28px 20px;text-align:center;margin-top:44px}
.st-page .order h2 {font-size:20px;font-weight:700;color:var(--ink)}
.st-page .order p {margin:10px auto 0;font-size:13.5px;max-width:56ch}
.st-page .order-btns {display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}

/* ===== 步骤 ===== */
.st-page .steps {display:grid;grid-template-columns:1fr;gap:12px;counter-reset:s}
.st-page .step {border:1px solid var(--line);border-radius:6px;padding:16px 16px 16px 52px;background:#fff;position:relative}
.st-page .step::before {counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:16px;top:14px;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--blue)}
.st-page .step h4 {font-size:14px;font-weight:700;color:var(--ink)}
.st-page .step p {margin-top:5px;font-size:13px}

/* ===== 条款 / 双栏 ===== */
.st-page .legal {display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.st-page .legal-row {padding:16px 0;border-bottom:1px solid var(--line)}
.st-page .legal-row h5 {font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}
.st-page .legal-row p {font-size:13px}

/* ===== 正文块 ===== */
.st-page .prose {max-width:66ch;margin:0 auto;font-size:14px;line-height:1.95}
.st-page .prose p+p {margin-top:14px}
.st-page .prose h3 {font-size:15.5px;color:var(--ink);margin:26px 0 8px;font-weight:700}
.st-page .prose ul {margin:8px 0 0 20px}
.st-page .prose li {line-height:1.95}
.st-page .card {border:1px solid var(--line);border-radius:8px;background:#fff;padding:20px}

/* ===== 页脚 ===== */
.st-page footer {background:#F7F9FE;border-top:1px solid var(--line);margin-top:44px;padding:28px 0 36px}
.st-page .foot {display:grid;grid-template-columns:1fr;gap:18px}
.st-page .foot-brand {display:flex;align-items:center;gap:10px}
.st-page .foot-brand .mark {width:32px;height:32px;flex:0 0 32px}
.st-page .foot-brand b {font-size:14.5px;color:var(--ink)}
.st-page .foot-brand span {display:block;font-size:11.5px;color:var(--mute)}
.st-page .foot-links {display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12.5px;margin-top:14px}
.st-page .foot-links a {color:var(--text)}
.st-page .foot-links a:hover {color:var(--blue)}
.st-page .foot-info {font-size:12px;color:var(--mute);line-height:2}
.st-page .foot-info span {display:block}
.st-page .foot-legal {margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;color:#8A96A8;line-height:1.9}

/* ===== toast ===== */
.st-page #toast {position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:#182642;color:#fff;font-size:13px;padding:10px 18px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30;max-width:calc(100vw - 32px);text-align:center}
.st-page #toast.on {opacity:1;transform:translate(-50%,0)}

/* ===== 断点 ===== */
@media (min-width:560px){
  .st-page .cats {grid-template-columns:repeat(2,1fr)}
  .st-page .formats {grid-template-columns:repeat(2,1fr)}
  .st-page .ai {grid-template-columns:1fr 1fr}
  .st-page .foot {grid-template-columns:1.4fr 1fr}
  .st-page .foot-info {text-align:right}
  .st-page .field-grid {grid-template-columns:1fr 1fr;column-gap:28px}
  .st-page .stats {grid-template-columns:repeat(3,1fr)}
  .st-page .stat {border-bottom:none;border-right:1px solid var(--line)}
  .st-page .stat:last-child {border-right:none}
  .st-page .steps {grid-template-columns:1fr 1fr}
}
@media (min-width:820px){
  .st-page .wrap {padding:0 28px}
  .st-page .nav-wide {display:inline}
  .st-page .menu-btn {display:none}
  .st-page .nav {position:static;flex-direction:row;border:none;box-shadow:none;padding:0;background:transparent}
  .st-page .cats {grid-template-columns:repeat(3,1fr)}
  .st-page .formats {grid-template-columns:repeat(4,1fr)}
  .st-page .plans {grid-template-columns:repeat(3,1fr)}
  .st-page .ai {grid-template-columns:repeat(3,1fr)}
  .st-page .sec {padding:56px 0 0}
  .st-page .sec.pb {padding-bottom:56px}
  .st-page .phero {padding:48px 0 42px}
  .st-page .legal {grid-template-columns:1fr 1fr}
  .st-page .legal-row {padding:18px 28px 18px 0}
  .st-page .legal-row:nth-child(odd) {border-right:1px solid var(--line)}
  .st-page .legal-row:nth-child(even) {padding-left:28px}
  .st-page .order {padding:34px 32px}
}
@media (min-width:1060px){
  .st-page .cats {grid-template-columns:repeat(4,1fr)}
}
@media (prefers-reduced-motion:reduce){.st-page *{transition:none!important}}
