/* Local assets only; shared with the existing privacy and security pages. */
:root {
  color-scheme: light dark;
  --paper: #fff;
  --ink: #202b36;
  --muted: #4b5968;
  --line: #ccd4dd;
  --link: #0055a6;
  --panel: #f3f6fa;
}
* { box-sizing: border-box; }
html { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
body { margin: 0; background: var(--paper); color: var(--ink); }
header, main, footer { max-width: 54rem; margin-inline: auto; padding: 1.5rem; }
header { border-bottom: 1px solid var(--line); }
header p { margin: 0 0 .6rem; font-weight: 700; }
nav { color: var(--muted); }
main { padding-block: 2rem 3rem; }
h1, h2 { line-height: 1.2; letter-spacing: -.02em; }
h1 { font-size: clamp(2rem, 5vw, 2.8rem); margin: 0 0 1.8rem; }
h2 { font-size: 1.35rem; margin: 0 0 .8rem; }
p { margin: .7rem 0; }
section + section { margin-top: 2.3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
a { color: var(--link); text-underline-offset: .18em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: .15em; }
a:focus-visible { outline: 3px solid var(--link); outline-offset: 4px; border-radius: 2px; }
.skip-link { position: absolute; top: .5rem; left: .5rem; padding: .5rem; background: var(--paper); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.guide-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: .7rem; }
.guide-list a { display: block; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: .3rem; background: var(--panel); }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
caption { text-align: left; font-weight: 600; margin-bottom: .6rem; }
th, td { text-align: left; padding: .6rem; border: 1px solid var(--line); overflow-wrap: anywhere; }
thead { background: var(--panel); }
footer { border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
@media (prefers-color-scheme: dark) {
  :root { --paper: #17212b; --ink: #edf2f7; --muted: #c1ccd8; --line: #526171; --link: #9acaff; --panel: #23313f; }
}
@media (max-width: 30rem) {
  header, main, footer { padding-inline: 1rem; }
  th, td { padding: .35rem; }
}
@media print {
  :root { --paper: #fff; --ink: #000; --muted: #222; --line: #888; --link: #000; --panel: #fff; }
  .skip-link, nav { display: none; }
  main { max-width: none; }
  h2 { break-after: avoid; }
}
