@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600&family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--paper:#faf9f3;--ink:#282c26;--green:#16884a;--muted:#777b70;--rule:#d6d8cd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;background-color:var(--paper);background-image:linear-gradient(#c5c9b71b 1px,transparent 1px),linear-gradient(90deg,#c5c9b71b 1px,transparent 1px);background-size:44px 44px;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:7px}::selection{background:#c9efd4}.skip{position:fixed;left:10px;top:-100px;z-index:30;background:var(--ink);color:white;padding:10px}.skip:focus{top:10px}header,footer{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 40px}header{height:100px}.brand{font-family:'Caveat',cursive;font-size:32px;line-height:1}.edition,.eyebrow,.index,.small-label,.status,figcaption,footer>span,.scroll-note,.start-note,.node,.night-intro{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.025em}nav{display:flex;gap:30px;font-family:'IBM Plex Mono',monospace;font-size:13px}nav a:hover,footer a:hover{color:var(--green)}.edition{color:var(--muted);font-size:11px}.reading{position:fixed;top:0;left:0;height:2px;background:var(--green);width:0;z-index:50}main{position:relative;overflow:hidden}#thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}#thread path{fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke}#thread-base{stroke:#16884a;opacity:.24}#thread-live{stroke:#16a35a}.intro,.chapter,.night-inner{position:relative;max-width:1080px;margin:auto;padding:0 60px;z-index:2}.intro{padding-top:100px;min-height:650px}.eyebrow{font-size:11px;color:var(--muted);margin:0 0 15px}h1{font-family:'Caveat',cursive;font-size:clamp(75px,10vw,136px);font-weight:400;line-height:1;letter-spacing:-.04em;margin:0 0 24px;display:inline-block;position:relative}h1:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:0;left:5px;right:-20px;transform:rotate(-1deg)}.tiny-star{font-size:45px;position:absolute;right:-46px;top:-2px;color:var(--green)}.intro-caption{display:flex;align-items:center;gap:85px}.intro-caption p{font-size:16px;line-height:1.6}.pencil,.annotation,.side-note,.end-marker p{font-family:'Caveat',cursive;font-size:24px;font-weight:400;line-height:1.2}.pencil{transform:rotate(-7deg);color:var(--muted)}.start-note{position:absolute;right:130px;bottom:115px;display:flex;align-items:center;gap:14px;color:var(--green)}.cross{font-size:25px;font-weight:400}.scroll-note{position:absolute;left:60px;bottom:75px;color:var(--muted);font-size:11px}.scroll-note span{display:block;font-size:22px;margin-top:10px}.chapter{padding-top:90px;padding-bottom:100px}.index{display:block;color:var(--muted);font-size:11px;margin-bottom:28px}.chapter-head h2,h3{font-family:'Caveat',cursive;font-weight:400}.chapter-head h2{font-size:46px;line-height:1.08;margin:0 0 25px;letter-spacing:-.025em}.chapter-head>p{max-width:410px;font-size:15px;color:var(--muted)}.offset-copy{width:44%;margin-left:auto;margin-top:-75px}.offset-copy p{font-size:16px;margin:0 0 22px}.sketch{margin:80px -20px 0}.sketch img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;mix-blend-mode:multiply}.sketch figcaption{display:flex;justify-content:space-around;margin-top:5px;color:var(--muted);font-size:11px}.annotation{text-align:center;color:var(--green);margin:45px 0 20px;transform:rotate(-4deg)}.focus{padding-top:115px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;margin:65px 0 0}.work-grid article{position:relative;border-top:1px solid var(--rule);padding-top:25px}.small-label{font-size:10px;color:var(--muted)}h3{font-size:38px;line-height:1.2;margin:15px 0}.work-grid p{font-size:15px;color:#5b6057;max-width:330px}.code-note{border-left:1px solid var(--rule);padding-left:20px;margin-top:35px;font:13px/2 'IBM Plex Mono',monospace}.code-note span{display:block}.green{color:var(--green)}.thought-map{display:flex;align-items:center;justify-content:space-between;margin-top:45px;font:12px 'IBM Plex Mono',monospace;position:relative}.thought-map:before{content:'';position:absolute;left:10px;right:10px;top:50%;border-top:1px dashed #999;z-index:-1}.thought-map span{padding:10px;background:var(--paper);border:1px solid var(--rule);border-radius:50%}.side-note{margin:65px 0 0 60%;transform:rotate(-5deg);font-size:24px;color:var(--green)}.experiments{padding-top:110px;padding-bottom:160px}.project-list{margin:50px 0 0 20%;border-top:1px solid var(--rule)}details{border-bottom:1px solid var(--rule)}summary{list-style:none;display:flex;gap:22px;align-items:center;cursor:pointer;padding:25px 8px}summary::-webkit-details-marker{display:none}summary strong{display:block;font-family:'Caveat',cursive;font-size:32px;font-weight:500;line-height:1.3}summary small{font-size:14px;color:var(--muted);display:block;margin-top:5px}.project-number{font-family:'Caveat',cursive;font-size:24px;color:var(--green)}.plus{margin-left:auto;font:24px 'IBM Plex Mono',monospace;color:var(--green);transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.detail-copy{padding:0 35px 25px 50px;max-width:650px}.detail-copy p{font-size:15px;margin-top:0}.status{font-size:10px;color:var(--green)}summary:hover strong{color:var(--green)}.margin-note{display:block;margin:30px 20px 0 auto;width:max-content;font-size:22px}.night{position:relative;background:#161b17;color:#e6e9df;padding:90px 0 100px;margin:60px 0 0;z-index:0;isolation:isolate}.night:before,.night:after{content:'';position:absolute;left:0;right:0;height:8px;background:var(--paper);clip-path:polygon(0 0,4% 70%,9% 10%,15% 90%,21% 30%,29% 80%,34% 0,42% 70%,48% 20%,55% 80%,63% 15%,71% 80%,78% 25%,85% 100%,92% 20%,100% 80%,100% 0)}.night:before{top:0}.night:after{bottom:-1px;transform:rotate(180deg)}.night .index{color:#7f8c7d}.night-intro{color:#9ca797;margin:40px 0 30px}.night h2{font-family:'Caveat',cursive;font-size:clamp(44px,6vw,74px);font-weight:400;line-height:1.1;margin:0}.night h2 em{font-style:normal;color:#6fd591}.constellation{height:260px;position:relative;margin:60px 0 20px}.constellation svg{position:absolute;width:100%;height:100%;inset:0;z-index:-1}.constellation path{stroke:#7f9a80;stroke-width:.7;fill:none;stroke-dasharray:2 5}.node{position:absolute;color:#a7b3a4;font-size:12px;background:#161b17;padding:4px 8px}.n1{left:3%;top:22%}.n2{right:3%;top:20%}.n3{left:10%;bottom:9%}.n4{right:10%;bottom:9%}.center{left:50%;top:50%;transform:translate(-50%,-50%);color:#76e29a;border:1px solid #457254;padding:10px 20px;border-radius:50%;box-shadow:0 0 30px #2895541a}.night-end{font-size:15px;color:#a7b3a4;max-width:500px;margin-left:auto}.closing{padding-top:140px;padding-bottom:160px}.closing blockquote{font-family:'Caveat',cursive;font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1.15;margin:50px 0 30px}.closing blockquote em{font-style:normal;color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.closing>p{font-size:15px;color:var(--muted)}.end-marker{margin:110px 0 0 60%;color:var(--green)}.end-marker>span{font:30px 'IBM Plex Mono',monospace}.end-marker p{font-size:27px;margin-top:15px}footer{border-top:1px solid var(--rule);padding-top:30px;padding-bottom:40px;position:relative;z-index:3}footer .brand{font-size:28px}footer>span{font-size:9px;color:var(--muted)}footer>a:last-child{font:12px 'IBM Plex Mono',monospace}@media(max-width:700px){body{background-size:32px 32px}header,footer{padding:22px 24px}header{height:80px}.edition{display:none}nav{font-size:12px;gap:20px}.intro,.chapter,.night-inner{padding-left:28px;padding-right:28px}.intro{padding-top:80px;min-height:570px}h1{font-size:88px}.tiny-star{font-size:32px;right:-27px}.intro-caption{gap:20px;display:block}.intro-caption p{font-size:15px}.intro-caption .pencil{display:block;margin:25px 0 0 55%;font-size:21px;max-width:160px}.start-note{right:30px;bottom:95px;font-size:10px}.scroll-note{left:28px;bottom:50px}.chapter{padding-top:70px;padding-bottom:70px}.chapter-head h2{font-size:40px}.offset-copy{width:auto;margin:35px 0 0 12%;}.offset-copy p{font-size:15px}.sketch{margin:45px -12px 0}.sketch figcaption{font-size:10px}.annotation{font-size:23px}.work-grid{gap:45px;grid-template-columns:1fr;margin-top:45px}.work-grid article{max-width:85%}.work-grid article:nth-child(2){margin-left:auto}.work-grid p{font-size:15px}.side-note{margin:45px 0 0 38%;font-size:23px}.project-list{margin:40px 0 0 0}summary{gap:14px;padding:24px 0}summary strong{font-size:30px}summary small{font-size:13px;max-width:260px}.detail-copy{padding:0 15px 24px 30px}.night{margin-top:30px;padding:70px 0}.night h2{font-size:48px}.constellation{height:210px;margin-top:40px}.node{font-size:10px}.night-end{font-size:14px;margin-top:25px}.closing{padding-top:90px;padding-bottom:90px}.closing blockquote{font-size:40px}.closing>p{font-size:14px}.end-marker{margin-top:90px;margin-left:55%}footer{flex-wrap:wrap;gap:20px}footer>span{order:3;width:100%;font-size:9px}.night-inner{z-index:2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the illustration focused on technology and study. */
.sketch-clip{overflow:hidden}.sketch-clip img{width:150%;max-width:none;max-height:none}
@media(max-width:400px){h1{font-size:76px}nav{gap:13px;font-size:11px}.intro-caption p{font-size:14px}.closing blockquote{font-size:36px}}
.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin:75px 0 0;padding:0}.process>li{min-width:0}.process-art{position:relative;overflow:hidden;aspect-ratio:1/1;margin-bottom:24px}.process-art img{position:absolute;top:0;left:0;width:300%;max-width:none;height:auto;mix-blend-mode:multiply}.question-art img{left:-100%}.process h3{font-size:31px;margin:0 0 8px}.process h3>span{font:12px 'IBM Plex Mono',monospace;color:var(--green);vertical-align:middle;margin-right:10px}.process>li>p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.execute-board{aspect-ratio:1/1;margin-bottom:24px;display:flex;flex-direction:column;justify-content:center;padding:20px 12px;border:1px solid var(--rule);border-radius:2px;transform:rotate(-2deg)}.board-title{font:10px 'IBM Plex Mono',monospace;letter-spacing:.02em;color:var(--muted)}.execute-board ul{list-style:none;margin:20px 0;padding:0;font-size:14px}.execute-board li{padding:8px 0;border-bottom:1px solid var(--rule)}.execute-board li span{display:inline-block;width:24px;color:var(--green)}.board-note{font:23px 'Caveat',cursive;color:var(--green)}.contact{padding-top:35px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-links{align-self:center;border-top:1px solid var(--rule)}.contact-links a{display:grid;grid-template-columns:1fr auto;gap:2px 15px;padding:21px 0;border-bottom:1px solid var(--rule)}.contact-links a>span:first-child{font:29px 'Caveat',cursive}.contact-links small{grid-column:1;font-size:13px;overflow-wrap:anywhere;color:var(--muted)}.contact-links a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:var(--green)}.contact-links a:hover>span:first-child{color:var(--green)}
@media(max-width:700px){header{gap:14px}nav{gap:14px;font-size:11px}.intro-caption p{max-width:430px}.process{grid-template-columns:1fr;gap:48px;margin-top:45px}.process>li{max-width:260px;width:100%}.process>li:nth-child(2){margin-left:auto}.process>li:nth-child(3){margin-left:6%}.process-art,.execute-board{margin-bottom:16px}.process h3{font-size:33px}.execute-board{padding:24px}.execute-board ul{font-size:15px}.contact{grid-template-columns:1fr;gap:25px;padding-top:0;padding-bottom:70px}.contact-links small{font-size:14px}}
@media(max-width:370px){nav{gap:10px;font-size:10px}}

.learn-board{transform:rotate(2deg)}.learn-board .board-note{font-size:21px}@media(min-width:701px) and (max-width:1000px){.process{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}}@media(max-width:700px){.process>li:nth-child(4){margin-left:auto}}

.process-art.standalone-art img{width:100%;height:100%;object-fit:contain;left:0}

.journey{padding-top:90px;padding-bottom:80px}.journey-timeline{list-style:none;padding:0;margin:60px 0 0}.journey-entry{display:grid;grid-template-columns:210px minmax(0,1fr);gap:38px;position:relative;padding:0 0 36px}.journey-date{font:12px/1.7 'IBM Plex Mono',monospace;color:var(--muted);padding-top:6px}.journey-detail{position:relative;border-left:1px solid #16884a55;padding:0 0 0 30px;min-width:0}.journey-detail:before{content:'';position:absolute;left:-4px;top:9px;width:7px;height:7px;background:var(--paper);border:1px solid var(--green);border-radius:50%}.journey-entry.current .journey-detail:before{background:var(--green)}.journey-kind{font:10px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--green)}.journey-detail h3{font-size:30px;line-height:1.2;margin:8px 0}.journey-detail p{font-size:15px;margin:0;color:#5b6057}.journey-entry:last-child{padding-bottom:0}.journey-entry:last-child .journey-detail{padding-bottom:15px}
@media(max-width:850px){header .edition{display:none}.journey-entry{grid-template-columns:170px minmax(0,1fr);gap:20px}}
@media(max-width:700px){header{height:auto;flex-wrap:wrap;padding-bottom:15px}header nav{flex:1;justify-content:flex-end;gap:14px;flex-wrap:wrap;font-size:11px}.journey{padding-top:60px;padding-bottom:55px}.journey-timeline{margin-top:40px}.journey-entry{grid-template-columns:1fr;gap:8px;padding:0 0 30px 22px;border-left:1px solid #16884a55;margin-left:5px}.journey-date{font-size:12px;padding-top:0}.journey-detail{border:0;padding:0}.journey-detail:before{left:-26px;top:-24px}.journey-detail h3{font-size:29px}.journey-detail p{font-size:14px}.journey-entry:last-child .journey-detail{padding-bottom:0}}
