:root { --bg: #061229; --surface: #0b1d3f; --line: #1b3a6c; --ink: #f2f6ff; --muted: #9bb0d3; --cyan: #22d3e6; color-scheme: dark; }
@media (prefers-color-scheme: light) { :root { --bg: #f2f6fc; --surface: #ffffff; --line: #d4deee; --ink: #0a1c3d; --muted: #566887; --cyan: #087f91; color-scheme: light; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16.5px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.page { width: min(720px, 100%); margin: 0 auto; padding: 24px 18px 56px; }
.top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 28px; }
.brand { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font: 700 20px/1 "Sora", system-ui, sans-serif; }
.brand img { width: 34px; height: 34px; border-radius: 9px; }
.back { color: var(--cyan); font-weight: 600; text-decoration: none; }
h1 { margin: 0 0 6px; font: 700 clamp(28px, 7vw, 36px)/1.2 "Sora", system-ui, sans-serif; letter-spacing: -.01em; }
.updated { margin: 0 0 28px; color: var(--muted); }
h2 { margin: 34px 0 8px; font: 700 20px/1.3 "Sora", system-ui, sans-serif; }
p, li { max-width: 68ch; }
ul { padding-left: 1.2em; }
li { margin: 6px 0; }
li::marker { color: var(--cyan); }
a { color: var(--cyan); }
.box { margin: 18px 0; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.box p { margin: 0; }
nav.legal { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 44px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 15px; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
