:root { color-scheme: light; --ink:#172233; --muted:#58667a; --blue:#2753ca; --pale:#f4f7fc; --line:#dfe6f1; --surface:#fff; }
* { box-sizing: border-box; }
html { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 85% -10%, #d8e7ff, transparent 46%),var(--pale); line-height:1.65; }
a { color:var(--blue); }
.page { max-width:950px; margin:0 auto; padding:0 24px; min-height:100vh; display:flex; flex-direction:column; }
.top { padding:28px 0; display:flex; align-items:center; gap:12px; }
.brand-link { display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; }
.brand-mark { display:inline-grid; place-items:center; width:36px; height:36px; color:white; background:#254bb9; border-radius:12px; font-weight:800; }
.brand { font-weight:750; font-size:18px; letter-spacing:-.025em; }
.top-note { margin-left:auto; font-size:13px; color:var(--muted); }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:24px; box-shadow:0 18px 60px rgba(25,50,100,.07); padding:clamp(28px,5vw,58px); }
.eyebrow { font-size:12px; font-weight:800; letter-spacing:.13em; color:var(--blue); margin:0 0 16px; }
h1 { font-size:clamp(30px,4.5vw,48px); letter-spacing:-.045em; line-height:1.18; margin:0 0 22px; }
.lead { font-size:18px; color:#445169; max-width:760px; margin:0 0 30px; }
.details { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px 0; }
.details section { padding-top:18px; border-top:2px solid var(--line); }
h2 { font-size:17px; letter-spacing:-.02em; line-height:1.35; margin:0 0 10px; }
p { margin:0 0 18px; }
.details p { font-size:14px; color:var(--muted); }
.notice { padding:14px 18px; background:#f3f6fd; border:1px solid #dce5f7; border-radius:12px; font-size:13px; color:#475b78; }
.links { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.links a { text-decoration:none; padding:12px 18px; border-radius:10px; font-weight:700; font-size:14px; }
.primary { color:white; background:var(--blue); }
.secondary { border:1px solid var(--line); }
footer { display:flex; justify-content:space-between; padding:24px 3px 32px; color:var(--muted); font-size:13px; }
footer a { color:var(--muted); }
.privacy h1 { font-size:clamp(28px,4vw,42px); }
.privacy h2 { font-size:18px; margin:30px 0 10px; }
.privacy p { color:#45536b; }
.privacy code, .details code { background:#f3f5fa; padding:2px 5px; border-radius:5px; font-size:.92em; overflow-wrap:anywhere; }
.updated { font-size:13px; margin-top:30px; }
.back { display:inline-block; margin:10px 0 0; font-weight:650; }
@media (max-width:700px) { .details { grid-template-columns:1fr; gap:10px; } .page { padding:0 14px; } .top { padding:18px 0; } .panel { border-radius:18px; } .lead { font-size:16px; } }
