/* Shared v4 light aurora tokens, with a quiet reading layout. */
@import url('./style.css');
html { -webkit-text-size-adjust:100%; }
body.legal-page { display:block; place-items:normal; padding:0; line-height:1.75; overflow-wrap:anywhere; background-attachment:fixed; }
.top { background:rgba(255,255,255,.56); border-bottom:1px solid rgba(255,255,255,.85); }
.top-inner { max-width:940px; margin:auto; padding:14px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.mark { text-decoration:none; }
.languages { position:relative; }
summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:8px 16px; border:1px solid var(--line-strong); border-radius:999px; background:rgba(255,255,255,.65); cursor:pointer; color:var(--ink-2); font-size:14px; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary:focus-visible { outline:3px solid var(--luma); outline-offset:4px; }
.languages nav { position:absolute; inset-inline-end:0; top:calc(100% + 8px); width:260px; max-height:70vh; overflow:auto; padding:8px; border:1px solid var(--line-strong); border-radius:16px; background:#fff; box-shadow:0 14px 38px rgba(30,42,74,.16); z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.languages a { padding:8px 10px; border-radius:12px; color:var(--ink-2); text-decoration:none; font-size:14px; }
.languages a:hover,.languages a[aria-current] { background:var(--surface); color:var(--ink); }
.legal-page main { width:min(100%,940px); margin:auto; padding:32px 24px; }
.doc { padding:40px 48px 28px; border:1px solid transparent; border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.77)) padding-box,var(--edge) border-box; box-shadow:0 18px 48px rgba(30,42,74,.08),inset 0 1px 0 #fff; }
/* Hash links remain usable without JavaScript and retain old #zh / #en URLs. */
.doc { display:none; }
.doc#en { display:block; }
main:has(.doc:not(#en):target,.doc:not(#en) :target) .doc#en { display:none; }
main .doc:target,main .doc:has(:target),main .doc[data-active] { display:block; }
.doc h1 { margin:0 0 12px; font-size:clamp(28px,4vw,38px); }
.doc h2 { margin:36px 0 12px; font-size:21px; line-height:1.45; font-weight:600; color:var(--ink); }
.doc h3 { margin:24px 0 8px; font-size:17px; line-height:1.5; font-weight:600; }
.doc p,.doc li,.doc td { color:var(--ink-2); }
.doc p { margin:12px 0; }
.doc ul,.doc ol { margin:10px 0; padding-inline-start:1.4em; }
.doc li + li { margin-top:7px; }
.doc a { display:inline; min-height:0; }
.doc strong { color:var(--ink); font-weight:600; }
.doc .meta { font-size:13px; margin-bottom:24px; }
.doc .lead { font-size:17px; line-height:1.8; }
.doc .translation-note { font-size:13px; margin:0 0 24px; padding-bottom:16px; background:var(--rule) bottom/100% 1px no-repeat; }
.translation-note a { margin-inline-start:8px; }
.summary { margin:28px 0; padding:22px 24px; border:1px solid var(--line); border-radius:16px; background:rgba(47,147,138,.045); }
.doc .summary h2 { margin:0 0 10px; font-size:18px; }
.toc { margin:24px 0; padding:22px 0; background:var(--rule) top/100% 1px no-repeat,var(--rule) bottom/100% 1px no-repeat; }
.doc .toc h2 { margin:0 0 8px; color:var(--ink-2); font-size:16px; }
.toc ol { columns:2 240px; column-gap:32px; }
.toc li { break-inside:avoid; }
.toc a { display:inline-block; padding:4px 0; }
.vendors { margin:16px 0; }
.vendor { padding:16px 0; border-bottom:1px solid var(--line); }
.doc .vendor h3 { margin:0 0 4px; }
.where { color:var(--luma-ink); font-size:14px; }
table { width:100%; border-collapse:collapse; margin:20px 0; font-size:15px; }
th,td { text-align:start; vertical-align:top; padding:12px 14px; border-top:1px solid var(--line); }
th { color:var(--ink); width:34%; font-weight:600; }
thead th { color:var(--ink-2); border-top:0; }
.note { font-size:14px; }
.contact { margin-top:32px; padding-top:8px; background:var(--rule) top/100% 1px no-repeat; }
.doc-foot { gap:8px 24px; }
.doc-foot a { display:inline-flex; min-height:44px; }
.foot { max-width:940px; margin:0 auto; padding:0 24px 40px; background:none; color:var(--ink-2); font-size:13px; align-items:center; justify-content:space-between; }
[id] { scroll-margin-top:20px; }
@media(max-width:560px) {
  .top-inner { padding:12px 16px; gap:12px; }
  .legal-page main { padding:20px 16px; }
  .doc { padding:28px 22px 18px; border-radius:20px; }
  .summary { padding:18px; }
  .doc .lead { font-size:16px; }
  table { font-size:14px; }
  th,td { padding:10px 8px; }
  .foot { padding:0 24px 24px; }
}
