/* Shared styling for RailPin legal pages (privacy.html, terms.html).
   Google-Material light theme to match the map UI; readable single column. */
:root{
  --bg:#ffffff; --surface:#f8f9fa; --on:#202124; --muted:#5f6368; --faint:#80868b;
  --outline:#dadce0; --primary:#1a73e8; --maxw:760px;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#202124; --surface:#2a2b2f; --on:#e8eaed; --muted:#9aa0a6; --faint:#80868b;
         --outline:#3c4043; --primary:#8ab4f8; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--on);
  font:16px/1.65 "Google Sans",Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:28px 22px 96px}
header.lh{display:flex;align-items:center;gap:10px;padding:6px 0 22px;border-bottom:1px solid var(--outline);margin-bottom:26px}
header.lh .mark{font-weight:700;font-size:20px;letter-spacing:-.2px}
header.lh .mark span{color:var(--primary)}
header.lh a.back{margin-left:auto;font-size:14px;color:var(--primary);text-decoration:none}
header.lh a.back:hover{text-decoration:underline}
h1{font-size:28px;line-height:1.25;margin:0 0 4px;letter-spacing:-.4px}
.updated{color:var(--faint);font-size:13.5px;margin:0 0 26px}
h2{font-size:19px;margin:34px 0 10px;letter-spacing:-.2px}
h3{font-size:16px;margin:22px 0 6px;color:var(--on)}
p,li{color:var(--on)}
.muted,.lead{color:var(--muted)}
.lead{font-size:17px;line-height:1.6;margin:0 0 8px}
a{color:var(--primary)}
ul{padding-left:22px;margin:8px 0}
li{margin:5px 0}
.callout{background:var(--surface);border:1px solid var(--outline);border-radius:12px;padding:14px 16px;margin:18px 0}
.callout strong{display:block;margin-bottom:4px}
.tldr{background:var(--surface);border-left:3px solid var(--primary);border-radius:8px;padding:14px 16px;margin:0 0 28px}
.tldr ul{margin:6px 0 0}
table.kv{width:100%;border-collapse:collapse;margin:10px 0;font-size:14.5px}
table.kv th,table.kv td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--outline)}
table.kv th{color:var(--muted);font-weight:600;width:34%}
footer.lf{margin-top:46px;padding-top:18px;border-top:1px solid var(--outline);color:var(--faint);font-size:13px}
footer.lf a{color:var(--muted)}
code{background:var(--surface);border:1px solid var(--outline);border-radius:5px;padding:1px 6px;font-size:13.5px}
