/* Shared styles for the generated legal pages (tools/legal/build.mjs).
   Deliberately self-contained: system fonts only, so the text renders even
   with no network — an app-store reviewer never waits for a webfont. */
*{box-sizing:border-box}
body{margin:0;background:#fbfbfa;color:#15181c;-webkit-font-smoothing:antialiased;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:#1b5eae;text-decoration:none}
a:hover{color:#144a8c;text-decoration:underline}
.wrap{max-width:820px;margin:0 auto;padding:0 24px}
header{background:rgba(251,251,250,.92);border-bottom:1px solid #eceef0;position:sticky;top:0;z-index:5;
  backdrop-filter:blur(12px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;color:#15181c}
.brand:hover{text-decoration:none}
.mark{width:32px;height:32px;border-radius:9px;background:#2a78d6;display:flex;align-items:center;justify-content:center;flex:none}
.name{font-size:21px;font-weight:800;letter-spacing:-.6px}
.name b{color:#2a78d6;font-weight:800}
.name span{font-size:12px;font-weight:700;color:#9aa0a8}
.langs{display:flex;gap:2px;background:#f1f2f4;border-radius:9px;padding:3px}
.langs a{font-size:12px;font-weight:800;padding:6px 10px;border-radius:7px;color:#666c75}
.langs a:hover{text-decoration:none;color:#15181c}
.langs a[aria-current]{background:#fff;color:#15181c;box-shadow:0 1px 3px rgba(0,0,0,.1)}
main{background:#fff;border-bottom:1px solid #eceef0}
.doc{padding:56px 0 80px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.8px;color:#1b5eae}
h1{margin:10px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-1.1px;font-weight:800}
.meta{margin-top:10px;font-size:13.5px;font-weight:600;color:#666c75}
.lead{margin:18px 0 0;font-size:17px;line-height:1.6;color:#3a4048}
nav.toc{margin:30px 0 0;background:#fbfbfa;border:1px solid #e9eaec;border-radius:14px;padding:18px 20px}
nav.toc p{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.6px;color:#666c75}
nav.toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
nav.toc li{font-size:14.5px;line-height:1.45}
section{margin-top:34px;scroll-margin-top:84px}
h2{margin:0 0 10px;font-size:19.5px;font-weight:800;letter-spacing:-.3px;line-height:1.3}
p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:#3a4048;text-wrap:pretty}
ul{margin:0 0 12px;padding-left:22px;display:flex;flex-direction:column;gap:8px}
li{font-size:15.5px;line-height:1.65;color:#3a4048;text-wrap:pretty}
strong{color:#15181c}
.note{background:#f2f7fd;border:1px solid #d8e6f7;border-radius:12px;padding:14px 16px;
  font-size:14.5px;line-height:1.6;color:#2f5d94;margin:4px 0 0}
.tablewrap{overflow-x:auto;margin:0 0 12px;border:1px solid #e9eaec;border-radius:12px}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eceef0;vertical-align:top;line-height:1.5}
th{background:#fbfbfa;font-weight:800;color:#15181c;white-space:nowrap}
tr:last-child td{border-bottom:0}
.contact{margin-top:38px;background:#f2f7fd;border:1px solid #d8e6f7;border-radius:14px;padding:18px 20px}
.contact p{margin:0;color:#2f5d94;font-size:15px}
.others{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.others a{font-size:14px;font-weight:700;background:#fbfbfa;border:1px solid #e9eaec;border-radius:999px;padding:9px 15px}
.others a:hover{background:#f2f7fd;border-color:#d8e6f7;text-decoration:none}
footer{padding:26px 0 40px}
footer .bar{font-size:13.5px;color:#666c75;font-weight:600}
@media (max-width:560px){.doc{padding:36px 0 56px}section{margin-top:28px}}
