/* /future and the whitepaper. Loaded only by those pages (page.extra_css). Uses the site tokens. */
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 20px}

/* ── /future landing ─────────────────────────────────────────────── */
.future-hero{padding-bottom:36px}
.future-hero h1{max-width:20ch}
.future-hero .cta{margin-top:6px}
.fig-wide{max-width:1120px;margin:0 auto;padding:0 20px}
.fig-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.55),0 0 0 1px var(--glow)}
.fig-card img{display:block;width:100%;height:auto}
.fig-card figcaption{padding:14px 20px;font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);background:var(--bg2)}
.fig-card figcaption a{text-decoration:underline}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.steps4 .card .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--btn-fg);font-weight:800;font-size:.9rem;margin-bottom:14px}
.honest{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
.honest .card h3{display:flex;align-items:center;gap:10px}
.honest ul{margin:12px 0 0;padding-left:1.1em;color:var(--muted);font-size:.95rem}
.honest li{margin:6px 0}
.tag-ok,.tag-no{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 10px;border:1px solid}
.tag-ok{color:var(--accent);border-color:var(--accent)}
.tag-no{color:#d97706;border-color:#d97706}
[data-theme=dark] .tag-no{color:#fbbf24;border-color:#fbbf24}
.faq{max-width:760px;margin:30px 0 0}
.faq details:first-child{border-top:1px solid var(--line)}
@media(max-width:860px){.steps4,.honest{grid-template-columns:1fr}}

/* ── whitepaper ──────────────────────────────────────────────────── */
.paper-h{padding:64px 20px 8px}
.paper-h h1{font-size:clamp(2.4rem,6vw,3.8rem);font-weight:800}
.paper-sub{font-size:1.28rem;line-height:1.4;color:var(--fg);opacity:.88;margin:16px 0 8px;letter-spacing:-.01em}
.paper-status{font-size:.88rem;color:var(--muted);margin:0 0 22px}
.cta-left{justify-content:flex-start}
.prose{font-size:1.04rem;line-height:1.72;padding-bottom:80px}
.prose h2{font-size:1.7rem;font-weight:800;margin:2.6em 0 .6em;letter-spacing:-.025em;scroll-margin-top:80px}
.prose h2:first-child{margin-top:1.4em}
.prose h3{font-size:1.2rem;font-weight:700;margin:2em 0 .5em;letter-spacing:-.015em;scroll-margin-top:80px}
.prose p{margin:0 0 1.05em}
.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.35em}
.prose li{margin:.35em 0}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.prose code{font-size:.86em;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:.08em .38em}
.prose pre{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;overflow-x:auto;font-size:.82rem;line-height:1.55}
.prose pre code{background:none;border:0;padding:0;font-size:inherit}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.92rem;line-height:1.5}
.prose th,.prose td{text-align:left;vertical-align:top;padding:11px 12px;border-bottom:1px solid var(--line)}
.prose th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.prose td:first-child{min-width:7.5em}
.prose #markdown-toc{list-style:none;padding:18px 22px;margin:1.6em 0 2em;background:var(--card);border:1px solid var(--line);border-radius:14px;columns:2;column-gap:28px;font-size:.95rem}
.prose #markdown-toc li{margin:.25em 0;break-inside:avoid}
.prose #markdown-toc a{color:var(--fg);text-decoration:none}
.prose #markdown-toc a:hover{color:var(--accent)}
.toc-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2.4em 0 0}
.prose figure.fig{margin:2.2em 0;width:min(1100px,calc(100vw - 40px));position:relative;left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.prose figure.fig img{display:block;width:100%;height:auto}
.prose figure.fig figcaption{padding:12px 18px;font-size:.86rem;line-height:1.5;color:var(--muted);border-top:1px solid var(--line);background:var(--bg2)}
.prose h2#references ~ p{font-size:.88rem;line-height:1.55;margin:0 0 .7em;padding-left:2.2em;text-indent:-2.2em;overflow-wrap:anywhere}
@media(max-width:700px){.prose #markdown-toc{columns:1}.prose table{display:block;overflow-x:auto}}

@media print{
  .nav,.foot,.cta,.cta-left{display:none!important}
  body{background:#fff;color:#000}
  .prose{font-size:11pt}
  .prose figure.fig{width:100%;left:0;transform:none;break-inside:avoid}
}

/* Phones: keep diagrams legible by letting them scroll sideways inside their card instead of shrinking. */
@media(max-width:700px){
  .fig-card,.prose figure.fig{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .fig-card img,.prose figure.fig img{min-width:860px}
  .fig-card figcaption,.prose figure.fig figcaption{position:sticky;left:0;min-width:0;width:calc(100vw - 42px)}
}
