/* 智选 · PC 版式（隐私政策 / 用户协议 / 后台管理共用）
 * 桌面按 1180px 定宽排版；两份法律文档在手机上要能读（App 内点《用户协议》《隐私政策》就靠它们），
 * 所以末尾有一段窄屏重排。后台管理仍是 width=1180，viewport 定宽时这段媒体查询不会命中。
 */

:root {
  --bg: #04060D;
  --bg-2: #070C18;
  --panel: rgba(140, 190, 255, .045);
  --panel-2: rgba(140, 190, 255, .075);
  --ink: #E9EFF8;
  --muted: #9AA8BD;
  --faint: #6B7A92;
  --line: rgba(140, 190, 255, .16);
  --line-2: rgba(140, 190, 255, .08);
  --cyan: #6FE7FF;
  --cyan-hi: #A9F4FF;
  --blue: #2E7BFF;
  --glow: rgba(46, 123, 255, .38);
  --ok: #48D6A0;
  --warn: #F2C14E;
  --bad: #FF6B7A;
  --acc-grad: linear-gradient(118deg, var(--cyan-hi), var(--cyan) 42%, var(--blue));
  --shell: 1180px;
  --ease: cubic-bezier(.22, .61, .36, 1);
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: var(--shell);
  background: var(--bg);
  color: var(--ink);
  font-family: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14.5px;
  line-height: 1.85;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
}

body::before, body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
body::before {
  background-image:
    linear-gradient(rgba(140, 190, 255, .036) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140, 190, 255, .036) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(120% 70% at 50% 0%, #000 10%, transparent 68%);
  -webkit-mask-image: radial-gradient(120% 70% at 50% 0%, #000 10%, transparent 68%);
}
body::after {
  background:
    radial-gradient(46% 30% at 14% -8%, rgba(46, 123, 255, .22), transparent 70%),
    radial-gradient(42% 28% at 88% 0%, rgba(111, 231, 255, .13), transparent 72%);
}

a { color: var(--cyan); text-decoration: none; }
a:hover { color: var(--cyan-hi); }
h1, h2, h3, h4, p, dl, ul, ol, figure { margin: 0; }
ul, ol { list-style: none; padding: 0; }
strong { color: #F4F8FF; font-weight: 600; }
code { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 12.5px; color: var(--cyan); }
::selection { background: rgba(46, 123, 255, .45); color: #F2FAFF; }
:focus-visible { outline: 1px solid var(--cyan); outline-offset: 3px; border-radius: 6px; }

.shell { position: relative; z-index: 1; width: var(--shell); margin: 0 auto; padding: 0 32px; }

/* ── 顶栏 ─────────────────────────────────────────── */
.bar {
  position: sticky; top: 0; z-index: 6;
  background: rgba(4, 6, 13, .86);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.bar__in {
  width: var(--shell); margin: 0 auto; padding: 0 32px;
  height: 62px; display: flex; align-items: center; gap: 18px;
}
.brand { display: flex; align-items: center; gap: 10px; font-weight: 600; letter-spacing: .04em; color: var(--ink); }
.brand svg { width: 26px; height: 26px; display: block; }
.bar__crumb { color: var(--faint); font-size: 12.5px; letter-spacing: .06em; }
.bar__meta { margin-left: auto; display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--faint); }
.bar__meta a { color: var(--muted); }
.bar__meta a:hover { color: var(--cyan); }

/* ── 主体两栏 ─────────────────────────────────────── */
.doc { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 44px; padding: 40px 0 64px; }

.rail { position: sticky; top: 92px; align-self: start; max-height: calc(100vh - 120px); overflow: auto; }
.rail__title { font-size: 11px; letter-spacing: .16em; color: var(--faint); margin-bottom: 12px; }
.rail ol { display: grid; gap: 2px; }
.rail a {
  display: block; padding: 7px 12px; border-radius: 9px;
  color: var(--muted); font-size: 13px; line-height: 1.5;
  border-left: 2px solid transparent;
  transition: color .18s var(--ease), background .18s var(--ease);
}
.rail a:hover { color: var(--ink); background: var(--panel); }
.rail a.is-active { color: var(--cyan-hi); background: var(--panel-2); border-left-color: var(--cyan); }

.sheet { min-width: 0; }
.sheet__hero { padding-bottom: 26px; border-bottom: 1px solid var(--line-2); margin-bottom: 30px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; letter-spacing: .14em; color: var(--cyan); }
.eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--acc-grad); }
h1 { font-size: 38px; line-height: 1.24; letter-spacing: .01em; margin: 14px 0 0; font-weight: 650; }
h1 .grad { background: var(--acc-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lede { margin-top: 14px; color: var(--muted); font-size: 15px; max-width: 760px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.chip {
  font-size: 11.5px; color: var(--muted); letter-spacing: .04em;
  border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px;
  background: var(--panel);
}

section { margin-bottom: 30px; scroll-margin-top: 86px; }
h2 {
  font-size: 20px; font-weight: 640; letter-spacing: .01em; margin-bottom: 12px;
  display: flex; align-items: baseline; gap: 10px;
}
h2 small { font-size: 12px; color: var(--cyan); font-weight: 600; letter-spacing: .1em; font-family: ui-monospace, Consolas, monospace; }
h3 { font-size: 15px; font-weight: 600; margin: 18px 0 8px; color: #DCE6F5; }
p { margin: 9px 0; color: #C4D0E1; max-width: 830px; }
li, li p { color: #C4D0E1; }
ul.bul { margin: 9px 0; padding-left: 20px; list-style: disc; max-width: 830px; }
ul.bul li { margin: 5px 0; list-style: disc; font-size: 14px; }
ul.bul li::marker { color: var(--faint); }

.callout {
  margin: 16px 0; padding: 14px 16px; max-width: 830px;
  background: rgba(46, 123, 255, .09);
  border: 1px solid rgba(111, 231, 255, .22);
  border-left: 3px solid var(--cyan);
  border-radius: 4px 12px 12px 4px;
  font-size: 13.5px; color: #CFE6F6; line-height: 1.8;
}
.callout--warn { background: rgba(242, 193, 78, .08); border-color: rgba(242, 193, 78, .3); border-left-color: var(--warn); color: #EBDCBB; }

.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0; max-width: 830px; }
.kv {
  display: flex; gap: 16px; justify-content: space-between; align-items: baseline;
  padding: 12px 14px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line-2);
  font-size: 13px;
}
.kv b { font-weight: 600; color: var(--ink); white-space: nowrap; }
.kv span { color: var(--muted); text-align: right; }

table { width: 100%; max-width: 830px; border-collapse: collapse; margin: 14px 0; font-size: 13px; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line-2); }
th { color: var(--faint); font-weight: 600; font-size: 11.5px; letter-spacing: .1em; background: var(--panel); }
td { color: #C4D0E1; }

.foot {
  position: relative; z-index: 1;
  border-top: 1px solid var(--line); background: rgba(7, 12, 24, .6);
  padding: 26px 0 34px; margin-top: 20px;
}
.foot__in {
  width: var(--shell); margin: 0 auto; padding: 0 32px;
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--faint);
}
.foot__links { margin-left: auto; display: flex; gap: 16px; }
.foot a { color: var(--muted); }
.foot a:hover { color: var(--cyan); }
.foot__beian { color: var(--muted); }

/* ── 窄屏重排：只服务 viewport 为设备宽度的两份法律文档 ───────────── */
@media (max-width: 860px) {
  :root { --shell: 100%; }
  body { min-width: 0; font-size: 15px; }
  .bar { position: static; }
  .bar__in { height: auto; padding: 11px 16px; flex-wrap: wrap; gap: 6px 14px; }
  .bar__crumb { display: none; }
  /* 顶栏在窄屏分两行：logo 一行、版本与链接一行；每条自己不许断字，否则「官网首/页」这种断法很难看 */
  .bar__meta { width: 100%; margin-left: 0; gap: 12px; font-size: 11.5px; flex-wrap: wrap; }
  .bar__meta > * { white-space: nowrap; }
  .shell { padding: 0 16px; }
  /* 文档页是 class="shell doc" 同一个元素：.doc 的 padding 写在后面会盖掉 .shell 的左右留白，所以自己带上 */
  .doc { display: block; padding: 22px 16px 40px; }
  /* 15 条目录在手机上比正文还长，直接收掉：读协议是往下滑，不是跳锚点 */
  .rail { display: none; }
  .sheet__hero { padding-bottom: 18px; margin-bottom: 22px; }
  h1 { font-size: 25px; }
  h2 { font-size: 18px; }
  .lede { font-size: 14px; }
  .callout { padding: 12px 13px; font-size: 13.5px; }
  .grid { grid-template-columns: minmax(0, 1fr); }
  .kv { font-size: 13.5px; }
  table { display: block; overflow-x: auto; white-space: nowrap; }
  .foot__in { padding: 0 16px; gap: 8px 16px; }
  .foot__links { margin-left: 0; gap: 14px; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}
