@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dae4b3dbdd9e4d1b-s.0qkusbu_eokqj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/94d210260b00ada2-s.1qwmrnk790xxb.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a9fc94813a0b644-s.11ulym7vfe__d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8495c7a64396f454-s.p.3174gmb7yd72v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_5dc14cc6-module__hkX1DG__className{font-family:Caveat,Caveat Fallback;font-style:normal;font-weight:700}.caveat_5dc14cc6-module__hkX1DG__variable{--font-caveat:"Caveat", "Caveat Fallback"}
.reader-bar{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 16px;display:flex}.reader-back{min-height:44px;color:var(--garden-paper);text-underline-offset:4px;align-items:center;gap:.5em;font-size:.95rem;display:inline-flex}.reader-back:hover{text-decoration:underline}.reader-sound{border:1px solid color-mix(in oklab, var(--garden-paper) 40%, transparent);min-height:44px;color:var(--garden-paper);border-radius:999px;align-items:center;gap:.45em;padding:0 14px;font-size:.9rem;display:inline-flex}@media (max-width:479px){.reader-sound{padding:0 12px}.reader-sound span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.reader-sound[aria-pressed=true]{border-color:var(--trixie-glow);color:var(--trixie-glow)}.reader-sound:focus-visible{outline:3px solid var(--garden-sky);outline-offset:3px}@media (hover:hover) and (pointer:fine){.reader-sound:hover{border-color:var(--garden-paper)}}.reader-page{--box:min(100%, max(calc(100svh - 300px), 280px));grid-template-rows:1fr auto;justify-items:center;gap:16px;min-height:calc(100svh - 52px);padding:4px 16px 0;display:grid}.reader-sheet{touch-action:pan-y pinch-zoom;background:var(--note-paper);width:min(100%,660px);color:var(--note-ink);border-radius:2px;align-content:start;align-self:start;justify-items:center;gap:20px;padding:28px;display:grid;box-shadow:0 1px 2px #00000059,0 14px 30px -10px #0009}.reader-art{width:var(--artw,var(--box));cursor:pointer;-webkit-tap-highlight-color:transparent;display:block}.is-spread .reader-art{width:100%}.reader-art:disabled{cursor:default}.reader-art:focus-visible{outline:3px solid var(--garden-sky);outline-offset:6px}.reader-text{overflow-wrap:break-word;justify-self:stretch;font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);line-height:1.6}.reader-text p+p{margin-top:.75em}.reader-text .reader-term{margin-bottom:.35em;font-size:1.5em;font-weight:700;line-height:1.2}.reader-talk{margin-top:.75em;padding-left:1.2em;list-style:outside}.reader-talk li+li{margin-top:.5em}.reader-still{cursor:default}.reader-still>*{border-radius:2px;width:100%;height:auto;display:block;box-shadow:0 6px 18px -8px #00000073}.reader-text .reader-title-go{justify-items:start;gap:4px;margin-top:1em}@keyframes reader-turn-next{0%{opacity:0;translate:16px}}@keyframes reader-turn-prev{0%{opacity:0;translate:-16px}}.reader-sheet[data-turned=next]>*{animation:.18s cubic-bezier(.23,1,.32,1) reader-turn-next}.reader-sheet[data-turned=prev]>*{animation:.18s cubic-bezier(.23,1,.32,1) reader-turn-prev}.reader-text .reader-note{border-left:3px solid color-mix(in oklab, var(--vea-rose) 75%, transparent);background:color-mix(in oklab, var(--vea-rose) 9%, transparent);margin-top:1em;padding:8px 12px 8px 14px}.reader-text strong{font-weight:700}.reader-text .reader-wordplay{margin-top:.75em;font-size:.875em;line-height:1.45}.reader-wordplay p+p{margin-top:.35em}.reader-text .reader-sfx{font-family:var(--font-outfit), system-ui, sans-serif;letter-spacing:.02em;color:var(--note-ink);text-shadow:.05em .05em 0 color-mix(in oklab, var(--garden-bark) 45%, transparent), -.025em 0 0 color-mix(in oklab, var(--garden-clay) 70%, transparent), .025em 0 0 color-mix(in oklab, var(--trixie-deep) 55%, transparent);font-weight:900}.reader-text .reader-screen{font-family:var(--font-jetbrains), ui-monospace, monospace;letter-spacing:.03em;color:#a8552c;font-size:.92em;font-weight:500}.reader-count{text-align:center;color:var(--garden-paper);font-size:.95rem;line-height:1.4}.reader-count small{color:color-mix(in oklab, var(--garden-paper) 78%, var(--garden-night));font-size:.8rem;display:block}.reader-nav{background:var(--garden-night);justify-content:space-between;align-items:center;gap:16px;width:min(100%,660px);padding:8px 0 16px;display:flex;position:sticky;bottom:0}.reader-turn{border:1px solid color-mix(in oklab, var(--garden-paper) 40%, transparent);width:48px;height:48px;color:var(--garden-paper);border-radius:50%;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.reader-turn.is-none{visibility:hidden}@media (hover:hover) and (pointer:fine){.reader-turn:hover{background:color-mix(in oklab, var(--garden-paper) 12%, transparent)}}.reader-turn:focus-visible,.reader-back:focus-visible{outline:3px solid var(--garden-sky);outline-offset:2px}@media (max-width:699px){.reader-sheet{gap:14px;padding:16px}}@media (orientation:portrait){.reader-page{--box:min(100%, max(calc(100svh - 420px), 240px))}.reader-page.is-wordy{--box:min(100%, max(calc(100svh - 460px), 220px))}.is-wordy .reader-text{font-size:1rem;line-height:1.5}}@media (orientation:portrait) and (max-height:700px){.reader-page{--box:min(100%, max(calc(100svh - 430px), 220px))}.reader-page.is-wordy{--box:min(100%, max(calc(100svh - 450px), 210px))}.reader-sheet{gap:10px}.reader-text{font-size:1rem;line-height:1.5}}@media (orientation:portrait) and (max-height:760px){.reader-page.is-wordy:has(.reader-wordplay){--box:min(100%, max(calc(100svh - 475px), 190px))}}@media (orientation:portrait) and (min-width:700px){.reader-page.is-still{--box:min(100%, max(calc(100svh - 590px), 280px))}}@media (orientation:landscape) and (min-width:640px){.reader-page{--pad:28px;--gap:40px;--min:20rem;--chrome:236px;--box:min(calc(100svh - var(--chrome)), calc(100vw - 32px - 2 * var(--pad) - var(--gap) - var(--min)));--col:min(30rem, calc(100vw - 32px - 2 * var(--pad) - var(--gap) - var(--box)));grid-template-rows:auto auto;align-content:center;padding-bottom:16px}.reader-nav{padding:0}.reader-sheet,.reader-nav{width:calc(var(--artw,var(--box)) + var(--col) + 2 * var(--pad) + var(--gap))}.reader-sheet{grid-template-columns:var(--artw,var(--box)) var(--col);align-content:normal;align-items:center;gap:var(--gap);padding:var(--pad)}.reader-page.is-long{--artw:calc(var(--box) * .8);--col:min(30rem, calc(100vw - 32px - 2 * var(--pad) - var(--gap) - var(--artw)))}.is-long .reader-text{font-size:1.05rem;line-height:1.5}.reader-sheet{min-height:calc(var(--box) + 2 * var(--pad))}.reader-page.is-spread,.reader-page.is-spread.is-wordy{--sp:calc(var(--box) + min(30rem, calc(100vw - 32px - 2 * var(--pad) - var(--gap) - var(--box))));--col:min(30rem, max(var(--min), calc(var(--sp) - var(--box) * var(--ar,2))));--artw:calc(var(--sp) - var(--col))}.reader-page.is-words .reader-sheet{grid-template-columns:minmax(0,36rem);justify-content:center}.is-spread .reader-art{width:min(100%, calc(var(--box) * var(--ar,2)));justify-self:center}.is-spread .reader-text{font-size:1.05rem;line-height:1.5}}@media (orientation:landscape) and (min-width:640px) and (max-height:520px){.reader-bar{min-height:44px}.reader-page{--pad:16px;--gap:24px;--min:18rem;--chrome:140px;gap:8px;min-height:calc(100svh - 44px);padding-bottom:8px}.reader-text{font-size:1rem;line-height:1.5}.reader-page.is-wordy{--artw:calc(var(--box) * .88);--col:min(30rem, calc(100vw - 32px - 2 * var(--pad) - var(--gap) - var(--artw)))}}.reader-text.reader-title{text-align:center;justify-items:center;display:grid}.reader-text.reader-title .reader-title-go{justify-items:center;gap:12px;margin-top:28px}.is-opening{grid-template-rows:1fr}.reader-title-grownups{justify-self:stretch;margin-top:24px;font-size:.95rem}.reader-title-grownups summary{cursor:pointer;text-underline-offset:3px;align-items:center;gap:6px;min-height:44px;text-decoration:underline;display:inline-flex}.reader-title-grownups summary::-webkit-details-marker{display:none}.reader-title-grownups summary:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0;height:0;transition:rotate .15s}.reader-title-grownups[open] summary:before{rotate:90deg}.reader-title-grownups summary:focus-visible{outline:3px solid var(--garden-sky);outline-offset:4px;border-radius:4px}.reader-title-note{border-top:1px solid color-mix(in oklab, var(--note-ink) 25%, transparent);text-align:start;margin-top:8px;padding-top:12px;line-height:1.55}.reader-title-note p+p,.reader-title-note .reader-talk{margin-top:.6em}.reader-title-note .reader-cta{width:fit-content;margin:20px auto 0;display:flex}@media (prefers-reduced-motion:reduce){.reader-title-grownups summary:before{transition:none}}.reader-title h1{gap:6px;display:grid}.reader-title-name{font-size:clamp(2rem,1.4rem + 3vw,3rem);font-weight:800;line-height:1.1}.reader-title-sub{font-size:clamp(1.1rem,1rem + .6vw,1.35rem);font-weight:500}.reader-title-by{margin-top:20px;font-size:1.05rem}.reader-title-dedication{margin-top:28px;font-style:italic;line-height:1.6}.reader-title-credit{margin-top:16px;font-size:.95rem;line-height:1.5}.reader-title-go{justify-items:center;gap:12px;margin-top:32px;display:grid}.reader-cta{background:var(--note-ink);min-height:48px;color:var(--note-paper);border-radius:999px;align-items:center;padding:0 28px;font-weight:600;display:inline-flex}.reader-cta.is-quiet{min-height:44px;color:var(--note-ink);text-underline-offset:4px;background:0 0;text-decoration:underline}.reader-cta:focus-visible{outline:3px solid var(--garden-sky);outline-offset:3px}@property --reveal{syntax:"<percentage>";inherits:false;initial-value:100%}@keyframes cover-reveal{0%{--reveal:-12%}to{--reveal:100%}}@keyframes cover-glow{0%{opacity:0;scale:.4}35%{opacity:1}to{opacity:0;scale:2.2}}@keyframes cover-halo{0%{opacity:.25;scale:.92}to{opacity:.6;scale:1.08}}@keyframes cover-dance{0%,to{transform:none}20%{transform:translateY(-7%)rotate(-5deg)}40%{transform:none}60%{transform:translateY(-7%)rotate(5deg)}80%{transform:none}}@keyframes cover-hover{0%{transform:translateY(2%)rotate(-2deg)}to{transform:translateY(-4%)rotate(2deg)}}@keyframes cover-sway{0%{transform:rotate(-.8deg)}to{transform:rotate(1deg)}}@keyframes cover-pulse{0%{transform:translateY(200%)}65%,to{transform:translateY(-100%)}}@keyframes cover-hum{0%{opacity:.2}to{opacity:.55}}@keyframes cover-fly{0%{opacity:0;translate:0}25%{opacity:1}60%{opacity:.75;translate:.6cqw -2.4cqw}to{opacity:0;translate:-.3cqw -4.5cqw}}.cover-alive{position:relative;container-type:inline-size}.cover-alive>img,.cover-alive-run>img:first-child{width:100%;height:auto;display:block}.cover-alive-run{--reveal:100%;-webkit-mask-image:radial-gradient(circle at var(--cx) var(--cy), #000 var(--reveal), transparent calc(var(--reveal) + 16%));-webkit-mask-image:radial-gradient(circle at var(--cx) var(--cy), #000 var(--reveal), transparent calc(var(--reveal) + 16%));mask-image:radial-gradient(circle at var(--cx) var(--cy), #000 var(--reveal), transparent calc(var(--reveal) + 16%));animation:3.2s cubic-bezier(.4,0,.45,1) .45s both cover-reveal;position:absolute;inset:0;overflow:hidden}.cover-alive-piece{pointer-events:none;max-width:none;animation:ease-in-out infinite both cover-dance;position:absolute}.cover-alive-piece.is-hover{animation-name:cover-hover;animation-direction:alternate}.cover-alive-piece.is-sway{animation-name:cover-sway;animation-direction:alternate}.cover-alive-circuits{pointer-events:none;position:absolute;overflow:hidden;-webkit-mask:url(/book/cover-alive/circuits.webp) 0 0/100% 100% no-repeat;mask:url(/book/cover-alive/circuits.webp) 0 0/100% 100% no-repeat}.cover-alive-circuits:before{content:"";opacity:0;background:#ffe28c;animation:2.6s ease-in-out 1.6s infinite alternate both cover-hum;position:absolute;inset:0}.cover-alive-pulse{background:linear-gradient(#0000,#fff4bef2 50%,#0000);height:50%;animation:4.2s cubic-bezier(.45,0,.55,1) 2s infinite both cover-pulse;position:absolute;inset:0 0 auto;transform:translateY(200%)}.cover-alive-glow,.cover-alive-halo{left:var(--cx);top:var(--cy);aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffecaad9,#ffdc8c00 70%);border-radius:50%;width:22%;animation:1.6s ease-out .3s both cover-glow;position:absolute;translate:-50% -50%}.cover-alive-halo{width:30%;animation:3.2s ease-in-out 1.4s infinite alternate both cover-halo}.cover-alive-fly{aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#fffac8,#ffe67899 45%,#ffe67800 75%);border-radius:50%;width:1.4%;animation:ease-in-out infinite both cover-fly;position:absolute;box-shadow:0 0 10px 3px #ffe68c8c}.cover-alive.is-paused :is(.cover-alive-piece,.cover-alive-pulse,.cover-alive-halo,.cover-alive-fly),.cover-alive.is-paused .cover-alive-circuits:before{animation-play-state:paused}.cover-alive-again{cursor:pointer;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}.cover-alive-again:focus-visible,.cover-alive-still:focus-visible{outline:3px solid var(--garden-sky);outline-offset:6px}.cover-alive-still{color:#3f3328;cursor:pointer;background:#f6efdde0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:0 1px 4px #00000059}@media (prefers-reduced-motion:reduce){.cover-alive-run,.cover-alive-run *,.cover-alive-run .cover-alive-piece,.cover-alive-circuits:before{animation:none}.cover-alive-still{display:none}}
