:root {
  color-scheme: light dark;
  --ink: #2d202b;
  --muted: #6f626c;
  --paper: #fff9f0;
  --card: rgba(255, 255, 255, 0.82);
  --line: rgba(75, 48, 68, 0.14);
  --plum: #4f3248;
  --coral: #c55350;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: radial-gradient(circle at 85% 0%, #f4d8c6 0, transparent 34rem), var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
main { width: min(760px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0 72px; }
header { margin-bottom: 34px; }
.brand { color: var(--coral); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; line-height: 1.16; }
h1 { margin: 8px 0 8px; color: var(--plum); font-size: clamp(2.2rem, 7vw, 3.7rem); letter-spacing: -0.035em; }
h2 { margin: 2rem 0 0.55rem; color: var(--plum); font-size: 1.45rem; }
p, li { font-size: 1rem; }
.meta, .fine { color: var(--muted); font-size: 0.88rem; }
.notice { margin: 22px 0; padding: 16px 18px; border: 1px solid rgba(197, 83, 80, 0.30); border-radius: 16px; background: rgba(255, 242, 233, 0.82); }
.promise { margin: 24px 0; padding: 22px; border-radius: 20px; background: var(--plum); color: #fff9ef; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
section { margin: 16px 0; padding: 1px 24px 18px; border: 1px solid var(--line); border-radius: 20px; background: var(--card); }
a { color: #9b353b; text-underline-offset: 3px; }
nav { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
ul { padding-left: 1.25rem; }
code { font-size: 0.88em; }
table.retention { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 0.92rem; }
table.retention th, table.retention td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
table.retention th { color: var(--muted); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; }
@media (prefers-color-scheme: dark) {
  :root { --ink: #fff7ed; --muted: #c6b7c0; --paper: #180f19; --card: rgba(255, 255, 255, 0.055); --line: rgba(255, 247, 237, 0.13); --plum: #f6d8c9; --coral: #ef8b7e; }
  body { background: radial-gradient(circle at 85% 0%, #573547 0, transparent 32rem), var(--paper); }
  .notice { background: rgba(239, 139, 126, 0.08); }
  a { color: #f3ad9f; }
}
