/* Minimal, responsive edition of the Bitcoin whitepaper. No frameworks, no JS. */
:root { --paper:#fcfbf7; --ink:#1d1d1a; --muted:#5f5e59; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.page { width:min(100% - 48px, 744px); margin:0 auto; padding:44px 0 88px; }
.masthead { display:flex; align-items:center; gap:12px; font-size:1.05rem; font-weight:700; margin-bottom:clamp(68px,10vw,112px); }
.masthead img { display:block; width:44px; height:44px; object-fit:contain; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(2.5rem,7.2vw,4.5rem); font-weight:750; line-height:1.07; letter-spacing:-.055em; margin-bottom:23px; }
.lede { font-size:clamp(1.22rem,2.8vw,1.42rem); line-height:1.48; max-width:36rem; margin-bottom:clamp(82px,12vw,136px); }
.paper { font-size:1rem; }
.paper-heading { margin-bottom:2.8rem; }
.paper h2 { font-size:clamp(1.7rem,4.6vw,2.35rem); line-height:1.18; letter-spacing:-.035em; margin:0 0 1.2rem; font-weight:700; }
.byline { font-size:1.05rem; font-weight:600; margin:0; }
.source-contact { font-size:.86rem; color:var(--muted); margin:.1rem 0 0; }
.paper h3 { font-size:1.33rem; line-height:1.32; font-weight:650; letter-spacing:-.025em; margin:3.2rem 0 1rem; }
.abstract h3 { margin-top:0; }
.paper p { margin-bottom:1.4rem; hyphens:auto; }
.paper .section, .paper .references { margin-top:3rem; }
.paper a, footer a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
.paper ol { padding-left:1.55rem; }
.paper li { padding-left:.35rem; margin-bottom:.5rem; }
.figure { max-width:100%; overflow-x:auto; overflow-y:hidden; margin:1.8rem 0 2.4rem; scrollbar-width:thin; }
.figure-svg { display:block; max-width:none; width:auto; height:auto; color:var(--ink); }
.figure-svg rect { vector-effect:non-scaling-stroke; }
@media(min-width:800px) { .figure-svg { max-width:100%; height:auto; } }
/* Keep figure labels legible on phones: scroll figures horizontally instead of shrinking. */
.equation { overflow-x:auto; max-width:100%; padding:.75rem 0 1rem; margin:1.35rem 0 1.65rem; scrollbar-width:thin; }
.equation math { font-size:1.18rem; font-family:"Cambria Math", "STIX Two Math", "Latin Modern Math", serif; width:max-content; min-width:min-content; }
.probability-definitions { margin:1.5rem 0; }
.probability-definitions>div { display:flex; gap:1.1rem; align-items:baseline; }
.probability-definitions dt { min-width:2.3rem; font-style:italic; }
.probability-definitions dd { margin:0; }
pre { white-space:pre; font: .83rem/1.52 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; overflow-x:auto; margin:1.5rem 0 1.9rem; padding:0; scrollbar-width:thin; }
.code-example { tab-size:4; }
.references ol { padding-left:1.8rem; }
.references li { padding-left:.35rem; overflow-wrap:anywhere; }
footer { margin-top:6rem; font-size:.78rem; color:var(--muted); line-height:1.75; }
@media(max-width:600px) {
 body { font-size:16px; line-height:1.72; }
 .page { width:calc(100% - 36px); padding:25px 0 65px; }
 .masthead { margin-bottom:62px; }
 .paper h3 { margin-top:2.6rem; }
 .paper .section { margin-top:2.6rem; }
 .figure { margin:1.5rem 0 2rem; }
 .equation math { font-size:1.08rem; }
 .probability-definitions>div { align-items:baseline; gap:.7rem; }
 footer { margin-top:4.8rem; }
}
@media(prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } }
