:root { color-scheme: light dark; font-family: Arial, sans-serif; color: #252525; background: #faf9f7; line-height: 1.65; }
* { box-sizing: border-box; }
body { margin: 0; }
header, main, footer { max-width: 850px; margin: auto; padding: 24px; }
header { border-bottom: 1px solid #ddd; }
header a { font-weight: 700; }
h1 { font-size: clamp(2rem, 6vw, 3rem); line-height: 1.15; }
h2 { font-size: 1.25rem; margin-top: 2rem; }
a { color: #a91c25; overflow-wrap: anywhere; text-underline-offset: 3px; }
a:focus-visible { outline: 3px solid #a91c25; outline-offset: 4px; }
.draft { padding: 20px; border-left: 4px solid #b22; background: #fff0ec; }
.pending { font-weight: bold; }
.privacy-overview { margin-block: 2rem; padding: clamp(16px, 4vw, 28px); background: #fff; border: 1px solid #ddd; border-top: 3px solid #a91c25; }
.privacy-overview h2 { margin-top: 0; }
.privacy-overview ul { padding-left: 1.25rem; }
.privacy-overview li + li { margin-top: .75rem; }
.privacy-overview p:last-child { margin-bottom: 0; }
.privacy-contents { margin-block: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid #ddd; }
.privacy-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 2rem; padding-left: 1.5rem; }
.privacy-contents a { display: inline-block; padding-block: .4rem; }
h2[id] { scroll-margin-top: 1.5rem; }
h2[id]:focus-visible { outline: 2px solid #a91c25; outline-offset: 6px; }
@media (max-width: 600px) { .privacy-contents ol { grid-template-columns: 1fr; } }
footer { border-top: 1px solid #ddd; display: flex; flex-wrap: wrap; gap: 24px; }
@media print { .draft { border: 2px solid; } }
@media screen and (prefers-color-scheme: dark) {
  :root { color: #f3f3f1; background: #151719; }
  a { color: #ff969a; }
  header, footer, .privacy-contents { border-color: #414447; }
  .privacy-overview { background: #222528; border-color: #414447; border-top-color: #ff777b; }
  .draft { background: #42272b; border-color: #ff777b; }
  a:focus-visible, h2[id]:focus-visible { outline-color: #ff969a; }
}
