/* A continuous book: ruled pages, generous margins, and quiet blue annotations. */
:root{--paper:#fff;--ink:#282b33;--accent:#596da9;--muted:#707786;--line:#d6dae4;--wash:#f6f7fa;--serif:'Instrument Serif',Georgia,serif;--sans:'Instrument Sans',sans-serif;--mono:'JetBrains Mono',monospace;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:78px}
*{box-sizing:border-box}body{margin:0;background:#171719;font-family:var(--sans);color:var(--ink);padding:8px 8px 0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}p{margin:0}h1,h2,h3{font-weight:400;margin:0}img{display:block;max-width:100%}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:var(--paper);padding:12px}.skip-link:focus{top:16px}
.commerce-header{height:62px;border-radius:18px 18px 0 0;background:#fffffff5;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);font-size:13px}.commerce-header>a:first-child{text-transform:uppercase}.header-shelf{border:1px solid var(--line);border-radius:30px;padding:6px 28px}.commerce-header>span{font:10px var(--mono);color:var(--muted)}main{background:var(--paper);padding:0 8px 30px}.commerce-opening{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 110px);border:1px dashed var(--line);border-radius:14px 14px 0 0}.commerce-cover,.commerce-contents{padding:22px 24px;display:flex;flex-direction:column;min-width:0}.commerce-cover{border-right:1px solid var(--line)}.page-heading,.eyebrow,.cover-kicker{font:11px/1.6 var(--mono);color:var(--accent)}.page-heading{display:flex;gap:26px}.commerce-cover>.page-heading{text-transform:uppercase;font-size:10px}.cover-center{margin:auto;text-align:center;padding:36px 0}.cover-kicker{margin:22px 0 15px}.cover-center h1{font:clamp(68px,7.2vw,112px)/.92 var(--serif);letter-spacing:-.04em;color:var(--accent)}.cover-center h1 em{font-weight:400}.cover-deck{font-size:14px;line-height:1.7;margin-top:28px;color:var(--muted)}.cover-credit{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--accent);padding-top:16px}.commerce-symbol{width:72px;height:72px;display:grid;grid-template-columns:1fr 1fr;gap:5px;transform:rotate(-12deg);margin:0 auto 28px}.commerce-symbol span{border:1px solid #7d8fc0;border-radius:8px}.commerce-symbol span:nth-child(2){background:#e0e6f6}.commerce-symbol span:nth-child(3){background:#f2eee8;border-color:#baa88d}.commerce-contents nav{width:100%;max-width:480px;margin:auto;padding:54px 8px 30px}.contents-group{display:grid;grid-template-columns:105px 1fr;border-top:1px solid #91a0c7;margin-bottom:24px;color:var(--accent)}.contents-group h2{font:11px/1.6 var(--mono);text-transform:uppercase;padding-top:10px}.contents-group a{display:flex;justify-content:space-between;gap:15px;font:10px/1.6 var(--mono);padding:11px 0}.contents-group a+a{border-top:1px solid var(--line)}.contents-group a:hover{color:#263b79}.contents-note{font:10px/1.8 var(--mono);color:var(--muted);max-width:480px;width:100%;margin:0 auto 8px;padding:0 8px}
.commerce-page{position:relative;border:1px dashed var(--line);border-top:0;min-height:calc(100svh - 104px);scroll-margin-top:0}.commerce-page>.page-heading{padding:20px 24px}.page-content{max-width:1240px;margin:auto;padding:55px 58px 90px}.folio{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:var(--accent);font:10px var(--mono)}.commerce-page h2{font:clamp(40px,4.2vw,66px)/1.04 var(--serif);letter-spacing:-.025em;color:var(--accent)}.commerce-page h3{font:28px/1.15 var(--serif);color:var(--accent);margin-bottom:14px}.prose{font-size:15px;line-height:1.85;max-width:560px;color:#535966}.prose p+p{margin-top:20px}.prose h2{margin-bottom:28px}.prose h3{margin-top:32px}.eyebrow{text-transform:uppercase;margin-bottom:26px}.intro-statement{text-align:center;padding:20px 0 75px}.intro-statement h2{font-size:clamp(56px,6vw,88px)}.intro-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;border-top:1px solid var(--line);padding-top:38px}.project-details{margin:0;display:grid;gap:22px;align-content:start;font-size:13px;line-height:1.7}.project-details>div{display:grid;grid-template-columns:65px 1fr;gap:16px}.project-details dt{font:10px/1.8 var(--mono);color:var(--accent)}.project-details dd{margin:0}.showcase-title{text-align:center;max-width:800px;margin:0 auto 42px}.showcase-title p{font-size:14px;line-height:1.7;color:var(--muted);max-width:640px;margin:18px auto 0}.commerce-figure{margin:0;min-width:0}.commerce-figure>a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--wash)}.commerce-figure img{width:100%;height:auto}.commerce-figure figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font:10px/1.7 var(--mono);color:var(--muted)}.commerce-figure a:hover{outline:1px solid var(--accent);outline-offset:3px}.spread{display:grid;grid-template-columns:.8fr 1.3fr;align-items:center;gap:6%}.journey,.transaction-line{padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;gap:18px}.journey li,.transaction-line li{font-size:12px;line-height:1.7;border-top:1px solid #a9b6d3;padding-top:15px}.journey span,.transaction-line span{display:block;font:10px var(--mono);margin-bottom:12px;color:var(--accent)}.access-spread{grid-template-columns:1.4fr .7fr;align-items:start;gap:10%}.account-states{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 36px}.account-states span{font:10px var(--mono);border:1px solid var(--line);border-radius:20px;padding:9px 14px;color:var(--accent)}.mobile-presentation{background:var(--wash);padding:30px 24px;border-radius:12px}.phone-figure{max-width:250px;margin:auto}.phone-figure>a{border:5px solid #282b33;border-radius:24px}.section-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:start;margin-bottom:45px}.diagram-caption{text-align:center;font:10px/1.7 var(--mono);color:var(--muted);margin-top:24px}.two-notes{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:45px}.two-notes>div{border-top:1px solid var(--line);padding-top:24px}.two-notes p{font-size:14px;line-height:1.85;color:#535966}.system-map{max-width:880px;margin:0 auto;background:var(--wash);padding:38px;border:1px solid var(--line);border-radius:8px}.system-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.system-apps span{border:1px solid #abb9d6;padding:20px 12px;text-align:center;font-size:12px;background:var(--paper)}.system-arrow{display:block;text-align:center;padding:12px;color:var(--accent)}.system-layer{border:1px solid #abb9d6;padding:22px;text-align:center;background:var(--paper)}.system-layer h3{font-size:28px;margin-bottom:8px}.system-layer p{font:10px/1.8 var(--mono);color:var(--muted)}.closing-page{display:flex;flex-direction:column}.closing-page .page-content{width:100%;margin:auto}.closing-statement{text-align:center;padding:35px 0}.closing-statement h2{font-size:clamp(50px,5.5vw,84px);margin-bottom:38px}.closing-statement>p:not(.eyebrow){max-width:560px;margin:16px auto;font-size:15px;line-height:1.8;color:var(--muted)}.next-volume{display:flex;flex-direction:column;gap:14px;width:fit-content;margin:64px auto 0}.next-volume span{font:10px var(--mono);color:var(--accent)}.next-volume strong{font:32px var(--serif)}.commerce-footer{position:fixed;bottom:0;left:8px;right:8px;z-index:5;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);height:38px;display:flex;align-items:center;gap:22px;padding:0 24px;font-size:10px}.commerce-footer>span{color:var(--muted)}.commerce-footer nav{margin-left:auto;display:flex;gap:28px}.reading-progress{position:absolute;height:2px;left:0;right:0;bottom:0;background:var(--accent);transform-origin:left;transform:scaleX(0)}
@media(min-width:1700px){.commerce-opening,.commerce-page{max-width:1600px;margin:auto}}
@media(max-width:1000px){.page-content{padding:40px 32px 75px}.commerce-contents{padding:22px 18px}.contents-group{grid-template-columns:85px 1fr}.contents-group h2,.contents-group a{font-size:9px}.spread{grid-template-columns:1fr;gap:40px}.spread>.prose{max-width:700px}.access-spread{grid-template-columns:1.3fr .7fr;gap:6%}.mobile-presentation{padding:20px 12px}.section-intro{gap:5%}.prose{font-size:14px}}
@media(max-width:640px){:root{scroll-padding-top:64px}body{padding:5px 5px 0}.commerce-header{height:54px;padding:0 16px;font-size:11px}.header-shelf{padding:5px 12px}.commerce-header>span{display:none}main{padding:0 5px 30px}.commerce-opening{grid-template-columns:1fr}.commerce-cover{border-right:0;border-bottom:1px solid var(--line);min-height:650px;padding:18px}.commerce-cover>.page-heading{font-size:9px}.cover-center h1{font-size:80px}.cover-center{padding:40px 0}.commerce-contents{padding:20px 18px 28px}.commerce-contents nav{padding:45px 0 12px}.contents-group{grid-template-columns:86px 1fr}.contents-group a{font-size:9px}.contents-note{padding:0}.page-heading{font-size:10px;gap:18px}.commerce-page>.page-heading{padding:18px}.page-content{padding:38px 20px 65px}.commerce-page{min-height:0}.commerce-page h2{font-size:42px}.commerce-page h3{font-size:26px}.intro-statement{padding:12px 0 42px}.intro-statement h2{font-size:53px}.intro-bottom,.section-intro,.access-spread,.two-notes{grid-template-columns:1fr;gap:30px}.project-details{font-size:12px}.prose{font-size:14px;line-height:1.85}.showcase-title{margin-bottom:28px}.showcase-title p{font-size:13px}.showcase-page .commerce-figure{margin:0 -10px}.commerce-figure figcaption{font-size:9px}.mobile-presentation{max-width:290px;width:100%;margin:auto;padding:22px}.journey,.transaction-line{gap:12px}.journey li,.transaction-line li{font-size:10px}.system-map{padding:18px 12px}.system-apps{gap:7px}.system-apps span{font-size:10px;padding:15px 5px}.system-layer{padding:20px 10px}.system-layer h3{font-size:25px}.system-layer p{font-size:9px}.two-notes{margin-top:30px}.two-notes p{font-size:13px}.commerce-footer{left:5px;right:5px;padding:0 14px;font-size:10px}.commerce-footer>span:not(.reading-progress){display:none}.commerce-footer nav{gap:18px}.closing-statement{padding:15px 0}.closing-statement h2{font-size:48px}.closing-statement>p:not(.eyebrow){font-size:14px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Keep the estimate disclosure quiet, readable, and beside every screenshot. */
.estimate-label{display:block;font:11px/1.6 var(--sans);color:#626978;margin-top:5px;letter-spacing:0;text-transform:none}
