:root{--paper:#f6f0e2;--paper-2:#efe7d4;--paper-3:#e6dcc2;--ink:#2b241b;--ink-2:#564c3b;--ink-3:#8a7c63;--line:#dcd1b8;--line-2:#e9e0ca;--zero:#a83f2c;--pi:#bd5f38;--infinity:#41508a;--geometry:#2e7d6e;--gold:#b8892e;--primes:#7a52a1;--accent:var(--ink);--shadow:0 18px 44px -22px #4a381666;--shadow-sm:0 8px 22px -14px #4a381659;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--body:"Source Serif 4", "Iowan Old Style", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--shell:46rem;--shell-wide:66rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 600px at 85% -5%, #e8d6aa80, transparent 60%), radial-gradient(900px 500px at -10% 30%, #dcc89659, transparent 55%), var(--paper);color:var(--ink);font-family:var(--body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;font-size:17.5px;line-height:1.65}.grain{z-index:60;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");position:fixed;inset:0}.display{font-family:var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.015em;text-wrap:balance;font-weight:500;line-height:1.02}.overline{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent,var(--ink-2));margin:0 0 .9rem;font-size:.72rem}.mono{font-family:var(--mono);font-size:.82rem;line-height:1.6}.small{font-size:.82rem}::selection{background:#a83f2c29}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--accent,var(--ink));text-decoration-color:var(--accent,var(--ink))}:focus-visible{outline:2px solid var(--accent,var(--ink));outline-offset:3px;border-radius:2px}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 1.4rem}.skip{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--mono);border-radius:0 0 8px 8px;padding:.5rem 1rem;font-size:.8rem;position:fixed;top:-100px;left:1rem}.skip:focus{top:0}.nav{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2);background:#f6f0e2d1;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.4rem;display:flex;position:sticky;top:0}.wordmark{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;font-size:1.28rem;font-style:italic;font-weight:600;text-decoration:none}.nav nav{flex-wrap:wrap;gap:1.05rem;display:flex}.navlink{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-2);text-transform:lowercase;transition:color .24s var(--ease-soft), border-color .24s var(--ease-soft);border-bottom:1px solid #0000;align-items:center;gap:.42rem;padding:.15rem 0;font-size:.78rem;text-decoration:none;display:inline-flex}.navlink:hover{color:var(--ink)}.navlink.active{color:var(--ink);border-bottom-color:var(--c,var(--ink))}.navdot{background:var(--c,var(--ink));opacity:.75;border-radius:50%;width:.5rem;height:.5rem}.footer{border-top:1px solid var(--line-2);text-align:center;color:var(--ink-2);margin-top:5.5rem;padding:2.6rem 1.4rem 3.4rem;font-size:.94rem}.footer p{margin:.35rem 0}.hero{text-align:center;place-items:center;min-height:78vh;padding:6.5rem 1.4rem 4.5rem;display:grid;position:relative;overflow:hidden}.hero-sketch{z-index:0;position:absolute;inset:0}.hero-sketch .sketch-canvas{aspect-ratio:auto;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;max-width:44rem;position:relative}.hero .display{margin:.2rem 0 1.2rem;font-size:clamp(3.2rem,10vw,6.2rem)}.hero .display em{color:var(--ink-2);font-style:italic;font-weight:350}.hero-sub{color:var(--ink-2);text-wrap:balance;max-width:34rem;margin:0 auto 2.6rem;font-size:1.22rem;line-height:1.55}.chapter-index{text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-top:1.6rem;display:grid}.chapter-card{background:linear-gradient(180deg, var(--paper-2), #efe7d466);border:1px solid var(--line);transition:transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s var(--ease);border-radius:18px;padding:1.35rem 1.4rem 1.25rem;text-decoration:none;display:block;position:relative;overflow:hidden}.chapter-card:after{content:"";background:var(--c);opacity:0;height:3px;transition:opacity .32s var(--ease);position:absolute;inset:0 0 auto}.chapter-card:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--c) 45%, var(--line));transform:translateY(-4px)}.chapter-card:hover:after{opacity:1}.chapter-card .num{font-family:var(--mono);letter-spacing:.2em;color:var(--c);text-transform:uppercase;margin-bottom:.7rem;font-size:.7rem}.chapter-card .name{font-family:var(--serif);margin:0 0 .45rem;font-size:1.65rem;font-weight:550;line-height:1.1}.chapter-card .tag{color:var(--ink-2);margin:0 0 1rem;font-size:.98rem}.chapter-card .enter{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);transition:color .32s var(--ease);font-size:.78rem}.chapter-card:hover .enter{color:var(--c)}.section-head{margin:5rem 0 1.2rem}.section-head h2{font-family:var(--serif);margin:.4rem 0 .5rem;font-size:1.9rem;font-weight:550}.section-head p{color:var(--ink-2);margin:0}.chapter{padding:4.2rem 0 1rem}.chapter-head{margin-bottom:2.4rem}.chapter-head .display{margin:0 0 1.3rem;font-size:clamp(3rem,9vw,5rem)}.chapter-head .lede{color:var(--ink-2);text-wrap:balance;max-width:38rem;margin:0;font-size:1.24rem;line-height:1.55}.prose p{margin:0 0 1.25rem}.prose .lead{font-size:1.1rem}.dropcap:first-letter{font-family:var(--serif);float:left;color:var(--accent,var(--ink));padding:.08em .14em 0 0;font-size:3.1em;line-height:.82}.sketch-figure{margin:3rem 0}.sketch-frame{border:1px solid var(--line);background:radial-gradient(140% 120% at 50% 0%, var(--paper-2), #efe7d440);box-shadow:var(--shadow-sm);border-radius:20px;padding:1.1rem;position:relative;overflow:hidden}.sketch-canvas{aspect-ratio:16/9;background:var(--paper);border-radius:12px;width:100%;position:relative;overflow:hidden}.sketch-canvas canvas{display:block}.sketch-frame figcaption{font-family:var(--mono);color:var(--ink-3);margin-top:.85rem;font-size:.76rem;line-height:1.6}.sketch-frame figcaption .hint{color:var(--accent,var(--ink-2))}.twist{border-left:3px solid var(--accent,var(--ink));background:#efe7d473;border-radius:0 14px 14px 0;margin:3.2rem 0;padding:1.5rem 1.7rem}.twist p{margin:0;font-size:1.13rem;font-style:italic;line-height:1.6}.fact{color:var(--ink-3);border-top:1px solid var(--line-2);margin:2.6rem 0;padding-top:1.1rem}.page-wrap{animation:none}@media (width<=640px){body{font-size:16.5px}.nav{flex-direction:column;align-items:flex-start;gap:.4rem;padding:.7rem 1rem}.nav nav{gap:.8rem}.shell{padding:0 1rem}.hero{min-height:64vh;padding:4.5rem 1rem 3rem}.chapter{padding-top:2.8rem}.sketch-canvas{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.progress{z-index:90;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0}.progress i{transform-origin:0;background:linear-gradient(90deg,#a83f2c,#bd5f38,#41508a,#2e7d6e,#b8892e,#7a52a1);height:100%;display:block;transform:scaleX(0)}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:var(--rd,0s);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.page-rain{z-index:0;pointer-events:none;opacity:.9;position:fixed;inset:0}.page-rain .sketch-canvas{aspect-ratio:auto;position:absolute;inset:0}.page-rain .sketch-canvas canvas{border-radius:0}main.shell{z-index:1;position:relative}.navlink{border-radius:999px;padding:.22rem .55rem}.navlink.active{background:color-mix(in srgb, var(--c) 13%, transparent);border-bottom-color:#0000}.navlink.active:hover{border-bottom-color:#0000}.navnum{opacity:.75;margin-right:.1rem;font-size:.66rem;display:none}@media (width>=760px){.navnum{display:inline}}.sketch-figure--wide .sketch-frame{border-radius:22px;padding:1.3rem}.sketch-figure--wide .sketch-canvas{aspect-ratio:16/8.5}
