/* Shared agreements stylesheet (CN & EN)
   Palette + structure unified for legal documents.
   Last update: 2025-09-04 */
:root {
  --bg: #ffffff;
  --fg: #1f2937;
  --muted: #64748b;
  --border: #e5e7eb;
  --card: #f8fafc;
  --brand: #0ea5e9;
  --brand-rgb: 14 165 233;
  --danger: #dc2626;
  --radius: 14px;
  --code: #334155;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f172a;
    --fg: #e2e8f0;
    --muted: #94a3b8;
    --border: #1e293b;
    --card: #162236;
    --brand: #38bdf8;
    --brand-rgb: 56 189 248;
    --code: #cbd5e1;
  }
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Noto Sans","Noto Sans SC","Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
.container { max-width: 980px; margin: 0 auto; padding: 0 20px; }
header.hero { background: linear-gradient(180deg, rgba(var(--brand-rgb)/0.18), transparent 90%); padding: 54px 0 28px; border-bottom: 1px solid var(--border); }
.hero h1 { font-size: clamp(28px,4.2vw,40px); margin:0 0 10px; letter-spacing:.4px; }
.meta { font-size: 13px; color: var(--muted); margin-top: 6px; }
main p { margin: 12px 0; }
main h2 { margin: 48px 0 18px; font-size: 26px; position: relative; scroll-margin-top: 88px; }
main h3 { margin: 30px 0 10px; font-size: 20px; scroll-margin-top: 80px; }
main h2:first-of-type { margin-top: 34px; }
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
nav.toc { background: var(--card); border:1px solid var(--border); padding:20px 22px 18px; border-radius: var(--radius); margin: 30px 0 42px; }
nav.toc strong { display:block; font-size:14px; letter-spacing:.5px; margin-bottom:8px; }
nav.toc ol { list-style: none; padding: 0; margin:0; columns: 2; column-gap: 46px; }
nav.toc li { break-inside: avoid; padding:4px 0; font-size:14px; }
@media (max-width: 720px) { nav.toc ol { columns: 1; } }
nav.toc a { position: relative; padding-left: 4px; }
.callout { border:1px solid rgba(var(--brand-rgb)/0.35); background: linear-gradient(135deg, rgba(var(--brand-rgb)/0.08), rgba(var(--brand-rgb)/0.02)); padding:14px 18px; border-radius: 10px; font-size:14px; }
ul, ol { padding-left: 1.35em; margin:14px 0 18px; }
li { margin: 4px 0; }
code { background: var(--card); padding:2px 6px; border-radius:6px; font-size: 13px; color: var(--code); }
hr { border: none; border-top: 1px solid var(--border); margin: 54px 0 46px; }
.section-anchor { opacity:0; font-size:.6em; margin-left:.45em; text-decoration:none; color: var(--brand); transition: opacity .18s; }
h2:hover .section-anchor, h3:hover .section-anchor { opacity:1; }
.footer { margin: 70px 0 90px; font-size: 12px; color: var(--muted); border-top:1px solid var(--border); padding-top: 20px; line-height:1.5; }
.flex-col-gap { display:flex; flex-direction:column; gap:6px; }
mark { background: linear-gradient(90deg, rgba(var(--brand-rgb)/0.25), rgba(var(--brand-rgb)/0.15)); padding:2px 4px; border-radius:4px; }
.indent { text-indent: 2em; }
/* Warranty / return page adjustments reuse base tokens */
.toc-hide-numbers ol { list-style: none; }
.note { border-left:4px solid var(--brand); background: rgba(var(--brand-rgb)/0.08); padding:12px 14px; border-radius:6px; margin:16px 0; }
.table-responsive { overflow-x:auto; }
 table { border-collapse: collapse; width: 100%; margin: 12px 0 18px; }
 th, td { border: 1px solid var(--border); padding: 10px 12px; vertical-align: top; }
 th { background: var(--card); text-align: left; }
footer { color: var(--muted); font-size: 12px; margin-top: 40px; }
