:root {
  color-scheme: light dark;
  --ink: #18313e;
  --muted: #526b74;
  --paper: #f7fbfc;
  --surface: #ffffff;
  --line: #d6e3e7;
  --sea: #176b80;
  --sea-dark: #0c4e61;
  --notice: #fff4d6;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.6 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: var(--sea-dark); }
a:focus-visible { outline: 3px solid #e09a27; outline-offset: 3px; }
.wrap { width: min(100% - 40px, 760px); margin: 0 auto; }
header { border-bottom: 1px solid var(--line); background: var(--surface); }
.brand { display: inline-flex; align-items: center; min-height: 68px; color: var(--ink); font-weight: 750; text-decoration: none; }
.brand span { color: var(--sea); }
main { padding: 52px 0 72px; }
h1 { font-size: clamp(2rem, 7vw, 3.3rem); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 18px; }
h2 { font-size: 1.3rem; line-height: 1.25; margin: 40px 0 10px; }
h3 { font-size: 1.08rem; line-height: 1.3; margin: 28px 0 8px; }
p, li { max-width: 70ch; }
.lead { font-size: 1.18rem; color: var(--muted); }
.notice { margin: 26px 0; padding: 16px 18px; border: 1px solid #e4cb83; border-radius: 12px; background: var(--notice); color: #573d05; }
.card { margin-top: 22px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
footer { padding: 28px 0 48px; border-top: 1px solid var(--line); color: var(--muted); font-size: .92rem; }
footer nav { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 12px; }
code { padding: .1em .35em; border-radius: 4px; background: #e9f1f3; }
.legal table { display: block; width: 100%; margin: 18px 0 30px; overflow-x: auto; border-collapse: collapse; font-size: .94rem; }
.legal th, .legal td { min-width: 10rem; padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal th { background: var(--surface); }
@media (prefers-color-scheme: dark) {
  :root { --ink:#e5f2f5; --muted:#b8cbd1; --paper:#0e1b20; --surface:#13252b; --line:#294149; --sea:#75d5e9; --sea-dark:#9ae7f4; --notice:#392d0e; }
  .notice { color:#ffdf89; border-color:#725714; }
  code { background:#203a42; }
}
