@font-face{font-family:Albert Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/albert-sans-latin-ext-wght-normal.BAo4qCk1.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/albert-sans-latin-wght-normal.BJ0ssN8N.woff2)format("woff2-variations");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}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}:root{--bg:#f1f1ee;--ink:#171717;--ink-2:#3d3d3a;--muted:#66655f;--line:#d6d6d1;--accent:#8a6a3d;--c-engineer:#0f4fd1;--c-trainer:#d6390a;--c-author:#b87800;--c-maker:#c2186b;--c-student:#0b8a54;--glass-hi:#ffffff9e;--glass-lo:#ffffff38;--glass-edge:#ffffffbf;--glass-shadow:0 30px 60px -34px #281e1447;--wa:.14;--ga:.4;--font:"Albert Sans Variable", system-ui, sans-serif;--gutter:clamp(20px, 5vw, 72px);--ease:cubic-bezier(.16, 1, .3, 1);color-scheme:light}:root[data-theme=dark]{--bg:#08090a;--ink:#ecebe6;--ink-2:#c9c7c1;--muted:#8f8d86;--line:#25262a;--accent:#e2c69a;--c-engineer:#4f8dff;--c-trainer:#ff6a3d;--c-author:#ffb627;--c-maker:#ff5c9d;--c-student:#2fd88f;--glass-hi:#ffffff12;--glass-lo:#ffffff04;--glass-edge:#ffffff1a;--glass-shadow:0 30px 60px -30px #000000b3;--wa:.07;--ga:.22;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#08090a;--ink:#ecebe6;--ink-2:#c9c7c1;--muted:#8f8d86;--line:#25262a;--accent:#e2c69a;--c-engineer:#4f8dff;--c-trainer:#ff6a3d;--c-author:#ffb627;--c-maker:#ff5c9d;--c-student:#2fd88f;--glass-hi:#ffffff12;--glass-lo:#ffffff04;--glass-edge:#ffffff1a;--glass-shadow:0 30px 60px -30px #000000b3;--wa:.07;--ga:.22;color-scheme:dark}}:root{--sc:28 28 26}:root[data-tint=engineer]{--sc:15 79 209}:root[data-tint=trainer]{--sc:214 57 10}:root[data-tint=author]{--sc:184 120 0}:root[data-tint=maker]{--sc:194 24 107}:root[data-tint=student]{--sc:11 138 84}:root[data-theme=dark]{--sc:230 225 214}:root[data-theme=dark][data-tint=engineer]{--sc:79 141 255}:root[data-theme=dark][data-tint=trainer]{--sc:255 106 61}:root[data-theme=dark][data-tint=author]{--sc:255 182 39}:root[data-theme=dark][data-tint=maker]{--sc:255 92 157}:root[data-theme=dark][data-tint=student]{--sc:47 216 143}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);font:400 17px/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}p,ul,h1,h2{margin:0}p{text-wrap:pretty}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:10;background:var(--ink);color:var(--bg);border-radius:999px;padding:.5rem .9rem;text-decoration:none;position:fixed;top:-60px}.skip:focus{top:16px}.wash{z-index:0;pointer-events:none;background:radial-gradient(120% 90% at 0% 50%, rgb(var(--sc) / var(--wa)), transparent 60%);position:fixed;inset:0}.glow{z-index:0;pointer-events:none;will-change:transform;--r1:38vmin;--r2:34vmin;background:radial-gradient(circle at 42% 42%, var(--gc,rgb(var(--sc) / var(--ga))), transparent var(--r1)), radial-gradient(circle at 62% 62%, var(--gc2,rgb(var(--sc) / calc(var(--ga) * .6))), transparent var(--r2));border-radius:50%;width:96vmin;height:96vmin;margin:-48vmin 0 0 -48vmin;position:fixed;top:0;left:0;transform:translate(70vw,50vh)}:root:not([data-theme=dark]) .glow{--r1:52vmin;--r2:46vmin;width:130vmin;height:130vmin;margin:-65vmin 0 0 -65vmin}#gl{z-index:0;width:100vw;height:100vh;display:block;position:fixed;inset:0}.nav{z-index:5;padding:22px var(--gutter);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.brand{letter-spacing:.01em;font-weight:600;text-decoration:none}.nav .right{align-items:center;gap:10px;display:flex}.pill{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);height:36px;color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:0 .9rem;font-size:.85rem;transition:border-color .3s;display:inline-flex}.pill:hover{border-color:var(--accent)}.pill svg{width:15px;height:15px}.pill.theme{justify-content:center;width:36px;padding:0}.theme .sun,:root[data-theme=dark] .theme .moon{display:none}:root[data-theme=dark] .theme .sun{display:block}.progress{left:var(--gutter);z-index:5;gap:14px;font-size:.8rem;display:flex;position:fixed;bottom:28px}.progress a{color:var(--muted);transition:color .5s var(--ease);text-decoration:none;position:relative}.progress a:after{content:"";transform-origin:0;height:1px;transition:transform .6s var(--ease);background:currentColor;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.progress a:hover,.progress a.on{color:var(--ink)}.progress a.on:after{transform:scaleX(1)}.count{right:var(--gutter);z-index:5;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem;position:fixed;bottom:28px}.count b{color:var(--ink);font-weight:500}.notes{z-index:1;pointer-events:none;color:var(--ink-2);position:fixed;inset:0}.notes svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.notes path{fill:none;stroke:var(--muted);stroke-width:.75px;stroke-dasharray:1}.notes circle{fill:var(--ink-2)}.note{letter-spacing:.02em;white-space:nowrap;opacity:0;font-size:.78rem;position:absolute;top:0;left:0}main{z-index:2;position:relative}.ch{min-height:100vh;padding:76px var(--gutter) 84px;align-items:center;scroll-margin-top:0;display:flex}.txt{border:1px solid var(--glass-edge);background:linear-gradient(140deg, var(--glass-hi), var(--glass-lo) 60%), color-mix(in srgb, rgb(var(--sc)) 6%, transparent);width:min(35rem,100%);box-shadow:inset 0 1px 0 var(--glass-edge), var(--glass-shadow);backdrop-filter:blur(14px)saturate(140%);border-radius:6px;padding:1.6rem 2rem 1.9rem;position:relative}.txt:before{content:"";pointer-events:none;--m:var(--ink-2);background:linear-gradient(var(--m), var(--m)) 0 0 / 14px 1px, linear-gradient(var(--m), var(--m)) 0 0 / 1px 14px, linear-gradient(var(--m), var(--m)) 100% 0 / 14px 1px, linear-gradient(var(--m), var(--m)) 100% 0 / 1px 14px, linear-gradient(var(--m), var(--m)) 0 100% / 14px 1px, linear-gradient(var(--m), var(--m)) 0 100% / 1px 14px, linear-gradient(var(--m), var(--m)) 100% 100% / 14px 1px, linear-gradient(var(--m), var(--m)) 100% 100% / 1px 14px;background-repeat:no-repeat;position:absolute;inset:-1px}.idx{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.7rem;margin-bottom:1.3rem;font-size:.7rem;display:flex}.idx b{color:var(--ink-2);font-weight:500}.idx i{background:rgb(var(--sc));width:22px;height:1px}.idx:after{content:"";background:var(--line);flex:1;height:1px}.crumb{color:var(--muted);align-items:center;gap:.6rem;margin-bottom:1.3rem;font-size:.85rem;display:flex}.crumb:before{content:"";background:rgb(var(--sc));width:22px;height:1px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--ink)}h1{letter-spacing:-.045em;font-size:clamp(3rem,6.4vw,6.6rem);font-weight:200;line-height:.95}h1 .m{color:var(--muted)}h2{letter-spacing:-.045em;font-size:clamp(2.8rem,5.6vw,5.6rem);font-weight:200;line-height:1}.end h2{font-size:clamp(3rem,5.6vw,5.6rem)}.page h1{font-size:clamp(2.6rem,5vw,4.8rem)}.hero p{color:var(--muted);margin-top:1.25rem;font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:300}.lede{letter-spacing:-.02em;margin-top:1rem;font-size:clamp(1.2rem,1.7vw,1.6rem);font-weight:300;line-height:1.2}.body{color:var(--ink-2);max-width:30rem;margin-top:1rem}.cta{color:var(--accent);border-bottom:1px solid;margin-top:1.25rem;text-decoration:none;display:inline-block}.k{color:var(--muted);letter-spacing:.02em;font-size:.8rem}.fine{color:var(--muted);margin-top:1rem;font-size:.75rem}.say{vertical-align:.62em;border:1px solid color-mix(in srgb, var(--muted) 55%, transparent);width:.24em;height:.24em;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;margin:0 0 0 .1em;padding:0;transition:border-color .3s,color .3s;position:relative}.say:before{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:currentColor;position:absolute;inset:30% 26% 30% 36%}.say[data-playing]:before{clip-path:none;inset:32%}.say:hover,.say:focus-visible,.say[data-playing]{border-color:var(--accent);color:var(--accent)}.hero .today{margin-top:1rem;font-size:1rem}.role{color:var(--ink);transition:opacity .35s var(--ease), transform .35s var(--ease);display:inline-block}.role.out{opacity:0;transform:translateY(-.35em)}.hero .cue{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.8rem;margin-top:2rem;font-size:.75rem;display:flex}.cue i{background:var(--line);width:1px;height:44px;position:relative;overflow:hidden}.cue i:after{content:"";background:var(--ink);width:1px;height:40%;animation:cue 2.4s var(--ease) infinite;position:absolute;top:-40%;left:0}@keyframes cue{to{top:100%}}.spec{flex-wrap:wrap;gap:.45rem;margin-top:1.1rem;padding:0;list-style:none;display:flex}.spec li{border:1px solid color-mix(in srgb, var(--c,var(--muted)) 45%, var(--line));color:var(--ink-2);border-radius:999px;padding:.2rem .75rem;font-size:.82rem}.spec a{text-decoration:none}.also{color:var(--muted);margin-top:.8rem;font-size:.92rem}.book{align-items:flex-end;gap:1.25rem;margin-top:1.5rem;display:flex}.book.big{align-items:flex-start;gap:1.75rem}.cover-art{aspect-ratio:2/3;background:var(--c-author);color:#1a1408;border-radius:3px 7px 7px 3px;flex-direction:column;flex:none;justify-content:space-between;width:92px;padding:14px 12px 12px 16px;display:flex;box-shadow:inset 5px 0 #0000002e,0 22px 40px -22px #0009}.cover-art b{letter-spacing:-.01em;font-size:.9rem;font-weight:500;line-height:1.05}.cover-art small{letter-spacing:.04em;font-size:.5rem;line-height:1.3}.book.big .cover-art{width:132px;padding:18px 14px 14px 20px}.book.big .cover-art b{font-size:1.2rem}.book.big .cover-art small{font-size:.62rem}.book.big .lede{margin-top:0}.dial{align-items:center;gap:1.5rem;margin-top:1.5rem;display:flex}.knob-wrap{cursor:grab;touch-action:none;border-radius:50%;flex:none;width:148px}.dial.dragging .knob-wrap{cursor:grabbing}.knob-wrap:focus-visible{outline-color:var(--c);outline-offset:6px}.knob-wrap svg{width:100%;display:block;overflow:visible}.ring{fill:none;stroke:var(--line)}.ring.in{stroke-dasharray:1 5;stroke:var(--muted)}.tick{stroke:var(--muted);stroke-width:.75px}.tick.big{stroke:var(--ink-2)}.stop{fill:var(--muted);stroke:var(--c);stroke-width:0;stroke-opacity:.22;cursor:pointer;transition:fill .3s, stroke-width .4s var(--ease)}.stop:hover{fill:var(--ink-2)}.stop.on{fill:var(--c);stroke-width:9px}.knob{transform-origin:120px 120px;transition:transform .5s var(--ease)}.dial.dragging .knob{transition:none}.pointer{stroke:var(--c);stroke-width:1px;transition:stroke .4s}.pointer-dot{fill:var(--c);transition:fill .4s}.hub{fill:var(--ink)}.nm{margin-top:.2rem;font-size:1.2rem;font-weight:500}.ln1{min-height:3.3em;color:var(--ink-2);margin-top:.25rem;font-size:.93rem;line-height:1.4}.how{color:var(--muted);margin-top:.5rem;font-size:.75rem}.nm,.ln1{transition:opacity .16s}.dial.swap .nm,.dial.swap .ln1{opacity:0}.socials{gap:1.25rem;margin-top:1rem;padding:0;font-size:.92rem;list-style:none;display:flex}.socials a{color:var(--ink-2);border-bottom:1px solid var(--line);text-decoration:none}.socials a:hover{border-color:var(--ink-2)}.shelf-wrap{margin-top:1.25rem}.shelf-row{transition:opacity .3s}.shelf-row.out{opacity:0}.shelf{border-bottom:1px solid var(--muted);align-items:flex-end;gap:5px;height:150px;margin-top:.5rem;padding:0;list-style:none;display:flex}.spine{width:var(--w);height:var(--h);cursor:pointer;background:0 0;border:0;padding:0;display:block}.spine .cv{border:1px solid color-mix(in srgb, var(--c,var(--muted)) 55%, var(--line));width:100%;height:100%;transition:transform .35s var(--ease), background .35s, border-color .35s;background:0 0;border-radius:1px;justify-content:center;align-items:center;display:flex}.spine:hover .cv,.spine:focus-visible .cv,.spine.on .cv{border-color:var(--c,var(--ink-2));background:color-mix(in srgb, var(--c,var(--muted)) 12%, transparent);transform:translateY(-8px)}.spine.own .cv{background:var(--c-author);border-color:var(--c-author)}.spine.own .ttl{color:#1a1408}.spine:focus-visible{outline:none}.spine:focus-visible .cv{outline:1px solid var(--accent);outline-offset:3px}.ttl{max-height:calc(var(--h) - 16px);text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-rl;text-orientation:sideways;color:var(--ink-2);font-size:.7rem;overflow:hidden;transform:rotate(180deg)}.shelf-foot{justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:.9rem;display:flex}.card{border-left:1px solid rgb(var(--sc));height:3.9rem;padding-left:.8rem;transition:opacity .18s}.card.swap{opacity:0}.card .bt{font-weight:500}.card .ba,.card .bn{color:var(--muted);font-size:.82rem}.reshelve{border:1px solid var(--line);height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;padding:0 .8rem;font-size:.78rem}.reshelve:hover{border-color:var(--accent)}.js .rv{opacity:0;filter:blur(6px);transition:opacity 1.1s var(--ease), transform 1.2s var(--ease), filter 1.1s var(--ease);transform:translateY(24px)}.js .rv.in{opacity:1;filter:none;transform:none}@media (width<=1000px){.notes{display:none}}@media (width<=760px){.ch{align-items:flex-end;padding-bottom:90px}.txt{padding:1.1rem 1.2rem 1.3rem}.idx{margin-bottom:.8rem}.progress,.count,.how,.hero .cue{display:none}.knob-wrap{width:96px}.dial{gap:1rem;margin-top:1rem}.shelf{zoom:.68}.shelf-wrap{margin-top:1rem}.lede{font-size:1.1rem}.body{font-size:.95rem}.book.big{flex-direction:column}}@media (prefers-reduced-motion:reduce){.cue i:after{animation:none}.knob,.role,.spine .cv,.shelf-row,.card{transition:none}}
