@font-face{font-family:Newsreader;src:url('./assets/newsreader-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url('./assets/newsreader-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url('./assets/dm-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url('./assets/dm-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--leaf:#d8ed9e;--paper:#f2f0df;--ink:#203729;--muted:#576649;--night:#182d24;--line:#20372933;--serif:Newsreader,Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'Cascadia Code',Consolas,monospace;--ease-out:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--leaf);font:18px/1.55 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:#294b35;color:var(--paper)}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:14px}.world-bg{position:fixed;inset:0;background:var(--leaf);z-index:-2;pointer-events:none}.paper-bg,.night-bg{position:absolute;inset:0;opacity:0}.paper-bg{background:var(--paper)}.night-bg{background:var(--night)}#character-stage{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .5s var(--ease-out)}#character{display:block;width:100%;height:100%}.webgl-ready #character-stage{opacity:1}.header{height:102px;padding:0 4.8%;display:flex;align-items:center;justify-content:space-between;gap:30px;position:absolute;top:0;left:0;width:100%;z-index:10}.wordmark{font:400 34px/1 var(--serif);letter-spacing:-1.6px}.wordmark>span{font:12px var(--sans);vertical-align:top;margin-left:4px;letter-spacing:0}nav{display:flex;gap:34px;align-items:center;font-size:13px}nav a{padding:8px 0}.source-nav{border-bottom:1px solid var(--ink)}.source-nav span{margin-left:20px}#motion-toggle{display:none;align-items:center;gap:9px;background:none;border:1px solid var(--line);border-radius:30px;padding:9px 14px;font:11px var(--sans);cursor:pointer}.enhanced #motion-toggle{display:flex}.motion-icon{font-size:13px}.hero{height:100svh;min-height:0;position:relative;padding:125px 4.8% 0}.hero-kicker{display:flex;align-items:center;justify-content:center;gap:9px;font:10px var(--mono);letter-spacing:1.3px}.tiny-dot{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font:400 clamp(36px,7.4vw,112px)/1.03 var(--serif);letter-spacing:-.07em;text-align:center;margin:38px 0 0;padding-right:.04em}h1>span{color:#4b6c43}em{font-weight:400}.hero-caption{position:absolute;left:5%;bottom:200px;width:290px}.hero-caption h2{font:400 37px/1.02 var(--serif);letter-spacing:-1px;margin:0 0 19px}.hero-caption p{font-size:14px;line-height:1.75}.character-note{position:absolute;right:5%;top:62%;transform:rotate(-9deg);width:175px}.handwritten{font:italic 22px/1.1 var(--serif)}.character-note svg{width:80px;margin:9px 0 0 17px;transform:rotate(105deg);fill:none;stroke:var(--ink);stroke-width:1.3}.hero-bottom{position:absolute;left:5%;right:5%;bottom:39px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.scroll-link{display:flex;align-items:center;gap:12px}.circle-arrow{display:inline-flex;align-items:center;justify-content:center;border:1px solid #20372988;border-radius:50%;height:44px;width:44px;font-size:23px}.hero-bottom p{font-size:13px;line-height:1.5}.hero-bottom p span{color:var(--muted);font-size:11px}.edition{font:9px var(--mono);letter-spacing:1px}.fallback-character{position:absolute;width:min(50vw,630px);height:500px;left:37%;top:31%;pointer-events:none}.fallback-character svg{width:100%;height:100%}.webgl-ready .fallback-character{visibility:hidden}.journey{position:relative;min-height:100svh}.journey-inner{height:100svh;min-height:0;position:relative;padding:70px 5%}.journey-label{display:flex;gap:10px;align-items:center;font:10px var(--mono);letter-spacing:1.3px}.chapter{position:relative;width:45%;max-width:560px;margin:100px 0 85px}.chapter-count{font:10px var(--mono);letter-spacing:1px}.chapter h2{font:400 clamp(54px,6.8vw,112px)/.97 var(--serif);letter-spacing:-.045em;margin:27px 0 30px}.chapter p{font-size:18px;max-width:355px;line-height:1.7}.chapter .aside{font-size:13px;color:var(--muted);margin-top:20px;max-width:320px}.enhanced .chapter{position:absolute;top:24%;left:5%;margin:0}.enhanced .chapter:not(:first-of-type){visibility:hidden}.scene-caption{position:absolute;right:8%;bottom:120px;display:flex;align-items:center;gap:10px;font:italic 20px var(--serif)}.scene-caption>span:first-child{font:24px var(--sans)}.chapter-progress{position:absolute;bottom:52px;left:5%;width:38%;max-width:340px;display:flex;gap:18px;align-items:center;font:10px var(--mono)}.chapter-progress>div{height:1px;background:var(--line);flex:1}.chapter-progress i{height:2px;background:var(--ink);display:block;transform:scaleX(.02);transform-origin:left}.tax{min-height:110svh;position:relative;padding:75px 5% 85px}.enhanced .tax{color:var(--paper)}.tax-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font:10px var(--mono);letter-spacing:1.2px}.tax-badge{font:10px var(--mono);letter-spacing:1px;padding:10px 15px;border:1px solid currentColor;border-radius:30px}.tax h2{font:400 clamp(72px,8vw,128px)/.9 var(--serif);letter-spacing:-.045em;margin:85px 0 0}.tax h2 span{display:block}.tax h2 span:last-child{font-style:italic;color:#7b985c}.enhanced .tax h2 span:last-child{color:var(--leaf)}.tax-numbers{display:flex;align-items:center;gap:45px;margin:48px 0 0;width:max-content}.tax-numbers>div{display:flex;flex-direction:column}.tax-numbers strong{font:400 94px/.9 var(--serif);letter-spacing:-7px}.tax-numbers small{font-size:36px;letter-spacing:-1px;margin-left:7px}.tax-numbers>div>span{font:9px var(--mono);letter-spacing:2px;margin-top:14px}.tax-divider{font:48px var(--serif);opacity:.4}.tax-copy{position:absolute;right:6%;top:58%;max-width:290px}.tax-copy h3{font:400 33px/1.1 var(--serif);margin:14px 0}.tax-copy p{font-size:14px;opacity:.8;line-height:1.7}.eth-icon{font-size:34px;line-height:1;color:var(--leaf)}.text-link{display:inline-block;border-bottom:1px solid currentColor;font-size:12px;margin-top:22px;padding-bottom:4px}.tax-footnote{position:absolute;bottom:38px;left:5%;font-size:11px;opacity:.6;max-width:390px}.spec{padding:150px 7% 110px;display:grid;grid-template-columns:1fr 1.2fr;gap:12%;position:relative}.spec h2{font:400 clamp(55px,6.4vw,97px)/.98 var(--serif);letter-spacing:-.04em;margin:37px 0}.spec-heading>p{font-size:18px;line-height:1.7}.status{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;font:9px var(--mono);letter-spacing:.8px;margin-top:29px}.status i{width:5px;height:5px;background:#a16b3c;border-radius:50%}.spec-right{padding-top:28px}.spec dl{margin:0}.spec dl>div{display:flex;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.spec dt{color:var(--muted)}.spec dd{margin:0;text-align:right}.honest-notes{padding-top:25px}.honest-notes p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:15px}.source{padding:65px 7% 120px;border-top:1px solid var(--line);position:relative}.source h2{font:400 clamp(64px,11vw,174px)/.9 var(--serif);letter-spacing:-.045em;margin:50px 0 60px;position:relative}.asterisk{display:inline-block;font:150px var(--sans);position:absolute;right:10%;top:30px;color:#688943}.source-links{display:grid;grid-template-columns:1fr 1fr;gap:44px}.source-links>a{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);font-size:17px}.source-links small{display:block;font:9px var(--mono);letter-spacing:1px;margin-bottom:10px;color:var(--muted)}.source-links>a>span:last-child{font-size:27px}footer{display:flex;justify-content:space-between;align-items:center;margin:0 5%;padding:32px 0 40px;border-top:1px solid var(--line);gap:25px}footer p{font-size:11px;line-height:1.6;color:var(--muted)}.back-top{font-size:12px}.no-webgl .journey-inner,.no-motion .journey-inner{height:auto;min-height:0}.no-webgl .chapter,.no-motion .chapter{position:relative!important;top:auto!important;left:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;width:65%;margin:90px 0}.no-webgl .scene-caption,.no-motion .scene-caption,.no-webgl .chapter-progress,.no-motion .chapter-progress{display:none}.no-motion #character-stage{position:absolute;height:100svh;min-height:0}.no-webgl #character-stage{display:none}.no-motion .paper-bg{opacity:0!important}.no-webgl .tax,.no-motion .tax{background:var(--night);color:var(--paper)}.no-webgl .spec,.no-motion .spec,.no-webgl .source,.no-motion .source{background:var(--paper)}.no-motion .night-bg,.no-webgl .night-bg{opacity:0!important}
@media(hover:hover) and (pointer:fine){nav a:hover,.text-link:hover{opacity:.65}.source-links>a:hover>span:last-child{transform:translate(4px,-4px)}.source-links>a>span:last-child{transition:transform .2s var(--ease-out)}.circle-arrow{transition:transform .2s var(--ease-out)}.scroll-link:hover .circle-arrow{transform:translateY(4px)}}
@media(max-width:1000px){nav{gap:22px}.hero-caption{width:240px}.hero-caption h2{font-size:31px}.character-note{right:3%;width:150px}.handwritten{font-size:18px}.chapter h2{font-size:72px}.chapter p{font-size:16px;max-width:290px}.tax-copy{right:4%;max-width:220px}.spec{gap:7%;padding:100px 5%}.source{padding:70px 5% 100px}.source-links{gap:25px}.source-links>a{font-size:14px}.asterisk{font-size:110px;right:6%}}
@media(max-width:700px){body{font-size:16px}.header{height:80px;gap:12px}.wordmark{font-size:29px}nav{gap:18px;font-size:11px}nav .source-nav{display:none}#motion-toggle{padding:8px 10px}.motion-label{display:none}.hero{height:100svh;min-height:0;padding-top:115px}.hero-kicker{font-size:7px;letter-spacing:.8px;gap:7px}h1{font-size:clamp(31px,9.8vw,54px);margin-top:0;letter-spacing:-.04em}.hero-caption{left:6%;bottom:126px;width:65%}.hero-caption h2{font-size:30px;margin-bottom:12px}.hero-caption p{font-size:12px;line-height:1.6}.character-note{top:42%;right:5%;width:100px;transform:rotate(-10deg)}.handwritten{font-size:15px}.character-note svg{width:50px;margin:12px 0 0 6px}.hero-bottom{left:6%;right:6%;bottom:30px}.scroll-link{font-size:11px;gap:8px}.circle-arrow{height:34px;width:34px;font-size:18px}.hero-bottom p{font-size:10px}.hero-bottom p span{font-size:8px}.edition{display:none}.fallback-character{width:92%;height:360px;left:-4%;top:26%}.journey-inner{min-height:770px;padding:35px 6%}.journey-label{font-size:8px;letter-spacing:.5px}.enhanced .chapter{left:6%;top:13%;width:90%;max-width:none}.chapter-count{font-size:8px}.chapter h2{font-size:clamp(45px,14vw,55px);line-height:1;letter-spacing:-2px;margin:18px 0}.chapter p{font-size:14px;max-width:260px;line-height:1.6}.chapter .aside{font-size:10px;max-width:230px;margin-top:13px}.chapter-progress{left:6%;bottom:30px;width:88%;max-width:none}.scene-caption{font-size:16px;right:6%;bottom:95px;max-width:170px}.tax{min-height:1020px;padding:45px 6% 90px}.tax-top .eyebrow{font-size:8px;letter-spacing:.4px}.tax-badge{font-size:7px;padding:8px 10px}.tax h2{font-size:75px;margin-top:70px}.tax-numbers{gap:30px;margin-top:35px}.tax-numbers strong{font-size:76px}.tax-copy{top:auto;right:6%;bottom:90px;max-width:240px}.tax-copy h3{font-size:30px}.tax-copy p{font-size:13px}.eth-icon{display:none}.tax-footnote{left:6%;right:6%;bottom:25px;font-size:9px;max-width:310px}.spec{display:block;padding:85px 6% 60px}.spec h2{font-size:71px;margin:28px 0}.spec-heading>p{font-size:16px}.spec .eyebrow{font-size:8px;letter-spacing:.7px}.spec-right{padding-top:36px}.spec dl>div{font-size:12px;padding:17px 0;gap:20px}.honest-notes p{font-size:12px}.source{padding:55px 6% 75px}.source>.eyebrow{font-size:8px;letter-spacing:.5px}.source h2{font-size:20vw;margin:35px 0 38px}.asterisk{font-size:64px;right:0;top:12px}.source-links{display:block}.source-links>a{font-size:16px;padding:20px 0}.source-links small{font-size:8px;margin-bottom:5px}footer{margin:0 6%;padding:25px 0 30px;flex-wrap:wrap;gap:20px}footer p{order:3;width:100%;font-size:10px}.back-top{font-size:10px}.no-motion #character-stage{height:100svh;min-height:0}.no-webgl .chapter,.no-motion .chapter{width:100%;margin:65px 0}}
.handwritten{display:block}.character-note svg{display:block}.wordmark>span{display:none}#motion-toggle[hidden]{display:none}body:not(.enhanced) .journey-inner{height:auto}body:not(.enhanced) .chapter{width:min(600px,90%)}body:not(.enhanced) .scene-caption,body:not(.enhanced) .chapter-progress{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.cursor-snake{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 180ms var(--ease-out);contain:strict}.cursor-snake.is-visible{opacity:1}.cursor-snake-piece{position:absolute;left:0;top:0;border-radius:50%;background:#6f965b}.cursor-snake-head{position:absolute;left:0;top:0;width:30px;height:24px}.cursor-snake-head svg{display:block}@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.cursor-snake{display:none}}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.snake-cursor-active,html.snake-cursor-active *{cursor:none!important}.cursor-snake.is-visible{transition:none}}

.contract-address{display:block;overflow-wrap:anywhere;font-family:var(--mono);font-size:12px;max-width:330px}.spec dd small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.spec-heading .preview-notice{font-size:12px;line-height:1.6;color:var(--muted);margin-top:16px;max-width:360px}

/* The opening message leads; the character has its own space beside it. */
.hero-message{position:absolute;left:5%;top:47%;transform:translateY(-50%);width:56%;z-index:4}
.hero-message .hero-kicker{justify-content:flex-start;font-size:10px;letter-spacing:1px;margin-bottom:clamp(16px,3svh,32px)}
.hero-message h1{text-align:left;font-size:clamp(36px,min(7.4vw,10svh),112px);line-height:1.03;letter-spacing:-.05em;margin:0;padding:0}
.hero-message h1 em{white-space:nowrap;color:#49643b}
.hero-message .hero-caption{position:static;width:auto;margin-top:clamp(16px,3svh,30px)}
.hero-message .hero-caption p{font-size:19px;line-height:1.65}
.hero-why{max-width:440px;margin-top:clamp(18px,3svh,30px);padding-left:18px;border-left:1px solid var(--line)}.hero-why h2{font:500 15px/1.3 var(--sans);letter-spacing:0;margin:0 0 8px}.hero-why p{font-size:14px;line-height:1.6;color:var(--muted)}.hero-why a{display:inline-block;margin-top:9px;font-size:12px}.hero-why a span{margin-left:8px}@media(max-width:700px){.hero-why{max-width:330px;margin-top:18px;padding-left:12px}.hero-why h2{font-size:13px;margin-bottom:5px}.hero-why p{font-size:12px;line-height:1.5}.hero-why a{margin-top:6px;font-size:11px}.hero-message .hero-kicker{margin-bottom:14px}.hero-message .hero-caption{margin-top:12px}}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:clamp(16px,3svh,28px);font-size:13px}.hero-explorer{display:inline-flex;align-items:center;gap:16px;border:1px solid var(--ink);border-radius:100px;padding:12px 18px}.hero-explorer.pending{border-color:var(--line)}.explorer-status{font-size:10px;color:var(--muted)}.hero-source{border-bottom:1px solid var(--ink);padding:5px 0}.hero-source span{margin-left:10px}@media(max-width:700px){.hero-actions{gap:10px 16px;font-size:12px}.hero-explorer{padding:9px 13px;gap:12px}.explorer-status{font-size:9px}}
.hero .fallback-character{left:57%;top:21%;width:41%;height:62%}
.character-note{top:auto;bottom:140px;right:6%}
@media(min-width:701px) and (max-width:1000px){.hero-message{width:57%}.hero-message h1{font-size:6.7vw}.hero-message .hero-caption p{font-size:17px}.hero-message .hero-kicker{font-size:8px}}
@media(max-width:700px){.hero-message{left:6%;top:clamp(96px,15.5svh,132px);transform:none;width:88%}.hero-message .hero-kicker{font-size:8px;letter-spacing:.6px;margin-bottom:22px}.hero-message h1{font-size:clamp(31px,9.8vw,54px);line-height:1.08;letter-spacing:-.04em}.hero-message .hero-caption{margin-top:18px}.hero-message .hero-caption p{font-size:15px;line-height:1.6}.character-note{top:48%;bottom:auto;right:5%}.hero .fallback-character{left:2%;top:40%;width:86%;height:42%}}

@media(min-width:701px) and (max-height:650px){.hero-message{top:110px;transform:none}.hero-message h1{font-size:8svh}.hero-message .hero-kicker{margin-bottom:12px}.hero-message .hero-caption{margin-top:12px}.hero-why{margin-top:14px}.hero-actions{margin-top:14px}}
@media(min-width:701px) and (max-height:450px){.header{height:64px}.hero-message{top:76px;width:60%}.hero-message h1{font-size:32px}.hero-message .hero-caption p{font-size:15px}.hero-why{margin-top:10px}.hero-why h2{font-size:13px;margin-bottom:4px}.hero-why p{font-size:12px;line-height:1.4}.hero-why a{margin-top:4px}.hero-actions{margin-top:10px;font-size:12px;gap:16px}.hero-explorer{padding:8px 12px}.hero-bottom{display:none}.character-note{display:none}}

/* One technical idea and one short example per scroll chapter. */
.enhanced .chapter{top:18%;width:51%;max-width:650px}
.chapter h2{font-size:clamp(44px,5.3vw,78px);line-height:1.04;margin:24px 0}
.chapter p{font-size:17px;max-width:500px;line-height:1.65}
.code-example{margin:27px 0 20px;border:1px solid #2037292e;border-radius:10px;overflow:hidden;background:#203729;color:#f2f0df}
.code-example figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 19px;background:#f2f0df;color:#203729;font:12px var(--mono);border-bottom:1px solid #2037292e}
.code-example figcaption span:last-child{font:8px var(--mono);letter-spacing:.5px;color:#576649}
.code-example pre{margin:0;padding:23px 20px;font:15px/1.85 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}
.code-example code{font:inherit}.code-comment{color:#a5b99c}.code-key{color:#c6e897}.code-self,.code-type{color:#a6d9d4}.code-number{color:#f0c197}
.chapter .code-takeaway{display:flex;align-items:baseline;gap:11px;font-size:12px;line-height:1.7;max-width:100%;color:#576649}
.code-takeaway>span{flex-shrink:0;font:10px var(--mono);color:#203729}
@media(max-width:1000px) and (min-width:701px){.chapter h2{font-size:48px}.chapter p{font-size:15px}.code-example pre{font-size:12px;padding:19px 14px}}
@media(max-width:700px){.enhanced .chapter{top:12%;width:88%;max-width:none}.chapter h2{font-size:clamp(33px,9.5vw,48px);margin:18px 0}.chapter p{font-size:14px;line-height:1.6;max-width:100%}.code-example{margin:20px 0 15px;border-radius:7px}.code-example figcaption{padding:10px 12px;font-size:10px;gap:8px}.code-example figcaption span:last-child{font-size:8px;letter-spacing:0}.code-example pre{padding:16px 12px;font-size:clamp(12px,3.3vw,14px);line-height:1.8}.chapter .code-takeaway{display:block;font-size:11px}.code-takeaway>span{display:block;font-size:9px;margin-bottom:5px}.scene-caption{display:none}}
