/* Shared styling for the legal content pages (privacy.html, terms.html).
   Tokens mirror index.html so the documents read as part of the same site. */
:root{
  --ink:#0b0c0c;
  --paper:#f4f2ec;
  --paper-2:#faf9f6;
  --muted:#696b68;
  --line:#d9d7d0;
  --signal-2:#e5edf8;
  --serif:"Iowan Old Style","Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;
  --sans:"SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --container:860px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
html[lang^="zh"] :where(h1,h2,h3,p,li){line-break:strict;word-break:normal;overflow-wrap:break-word}
@supports (word-break:auto-phrase){html[lang^="zh"] :where(h1,h2,h3,p,li){word-break:auto-phrase}}
body{margin:0;background:var(--paper-2);color:var(--ink);font-family:var(--sans);line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 56px),var(--container));margin-inline:auto}

/* header */
.legal-header{position:sticky;top:0;z-index:20;background:var(--ink);color:#fff}
.legal-header .container{display:flex;align-items:center;gap:20px;min-height:72px}
.legal-header img{height:24px;width:auto}
.legal-header nav{margin-left:auto;display:flex;gap:22px;font-size:13px}
.legal-header nav a{opacity:.72;text-decoration:none}
.legal-header nav a:hover,.legal-header nav a[aria-current]{opacity:1}

/* masthead */
.legal-hero{background:var(--paper);border-bottom:1px solid var(--line);padding:74px 0 54px}
.legal-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.legal-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.legal-hero h1{font-family:var(--serif);font-size:clamp(38px,6vw,60px);font-weight:400;letter-spacing:-.03em;line-height:1.14;margin:16px 0 18px}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin:0;font-size:12px;color:var(--muted)}
.legal-summary{margin:26px 0 0;padding:18px 20px;background:var(--signal-2);border-left:2px solid #6f8eae;font-size:14px;line-height:1.85;color:#37424d}

/* body */
main{padding:56px 0 90px}
.toc{margin:0 0 52px;padding:22px 24px;border:1px solid var(--line);background:#fff}
.toc h2{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:700}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px;font-size:14px}
.toc li{margin-bottom:7px;break-inside:avoid}
.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.toc a:hover{border-bottom-color:var(--ink)}
section.clause{padding-top:14px;margin-bottom:44px}
section.clause h2{font-family:var(--serif);font-size:clamp(24px,3vw,31px);font-weight:400;letter-spacing:-.02em;line-height:1.3;margin:0 0 16px}
section.clause h2 span{display:inline-block;min-width:42px;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted);vertical-align:middle}
section.clause h3{font-size:15px;font-weight:700;margin:26px 0 8px}
section.clause p,section.clause li{font-size:15px;color:#33352f}
section.clause p{margin:0 0 14px}
section.clause ul,section.clause ol{margin:0 0 14px;padding-left:22px}
section.clause li{margin-bottom:8px}
.data-table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:14px}
.data-table th,.data-table td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
.data-table th{background:var(--paper);font-weight:700;font-size:12px;letter-spacing:.04em}
.callout{margin:20px 0;padding:16px 18px;border:1px solid var(--line);background:#fff;font-size:14px;line-height:1.8;color:#40433d}
.callout strong{display:block;margin-bottom:5px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* footer */
.legal-footer{background:var(--ink);color:rgba(255,255,255,.62);padding:40px 0 30px;font-size:12px}
.legal-footer .container{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.legal-footer a{color:rgba(255,255,255,.78);text-decoration:none}
.legal-footer a:hover{color:#fff}
.legal-footer .spacer{margin-left:auto}

@media(max-width:720px){
  .legal-hero{padding:52px 0 40px}
  main{padding:40px 0 68px}
  .toc ol{columns:1}
  .legal-header nav{gap:16px;font-size:12px}
  .data-table,.data-table tbody,.data-table tr,.data-table td,.data-table th{display:block;width:100%}
  .data-table tr{margin-bottom:12px;border:1px solid var(--line)}
  .data-table th,.data-table td{border:0;border-bottom:1px solid var(--line)}
}
