:root { --ink:#111; --muted:#6b6b68; --line:#d7d7d1; --paper:#f4f4f1; }
* { box-sizing:border-box; }
html, body { min-height:100%; }
body { margin:0; min-height:100dvh; display:grid; place-items:center; padding:24px; background:#e9e9e5; color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.page-card { width:min(100%,520px); padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 20px 60px rgba(0,0,0,.10); }
.brand { display:flex; align-items:center; gap:10px; margin-bottom:24px; color:inherit; text-decoration:none; font-weight:850; letter-spacing:-.025em; }
.brand img { width:34px; height:34px; }
h1 { margin:0 0 12px; font-size:clamp(28px,7vw,38px); letter-spacing:-.035em; line-height:1.05; }
p { margin:0 0 14px; color:#3d3d3a; line-height:1.55; }
.actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 15px; border:1px solid #111; border-radius:9px; background:#111; color:#fff; font-weight:750; text-decoration:none; cursor:pointer; }
.button.secondary { border-color:#bdbdb8; background:#fff; color:#111; }
.note { margin-top:18px; color:var(--muted); font-size:12px; }
@media (max-width:520px){ body{padding:14px;} .page-card{padding:22px;} .actions{display:grid;} .button{width:100%;} }

.paypal-donate { min-height:47px; margin-top:24px; display:flex; align-items:center; }
.paypal-donate img { display:block; max-width:100%; height:auto; }

.privacy-card { width:min(100%,680px); }
.privacy-card h2 { margin:24px 0 8px; font-size:19px; letter-spacing:-.02em; }
.privacy-card a:not(.brand):not(.button) { color:inherit; text-underline-offset:2px; }
.legal-copyright { margin:28px 0 0; color:#777; font-size:12px; }
.privacy-updated { margin-top:-4px; color:var(--muted); font-size:12px; }

/* Optional analytics consent */
.consent-banner { position:fixed; left:50%; bottom:max(14px, env(safe-area-inset-bottom)); z-index:10000; width:min(680px, calc(100vw - 24px)); transform:translate(-50%,12px); opacity:0; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid rgba(0,0,0,.13); border-radius:16px; background:rgba(250,250,247,.98); box-shadow:0 16px 50px rgba(0,0,0,.2); transition:opacity .18s ease,transform .18s ease; }
.consent-banner[hidden] { display:none !important; }
.consent-banner.is-visible { opacity:1; transform:translate(-50%,0); }
.consent-copy { min-width:0; }
.consent-copy strong { display:block; margin-bottom:4px; font-size:14px; }
.consent-copy p { margin:0; color:#444; font-size:13px; line-height:1.4; }
.consent-actions { display:flex; flex:0 0 auto; gap:8px; }
.consent-button { min-height:40px; border:1px solid #bdbdb8; border-radius:9px; background:#fff; color:#111; font:inherit; font-weight:700; padding:0 11px; cursor:pointer; }
.consent-button.primary { border-color:#111; background:#111; color:#fff; }
.legal-settings-button { font:inherit; }
@media (max-width:620px){ .consent-banner{align-items:stretch;flex-direction:column;gap:12px;} .consent-actions{width:100%;} .consent-actions .consent-button{flex:1 1 50%;} }
