:root{--bg:#fff1c7;--ink:#171310;--muted:#6c6252;--faint:#b4a992;--hair:#e6dcc3;--hair-strong:#171310;--accent:#171310;--accent-ink:#171310;--card:#fdf9ec;--ink-contrast:#fff1c7;--font-sans:var(--font-inter-tight),system-ui,sans-serif;--font-mono:var(--font-jetbrains),ui-monospace,monospace;--font-serif:var(--font-newsreader),Georgia,serif;--font-scribble:var(--font-shantell),"Comic Sans MS",cursive;--w-wide:72rem;--w-text:42rem}*{box-sizing:border-box}html{min-width:360px;scroll-behavior:smooth;background:var(--paper-2,#fff1c7);-webkit-tap-highlight-color:transparent}body{margin:0;color:var(--ink);font-family:var(--font-sans);font-size:15.5px;line-height:1.62;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:linear-gradient(180deg,rgba(var(--band-hi-rgb,36,186,255),var(--band-a,.31)) 0,rgba(var(--band-lo-rgb,36,186,255),calc(var(--band-a, .31) * var(--band-mid-k, .55))) 76px,rgba(var(--band-glow-rgb,255,157,0),var(--band-glow-a,.08)) 128px,rgba(var(--band-glow-rgb,255,157,0),calc(var(--band-glow-a, .08) * .27)) 164px,transparent 190px),radial-gradient(46% 36% at var(--wash-glow-x,58%) 52%,rgba(var(--wash-glow-rgb,255,157,0),var(--wash-glow-a,.1)),transparent 72%),radial-gradient(44% 34% at 84% 100%,rgba(var(--wash-grass-rgb,156,208,60),var(--wash-grass-a,.11)),transparent 70%),linear-gradient(180deg,var(--paper-0,#fff7df) 0,var(--paper-1,#fff4d2) 40%,var(--paper-2,#fff1c7) 74%,var(--paper-3,#fcedbf) 100%);background-attachment:scroll,fixed,fixed,fixed;min-height:100svh;display:flex;flex-direction:column}main{flex:1 0 auto}body:after{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23g)'/%3E%3C/svg%3E");background-size:240px 240px;opacity:.15;mix-blend-mode:multiply}body:has(.playground){overflow:hidden;overscroll-behavior:none}body:has(.playground) .site-footer{display:none}::selection{background:var(--accent);color:var(--ink-contrast)}a{color:inherit}:focus:not(:focus-visible){outline:none}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}main[data-enter] .page-head .kicker{animation:rise .65s cubic-bezier(.2,.7,.2,1) both}main[data-enter] .page-head .sub{animation:rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:.34s}main[data-enter] :is(.wrap,.wrap-text)>:not(.page-head){animation:rise .75s cubic-bezier(.2,.7,.2,1) both;animation-delay:.8s}main[data-enter] :is(.wrap,.wrap-text)>:not(.page-head):nth-child(2){animation-delay:.44s}main[data-enter] :is(.wrap,.wrap-text)>:not(.page-head):nth-child(3){animation-delay:.53s}main[data-enter] :is(.wrap,.wrap-text)>:not(.page-head):nth-child(4){animation-delay:.62s}main[data-enter] :is(.wrap,.wrap-text)>:not(.page-head):nth-child(5){animation-delay:.71s}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.wrap{max-width:var(--w-wide)}.wrap,.wrap-text{margin:0 auto;padding:0 1.5rem}.wrap-text{max-width:var(--w-text)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:-100vw;top:.9rem;z-index:200;padding:.5rem .9rem;border-radius:999px;background:var(--ink);color:var(--ink-contrast);font-family:var(--font-scribble);font-size:.9rem;text-decoration:none}.skip-link:focus-visible{left:.9rem;outline:2px solid var(--ink-contrast);outline-offset:-4px}.mono-label{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}:root{--glass-bg:rgba(252,247,234,0.52);--glass-edge:rgba(255,253,244,0.66);--glass-hi:rgba(255,253,246,0.78);--glass-shadow:rgba(23,19,16,0.14)}.chrome-mark{position:fixed;top:max(1.05rem,env(safe-area-inset-top));left:max(1.35rem,env(safe-area-inset-left));z-index:95;display:block;text-decoration:none;font-family:var(--font-scribble);font-size:21px;font-weight:400;line-height:1;letter-spacing:.015em;color:var(--ink);transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.chrome-mark:before{content:"";position:absolute;z-index:-1;inset:-.7rem -1.2rem -.8rem -1.35rem;background:radial-gradient(closest-side,var(--paper-1,#fff4d2) 42%,color-mix(in srgb,var(--paper-1,#fff4d2) 65%,transparent) 72%,transparent 100%);pointer-events:none;opacity:0;transition:opacity .25s ease}html[data-scrolled="1"] .chrome-mark:before{opacity:1}.chrome-mark:hover{transform:scale(1.05)}.chrome-mark:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:6px}.menu-btn{position:fixed;top:max(.9rem,env(safe-area-inset-top));right:max(1.1rem,env(safe-area-inset-right));z-index:97;width:48px;height:48px;display:grid;place-items:center;cursor:pointer;padding:0;background:none;border:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.menu-btn.on-home,.menu-glass.on-home{display:none}@media (pointer:coarse){.menu-btn.on-home{display:grid}.menu-glass.on-home{display:block}}.menu-btn:before{content:"";position:absolute;inset:3px;border:1.6px solid color-mix(in srgb,var(--ink) 55%,transparent);border-radius:58% 47% 55% 50%/49% 57% 46% 56%;opacity:0;transform:scale(.7) rotate(-14deg);transition:opacity .22s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.menu-btn.is-open:before,.menu-btn:hover:before{opacity:.5;transform:none}.menu-btn:hover{transform:scale(1.06)}.menu-btn:active{transform:scale(.85);transition-duration:.07s}.menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}.menu-btn svg{width:28px;height:28px;overflow:visible}.menu-btn svg path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;transform-origin:12px 12px}.menu-btn.is-open .l1{transform:translateY(4.2px) rotate(45deg)}.menu-btn.is-open .l2{opacity:0;transform:scaleX(.2)}.menu-btn.is-open .l3{transform:translateY(-4.3px) rotate(-45deg)}.menu-scrim{position:fixed;inset:0;z-index:93}.menu-glass{position:fixed;top:max(4.35rem,calc(env(safe-area-inset-top) + 3.45rem));right:max(1.1rem,env(safe-area-inset-right));z-index:96;width:234px;padding:.55rem .5rem;border-radius:26px;background:radial-gradient(130% 100% at var(--gx,76%) var(--gy,-12%),rgba(255,255,255,.22),transparent 56%),linear-gradient(165deg,rgba(255,255,255,.15),rgba(255,255,255,.02) 48%),var(--glass-bg);-webkit-backdrop-filter:blur(30px) saturate(1.9);backdrop-filter:blur(30px) saturate(1.9);box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 -18px 30px -24px var(--glass-hi),0 1px 2px rgba(23,19,16,.1),0 26px 64px var(--glass-shadow);transform-origin:calc(100% - 26px) -12px;opacity:0;visibility:hidden;transform:scale(.9) translateY(-7px)}.menu-glass:before{padding:1px;background:linear-gradient(175deg,rgba(255,255,255,.65),rgba(255,255,255,.16) 34%,rgba(255,255,255,.06) 62%,rgba(255,255,255,.22));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.menu-glass:after,.menu-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.menu-glass:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23g)'/%3E%3C/svg%3E");background-size:240px 240px;opacity:.045;mix-blend-mode:multiply}.menu-glass[data-state=closing],.menu-glass[data-state=open]{visibility:visible}.menu-glass[data-state=open]{opacity:1;transform:none;transition:transform .5s linear(0,.1428,.2894,.4313,.5628,.6801,.7813,.8658,.9338,.9866,1.0256,1.0526,1.0696,1.0785,1.0811,1.0789,1.0734,1.0657,1.0568,1.0476,1.0385,1.0299,1.0222,1.0155,1.0099,1.0053,1.0017,.999,.9971,.9958,1),opacity .16s ease}.menu-glass[data-state=closing]{animation:gl-dissolve .3s both}@keyframes gl-dissolve{0%{opacity:1;transform:none;animation-timing-function:cubic-bezier(.3,0,.55,1)}24%{opacity:1;transform:scale(1.018);animation-timing-function:cubic-bezier(.45,0,.72,.4)}to{opacity:0;transform:scale(.9) translateY(-7px)}}.menu-glass a{position:relative;z-index:1;display:flex;align-items:center;gap:.5rem;padding:.42rem .85rem .42rem .7rem;border-radius:18px;font-family:var(--font-scribble);font-size:15.5px;line-height:1.5;font-weight:300;color:var(--ink);text-decoration:none;opacity:0;transition:color .12s ease,background .18s ease,box-shadow .22s ease,transform .3s cubic-bezier(.3,1.7,.4,1)}.menu-glass[data-state=open] a{opacity:1;animation:gl-item-in .34s cubic-bezier(.2,1.4,.36,1) both;animation-delay:var(--d,0s)}.menu-glass[data-state=closing] a{opacity:1}@keyframes gl-item-in{0%{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:none}}.menu-glass a:hover{color:var(--accent-ink);background:linear-gradient(160deg,rgba(255,255,255,.38),rgba(255,255,255,.1));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 8px rgba(23,19,16,.07);transform:translateY(-1px) scale(1.012)}.menu-glass a:active{transform:translateY(0) scale(.985);transition-duration:.08s}.menu-glass a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.menu-glass a .lead{width:16px;flex:none;display:grid;place-items:center}.menu-glass a .tick{width:15px;height:auto;overflow:visible}.menu-glass a .tick path{fill:none;stroke:var(--accent-ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.menu-glass a[aria-current=page]{font-weight:400}.menu-glass .gl-ck{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;width:100%;cursor:pointer;text-align:left;position:relative;z-index:1;display:flex;align-items:center;gap:.5rem;margin-top:.3rem;padding:.44rem .7rem .4rem;border-radius:18px;font-family:var(--font-scribble);font-size:14px;line-height:1.5;font-weight:300;color:var(--muted);opacity:0;transition:color .12s ease,background .18s ease,box-shadow .22s ease,transform .3s cubic-bezier(.3,1.7,.4,1)}.menu-glass .gl-ck:before{content:"";position:absolute;left:.7rem;right:.7rem;top:-.16rem;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.menu-glass[data-state=open] .gl-ck{opacity:1;animation:gl-item-in .34s cubic-bezier(.2,1.4,.36,1) both;animation-delay:var(--d,0s)}.menu-glass[data-state=closing] .gl-ck{opacity:1}.menu-glass .gl-ck:hover{color:var(--accent-ink);background:linear-gradient(160deg,rgba(255,255,255,.38),rgba(255,255,255,.1));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 8px rgba(23,19,16,.07);transform:translateY(-1px) scale(1.012)}.menu-glass .gl-ck:active{transform:translateY(0) scale(.985);transition-duration:.08s}.menu-glass .gl-ck:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.menu-glass .gl-ck .lead{width:16px;flex:none;display:grid;place-items:center}.menu-glass .gl-ck kbd{margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.06em;color:var(--muted);padding:.12rem .4rem;border-radius:8px;background:rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(23,19,16,.06)}@media (pointer:coarse){.menu-glass .gl-ck{display:none}}.menu-glass .gl-mag{display:none}@media (pointer:coarse){.menu-glass .gl-mag{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;position:relative;z-index:1;display:grid;place-items:center;width:48px;height:44px;margin:0 0 .18rem auto;padding:0;border-radius:16px;color:var(--muted);opacity:0;transition:color .12s ease,background .18s ease,transform .3s cubic-bezier(.3,1.7,.4,1)}.menu-glass .gl-mag+a:before{content:"";position:absolute;left:.7rem;right:.7rem;top:-.14rem;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.menu-glass[data-state=open] .gl-mag{opacity:1;animation:gl-item-in .34s cubic-bezier(.2,1.4,.36,1) both}.menu-glass[data-state=closing] .gl-mag{opacity:1}.menu-glass .gl-mag:active{transform:scale(.9);transition-duration:.08s;color:var(--accent-ink)}.menu-glass .gl-mag:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}@media (prefers-reduced-motion:reduce){.menu-glass,.menu-glass .gl-ck,.menu-glass a{animation:none!important}.menu-glass{transform:none;transition:opacity .15s ease}}@media (max-width:700px){.menu-glass{left:max(.75rem,env(safe-area-inset-left));right:max(.75rem,env(safe-area-inset-right));width:auto;border-radius:28px;padding:.65rem .55rem;transform-origin:calc(100% - 30px) -12px}.menu-glass a{padding:.62rem 1rem .62rem .85rem;font-size:16.5px;border-radius:20px}.menu-glass .gl-ck{padding:.62rem 1rem .58rem .85rem;font-size:15px;border-radius:20px}}.ck-scrim{inset:0;z-index:120;background:color-mix(in srgb,var(--bg) 30%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ck,.ck-scrim{position:fixed}.ck{left:50%;top:16vh;z-index:121;width:min(480px,calc(100vw - 2rem));border-radius:26px;background:radial-gradient(130% 100% at 50% -12%,rgba(255,255,255,.2),transparent 56%),linear-gradient(165deg,rgba(255,255,255,.15),rgba(255,255,255,.02) 48%),var(--glass-bg);-webkit-backdrop-filter:blur(30px) saturate(1.9);backdrop-filter:blur(30px) saturate(1.9);box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 -18px 30px -24px var(--glass-hi),0 1px 2px rgba(23,19,16,.1),0 26px 64px var(--glass-shadow);transform-origin:50% -12px;transform:translateX(-50%) translateY(-12px) scale(.9);opacity:0;visibility:hidden;transition:transform .28s cubic-bezier(.5,.05,.6,1),opacity .2s ease,visibility 0s .28s}.ck:before{padding:1px;background:linear-gradient(175deg,rgba(255,255,255,.65),rgba(255,255,255,.16) 34%,rgba(255,255,255,.06) 62%,rgba(255,255,255,.22));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.ck:after,.ck:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.ck:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23g)'/%3E%3C/svg%3E");background-size:240px 240px;opacity:.045;mix-blend-mode:multiply}.ck[data-open]{transform:translateX(-50%);opacity:1;visibility:visible;transition:transform .5s linear(0,.1428,.2894,.4313,.5628,.6801,.7813,.8658,.9338,.9866,1.0256,1.0526,1.0696,1.0785,1.0811,1.0789,1.0734,1.0657,1.0568,1.0476,1.0385,1.0299,1.0222,1.0155,1.0099,1.0053,1.0017,.999,.9971,.9958,1),opacity .18s ease}.ck-inrow{display:flex;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.ck-inrow .ck-glass{margin-left:1.15rem;color:var(--muted);margin-top:.14rem}.ck-inrow .ck-kbd{margin-right:1.05rem;flex:none;display:inline-flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.06em;color:var(--muted);padding:.14rem .42rem;border-radius:8px;background:rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 1px 2px rgba(23,19,16,.08)}@media (hover:none){.ck-inrow .ck-kbd{display:none}}.ck-input{width:100%;min-width:0;background:none;border:0;outline:0;padding:.95rem .8rem .75rem .65rem;font-family:var(--font-scribble);font-size:16px;font-weight:300;color:var(--ink)}.ck-input::placeholder{color:var(--muted)}.ck-label{display:inline-flex;align-items:center;gap:.55rem}.ck-label .ck-ric{color:var(--muted);margin-top:.1rem}.ck-list li[aria-selected=true] .ck-ric{color:var(--ink)}.ck-list{list-style:none;margin:0;padding:.55rem .55rem .65rem;max-height:min(46vh,21rem);overflow-y:auto}.ck-list li{display:flex;align-items:baseline;gap:.7rem;padding:.34rem .75rem;border-radius:12px;font-family:var(--font-scribble);font-size:14.5px;font-weight:300;color:var(--ink);cursor:pointer}.ck-list li[aria-selected=true]{background:color-mix(in srgb,var(--ink) 7%,transparent)}.ck-list .ck-tag{margin-left:auto;color:var(--muted)}.ck-empty{color:var(--muted);cursor:default}main{padding-top:2.2rem}body:has(.playground) main{padding-top:0}.site-footer{position:relative;border-top:1px solid var(--hair);margin-top:5.5rem}.footer-tufts{position:absolute;right:8%;top:-16px;width:44px;height:16px;overflow:visible;pointer-events:none}.footer-tufts path{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;opacity:.4}.site-footer .bar{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:baseline;padding-top:1.6rem;padding-bottom:4.5rem}.site-footer a{font-size:13.5px;color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--ink)}.site-footer .foot-rss{display:inline-flex;align-items:center;gap:.32rem}.site-footer .spacer{flex:1 1}.site-footer .colophon{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);letter-spacing:.08em}.ink-icon{display:inline-block;vertical-align:-.15em;overflow:visible;flex:none}@keyframes ink-boil{0%,33.3%{opacity:1}33.34%,to{opacity:0}}.ink-icon .bv{opacity:0}.ink-icon .bv1{opacity:1}.ink-boil .bv1{animation:ink-boil .2727s infinite}.ink-boil .bv2{animation:ink-boil .2727s .0909s infinite}.ink-boil .bv3{animation:ink-boil .2727s .1818s infinite}@keyframes ink-turn{to{transform:rotate(1turn)}}.ink-boil.ink-i-spinner{animation:ink-turn 1.0909s steps(12) infinite;transform-origin:50% 50%}@keyframes ink-fly-near{0%,36.3%{opacity:1}36.4%,63.5%{opacity:.45}63.6%,81.7%{opacity:.7}81.8%,to{opacity:1}}@keyframes ink-fly-far{0%,27.2%{opacity:.3}27.3%,54.5%{opacity:.8}54.6%,81.7%{opacity:1}81.8%,to{opacity:.45}}.ink-boil.ink-i-firefly path:nth-of-type(2){animation:ink-fly-near 1.0909s infinite}.ink-boil.ink-i-firefly path:nth-of-type(3){animation:ink-fly-far 1.0909s infinite}@keyframes ink-launch{0%{transform:translate(0) rotate(0deg);opacity:1}55%{transform:translate(7px,-7px) rotate(6deg);opacity:1}to{transform:translate(14px,-14px) rotate(10deg);opacity:0}}.ink-launch{animation:ink-launch .64s steps(7) both}.post-body .fn-back{width:12px;height:12px;margin-left:.1em}@media (prefers-reduced-motion:reduce){.ink-icon,.ink-icon g,.ink-icon path{animation:none!important}}.icospec{padding-bottom:4rem}.icospec-title{font-size:clamp(26px,3.6vw,33px);font-weight:500;letter-spacing:-.028em;margin:.2rem 0 .6rem}.icospec .sub code{font-family:var(--font-mono);font-size:.85em}.icospec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));grid-gap:.6rem;gap:.6rem;margin-top:2rem}.icospec-cell{display:flex;flex-direction:column;align-items:center;gap:.55rem;border:1px solid var(--hair);border-radius:10px;padding:.9rem .4rem .7rem;background:color-mix(in srgb,var(--card) 55%,transparent)}.icospec-cell .mono-label{color:var(--muted)}.icospec-pair{display:flex;gap:.9rem;align-items:center}.icospec-h{margin:2.6rem 0 .9rem;color:var(--muted)}.icospec-night{display:flex;flex-wrap:wrap;gap:.85rem 1rem;align-items:center;background:#14110d;color:#ece6d8;border-radius:12px;padding:1.1rem 1.2rem}.icospec-ramp{gap:2rem;flex-wrap:wrap}.icospec-ramp,.icospec-ramp-cell{display:flex;align-items:flex-end}.icospec-ramp-cell{gap:.5rem}.icospec-ramp-cell .mono-label{color:var(--muted);margin-left:.2rem}.icospec-live{display:flex;gap:2.2rem;align-items:flex-start;flex-wrap:wrap}.icospec-live-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem}.icospec-live-cell .mono-label{color:var(--muted)}.icospec-hold{background:none;border:0;padding:0;cursor:pointer;color:var(--ink);display:grid;place-items:center}.icospec-hold:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.icospec-hold:active .ink-icon{animation:ink-launch .64s steps(7) both}.hero{display:grid;grid-template-columns:minmax(0,29rem) minmax(340px,1fr);grid-gap:5rem;gap:5rem;align-items:start;padding:1.1rem 0 1.5rem}.bio h1{font-size:clamp(26px,3.6vw,33px);font-weight:500;letter-spacing:-.028em;margin:0 0 1.6rem}.bio p{margin:0 0 1.15em;font-size:16.5px;line-height:1.72}.bio p.muted{color:var(--muted)}.bio a{-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:3px}.bio a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.portrait{margin:.5rem 0 0;max-width:620px}.portrait img{width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 1px 2px rgba(16,15,13,.08),0 16px 44px rgba(16,15,13,.14)}.portrait figcaption{margin-top:.8rem}@media (max-width:760px){.hero{grid-template-columns:1fr;gap:2.5rem;padding-top:.8rem}.portrait{max-width:430px}}:root{--pg-cast:rgba(23,19,16,0.24);--grass-ink:#76854e;--slab:#fff1c7}.playground{position:relative;height:100svh;min-height:560px;overflow:hidden;touch-action:manipulation;background:radial-gradient(44% 34% at 101% 103%,rgba(var(--corner-rgb,96,78,52),var(--corner-r-a,.1)),transparent 70%),radial-gradient(38% 28% at -1% 103%,rgba(var(--corner-rgb,96,78,52),var(--corner-l-a,.055)),transparent 72%),linear-gradient(180deg,rgba(var(--sky2-rgb,var(--sky-rgb,36,186,255)),var(--sky-a,.3)) 0,rgba(var(--sky-rgb,36,186,255),calc(var(--sky-a, .3) * var(--sky-mid-k, .55))) 17%,rgba(var(--glow-rgb,255,157,0),var(--hglow-a,.055)) 29%,rgba(var(--glow-rgb,255,157,0),calc(var(--hglow-a, .055) * .27)) 36%,transparent 42%),linear-gradient(180deg,transparent 25%,rgba(var(--haze-rgb,247,243,231),calc(var(--haze-a, .34) * .55)) 30%,rgba(var(--haze-rgb,247,243,231),var(--haze-a,.34)) 34.5%,rgba(var(--haze-rgb,247,243,231),calc(var(--haze-a, .34) * .4)) 39%,transparent 46%),linear-gradient(180deg,transparent 40%,rgba(var(--grass-rgb,200,211,69),calc(var(--grass-a, .14) * .3)) 54%,rgba(var(--grass-rgb,200,211,69),calc(var(--grass-a, .14) * .78)) 74%,rgba(var(--grass-rgb,200,211,69),calc(var(--grass-a, .14) * 1.18)) 100%),linear-gradient(var(--sun-az,102deg),rgba(255,253,243,var(--sun-side-a,.5)) 0,rgba(255,253,243,0) 27%),radial-gradient(52% 42% at var(--sun-pool-x,30%) 88%,rgba(var(--pool-rgb,251,176,45),var(--sun-pool-a,.06)),transparent 68%),linear-gradient(180deg,var(--paper-0,#fff7df) 0,var(--paper-1,#fff4d2) 36%,var(--paper-2,#fff1c7) 68%,var(--paper-3,#fcedbf) 100%)}@media (max-height:600px){.playground{min-height:100svh}}@media (max-width:700px){.pg-viewport{height:100svh;min-height:560px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none}.pg-viewport::-webkit-scrollbar{display:none}.playground{width:max(100vw,calc(100svh * 1.5))}}.pg-dressing{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0}.pg-dressing svg{position:absolute;height:auto}.pg-clouds{left:0;top:2%;width:100%;animation:pg-drift 90s ease-in-out infinite alternate;transition:opacity 1.4s ease,visibility 0s linear 0s}.pg-clouds .cl-fluff path{fill:none;stroke:var(--faint);stroke-width:1.6;opacity:.42;vector-effect:non-scaling-stroke;stroke-linecap:round;transition:opacity .25s ease}@keyframes pg-drift{0%{transform:translateX(-.6%)}to{transform:translateX(.6%)}}@media (prefers-reduced-motion:reduce){.pg-clouds{animation:none}}.pg-clouds .cl-rain path{stroke:rgb(116,132,150);stroke-width:1.5;stroke-linecap:round}.pg-clouds .cl-rain path,.pg-clouds .cl-snow path{fill:none;opacity:0;vector-effect:non-scaling-stroke}.pg-clouds .cl-snow path{stroke:var(--faint);stroke-width:1.3;stroke-linecap:round}.pg-clouds .cl-sheep path{fill:none;stroke:var(--faint);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round}.pg-clouds .cl-sheep{opacity:0}.pg-clouds .cl-poofpuff{fill:none;stroke:var(--faint);stroke-width:1.4;opacity:0;vector-effect:non-scaling-stroke;stroke-linecap:round}.pg-clouds .cl-hit{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.pg-clouds .cl-hit:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.pg-clouds:has(.cl-hit-0:focus-visible) .clp-0,.pg-clouds:has(.cl-hit-0:hover) .clp-0,.pg-clouds:has(.cl-hit-1:focus-visible) .clp-1,.pg-clouds:has(.cl-hit-1:hover) .clp-1,.pg-clouds:has(.cl-hit-2:focus-visible) .clp-2,.pg-clouds:has(.cl-hit-2:hover) .clp-2{opacity:.62}.playground[data-weather=drizzle] .pg-clouds,.playground[data-weather=overcast] .pg-clouds{opacity:0;visibility:hidden;transition:opacity 1.4s ease,visibility 0s linear 1.4s}.pg-skybirds{left:0;top:1.5%;width:100%;opacity:var(--flock-o,1)}.pg-skybirds path{fill:none;stroke:var(--ink);stroke-width:1.35;opacity:.4;vector-effect:non-scaling-stroke;stroke-linecap:round;transition:opacity .2s ease}.pg-skybirds .bird-hit{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.pg-skybirds:has(.bird-hit-0:hover) .skyb-0,.pg-skybirds:has(.bird-hit-1:hover) .skyb-1,.pg-skybirds:has(.bird-hit-2:hover) .skyb-2,.pg-skybirds:has(.bird-hit-3:hover) .skyb-3{opacity:.72}.playground[data-roost] .pg-skybirds .bird-hit{pointer-events:none}.pg-dressing .pg-ridges{left:0;top:28.6%;width:100%;height:8%}.pg-ridges path{fill:none;stroke:var(--ridge-ink,var(--ink));stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pg-ridges .r1{opacity:calc(.11 * var(--line-k, 1));stroke-width:2.8;transition:opacity .25s ease}.pg-ridges .r1b{opacity:calc(.05 * var(--line-k, 1));stroke-width:2.1;transition:opacity .25s ease}.pg-ridges .r2{opacity:calc(.17 * var(--line-k, 1));stroke-width:3.2;transition:opacity .25s ease}.pg-ridges .r2b{opacity:calc(.08 * var(--line-k, 1));stroke-width:2.4;transition:opacity .25s ease}.pg-ridges .pk-puff{stroke-width:1.5;opacity:0}.pg-ridges .pk-goat{opacity:0}.pg-ridges .pk-goat path{stroke-width:1.7}.pg-ridges .peak-hit{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.pg-ridges .peak-hit:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.pg-ridges:has(.peak-hit:focus-visible) .r1,.pg-ridges:has(.peak-hit:hover) .r1{opacity:calc(.17 * var(--line-k, 1))}.pg-ridges:has(.peak-hit:focus-visible) .r1b,.pg-ridges:has(.peak-hit:hover) .r1b{opacity:calc(.08 * var(--line-k, 1))}.pg-ridges:has(.peak-hit:focus-visible) .r2,.pg-ridges:has(.peak-hit:hover) .r2{opacity:calc(.24 * var(--line-k, 1))}.pg-ridges:has(.peak-hit:focus-visible) .r2b,.pg-ridges:has(.peak-hit:hover) .r2b{opacity:calc(.12 * var(--line-k, 1))}.pg-horizon{left:0;right:0;top:36%;width:100%;height:22px}.pg-horizon path{fill:none;stroke:var(--faint);stroke-width:1.7;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.5}.pg-pasture{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0}.pg-pasture svg{position:absolute;height:auto}.pg-fence{right:1.6%;top:34.2%;width:24.5%}.pg-fence path{fill:none;stroke:var(--faint);stroke-width:1.6;opacity:.5;vector-effect:non-scaling-stroke;stroke-linecap:round}.pg-cows{right:1.6%;top:34.2%;width:24.5%;overflow:visible}.pg-cows path{fill:none;stroke:var(--ink);stroke-width:1.5;opacity:.46;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.pg-cows .pg-cast{stroke:var(--pg-cast);stroke-width:2;opacity:.55}.pg-cows .cow-hit{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.pg-cows .cow-hit:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.pg-cows [class^=cowg-] g path{transition:opacity .2s ease}.pg-cows:has(.cow-hit-0:hover) .cowg-0 g path,.pg-cows:has(.cow-hit-1:hover) .cowg-1 g path,.pg-cows:has(.cow-hit-2:hover) .cowg-2 g path{opacity:.68}.pg-edit .cow-hit{pointer-events:none}@media (pointer:coarse) and (max-width:700px){.pg-cows .cow-hit{x:-50px;y:-52px;width:100px;height:100px}}@media (pointer:coarse) and (min-width:700.02px){.pg-cows .cow-hit{x:-80px;y:-85px;width:160px;height:160px}}.pg-dressing .pg-trail{left:0;top:0;width:100%;height:100%}.pg-trail path{fill:none;stroke:var(--ink);stroke-width:2;opacity:.28;vector-effect:non-scaling-stroke;stroke-linecap:round}.pg-trail .trail-hit{stroke:transparent;stroke-width:44;opacity:1;fill:none;pointer-events:stroke;cursor:pointer}.pg-trail:has(.trail-hit:focus-visible) g path,.pg-trail:has(.trail-hit:hover) g path{opacity:.42}.pg-trail .trail-hit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pg-ambient{left:0;top:21.4%;width:100%;overflow:visible}.pg-ambient path{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pg-ambient .am-struct path{stroke-width:1.6;opacity:.5}.pg-ambient .am-kid path{stroke-width:1.6;opacity:.62}.pg-ambient .am-kid g path{stroke-width:1.15}.pg-ambient .am-rope{stroke-width:1.05;opacity:.8}.pg-nightsky{left:0;top:0;width:100%;opacity:var(--night-o,0)}.pg-nightsky path{fill:none;stroke:#dee3f2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nt-stars path{stroke-width:1.4}.nt-shoot{stroke-width:1.6}.nt-flare{stroke-width:1.7;opacity:0}.nt-hit{fill:transparent;stroke:none;pointer-events:none}.playground[data-nite] .nt-hit{pointer-events:auto;cursor:pointer}.nt-moonhit:focus-visible{outline:2px solid #dee3f2;outline-offset:6px}.playground[data-nite] .pg-nightsky:has(.nt-moonhit:focus-visible) .nt-moon path,.playground[data-nite] .pg-nightsky:has(.nt-moonhit:hover) .nt-moon path{stroke-width:2.2}.nt-moon path{stroke-width:1.8}.nt-moon .nt-halo{stroke-width:1.3;opacity:0}.nt-moon .nt-moonfill{fill:rgba(226,230,244,.44);stroke:none}.nt-moon .nt-moonshade{stroke-width:1.1;opacity:.5}.nt-moon .nt-moonshadow{fill:rgb(var(--moonshadow-rgb,24,30,48));stroke:none;opacity:.93}.pg-dressing .pg-fireflies{left:0;top:0;width:100%;height:100%;opacity:var(--ff-o,0)}.pg-fireflies .ff-glow{fill:rgb(255,213,134);stroke:none;filter:blur(5px)}.pg-fireflies .ff-core{fill:#ffe6b0;stroke:none}.pg-fireflies .ff-hit{fill:transparent;stroke:none;pointer-events:none}.playground[data-nite] .pg-fireflies .ff-hit{pointer-events:auto;cursor:pointer}.pg-fireflies g:has(.ff-hit:hover) .ff-core{r:2.2}.pg-audience .aud-hit{stroke:none}.pg-audience .aud-hit,.pg-puddles .puddle-hit{fill:transparent;pointer-events:auto;cursor:pointer}.pg-puddles .puddle-hit{stroke:transparent;stroke-width:10}.pg-cows .cow-alt,.pg-cows .cow-puff{opacity:0}.pg-edit .aud-hit,.pg-edit .bird-hit,.pg-edit .cl-hit,.pg-edit .ff-hit,.pg-edit .nt-hit,.pg-edit .peak-hit,.pg-edit .puddle-hit,.pg-edit .trail-hit{pointer-events:none}@media (pointer:coarse) and (max-width:700px){.nt-starhits .nt-hit,.pg-skybirds .bird-hit{r:28px}.pg-fireflies .ff-hit{r:22px}}@media (pointer:coarse) and (min-width:700.02px){.nt-starhits .nt-hit{r:44px}.nt-moonhit{r:56px}.pg-skybirds .bird-hit{r:44px}.pg-fireflies .ff-hit{r:18px}}html[data-night="1"] .chrome-mark{color:#dfe4f0}html[data-night="1"] .menu-btn svg path{stroke:#dfe4f0}html[data-night="1"] .cursor-ripples{color:#dee3f2}html[data-night="1"] .cursor-hand path{stroke:#dee3f2}html[data-night="1"] .cursor-hand .cur-body{fill:#3d4560}html[data-night="1"] .cursor-glow:before{background:radial-gradient(closest-side,rgba(190,206,255,.13),rgba(190,206,255,.04) 44%,transparent 70%);mix-blend-mode:screen}.pg-rain{position:absolute;inset:0;width:100%;height:100%;z-index:10;pointer-events:none;display:none}.playground[data-weather=drizzle] .pg-rain{display:block}.pg-rain path{fill:none;stroke:var(--rain-ink,#6d7f96);stroke-width:1.3;stroke-linecap:round;vector-effect:non-scaling-stroke}.pg-dressing .pg-puddles{left:0;top:0;width:100%;height:100%;display:none}.playground[data-weather=drizzle] .pg-puddles{display:block}.pg-puddles .wx-puddle{fill:rgba(172,190,206,.18);stroke:var(--rain-ink,#6d7f96);stroke-width:1.5;opacity:.55;vector-effect:non-scaling-stroke;stroke-linecap:round}.pg-puddles .wx-puddle2{fill:none;stroke:var(--rain-ink,#6d7f96);stroke-width:1.2;opacity:.3;vector-effect:non-scaling-stroke;stroke-linecap:round}.pg-puddles .wx-ripple{fill:none;stroke:var(--rain-ink,#6d7f96);stroke-width:1.1;vector-effect:non-scaling-stroke}.playground[data-weather=breeze] .grass{transform-box:fill-box;transform-origin:50% 100%;animation:wx-lean 2.75s steps(15) infinite alternate}.playground[data-weather=breeze] .grass:nth-of-type(2n){animation-delay:-.92s}.playground[data-weather=breeze] .grass:nth-of-type(3n){animation-delay:-1.84s}@keyframes wx-lean{0%{transform:skewX(-3.5deg)}to{transform:skewX(9deg)}}.playground[data-weather=breeze] .pg-chalkink{animation:wx-chalkdrift 4.9s steps(27) infinite alternate}@keyframes wx-chalkdrift{0%{transform:translateX(-2px)}to{transform:translateX(2.5px)}}.playground[data-weather=breeze] .pg-clouds{animation-duration:26s}@media (prefers-reduced-motion:reduce){.playground .grass,.playground .pg-chalkink{animation:none!important}}.sx-leaves,.sx-petals{display:none}.playground[data-season=autumn] .sx-leaves,.playground[data-season=spring] .sx-petals{display:inline}.pg-svg .sx-leaves path{fill:rgba(190,122,58,.32);stroke:var(--leaf-ink,#9c6034);stroke-width:1.3;stroke-linecap:round;vector-effect:non-scaling-stroke}.pg-svg .sx-petals path{fill:rgba(230,156,182,.52);stroke:var(--petal-ink,#b87890);stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke}.pg-ambient .pg-cast,.pg-svg .pg-cast{stroke:var(--pg-cast);stroke-width:2.2;fill:none}.pg-ambient .pg-cast{opacity:.75}.pg-svg .grass{stroke-width:1.6;opacity:.62;stroke:var(--grass-ink)}.pg-char{position:absolute;display:block;text-decoration:none;pointer-events:none;opacity:0;-webkit-tap-highlight-color:transparent}.pg-char .pg-hit{fill:transparent;stroke:none;pointer-events:auto}.pg-char:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:10px}.pg-svg{width:100%;height:auto;display:block;overflow:visible;color:var(--ink)}.pg-svg path{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pg-ground path{opacity:.55}.pg-char:focus-visible,.pg-char:hover,.pg-reduced .pg-juggler{z-index:9}.pg-juggler .pg-svg{opacity:.7}.pg-juggler path{stroke-width:2}.pg-audience{position:absolute;pointer-events:none;opacity:0}.pg-audience .pg-svg{opacity:.62}.pg-audience path{stroke-width:1.7}.pg-audience g g path{stroke-width:1.25}.pg-audience .au-bounce>path{stroke-width:1.7}.pg-audience .au-bounce g path{stroke-width:1.25}.pg-builder .pg-svg{opacity:.7}.pg-builder path{stroke-width:2}.pg-writer .pg-svg{opacity:.68}.pg-writer path{stroke-width:1.9}.pg-writer .wr-slate{stroke-width:1.3;opacity:.14}.pg-writer .wr-chalk{stroke-width:1.7;opacity:.92}.pg-writer .wr-slab{fill:var(--paper-2,var(--slab))}.pg-writer .wr-occ path{stroke:#000;stroke-width:16;fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:none}.pg-juggler .jg-speech path{stroke-width:1.7}.pg-swing .pg-svg{opacity:.85}.pg-swing .tree-hit{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.pg-swing .tree-hit:focus-visible{outline:2px solid var(--accent);outline-offset:8px;stroke:color-mix(in srgb,var(--ink) 60%,transparent);stroke-width:2;stroke-dasharray:5 7}.pg-swing .canopy{transition:stroke-width .2s ease}.pg-swing:has(.tree-hit:hover) .canopy{stroke-width:2.7}.pg-edit .tree-hit{pointer-events:none}.tree-birds path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.tree-birds>path{stroke-width:2}.tree-birds g path{stroke-width:1.1}.pg-swing path{stroke-width:2.1}.pg-swing .pg-ink{opacity:.88}.pg-swing .sw-rope{stroke-width:1.5}.pg-tree-ink path{stroke-width:2;opacity:.78}.pg-tree-ink .canopy{stroke:var(--canopy-ink,var(--ink));fill:rgba(var(--canopy-fill-rgb,138,166,92),var(--canopy-fill-a,0));stroke-width:var(--canopy-w,1.7);opacity:.5}.pg-guitarist .pg-svg{opacity:.75}.pg-guitarist path{stroke-width:2.2}.pg-guitarist .gt-string{stroke-width:1.2;opacity:.7}.pg-reader .pg-svg{opacity:.75}.pg-reader path{stroke-width:2.2}.pg-reader .rd-page{stroke-width:1.8}.pg-walker .pg-svg{opacity:.72}.pg-walker path{stroke-width:2}.pg-walker .wk-leash{stroke-width:1.2;opacity:.75}.pg-walker .wk-head path{stroke-width:1.45}.pg-walker .wk-doghead path{stroke-width:1.05}.pg-edit .pg-walker{display:none}.pg-char:focus-visible .pg-svg,.pg-char:hover .pg-svg{opacity:.88}.pg-edit .pg-audience,.pg-edit .pg-char{cursor:-webkit-grab;cursor:grab}.pg-edit .pg-audience:active,.pg-edit .pg-char:active{cursor:-webkit-grabbing;cursor:grabbing}.pg-edit .pg-audience{pointer-events:auto}.pg-edit .pg-audience:hover .pg-svg,.pg-edit .pg-char:hover .pg-svg{outline:1.5px dashed color-mix(in srgb,var(--ink) 55%,transparent);outline-offset:8px}.am-hitbox{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.am-hitbox:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.playground:not(.pg-edit) .am-wrap[data-awake] .am-hitbox{pointer-events:none}.playground:not(.pg-edit) .pg-ambient .am-wrap:not([data-awake]):has(.am-hitbox:hover) .am-kid path{opacity:1}.pg-edit .pg-ambient{pointer-events:auto}.pg-edit .pg-ambient .am-hitbox{pointer-events:all;cursor:-webkit-grab;cursor:grab}.pg-edit .pg-ambient .am-wrap:hover .am-kid path,.pg-edit .pg-ambient .am-wrap:hover .am-struct path{opacity:1}.pg-edit-bar{position:fixed;left:1.25rem;bottom:1.1rem;z-index:98;display:flex;align-items:center;gap:.9rem}.pg-sign{position:absolute;right:5%;bottom:7%;z-index:8;width:clamp(150px,13.5vw,218px);pointer-events:none}.pg-sign svg{width:100%;height:auto;display:block;overflow:visible;color:var(--ink)}.pg-sign>svg{opacity:.82}.pg-sign>svg path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pg-sign .pg-cast{stroke:var(--pg-cast);stroke-width:2.2}.pg-sign .grass{stroke-width:1.6;opacity:.62;stroke:var(--grass-ink)}.pg-sign .sign-word path{stroke-width:1.9}.pg-sign-controls{display:flex;gap:21px;margin:.35rem 0 0 46%;pointer-events:auto}.pg-sign-controls button{position:relative;width:1.65rem;height:1.65rem;padding:.16rem;background:none;border:none;border-radius:50%;color:var(--ink);opacity:.45;cursor:pointer}.pg-sign-controls button:after{content:"";position:absolute;width:44px;height:44px;top:50%;left:50%;transform:translate(-50%,-50%)}.pg-sign-controls button.is-on,.pg-sign-controls button:hover{opacity:1;color:var(--accent-ink)}.pg-sign-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}.pg-sign-controls path{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pg-chalkink{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;color:var(--ink)}.pg-chalkink path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.pg-char:is([data-pin],[data-open]){z-index:9}.pg-char:is([data-pin],[data-open]) .pg-svg{opacity:.88}.pg-hoverlab .pg-caption{position:absolute;left:50%;top:100%;margin-top:.45rem;pointer-events:none;transform:translateX(-50%) translateY(7px) rotate(-1.2deg);white-space:nowrap;font-family:var(--font-scribble);font-size:13px;font-weight:300;text-transform:none;letter-spacing:.02em;color:var(--muted);opacity:0;transition:opacity .26s ease .04s,transform .55s cubic-bezier(.26,1.5,.44,1) .04s,color .2s ease}.pg-hoverlab .pg-caption b{display:inline-block;font-weight:inherit}.pg-hoverlab .cap-arrow{width:17px;height:10px;margin-left:.32em;overflow:visible;vertical-align:-8%}.pg-hoverlab .cap-arrow path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pg-hoverlab .pg-char:is(:hover,[data-pin],:focus-visible) .pg-caption,.pg-hoverlab.pg-reduced .pg-caption{opacity:1;transform:translateX(-50%) translateY(0) rotate(0deg)}.pg-hoverlab .pg-char:is(:hover,[data-pin],:focus-visible) .pg-caption{color:var(--accent-ink)}.pg-hoverlab:not(.pg-reduced) .pg-char:is(:hover,[data-pin],:focus-visible) .pg-caption b{animation:cap-write .16s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(.03s + var(--i) * 18ms)}@keyframes cap-write{0%{opacity:0;transform:translateY(4px) rotate(5deg) scale(.7)}}.pg-hoverlab:not(.pg-reduced) .pg-char:is(:hover,[data-pin],:focus-visible) .cap-arrow{animation:cap-arrow-pop .3s cubic-bezier(.2,1.9,.4,1) both;animation-delay:calc(.04s + var(--i) * 18ms)}@keyframes cap-arrow-pop{0%{opacity:0;transform:translateX(-4px)}}.pg-hoverlab:not(.pg-reduced) .pg-char:is(:hover,[data-pin],:focus-visible) .cap-arrow path{stroke-dasharray:1;stroke-dashoffset:1;animation:cap-draw .22s ease-out forwards;animation-delay:calc(.05s + var(--i) * 18ms)}@keyframes cap-draw{to{stroke-dashoffset:0}}.pg-hover-c:not(.pg-reduced) .pg-char:has(.pg-porthole) .pg-caption{display:none}.pg-porthole{position:absolute;left:60%;top:-6%;width:126px;height:91px;opacity:0;pointer-events:none;transform-origin:calc(50% + var(--pfx, 1) * 33%) 92%;transform:translateX(var(--clampx,0)) scale(.9);transition:opacity .09s ease,transform .09s ease}.pg-porthole svg{display:block;width:100%;height:100%;overflow:visible;transform:scaleX(var(--pfx,1))}.pg-porthole[data-flip] svg{transform:scaleX(calc(-1 * var(--pfx, 1)))}.pg-porthole .puff-dot,.pg-porthole .puff-fill{fill:color-mix(in srgb,color-mix(in srgb,var(--paper-1,#fff4d2) 87%,var(--win-tint,#fdf6dc)),#66708f calc(var(--night-o, 0) * 100%));fill-opacity:.68;opacity:0}.pg-porthole .puff-fill{stroke:none}.pg-porthole .puff{fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:0;stroke-dasharray:1;stroke-dashoffset:1}.pg-porthole .puff-dot{stroke:var(--ink);stroke-width:1.5;transform-box:fill-box;transform-origin:center}.pg-porthole .win-word{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-1.6deg);font-family:var(--font-scribble);font-size:14px;font-weight:400;letter-spacing:.01em;color:var(--accent-ink);white-space:nowrap}.pg-porthole .win-word b{display:inline-block;font-weight:inherit}.pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole{opacity:1;pointer-events:auto;transform:translateX(var(--clampx,0)) scale(1);transition:opacity .1s ease,transform .2s cubic-bezier(.2,1.5,.4,1)}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .pd1{animation:puff-pop .12s steps(2) both}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .pd2{animation:puff-pop .12s steps(2) .07s both}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .puff.bv1{animation:win-draw .15s ease-out .1s forwards,ink-boil .2727s linear .1s infinite}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .puff.bv2{animation:win-draw .15s ease-out .1s forwards,ink-boil .2727s linear .1909s infinite}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .puff.bv3{animation:win-draw .15s ease-out .1s forwards,ink-boil .2727s linear .2818s infinite}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .puff-fill{animation:win-paper .1s steps(2) .08s forwards}.pg-hoverlab:not(.pg-reduced) .pg-char:is([data-open],[data-pin],:focus-visible) .pg-porthole .win-word b{animation:cap-write .16s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(.16s + var(--i) * 18ms)}@keyframes win-draw{to{stroke-dashoffset:0}}@keyframes win-paper{to{opacity:1}}@keyframes puff-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.pg-hoverlab:not(.pg-reduced) .pg-char .pg-porthole:hover{transform:translateX(var(--clampx,0)) scale(1.04);transition:transform .14s cubic-bezier(.2,1.4,.4,1),opacity .1s ease}.pg-hoverlab .pg-char .pg-porthole:hover .puff{stroke-width:2}.pg-reduced .pg-porthole{transform:translateX(var(--clampx,0));transition:opacity .01s linear}.pg-reduced .pg-porthole .puff{stroke-dashoffset:0}.pg-reduced .pg-porthole .puff-dot,.pg-reduced .pg-porthole .puff-fill,.pg-reduced .pg-porthole .puff.bv1{opacity:1}.pg-juggler .pg-porthole{left:-14%;top:22%}.pg-swing .pg-porthole{left:3%;top:34%}.pg-writer .pg-porthole{left:71%;top:-12%;--pfx:-1}.pg-guitarist .pg-porthole{left:79%;top:-28%;--pfx:-1}.pg-builder .pg-porthole{left:71%;top:-16%;--pfx:-1}.pg-reader .pg-porthole{left:68%;top:-56%;--pfx:-1}@media (max-width:720px){.pg-writer .pg-porthole{left:auto;right:64%;top:-34%;--pfx:1}.pg-builder .pg-porthole{left:auto;right:58%;--pfx:1}}.pg-tune{position:fixed;right:1.1rem;top:4.4rem;z-index:99;width:15.5rem;max-height:calc(100svh - 6rem);overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.95rem 1rem 1.05rem;background:color-mix(in srgb,var(--card) 74%,transparent);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);border:1px solid var(--hair);border-radius:16px;box-shadow:0 12px 40px rgba(23,19,16,.12)}.pg-tune-title{color:var(--muted);margin-top:.15rem}.pg-tune-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pg-tune button{background:none;font:inherit;border:1px solid var(--hair);border-radius:999px;padding:.28rem .75rem;color:var(--ink);cursor:pointer}.pg-tune button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.pg-tune button:disabled{opacity:.4;cursor:default}.pg-tune-auto{align-self:flex-start}.pg-tune-slider{display:flex;flex-direction:column;gap:.25rem}.pg-tune-slider .mono-label{color:var(--muted)}.pg-tune input[type=range]{width:100%;accent-color:var(--accent);margin:0}.pg-tune-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.55rem .45rem;gap:.55rem .45rem}.pg-tune-color{display:flex;flex-direction:column;align-items:center;gap:.22rem;min-width:0}.pg-tune-color .mono-label{font-size:.55rem;letter-spacing:.08em;white-space:nowrap}.pg-tune-color input[type=color]{width:100%;height:1.7rem;padding:.12rem;border:1px solid var(--hair);border-radius:7px;background:none;cursor:pointer}@media (max-width:700px){.pg-tune{right:max(.6rem,env(safe-area-inset-right));left:max(.6rem,env(safe-area-inset-left));width:auto;top:auto;bottom:max(.6rem,env(safe-area-inset-bottom));max-height:46svh}}.pg-edit-bar .mono-label{color:var(--muted)}.pg-edit-bar button{cursor:pointer;padding:.45rem .8rem;background:var(--card);color:var(--ink);border:1.5px dashed var(--ink);border-radius:3px 10px 5px 12px}.pg-edit-bar button:hover{border-color:var(--accent);color:var(--accent-ink)}.cursor-glow{position:fixed;inset:0;z-index:35;pointer-events:none;--mx:-600px;--my:-600px;opacity:0}.cursor-glow[data-on]{opacity:1}.cursor-glow:before{content:"";position:absolute;width:28vmin;height:28vmin;left:calc(var(--mx) - 14vmin);top:calc(var(--my) - 14vmin);border-radius:50%;background:radial-gradient(closest-side,rgba(255,196,110,.14),rgba(255,196,110,.05) 46%,transparent 72%);mix-blend-mode:multiply;transition:transform .4s cubic-bezier(.3,.9,.35,1),filter .3s ease}.cursor-glow[data-hot]:before{transform:scale(.62);filter:saturate(1.35) brightness(.97)}.cursor-ripples{position:fixed;inset:0;z-index:36;pointer-events:none;width:100%;height:100%;color:var(--ink)}.cursor-ripples path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.cursor-ripples .dust path{stroke-width:1.25}html[data-cursor=drawn],html[data-cursor=drawn] *{cursor:none!important}.cursor-hand{position:fixed;left:0;top:0;z-index:240;pointer-events:none;transform:translate3d(-600px,-600px,0);transition:opacity .15s ease}.cursor-hand[data-off]{opacity:0}.cursor-hand svg{display:block;overflow:visible;width:1px;height:1px}.cursor-hand svg>g{transition:transform .09s ease}.cursor-hand[data-down] svg>g{transform:translate(.8px,1.2px)}.cursor-hand path{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.cursor-hand .cur-body{fill:var(--bg);fill-opacity:.82}.cursor-hand .cur-ring{stroke-width:1.3;opacity:0;transition:opacity .18s ease}.cursor-hand[data-hot] .cur-ring{opacity:.5}.cursor-hand[data-door] .cur-ring{stroke-width:1.4;opacity:.58}.cursor-hand .cur-caret{display:none;stroke-width:1.4}.cursor-hand[data-mode=text] .cur-caret{display:block}.cursor-hand[data-mode=text] .cur-body,.cursor-hand[data-mode=text] .cur-leg,.cursor-hand[data-mode=text] .cur-ring{display:none}.more-link{display:inline-block;margin-top:1.1rem;font-size:13px;color:var(--muted);text-decoration:none}.more-link:hover{color:var(--accent-ink)}.page-head{padding:3.6rem 0 .4rem}.page-head .kicker{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.page-head h1{font-size:clamp(26px,3.5vw,32px);font-weight:500;letter-spacing:-.026em;margin:0 0 .4rem}h1.title-ink{font-family:var(--font-scribble);font-weight:400;letter-spacing:.01em}.title-ink b{display:inline-block;font-weight:inherit;white-space:pre}.title-ink.is-writing b{animation:title-write .36s cubic-bezier(.2,1.5,.4,1) both}@keyframes title-write{0%{opacity:0;transform:translateY(6px) rotate(4deg) scale(.8)}}@media (prefers-reduced-motion:reduce){.title-ink.is-writing b{animation:none}}.page-head .sub{color:var(--muted);margin:0;max-width:52ch}.page-head .sub a{-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:3px}section.block{padding:3rem 0 0}.block-head{display:flex;align-items:baseline;gap:.9rem;border-bottom:1px solid var(--hair);padding-bottom:.7rem;margin-bottom:.4rem}.block-head h2{font-size:14px;font-weight:600;margin:0}.block-head .right{margin-left:auto}.block-head a{font-size:12.5px;color:var(--muted);text-decoration:none}.block-head a:hover{color:var(--accent-ink)}.book-aside{margin:.9rem 0 0;font-size:13.5px;color:var(--muted)}.book-aside a{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-decoration-thickness:1px;text-underline-offset:3px}.book-aside a:hover{color:var(--accent-ink);-webkit-text-decoration-color:var(--accent-ink);text-decoration-color:var(--accent-ink)}.scribble-birds{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:1;overflow:visible}.scribble-birds path{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;opacity:.3}.reading-bird{position:fixed;top:env(safe-area-inset-top,0);left:0;width:100%;height:32px;pointer-events:none;z-index:70;color:var(--ink);opacity:.35}.reading-bird path{stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}.year-group{display:grid;grid-template-columns:6rem 1fr;grid-gap:1rem;gap:1rem;padding:1.8rem 0 .4rem}.year-group .year{font-family:var(--font-mono);font-size:12px;color:var(--muted);padding-top:.65rem}.post-line{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--hair)}.post-line:last-child{border-bottom:0}.post-row{display:flex;gap:1.1rem;align-items:baseline;text-decoration:none;padding:.55rem 0;flex:1 1;min-width:0}.post-row .d{font-family:var(--font-mono);font-size:11px;color:var(--muted);width:3.4rem;flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.post-row .t{font-size:15px;font-weight:450}.post-row .s{color:var(--muted);font-size:13.5px}.post-row:hover .t{box-shadow:inset 0 -2px 0 var(--accent)}.post-ext{color:var(--muted);font-size:12px;flex:none;text-decoration:none;font-family:var(--font-mono);padding:.55rem .15rem;display:inline-flex;align-items:center}.post-ext:hover{color:var(--accent-ink)}@media (max-width:640px){.year-group{grid-template-columns:1fr;gap:0}.post-ext{display:none}.post-row{display:grid;grid-template-columns:3.4rem 1fr;grid-column-gap:1.1rem;column-gap:1.1rem;grid-row-gap:.1rem;row-gap:.1rem}.post-row .s{grid-column:2}}.post-kicker{display:flex;gap:1.2rem;align-items:baseline}.post-kicker .crumb{text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.post-kicker .crumb .ink-icon{margin-top:.05rem}.post-kicker .crumb:hover{color:var(--accent-ink)}@media (pointer:coarse){.post-kicker .crumb{padding:.85rem .8rem;margin:-.85rem -.8rem}}.post-body{padding-top:1.6rem}article.wrap-text{max-width:36.5rem}.prose.post-body{font-family:var(--font-sans);font-size:16.5px;line-height:1.78;letter-spacing:.002em}.prose.post-body p{margin:0 0 1.35em}.post-body h1,.post-body h2,.post-body h3,.post-body h4{font-size:17.5px;font-weight:600;letter-spacing:-.01em;margin:2em 0 .7em;line-height:1.35}.post-body h2{font-size:19px}.post-body hr{border:0;border-top:1px solid var(--hair);margin:2.2rem auto;width:5rem}.post-body .captioned-image-container,.post-body figure{margin:1.8rem 0}.post-body .captioned-image-container figure{margin:0}.post-body img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:8px;box-shadow:0 6px 26px rgba(16,15,13,.12)}.post-body .image-caption,.post-body figcaption{text-align:center;color:var(--muted);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.02em;padding-top:.7rem}.post-body blockquote{margin:1.6rem 0;padding:.1rem 0 .1rem 1.2rem;border-left:2px solid var(--accent);color:var(--muted)}.post-body blockquote p{margin:.5em 0}.post-body .pullquote{margin:2rem 0;padding:0;font-family:var(--font-serif);font-size:20px;line-height:1.6;letter-spacing:0;color:var(--ink);text-align:center}.post-body .pullquote p{margin:0}.post-body ol,.post-body ul{padding-left:1.4rem;margin:0 0 1.2em}.post-body li{margin:.35em 0}.post-body pre{font-family:var(--font-serif);font-size:16px;line-height:1.7;letter-spacing:0;white-space:pre-wrap;margin:1.6rem 0;overflow-x:auto}.post-body .spotify-wrap,.post-body .youtube-wrap{margin:1.8rem 0}.post-body .youtube-wrap iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;display:block}.post-body .youtube-wrap iframe,.post-body .yt{border-radius:8px;box-shadow:0 6px 26px rgba(16,15,13,.12)}.post-body .yt{overflow:hidden}.post-body .spotify-wrap iframe{width:100%;border:0;border-radius:8px}.post-body .post-media{margin:1.8rem 0}.post-body .post-media audio{width:100%;display:block}.post-body .post-media video{width:100%;display:block;border-radius:8px;box-shadow:0 6px 26px rgba(16,15,13,.12)}.post-body .post-btn{margin:1.6rem 0}.post-body .post-btn a{display:inline-block;padding:.45rem .95rem;border:1px solid var(--hair);border-radius:999px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink)}.post-body .post-btn a:hover{border-color:var(--accent);color:var(--accent-ink)}.post-after{padding:2.4rem 0 .4rem}.post-after a{text-decoration:none}.post-after a:hover{color:var(--accent-ink)}.subscribe{margin:2rem 0 .6rem;padding:1.1rem 1.2rem 1.2rem;border:1px solid var(--hair);border-radius:12px;max-width:30rem;background:color-mix(in srgb,var(--bg) 40%,transparent)}.subscribe .mono-label{display:block;margin-bottom:.65rem}.subscribe .row{display:flex;gap:.6rem}.subscribe input{flex:1 1;min-width:0;padding:.5rem .75rem;border:1px solid var(--hair);border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px}@media (pointer:coarse){.subscribe input{font-size:16px;min-height:44px}.subscribe button{min-height:44px}}.subscribe input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.subscribe input::placeholder{color:var(--muted)}.subscribe button{flex:none;padding:.5rem 1.05rem;cursor:pointer;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--ink-contrast);font-family:var(--font-scribble);font-size:14px;line-height:1.1;display:inline-flex;align-items:center;gap:.45rem}.subscribe button:hover{background:color-mix(in srgb,var(--ink) 82%,var(--bg));border-color:transparent}.subscribe button:disabled{opacity:.55;cursor:default}.subscribe .oops{margin:.6rem 0 0;color:var(--ink);font-family:var(--font-scribble);font-size:13px;display:flex;align-items:center;gap:.4rem}.subscribe .oops .ink-icon{color:var(--muted)}.subscribe.is-in{display:flex;align-items:baseline;gap:.9rem}.subscribe.is-in .yay{font-family:var(--font-scribble);font-size:16px;color:var(--ink);display:inline-flex;align-items:center;gap:.45rem}.subscribe.is-in .mono-label{margin:0}@media (max-width:480px){.subscribe .row{flex-direction:column}.subscribe button{align-self:flex-start}}.bookstage{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,26rem);grid-gap:3.5rem;gap:3.5rem;align-items:start;padding:3.2rem 0 0}@media (max-width:760px){.bookstage{grid-template-columns:1fr;gap:2.5rem}}.book3d{position:relative;width:min(300px,78vw);aspect-ratio:300/435;perspective:1600px;perspective-origin:90% 50%;cursor:pointer;border:0;padding:0;background:none;text-align:inherit;-webkit-tap-highlight-color:transparent}.book3d:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.leaf{position:absolute;inset:0;z-index:2;transform-style:preserve-3d;transform-origin:left center;transition:transform .9s cubic-bezier(.32,.72,.13,1);border-radius:2px 4px 4px 2px;box-shadow:10px 16px 40px rgba(16,15,13,.22)}.book3d.open .leaf{transform:rotateY(-84deg);box-shadow:2px 6px 18px rgba(16,15,13,.18)}.leaf img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px 4px 4px 2px}.leaf img,.leaf:after{-webkit-backface-visibility:hidden;backface-visibility:hidden}.leaf:after{content:"";border-radius:4px 2px 2px 4px;background:#f4ecdb;transform:rotateY(180deg)}.leaf:after,.pagefm{position:absolute;inset:0}.pagefm{z-index:1;background:var(--card);border:1px solid var(--hair);border-left:4px solid #ecdfc3;border-radius:2px 4px 4px 2px;padding:clamp(1rem,6cqw,2rem) clamp(1rem,6cqw,1.8rem);overflow:hidden}.openhint{margin-top:1.1rem;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.bookmeta h2{font-size:30px;font-weight:500;letter-spacing:-.03em;margin:0}.bookmeta .sub{color:var(--muted);margin:.15rem 0 1.6rem}.spec{border-collapse:collapse;width:100%;max-width:24rem}.spec td{border-bottom:1px solid var(--hair);padding:.45rem 0;font-size:13px}.spec td:first-child{color:var(--muted);width:6.5rem}.spec td:last-child{white-space:nowrap}.buy{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem;gap:.45rem;margin-top:1.5rem;max-width:24rem}.buy a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:13px;padding:.5rem .75rem;border:1px solid var(--hair-strong);transition:background .15s ease,border-color .15s ease,color .15s ease}.buy a:after{content:"→";color:var(--muted)}.buy a:hover{background:var(--ink);border-color:var(--ink)}.buy a:hover,.buy a:hover:after{color:var(--ink-contrast)}.poem{font-family:var(--font-serif);font-style:italic;font-size:17.5px;line-height:1.72;white-space:pre-line;letter-spacing:0}.poem-lg{font-size:20px}.poemblock{padding:2.4rem 0 .6rem;max-width:36rem}.poemblock h3{font-size:15px;font-weight:600;margin:0 0 .2rem}.poemblock .from{color:var(--muted);font-size:12.5px;margin:0 0 1.2rem;font-family:var(--font-mono);letter-spacing:.06em}.player{display:flex;align-items:center;gap:.8rem;margin-top:1.4rem;max-width:36rem}.player button.pp{width:38px;height:34px;flex:none;cursor:pointer;border:0;background:none;color:var(--ink);display:grid;place-items:center;padding:0;transition:transform .12s ease}.player button.pp:hover:not(:disabled){transform:scale(1.06)}.player button.pp:active:not(:disabled){transform:scale(.94)}.player button.pp:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:9px}.player .rail{flex:1 1;height:20px;display:flex;align-items:center;cursor:pointer}.player .rail>div{width:100%;height:2px;background:var(--hair);position:relative}.player .fill{position:absolute;left:0;top:0;bottom:0;background:var(--ink)}.player .nub{position:absolute;top:50%;transform:translate(-50%,-50%);color:var(--ink);display:grid;place-items:center;pointer-events:none}.player .time{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);letter-spacing:.06em;flex:none}.rd-veil{position:fixed;inset:0;z-index:110;background:rgba(23,19,16,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:grid;place-items:center;animation:rd-veil-in .32s ease both}@keyframes rd-veil-in{0%{opacity:0}}.rd{position:relative;outline:none;animation:rd-rise .5s cubic-bezier(.32,.72,.13,1) .05s both}@keyframes rd-rise{0%{opacity:0;transform:translateY(16px)}}.rd-spread{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(880px,calc(100vw - 132px));height:min(700px,80vh);perspective:2400px;touch-action:pan-y;filter:drop-shadow(0 26px 44px rgba(16,15,13,.3))}.rd-spread:after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 16px);width:32px;pointer-events:none;z-index:2;background:linear-gradient(90deg,rgba(23,19,16,0),rgba(23,19,16,.06) 42%,rgba(23,19,16,.12) 50%,rgba(23,19,16,.06) 58%,rgba(23,19,16,0))}.rd-page{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--hair);padding:clamp(1.1rem,3vh,1.9rem) clamp(1.2rem,2.4vw,2rem) clamp(.9rem,2.2vh,1.4rem);overflow:hidden}.rd-left{border-radius:4px 2px 2px 4px;border-right:0}.rd-right{border-radius:2px 4px 4px 2px}.rd-h{font-size:15px;font-weight:600;margin:0 0 .55rem;flex:none}.rd-body{flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:none}.rd-body::-webkit-scrollbar{display:none}.rd-page .poem{font-size:clamp(11.5px,2vh,12.5px);line-height:1.52;margin:0}.rd-center{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.4rem}.rd-booktitle{font-family:var(--font-scribble);font-size:clamp(22px,3.4vh,27px);margin:0 0 .3rem}.rd-author{font-family:var(--font-serif);font-style:italic;font-size:14px;margin:2.4rem 0 0}.rd-quiet{font-size:13.5px;line-height:1.9}.rd-folio{position:absolute;bottom:.7rem;font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.06em}.rd-left .rd-folio{left:1.4rem}.rd-right .rd-folio{right:1.4rem}.rd-voice{margin-top:.8rem;max-width:none;flex:none}.rd-voice button.pp{width:44px;height:44px}.rd-voice .rail{height:26px}.rd-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:3;transform-style:preserve-3d;transition:transform .56s cubic-bezier(.4,.05,.22,1)}.rd-leaf.fwd{left:50%;transform-origin:left center}.rd-leaf.fwd.go{transform:rotateY(-180deg)}.rd-leaf.bwd{left:0;transform-origin:right center}.rd-leaf.bwd.go{transform:rotateY(180deg)}.rd-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.rd-face,.rd-face .rd-page{position:absolute;inset:0}.rd-face.back{transform:rotateY(180deg)}.rd-edge{position:absolute;top:0;bottom:96px;width:13%;z-index:4;cursor:pointer}.rd-edge.prev{left:0}.rd-edge.next{right:0}.rd-arrow,.rd-close{position:absolute;width:46px;height:46px;padding:0;display:grid;place-items:center;cursor:pointer;border:0;background:none;color:#efe7d2;transition:transform .12s ease,color .12s ease}.rd-arrow:hover:not(:disabled),.rd-close:hover{color:#fffdf6;transform:scale(1.08)}.rd-arrow:focus-visible,.rd-close:focus-visible{outline:2px solid #efe7d2;outline-offset:3px;border-radius:10px}.rd-close{top:-54px;right:-8px}.rd-arrow{top:calc(50% - 23px)}.rd-arrow.prev{left:-60px}.rd-arrow.next{right:-60px}.rd-arrow.next svg{transform:scaleX(-1)}.rd-arrow:disabled{opacity:.3;cursor:default}@media (max-height:860px) and (min-width:761px){.rd-page .poem{font-size:11.5px;line-height:1.45}}@media (max-height:760px) and (min-width:761px){.rd-spread{height:min(700px,86vh)}.rd-page .poem{font-size:11px;line-height:1.4}}@media (max-width:760px){.rd-spread{grid-template-columns:1fr;width:min(440px,calc(100vw - 24px));height:min(680px,78svh)}.rd-page .poem{font-size:11.5px;line-height:1.5}.rd-spread:after,.rd-spread>.rd-page.rd-right{display:none}.rd-page.rd-left,.rd-page.rd-right{border-radius:4px;border-right:1px solid var(--hair)}.rd-leaf{width:100%}.rd-leaf.fwd{left:0;transform-origin:left center}.rd-leaf.fwd.go{transform:rotateY(-150deg)}.rd-leaf.bwd{left:0;transform-origin:left center;transform:rotateY(-150deg)}.rd-leaf.bwd.go{transform:rotateY(0deg)}.rd-close{left:calc(50% - 23px);right:auto}.rd-arrow,.rd-close{top:auto;bottom:-64px}.rd-arrow.prev{left:6px}.rd-arrow.next{right:6px}}@media (prefers-reduced-motion:reduce){.rd,.rd-veil{animation:none}.leaf,.rd-leaf{transition:none}}.page-head h1.with-juggle{display:flex;align-items:flex-end;gap:1.2rem;flex-wrap:wrap}.juggle{display:inline-block;overflow:visible;width:54px;height:51px;flex:none;transform:translateY(-2px);color:var(--ink)}.talk{padding:2.6rem 0 0}.talk .vid{max-width:44rem}.yt{position:relative;aspect-ratio:16/9;width:100%;background:#0c0b0a 50%/cover no-repeat;border:0;padding:0;cursor:pointer;display:block}.yt:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.yt .pb{position:absolute;inset:0;margin:auto;width:58px;height:42px;background:var(--bg);color:var(--ink);display:grid;place-items:center;border-radius:10px 14px 9px 15px/13px 9px 14px 10px;box-shadow:0 1px 10px rgba(12,11,10,.38);transform:rotate(-1.6deg);transition:transform .15s ease}.yt:hover .pb{transform:rotate(-1.6deg) scale(1.07)}.yt .pb .ink-icon{width:46px;height:46px}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.talk h3{font-size:19px;font-weight:500;letter-spacing:-.02em;margin:1.2rem 0 .1rem}.talk .ctx{color:var(--muted);font-size:14px;margin:0;max-width:60ch}.talk .stat{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}.pull{font-size:clamp(20px,2.6vw,26px);line-height:1.4;letter-spacing:-.02em;max-width:30ch;margin:2rem 0 0;padding-left:1.4rem;border-left:3px solid var(--accent)}details.transcript{margin-top:1.6rem;max-width:44rem}details.transcript summary{cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.7rem 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);list-style:none}details.transcript summary::-webkit-details-marker{display:none}details.transcript summary:before{content:"+ ";color:var(--accent-ink)}details[open].transcript summary:before{content:"− "}details.transcript .prose{padding-top:1.2rem}.job{display:grid;grid-template-columns:7rem 1fr;grid-gap:1.2rem;gap:1.2rem;padding:1.05rem 0;border-bottom:1px solid var(--hair)}.job .yr{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);padding-top:.25rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job h3{font-size:15.5px;font-weight:550;margin:0}.job h3 span{color:var(--muted);font-weight:400}.job p{margin:.2rem 0 0;color:var(--muted);font-size:13.5px;max-width:58ch}.job a{-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:3px}@media (max-width:480px){.job{grid-template-columns:1fr;gap:.2rem}.job .yr{padding-top:0}}.tools{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.9rem;gap:.9rem;padding-top:1.4rem}@media (max-width:800px){.tools{grid-template-columns:1fr 1fr}}@media (max-width:520px){.tools{grid-template-columns:1fr}}.tool{border:1px solid var(--hair);padding:1rem 1.1rem 1.1rem;text-decoration:none;display:block;background:var(--card);transition:border-color .15s ease,transform .15s ease}.tool:hover{border-color:var(--accent)}.tool h3{font-size:14.5px;font-weight:550;margin:0 0 .15rem;display:flex;align-items:center;gap:.5rem}.tool h3 i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.tool p{margin:0;color:var(--muted);font-size:13px}.prose{font-size:16px;line-height:1.75;max-width:42rem}.prose p{margin:0 0 1.2em}.prose a{-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:3px}.prose a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);text-decoration-thickness:1.5px}.prose .sig{color:var(--muted)}.prose.serif{font-family:var(--font-serif);font-size:17.5px}.stamp{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2.4rem}.pg-char[data-ghost] .pg-ink,.pg-char[data-ink] .pg-ink{opacity:var(--ghost-o,.15)}.pg-swing[data-ink] .pg-ink{opacity:calc(var(--ghost-o, 1) * .88)}.pg-char[data-ghost] .pg-ink path{stroke-dasharray:3 3.5}.pg-char[data-ghost] .pg-cast,.pg-char[data-ink] .pg-cast{opacity:0!important}.pg-swing[data-ghost] path[data-cast],.pg-swing[data-ink] path[data-cast]{opacity:1!important}.pg-char[data-ghost] .pg-ink{transition:opacity .22s ease}.pg-char[data-ghost]:focus-visible .pg-ink,.pg-char[data-ghost]:hover .pg-ink,.pg-char[data-ghost][data-hover] .pg-ink{opacity:.45}.lost-ball{position:relative;margin:2.4rem 0 .4rem;color:var(--ink)}.lost-ball svg{width:100%;height:auto;display:block}.lost-ball .lb-grass,.lost-ball .lb-trail{stroke:var(--faint)}.lost-ball .lb-figure{stroke:currentColor}.lost-ball .lb-ball{transition:translate .16s ease}.lost-ball[data-look=ball] .lb-ball{translate:0 -3px}.lost-ball-hit{position:absolute;left:78.2%;top:82.8%;width:13%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;cursor:pointer}.lost-ball-hit:focus-visible{outline:2px dashed var(--accent-ink);outline-offset:3px}.print-runner{display:none}@page{margin:20mm}@media print{body,html{background:#fff!important}body{color:#171310}body:after{display:none}.chrome-mark,.ck,.ck-scrim,.cursor-glow,.cursor-hand,.cursor-ripples,.menu-btn,.menu-glass,.menu-scrim,.playground,.reading-bird,.scribble-birds,.site-footer,.skip-link,.subscribe{display:none!important}.prose a{text-decoration:underline}main{padding:0}article.wrap-text{max-width:15.5cm;padding:0}.post-kicker .crumb{display:none}h1.title-ink{font-size:25pt;margin:.35em 0 .5em}.title-ink b{animation:none!important;opacity:1!important;transform:none!important}.page-head .sub{color:#4e463b}.prose.post-body{font-family:var(--font-serif);font-size:11.5pt;line-height:1.72;letter-spacing:0;color:#171310}.prose.post-body p{margin:0 0 1.2em}.post-body p{orphans:3;widows:3}.post-body h1,.post-body h2,.post-body h3,.post-body h4{page-break-after:avoid;break-after:avoid}.post-body blockquote,.post-body figure,.post-body img{page-break-inside:avoid;break-inside:avoid}.post-body figcaption{color:#6f675a}.post-body .post-media,.post-body .spotify-wrap,.post-body .youtube-wrap{display:none!important}.post-body a{color:inherit;text-decoration:none}.post-body a[href^=http]:after{content:" (" attr(href) ")";font-family:var(--font-mono);font-size:7.5pt;color:#6f675a;word-break:break-all}.post-after{padding-top:1.6rem}.post-after a{text-decoration:none;color:#6f675a}.post-after a:after{content:" — " attr(href);font-size:7.5pt}.print-runner{display:block;margin-top:2.2rem;padding-top:.7rem;border-top:1px solid #d8d0bf;font-family:var(--font-mono);font-size:8pt;letter-spacing:.06em;color:#8a8173}}