/* 接口文档（静态页）样式。

   ============ 主题决策：只做浅色（2026-10-09 确认） ============
   这批文档页**只维护浅色主题**：白底 + Indigo（--brand #6366f1 用于填充、--link #4f46e5 用于文字链接）。
   2026-10-05 换浅色、10-08 早上被换回深色、当天又换回浅色，来回切了两次，
   因此这里写死规则：
     1) 不要再引入深色主题，也不要按"旧版深色"恢复（旧深色备份：docs-internal/backups/docs-dark-theme-20261005.css，
        仅作历史留档，除非用户明确要求回退，否则不要使用）；
     2) 改这份文件前后都要比对线上：
        curl -s https://www.suno-api.io/docs/assets/docs.css -o /tmp/live.css
        容器里用 Get-FileHash 或 sha256sum 与本地 docs/assets/docs.css 比一遍，
        先拉线上做基线再改，改完立刻确认线上哈希等于本地哈希；
     3) 文字类颜色必须过 WCAG AA（对比度 ≥ 4.5:1），用 scripts/_seo-contrast-check.mjs 复核。
   深色版当时的 --muted（#98a0b3）与 .group（#98a2b3）在白底上只有 3.43:1 / 2.58:1，属于必须修正的问题。
   ==============================================================

   视觉与「工作台教程」站（/guide/）保持一致：白色底、Indigo 主色（#6366f1）、
   白色顶栏 + 浅阴影、侧栏右侧细分隔线、正文最大宽度 960px。
   —— 只调整观感，类名与 DOM 结构不变；品牌标（.brand-mark + 字标）保持原样。 */
/* 对比度口径（2026-10-06 实测，不要再往浅里调）：
   --muted 与侧栏分组标题原为深色主题的 #7f8c9b / #98a2b3，移到白底后只有 3.43:1 / 2.58:1，
   均低于 WCAG AA 的 4.5:1，故统一改为 #6b7280（白底 4.88:1，浅底 #fafbfc 上 4.7:1）。
   --link 用于「文字链接」，改为 #4f46e5（白底 6.19:1、侧栏当前项浅底 5.5:1）；
   --brand 仍是 #6366f1，只用于填充类（主按钮渐变、CTA）；填充色不承担文字可读性。
   品牌标 .brand-mark 已改为固定的「橙 → 蓝」渐变并与主题变量解耦，见下方注释。
   主按钮白字原来压在 #667eea 上只有 3.71:1，浅色端已压深到 #4f46e5（白字 6.19:1）。
   改完请跑：node scripts/_seo-contrast-check.mjs */
:root{--bg:#fff;--panel:#f8f9fb;--line:#e8eaef;--text:#2c3e50;--muted:#6b7280;
--brand:#6366f1;--brand-2:#764ba2;--link:#4f46e5;--code-bg:#f8f8f8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.layout{display:flex;max-width:1240px;margin:0 auto;padding:0 20px;gap:32px}
/* 顶栏样式已抽到 docs/assets/docs-header.css（中文静态页、23 语种、/guide/、
   /studio-guide/ 共用一份）。这里只保留本文档站自己的版式与正文样式。 */
.btn{display:inline-block;padding:8px 16px;border-radius:6px;border:1px solid #e3e6ee;
background:#fff;color:#333;font-size:14px;cursor:pointer}
.btn:hover{border-color:#d6dae6;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,#4f46e5,#764ba2);border:0;color:#fff;font-weight:600}
.btn-primary:hover{text-decoration:none;box-shadow:0 4px 12px rgba(79,70,229,.4)}
aside{flex:0 0 250px;padding:26px 0 60px;position:sticky;top:60px;
max-height:calc(100vh - 60px);overflow-y:auto;overflow-x:hidden}
aside .group{color:#6b7280;font-size:12.5px;margin:18px 0 6px;letter-spacing:.04em;font-weight:600}
aside a{display:block;padding:5px 10px;margin:0 -10px;border-radius:6px;color:#505d6b;font-size:14.5px}
aside a:hover{background:#f4f5f9;color:var(--link);text-decoration:none}
aside a[aria-current]{color:var(--link);font-weight:600;background:#f1f2fb}
main{flex:1;min-width:0;max-width:960px;padding:28px 0 72px}
.breadcrumb{color:var(--muted);font-size:14px;margin-bottom:16px}
.breadcrumb a{color:var(--muted)}
h1{font-size:30px;line-height:1.35;margin:0 0 10px;color:#2c3e50}
h2{font-size:22px;margin:36px 0 14px;padding:0 0 8px;border-bottom:1px solid #eee;color:#2c3e50}
h3{font-size:17.5px;margin:26px 0 8px;color:#2c3e50}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin:6px 0}
blockquote{margin:0 0 16px;padding:10px 16px;border-left:4px solid #dfe3ec;
background:var(--code-bg);border-radius:0 4px 4px 0;color:#4b5563}
blockquote p:last-child{margin-bottom:0}
code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:14px;color:#1f2937;
font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#1f2937;
padding:14px 16px;border-radius:6px;border:0;margin:0 0 18px;color:#f9fafb}
pre code{background:none;padding:0;font-size:14px;line-height:1.6;color:#f9fafb}
table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14.5px;display:block;overflow-x:auto}
th,td{border:1px solid #e8eaef;padding:9px 12px;text-align:left;vertical-align:top}
th{background:#fafbfc;color:#4b5563;font-weight:600}
.meta{color:var(--muted);font-size:14px;margin-bottom:22px}
.cta{margin:36px 0;padding:20px;border-radius:8px;border:1px solid #e8eaef;background:#fafbfc}
.cta h3{margin:0 0 8px}
.cta p{margin:0 0 14px;color:var(--muted)}
.post-links{margin:32px 0 4px;padding:18px 20px;border:1px solid #e8eaef;border-radius:8px;background:#fafbfc}
.post-links h2{border:0;padding:0;font-size:17px;margin:0 0 10px}
.post-links ul{list-style:none;padding:0;margin:0}
.post-links li{padding:6px 0}
footer{border-top:1px solid #eee;color:var(--muted);font-size:14px;background:#fafbfc}
footer .inner{max-width:1240px;margin:0 auto;padding:20px;display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:900px){
  aside{display:none}
  .layout{padding:0 18px}
  main{max-width:none}
  main{padding:20px 0 56px}
  h1{font-size:24px}
  pre{font-size:13px}
}

/* 语言切换器（页头下拉）的样式在 docs/assets/docs-header.css 里，与教程站共用。
   这里只留页脚那条完整语言列表（只有文档站有页脚语言列表）。 */
footer .lang-switch{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px 14px;margin:0;
padding-top:14px;border-top:1px solid var(--line)}
footer .lang-switch a{color:var(--muted);font-size:13px}
footer .lang-switch a:hover{color:var(--link);text-decoration:none}
footer .lang-switch a[aria-current]{color:var(--link);font-weight:600}
