/* 靜態說明頁（隱私說明、資料來源與方法、第三方授權）共用樣式：平台 token 來自 /theme/tokens.css（由 src/theme/tokens.css 產生）。
   單欄 720 px、標題用襯線、內文無襯線；亮暗主題跟著 App 的 cn-theme（/theme/theme.js），沒設定時跟著系統。 */
:root {
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    color-scheme: dark;
  }
}
:root[data-theme='dark'] {
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--ui-bg);
  color: var(--ui-ink);
  font-family: var(--ui-font-sans);
  font-size: var(--ui-text-md);
  line-height: var(--ui-lh-md);
}
.page-top {
  display: flex;
  align-items: center;
  gap: var(--ui-space-4);
  min-height: 56px;
  padding: var(--ui-space-2) var(--ui-space-5);
  background: var(--ui-surface);
  border-bottom: 1px solid var(--ui-line);
}
.page-top .brand {
  font-family: var(--ui-font-serif);
  font-size: var(--ui-text-lg);
  font-weight: 600;
  color: var(--ui-ink);
  text-decoration: none;
}
.page-top nav {
  margin-left: auto;
  display: flex;
  gap: var(--ui-space-4);
  font-size: var(--ui-text-sm);
}
.page {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--ui-space-6) var(--ui-space-4) var(--ui-space-8);
}
a {
  color: var(--ui-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a:hover {
  text-decoration-thickness: 2px;
}
:focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 2px;
}
h1 {
  font-family: var(--ui-font-serif);
  font-size: var(--ui-text-3xl);
  line-height: var(--ui-lh-3xl);
  font-weight: 500;
  letter-spacing: var(--ui-tracking-display);
  margin: 0 0 var(--ui-space-4);
}
h2 {
  font-family: var(--ui-font-serif);
  font-size: var(--ui-text-xl);
  line-height: var(--ui-lh-xl);
  font-weight: 500;
  margin: var(--ui-space-7) 0 var(--ui-space-3);
  padding-top: var(--ui-space-4);
  border-top: 1px solid var(--ui-line);
}
p,
ul,
ol {
  margin: var(--ui-space-3) 0;
}
li {
  margin: var(--ui-space-1) 0;
}
.en {
  color: var(--ui-muted);
}
h1 .en,
h2 .en {
  font-size: 0.7em;
  margin-left: var(--ui-space-2);
}
.muted {
  color: var(--ui-muted);
  font-size: var(--ui-text-sm);
}
.tbd {
  background: var(--ui-warning-soft);
  color: var(--ui-warning);
  padding: 0 4px;
  border-radius: var(--ui-radius-sm);
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--ui-text-sm);
  line-height: var(--ui-lh-sm);
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-lg);
  overflow: hidden;
}
td,
th {
  border-bottom: 1px solid var(--ui-line);
  padding: var(--ui-space-2) var(--ui-space-3);
  text-align: left;
  vertical-align: top;
}
tr:last-child td,
tr:last-child th {
  border-bottom: 0;
}
th {
  background: var(--ui-sunken);
  font-weight: 600;
  width: 9em;
}
code,
pre {
  font-family: var(--ui-font-mono);
  font-size: 0.88em;
  background: var(--ui-sunken);
  color: var(--ui-ink);
  border-radius: var(--ui-radius-sm);
}
code {
  padding: 1px 5px;
}
pre {
  padding: var(--ui-space-3);
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}
details {
  margin: var(--ui-space-2) 0;
}
summary {
  cursor: pointer;
  font-size: var(--ui-text-sm);
}
.lic {
  color: var(--ui-muted);
}
#raw {
  display: none;
}
.page-foot {
  border-top: 1px solid var(--ui-line);
  padding: var(--ui-space-5);
  text-align: center;
  font-size: var(--ui-text-sm);
  color: var(--ui-muted);
  background: var(--ui-surface);
}
.page-foot a {
  color: inherit;
}
@media (max-width: 600px) {
  .page-top {
    padding: var(--ui-space-2) var(--ui-space-4);
  }
  h1 {
    font-size: var(--ui-text-2xl);
    line-height: var(--ui-lh-2xl);
  }
  th {
    width: auto;
  }
  table,
  tbody,
  tr,
  td,
  th {
    display: block;
  }
  tr {
    border-bottom: 1px solid var(--ui-line);
  }
  th {
    border-bottom: 0;
  }
}
.skip {
  position: absolute;
  left: -999px;
  top: 8px;
  z-index: 10;
  padding: 6px 12px;
  border-radius: var(--ui-radius-md);
  background: var(--ui-accent);
  color: var(--ui-on-accent);
}
.skip:focus {
  left: 8px;
}
