/* Darkroom: the tokens and base rules the static pages share. Dark-only, warm
   black with one safelight red; Archivo condensed for display, IBM Plex Mono
   for labels. docs/design/darkroom.md is the source. Profile pages carry
   their own copy inline (functions/profile-render.js): their CSP allows no
   other stylesheet. */

:root{--bg:#0F0E0D;--surface:#1B1916;--ink:#F3EEE7;--accent:#FF5436;--on-accent:#0F0E0D;
--body:rgba(243,238,231,.82);--muted:rgba(243,238,231,.55);--faint:rgba(243,238,231,.4);
--hairline:rgba(243,238,231,.11);--outline:rgba(243,238,231,.28);color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.45;min-height:100vh}
a{color:inherit}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.muted{color:var(--muted)}.faint{color:var(--faint)}.accent{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
h1{font-stretch:62%;font-weight:800;text-transform:uppercase;font-size:clamp(46px,11vw,76px);line-height:.9;margin:28px 0 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--outline);background:none;cursor:pointer;font-stretch:72%;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:15px;text-decoration:none}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);min-height:52px;font-size:17px}
.btn:disabled{background:var(--surface);border-color:var(--surface);color:var(--faint);cursor:default}
.bar{width:120px;height:5px;background:var(--accent);margin:22px 0}
footer{padding:28px 0 40px;display:flex;flex-wrap:wrap;gap:8px 20px}
footer a{text-decoration:none}

/* A short message, centred on the screen: a label, a heading, the bar, a line. */
.center{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:48px 0;max-width:36em}
.center p{color:var(--body)}

/* Long-form text: the terms and the privacy policy. */
.doc{max-width:680px;margin:0 auto;padding:48px 20px 80px;line-height:1.6}
.doc h1{font-size:44px;line-height:.95;margin:0 0 8px}
.doc h2{font-stretch:75%;font-weight:700;font-size:20px;letter-spacing:.02em;margin:36px 0 10px}
.doc .meta{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;color:rgba(243,238,231,.5);text-transform:uppercase}
.doc .bar{margin:18px 0 28px}
.doc p,.doc li{color:var(--body)}
.doc a{color:var(--accent)}
