/* Shared styles for the plain-English legal pages (privacy, terms). */
@font-face { font-family: "Syne"; src: url("/assets/fonts/syne-700-latin.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-400-latin.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-700-latin.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Hanken"; src: url("/assets/fonts/hanken-grotesk-500-latin.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Hanken"; src: url("/assets/fonts/hanken-grotesk-700-latin.woff2") format("woff2"); font-weight: 700; font-display: swap; }
:root { --night:#07061A; --indigo:#12103A; --line:#2E2A66; --ink:#F5F5F7; --mist:#A9A9C6; --violet:#8B5CF6; --lilac:#C4B5FD; --mint:#34D399; --amber:#FBBF24;
  --display:"Syne", system-ui, sans-serif; --mono:"Plex Mono", ui-monospace, Consolas, monospace; --body:"Hanken", system-ui, -apple-system, "Segoe UI", sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--night); }
body { margin: 0; background: radial-gradient(60vw 40vh at 80% 0%, rgba(139,92,246,.18), transparent 70%), var(--night); color: var(--ink); font: 500 17px/1.7 var(--body); overflow-x: hidden; }
a { color: var(--lilac); }
:focus-visible { outline: 3px solid var(--mint); outline-offset: 3px; border-radius: 6px; }
.wrap { width: min(100% - 32px, 820px); margin-inline: auto; }
header { border-bottom: 1px solid var(--line); }
header .wrap { display: flex; align-items: center; gap: 14px; height: 64px; }
.mark { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--mist); font: 400 13px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.mark i { display: grid; place-items: center; width: 36px; height: 36px; border: 2px solid var(--violet); border-radius: 10px; font: 700 19px/1 var(--display); color: var(--mint); font-style: normal; }
.pill { margin-left: auto; display: inline-flex; align-items: center; border-radius: 999px; background: #7C3AED; color: #fff; text-decoration: none; font: 700 12px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; padding: 12px 18px; }
main { padding: 48px 0 64px; }
h1 { font: 700 clamp(32px, 6vw, 52px)/1.05 var(--display); letter-spacing: -.02em; margin: 8px 0 12px; }
h2 { font: 700 clamp(21px, 3vw, 26px)/1.25 var(--display); letter-spacing: -.01em; margin: 44px 0 10px; }
h3 { font: 700 18px/1.35 var(--body); margin: 26px 0 6px; }
p, li { color: #d9d9e8; }
ul, ol { padding-left: 22px; }
li { margin: 6px 0; }
strong { color: var(--ink); }
.meta { font: 400 13px/1.6 var(--mono); color: var(--mist); letter-spacing: .04em; }
.confirm { background: rgba(251,191,36,.14); color: var(--amber); border: 1px solid rgba(251,191,36,.45); border-radius: 8px; padding: 1px 8px; font: 700 13px/1.6 var(--mono); white-space: normal; }
.box { border: 1px solid var(--line); border-radius: 18px; background: rgba(18,16,58,.6); padding: 18px 22px; margin: 18px 0; }
table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 15px; display: block; overflow-x: auto; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); min-width: 140px; }
th { font: 700 12px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--lilac); }
footer { border-top: 1px solid var(--line); padding: 28px 0 48px; }
footer p { font: 400 12px/1.6 var(--mono); color: var(--mist); margin: 0 0 6px; }
footer a { margin-right: 18px; display: inline-block; padding: 8px 0; }
