@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/dcc06fc59088004f-s.2h-zgd4kn5-yf.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:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/14a4f422adc8017e-s.14w0l550ci3yl.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/294dd5272e5dc576-s.35rs2ho86mq85.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/c0f3072741f3158c-s.2g9n9md5msvg2.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/32ed8f926ffc9cc2-s.26v2fg3gytbt5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/b6a9aad84d41ea38-s.167l7r8dhiyx3.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/30bdb5bb2b173ee1-s.p.0kfjr62lqeiro.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:Literata Fallback;src:local(Times New Roman);ascent-override:99.62%;descent-override:26.07%;line-gap-override:0.0%;size-adjust:118.15%}.literata_f1cae2e-module__Ktfz6a__className{font-family:Literata,Literata Fallback;font-style:normal}.literata_f1cae2e-module__Ktfz6a__variable{--font-read:"Literata", "Literata Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.3wn_q526zaolu.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.3uuun_-7zsf1g.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:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_9c0e3089-module__z5Hroa__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_9c0e3089-module__z5Hroa__variable{--font-ui:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_c7f5c7df-module__GfYE8a__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_c7f5c7df-module__GfYE8a__variable{--font-code:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#f3f5f4;--surface:#fff;--sunk:#e9edec;--ink:#18212b;--muted:#5b6875;--line:#d6dcdf;--pen:#2347c5;--pen-soft:#e3e9fb;--on-pen:#fff;--shadow:0 1px 2px #18212b14, 0 8px 24px #18212b1a;--hl-yellow:#ffe45c;--hl-mint:#9fe8c2;--hl-coral:#ffb5a9;--hl-sky:#a8d7ff;--hl-violet:#d5c4ff;--hl-mix:.62;--code-bg:#eaeeef;--log-bg:#e6ebf5;--tok-key:#6b2fb5;--tok-str:#0b6e4f;--tok-fn:#1f4fd8;--tok-num:#a84b08;--tok-type:#a3195b;--tok-attr:#0e6f8c;--tok-com:#6b7785;--tok-op:#4a5866;--tok-err:#c62828;--box-do:#2347c5;--box-warn:#b26a00;--box-look:#6b2fb5;--box-ref:#4a5866;--box-say:#0b6e4f;--icon-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235b6875' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");--read:1.125rem;--bar:3.25rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#141a20;--surface:#1b232c;--sunk:#10151a;--ink:#dde4ea;--muted:#93a0ad;--line:#2b3641;--pen:#9db2ff;--pen-soft:#232f4d;--on-pen:#10151a;--shadow:0 1px 2px #0006, 0 8px 24px #00000073;--hl-mix:.34;--code-bg:#10161c;--log-bg:#151d2c;--tok-key:#c4a7ff;--tok-str:#8fd9b6;--tok-fn:#8fb4ff;--tok-num:#f2b46d;--tok-type:#ff9ec4;--tok-attr:#7fd3e6;--tok-com:#7d8a97;--tok-op:#9aa7b3;--tok-err:#ff8a80;--box-do:#9db2ff;--box-warn:#f2b46d;--box-look:#c4a7ff;--box-ref:#93a0ad;--box-say:#8fd9b6;--icon-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2393a0ad' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-size=sm]{--read:1rem}[data-size=lg]{--read:1.25rem}[data-size=xl]{--read:1.4rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--bar) + 1rem)}body{background:var(--paper);color:var(--ink);font:1rem/1.5 var(--font-ui), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--pen);text-underline-offset:.18em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--pen);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-read), Georgia, serif;text-wrap:balance;margin:0;line-height:1.2}.muted{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--pen);background:var(--pen);color:var(--on-pen);border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn.quiet{color:var(--pen);border-color:var(--line);background:0 0}.btn.quiet:hover{background:var(--pen-soft);filter:none}.btn:disabled{opacity:.4;cursor:default;filter:none}.btn.quiet:disabled{background:0 0}.icon-btn{width:2.25rem;height:2.25rem;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--sunk);color:var(--ink)}.icon-btn[aria-pressed=true]{color:var(--pen)}.top{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:1.5rem;height:3.5rem;padding:0 clamp(1rem,4vw,2.5rem);display:flex}.brand{font:600 1.15rem var(--font-read), Georgia, serif;color:var(--ink);letter-spacing:-.01em;text-decoration:none}.tabs{gap:.25rem;height:100%;display:flex}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 .75rem;font-weight:500;text-decoration:none;display:flex}.tabs .narrow{display:none}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--pen)}.top-end{align-items:center;gap:.5rem;margin-left:auto;display:flex}@media (max-width:640px){.top{flex-wrap:wrap;gap:0 .75rem;height:auto}.brand,.top-end{align-items:center;height:3.25rem;display:flex}.tabs{flex:0 0 100%;order:1;height:2.5rem}.tabs a{flex:1;justify-content:center;padding:0 .6rem}.tabs .wide{display:none}.tabs .narrow{display:inline}}.page{max-width:72rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem) 5rem}.page-title{letter-spacing:-.015em;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600}.resume{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,11rem) 1fr;align-items:end;gap:clamp(1.25rem,4vw,2.75rem);margin-bottom:2.5rem;padding-bottom:2.5rem;display:grid}.resume h1{letter-spacing:-.02em;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600}.resume .where{font:1.05rem/1.4 var(--font-read), Georgia, serif;color:var(--muted);margin:.6rem 0 1.25rem}.resume .where strong{color:var(--ink);font-weight:600}.resume .actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.cover{aspect-ratio:2/3;background:var(--sunk);width:100%;box-shadow:var(--shadow);border-radius:3px 6px 6px 3px;display:block;position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;display:block}.cover:after{content:"";background:linear-gradient(90deg,#00000038,#ffffff1f 60%,#0000);width:6%;position:absolute;inset:0 auto 0 0}.cover.blank{text-align:center;font:600 1rem/1.25 var(--font-read), serif;color:var(--ink);place-items:center;padding:1rem;display:grid}.meter{background:var(--line);border-radius:2px;max-width:22rem;height:4px;overflow:hidden}.meter>span{background:var(--pen);border-radius:2px;height:100%;display:block}.meter-text{color:var(--muted);margin-top:.4rem;font-size:.85rem}.shelf-title{font:600 1rem var(--font-ui), sans-serif;color:var(--muted);margin-bottom:1.25rem}.shelf{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:0 clamp(1.25rem,3vw,2.5rem);display:grid}.shelf li{grid-template-rows:subgrid;grid-row:span 2;list-style:none;display:grid}.shelf{margin:0;padding:0}.shelf .stand{border-bottom:6px solid var(--line);align-items:flex-end;padding:0 .5rem;display:flex;box-shadow:0 10px 12px -10px #18212b59}.shelf .stand a{transform-origin:bottom;width:100%;transition:transform .18s;display:block}.shelf .stand a:hover,.shelf .stand a:focus-visible{transform:translateY(-6px)}.shelf .about{padding:.9rem .5rem 2.25rem}.shelf .about h3{font-size:1.02rem;font-weight:600}.shelf .about h3 a{color:inherit;text-decoration:none}.shelf .about h3 a:hover{color:var(--pen)}.shelf .about p{color:var(--muted);margin:.2rem 0 .7rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){.shelf .stand a{transition:none}}.empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;max-width:40rem;padding:2.5rem}.empty code{font-family:var(--font-code), monospace;color:var(--ink);font-size:.9em}.book-head{grid-template-columns:minmax(7rem,12rem) 1fr;align-items:start;gap:clamp(1.25rem,4vw,3rem);margin-bottom:3rem;display:grid}.book-head h1{letter-spacing:-.02em;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600}.book-head .sub{font:1.1rem var(--font-read), serif;color:var(--muted);margin-top:.35rem}.book-head .desc{max-width:60ch;font:1rem/1.6 var(--font-read), serif;margin:1rem 0 1.25rem}.book-head .facts{color:var(--muted);margin-bottom:1.25rem;font-size:.9rem}.book-head .actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}@media (max-width:560px){.resume,.book-head{grid-template-columns:6.5rem 1fr;align-items:start}}.toc{max-width:52rem;margin:0;padding:0;list-style:none}.toc .part{border-bottom:1px solid var(--line);font:600 1.05rem var(--font-read), serif;margin:2rem 0 .5rem;padding-bottom:.4rem}.toc .part span{color:var(--muted);margin-right:.6rem;font-weight:400}.toc a{color:var(--ink);border-radius:6px;grid-template-columns:5.5rem 1fr auto;align-items:baseline;gap:.75rem;padding:.55rem .5rem;text-decoration:none;display:grid}.toc a:hover{background:var(--sunk)}.toc .num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.toc .time{color:var(--muted);white-space:nowrap;font-size:.85rem}.toc .read .name:after{content:" ✓";color:var(--box-say);font-weight:600}.toc .here a{background:var(--pen-soft)}@media (max-width:560px){.toc a{grid-template-columns:1fr auto}.toc .num{grid-column:1/-1;margin-bottom:-.6rem}}.reader-bar{z-index:30;height:var(--bar);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:.25rem;padding:0 clamp(.5rem,2vw,1.5rem);display:flex;position:sticky;top:0}.reader-bar .crumb{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--muted);flex:1;padding:0 .5rem;font-size:.92rem;overflow:hidden}.reader-bar .crumb a{color:var(--muted);text-decoration:none}.reader-bar .crumb a:hover{color:var(--pen)}.reader-bar .crumb b{color:var(--ink);font-weight:600}.reader-bar .progress{background:var(--pen);width:0;height:2px;position:absolute;bottom:-1px;left:0}.size-btn{font:600 .95rem var(--font-read), serif}.size-btn.big{font-size:1.2rem}.reader{grid-template-columns:19rem minmax(0,1fr);display:grid}[data-contents=closed] .reader{grid-template-columns:minmax(0,1fr)}[data-contents=closed] .contents{display:none}.contents{top:var(--bar);height:calc(100vh - var(--bar));border-right:1px solid var(--line);background:var(--surface);overscroll-behavior:contain;padding:1.25rem .75rem 3rem 1rem;position:sticky;overflow-y:auto}.contents .book{font:600 1rem/1.3 var(--font-read), serif;color:var(--ink);padding:0 .5rem 1rem;text-decoration:none;display:block}.contents ol{margin:0;padding:0;list-style:none}.contents .part{color:var(--muted);margin:1.1rem 0 .3rem;padding:0 .5rem;font-size:.8rem;font-weight:600}.contents li a{color:var(--ink);border-radius:6px;padding:.35rem .5rem;font-size:.9rem;line-height:1.35;text-decoration:none;display:block}.contents li a:hover{background:var(--sunk)}.contents li a small{color:var(--muted);font-size:inherit;margin-right:.4rem}.contents li.read a:after{content:" ✓";color:var(--box-say)}.contents li.here a{background:var(--pen-soft);font-weight:600}@media (max-width:900px){.reader,[data-contents=closed] .reader{grid-template-columns:minmax(0,1fr)}.contents,[data-contents=closed] .contents{z-index:25;left:0;top:var(--bar);width:min(21rem,88vw);box-shadow:var(--shadow);display:none;position:fixed}.reader.drawer .contents{display:block}}.sheet{min-width:0;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,5vw,3rem) 4rem}.column{max-width:44rem;margin:0 auto}.chapter-head{margin-bottom:2.25rem}.chapter-head .label{font:500 1rem var(--font-ui), sans-serif;color:var(--pen);margin-bottom:.4rem}.chapter-head h1{letter-spacing:-.02em;font-size:clamp(1.9rem,4.5vw,2.7rem);font-weight:600}.chapter-head .time{color:var(--muted);margin-top:.6rem;font-size:.88rem}.turn{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:4rem;padding-top:1.5rem;display:grid}.turn a{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:10px;padding:.9rem 1rem;text-decoration:none;display:block}.turn a:hover{border-color:var(--pen)}.turn small{color:var(--muted);margin-bottom:.15rem;font-size:.82rem;display:block}.turn .next{text-align:right;grid-column:2}.turn span{font:600 1rem/1.3 var(--font-read), serif}.prose-wrap,.stage{position:relative}[data-view] .reader{height:calc(100dvh - var(--bar));overflow:hidden}[data-view] .sheet{height:calc(100dvh - var(--bar));min-height:0;padding:clamp(1rem,3.5vh,2.25rem) clamp(1rem,4vw,3rem) 0}[data-view] .stage{flex-direction:column;max-width:44rem;height:100%;margin:0 auto;display:flex}[data-view="2"] .stage{max-width:calc(80rem + 48px)}[data-view="3"] .stage{max-width:calc(108rem + 96px)}[data-view="4"] .stage{max-width:calc(136rem + 144px)}[data-view] .pane{perspective:2400px;touch-action:pan-y pinch-zoom;flex:1;min-height:0;position:relative;overflow:hidden}[data-view] .column{column-fill:auto;column-rule:1px solid color-mix(in srgb, var(--line) 60%, transparent);column-gap:48px;max-width:none;height:100%;margin:0}[data-view] .turn{break-inside:avoid;margin-top:2.5rem}[data-view] .chapter-head,[data-view] .prose figure,[data-view] .prose tr,[data-view] .prose li{break-inside:avoid}[data-view] .prose h2,[data-view] .prose h3,[data-view] .prose h4{break-after:avoid}[data-view] .prose img{max-height:calc(100dvh - var(--bar) - 15rem);width:auto}[data-view] .prose figure{margin:1.2em 0}[data-view] .prose table{display:table}.folio{height:2.6rem;font:.8rem var(--font-ui), sans-serif;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;display:flex}.leaf-rest,.leaf-under,.leaf,.fold-cover,.fold-flap,.fold-cast{z-index:5;pointer-events:none;position:absolute;top:0;bottom:0;left:0}.leaf-rest,.fold-cover{background:var(--paper);right:0;overflow:hidden}.leaf-rest{right:auto}.leaf{z-index:6;transform-origin:0;transform-style:preserve-3d}.leaf-face{background:var(--paper);backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.leaf-face.back{transform:rotateY(180deg)}.leaf-shade{pointer-events:none;position:absolute;inset:0}.leaf-face .leaf-shade{background:linear-gradient(90deg,#00000047,#0000000f 35%,#ffffff0f)}.leaf-face.back .leaf-shade{background:linear-gradient(270deg,#00000047,#0000000f 35%,#ffffff0f)}.leaf-rest .leaf-shade{background:linear-gradient(270deg,#0000004d,#0000 55%)}.leaf-under{background:linear-gradient(90deg,#00000052,#0000 45%)}.fold-flap{z-index:6;background:color-mix(in srgb, var(--paper) 88%, var(--ink));right:0;box-shadow:-6px 0 18px #00000040}.fold-crease{background:linear-gradient(90deg,#0000,#ffffff1a 55%,#00000038);position:absolute;top:0;bottom:0;left:0}.fold-cast{z-index:5;background:linear-gradient(90deg,#0000004d,#0000)}.view-pick{position:relative}.view-btn{border:1px solid var(--line);height:2.25rem;color:var(--ink);background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:0 .7rem;font-size:.88rem;font-weight:500;display:inline-flex}.view-btn:hover{background:var(--sunk)}.view-btn[aria-expanded=true]{border-color:var(--pen);color:var(--pen)}.view-menu{min-width:16rem;padding:.35rem;display:grid;top:calc(100% + 6px);right:0}.view-menu small{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.view-menu button{color:var(--ink);text-align:left;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:.7rem;padding:.5rem .6rem;display:flex}.view-menu button:hover{background:var(--sunk)}.view-menu button[aria-checked=true]{color:var(--pen);font-weight:600}.pages-icon{gap:2px;width:1.6rem;height:1.1rem;display:inline-flex}.pages-icon i{border:1.5px solid;border-radius:2px;flex:1}.pages-icon[data-n=scroll] i{border-bottom-style:dashed;flex:none;width:.8rem;margin:0 auto}.prose{font:var(--read) / 1.72 var(--font-read), Georgia, serif;overflow-wrap:break-word}.prose>section>:first-child,.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.15em}.prose h2{letter-spacing:-.01em;margin:2.2em 0 .7em;font-size:1.5em;font-weight:600}.prose h3{margin:1.8em 0 .6em;font-size:1.2em;font-weight:600}.prose h4,.prose h5{font:600 1em var(--font-ui), sans-serif;margin:1.6em 0 .5em}.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.4em}.prose li{margin:.3em 0}.prose li>p{margin-bottom:.5em}.prose strong{font-weight:700}.prose dt{margin-top:.9em;font-weight:600}.prose dd{margin:.2em 0 0 1.2em}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin:1.4em 0;padding-left:1.1em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose img{background:#fff;border-radius:6px;max-width:100%;height:auto;margin:0 auto;display:block}.prose figure{margin:2em 0}.prose figcaption{font:.85em/1.45 var(--font-ui), sans-serif;color:var(--muted);text-align:center;margin-top:.7em}.prose .fignum{color:var(--ink);font-weight:600}.prose .part-blurb{color:var(--muted);font-size:1.15em}.prose table{border-collapse:collapse;max-width:100%;font:.88em/1.45 var(--font-ui), sans-serif;margin:1.6em 0;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55em .8em}.prose th{border-bottom:2px solid var(--line);white-space:nowrap;font-weight:600}.prose caption{caption-side:bottom;color:var(--muted);padding-top:.6em;font-size:.95em}.prose code{font:.86em var(--font-code), ui-monospace, monospace;background:var(--code-bg);border-radius:4px;padding:.12em .35em}.prose pre{font:.84rem/1.6 var(--font-code), ui-monospace, monospace;tab-size:2;margin:0;padding:1rem 1.1rem;overflow-x:auto}.prose pre code{font:inherit;white-space:pre;background:0 0;border-radius:0;padding:0}.prose .codeblock{background:var(--code-bg);border:1px solid var(--line);border-radius:8px;margin:.6em 0 1.6em;position:relative}.prose .src{font:.8rem var(--font-code), ui-monospace, monospace;color:var(--muted);margin-bottom:-.4em;display:block}.prose p:has(>.src:only-child){margin-bottom:.4em}.prose pre.log{background:var(--log-bg);border-left:3px solid var(--pen);border-radius:8px;font-size:.78rem;line-height:1.55}.prose .codeblock:has(pre.log){background:0 0;border-color:#0000}.copy-btn{z-index:1;border:1px solid var(--line);background:var(--surface);width:2rem;height:2rem;color:var(--muted);opacity:0;border-radius:6px;transition:opacity .12s;position:absolute;top:.45rem;right:.45rem}.copy-btn:before{content:"";-webkit-mask:var(--icon-copy) center / 1rem no-repeat;-webkit-mask:var(--icon-copy) center / 1rem no-repeat;mask:var(--icon-copy) center / 1rem no-repeat;background:currentColor;position:absolute;inset:0}.codeblock:hover .copy-btn,.copy-btn:focus-visible,.copy-btn.copied{opacity:1}.copy-btn:hover{color:var(--ink);border-color:var(--muted)}.copy-btn.copied{color:var(--box-say);border-color:var(--box-say);width:auto;padding:0 .6rem 0 1.9rem}.copy-btn.copied:before{width:1rem;-webkit-mask-image:var(--icon-check);-webkit-mask-image:var(--icon-check);mask-image:var(--icon-check);inset:0 auto 0 .45rem}.copy-btn.copied:after{content:"Copied";font:600 .78rem var(--font-ui), sans-serif}@media (hover:none){.copy-btn{opacity:1}}:root{--icon-copy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z'/%3E%3Cpath d='M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z'/%3E%3C/svg%3E");--icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 1 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z'/%3E%3C/svg%3E")}.prose .kw,.prose .cf,.prose .im{color:var(--tok-key)}.prose .st,.prose .vs,.prose .ss,.prose .ch,.prose .sc{color:var(--tok-str)}.prose .fu,.prose .bu,.prose .ex{color:var(--tok-fn)}.prose .dv,.prose .fl,.prose .bn,.prose .cn,.prose .pp,.prose .va{color:var(--tok-num)}.prose .dt{color:var(--tok-type)}.prose .at,.prose .ot{color:var(--tok-attr)}.prose .co,.prose .an,.prose .do,.prose .cv,.prose .in{color:var(--tok-com);font-style:italic}.prose .op{color:var(--tok-op)}.prose .er,.prose .al{color:var(--tok-err);font-weight:600}.prose .box{--box:var(--box-ref);border-left:3px solid var(--box);background:color-mix(in srgb, var(--box) 7%, var(--surface));border-radius:0 8px 8px 0;margin:1.8em 0;padding:1.1em 1.25em .2em;font-size:.95em}.prose .box-label{font:600 .85rem var(--font-ui), sans-serif;color:var(--box);margin-bottom:.5em;display:block}.prose .box.run,.prose .box.try,.prose .box.turn,.prose .box.example{--box:var(--box-do)}.prose .box.warn,.prose .box.warning,.prose .box.important{--box:var(--box-warn)}.prose .box.debug,.prose .box.check,.prose .box.quiz{--box:var(--box-look)}.prose .box.words,.prose .box.story,.prose .box.note,.prose .box.tip{--box:var(--box-say)}.prose .box .codeblock{background:var(--code-bg)}mark.hl{background:color-mix(in srgb, var(--c) calc(var(--hl-mix) * 100%), transparent);color:inherit;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:.08em 0}mark.hl[data-color=yellow]{--c:var(--hl-yellow)}mark.hl[data-color=mint]{--c:var(--hl-mint)}mark.hl[data-color=coral]{--c:var(--hl-coral)}mark.hl[data-color=sky]{--c:var(--hl-sky)}mark.hl[data-color=violet]{--c:var(--hl-violet)}mark.hl[data-note]{border-bottom:2px dotted var(--ink)}mark.hl.open{box-shadow:0 2px 0 var(--pen)}mark.hl.flash,[data-b].flash{animation:1.6s ease-out flash}@keyframes flash{0%,40%{box-shadow:0 0 0 4px color-mix(in srgb, var(--pen) 45%, transparent)}to{box-shadow:0 0 0 4px #0000}}@media (prefers-reduced-motion:reduce){mark.hl.flash,[data-b].flash{animation:none}}.ribbon{z-index:6;background:var(--pen);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);border:0;width:.9rem;height:1.45rem;margin-top:.3rem;margin-left:-1.7rem;padding:0;position:absolute}.ribbon:hover{filter:brightness(1.2)}@media (max-width:560px){.ribbon{width:.6rem;margin-left:-.9rem}}.swatch{background:var(--c);border:1px solid #0000002e;border-radius:50%;width:1.5rem;height:1.5rem;padding:0}.swatch[data-color=yellow]{--c:var(--hl-yellow)}.swatch[data-color=mint]{--c:var(--hl-mint)}.swatch[data-color=coral]{--c:var(--hl-coral)}.swatch[data-color=sky]{--c:var(--hl-sky)}.swatch[data-color=violet]{--c:var(--hl-violet)}.swatch:hover{transform:scale(1.12)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.floating{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font:.9rem var(--font-ui), sans-serif;border-radius:10px;position:absolute}.pick{align-items:center;gap:.45rem;padding:.4rem .55rem;display:flex}.pick .sep{background:var(--line);width:1px;height:1.3rem;margin:0 .15rem}.pick .word{background:0 0;border:0;border-radius:6px;padding:.3rem .5rem;font-weight:500}.pick .word:hover{background:var(--sunk)}.card{width:min(21rem,100vw - 2rem);padding:.85rem}.card .row{align-items:center;gap:.45rem;margin-bottom:.7rem;display:flex}.card textarea{resize:vertical;border:1px solid var(--line);background:var(--paper);border-radius:8px;width:100%;min-height:4.5rem;padding:.55rem .65rem;line-height:1.45}.card .foot{justify-content:space-between;align-items:center;margin-top:.6rem;display:flex}.card .btn{padding:.4rem .8rem;font-size:.88rem}.link-btn{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:.3rem .4rem;font-weight:500}.link-btn:hover{color:var(--ink);background:var(--sunk)}.toast{z-index:40;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);white-space:nowrap;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast button{color:inherit;text-underline-offset:.18em;background:0 0;border:0;margin-left:.9rem;padding:0;font-weight:600;text-decoration:underline}.filters-open{display:none}.filters{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:1rem 1.25rem;margin:1.75rem 0 .5rem;padding:1.1rem 1.25rem 1.25rem;display:grid}.filters .group{min-width:0;color:var(--muted);align-content:start;gap:.35rem;font-size:.82rem;font-weight:500;display:grid}.filters select,.filters input[type=search]{border:1px solid var(--line);background-color:var(--paper);width:100%;height:2.4rem;color:var(--ink);border-radius:8px;padding:0 .75rem;font-size:.92rem}.filters select{appearance:none;background-image:var(--icon-down);text-overflow:ellipsis;background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.3rem}.filters select:hover,.filters input[type=search]:hover{border-color:var(--muted)}.filters input[type=search]::placeholder{color:var(--muted);opacity:.8}.seg{border:1px solid var(--line);background:var(--paper);border-radius:8px;max-width:100%;height:2.4rem;display:flex;overflow:hidden}.seg button{color:var(--muted);border:0;border-right:1px solid var(--line);white-space:nowrap;background:0 0;flex:1;padding:0 .9rem;font-size:.9rem}.seg button:last-child{border-right:0}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--pen);color:var(--on-pen);font-weight:600}.filters .colors{align-items:center;gap:.55rem;height:2.4rem;display:flex}@media (max-width:900px){.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filters .wide{grid-column:1/-1}}@media (max-width:560px){.sift{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 .75rem;margin-top:1rem;display:grid}.filters-open{padding:.45rem .9rem;font-size:.92rem;display:inline-flex}.sift .count{text-align:right;flex-wrap:wrap;order:1;justify-content:flex-end;gap:0 .5rem;margin:0}.filters{order:2;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:.75rem 0 0;padding:1rem}.filters[data-open=false]{display:none}.seg button{padding:0 .4rem}}.count{color:var(--muted);align-items:center;gap:1rem;margin:1.1rem 0 .4rem;font-size:.9rem;display:flex}.notes{margin:0;padding:0;list-style:none}.notes .group-name{font:600 1.1rem var(--font-read), serif;margin:2rem 0 .4rem}.ask{font:500 .85rem var(--font-ui), sans-serif;color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;display:inline-flex}.ask input{width:1rem;height:1rem;accent-color:var(--pen);cursor:pointer;margin:0}.ask:has(input:checked){color:var(--pen)}.card .row .ask{margin-left:auto}.note[data-question] .quote:before{content:"?";background:var(--pen);width:1.25em;height:1.25em;color:var(--paper);font:700 .75em var(--font-ui), sans-serif;vertical-align:.15em;border-radius:50%;place-items:center;margin-right:.45em;display:inline-grid}.note:not(.box){border-bottom:1px solid var(--line);grid-template-columns:4px 1fr auto;gap:0 1rem;padding:1rem 0;display:grid}.note .strip{background:var(--c,var(--pen));border-radius:2px}.note[data-color=yellow]{--c:var(--hl-yellow)}.note[data-color=mint]{--c:var(--hl-mint)}.note[data-color=coral]{--c:var(--hl-coral)}.note[data-color=sky]{--c:var(--hl-sky)}.note[data-color=violet]{--c:var(--hl-violet)}.note .quote{font:1.02rem/1.6 var(--font-read), serif;white-space:pre-wrap;overflow-wrap:anywhere;max-width:68ch;margin:0}.note .quote.code{font:.85rem/1.55 var(--font-code), monospace}.note .mine{background:var(--sunk);white-space:pre-wrap;border-radius:6px;max-width:68ch;margin:.55rem 0 0;padding:.5rem .75rem;font-size:.93rem}.note .mine:before{content:"Your note: ";font-weight:600}.note .from{color:var(--muted);margin-top:.55rem;font-size:.85rem}.note .from a{color:var(--muted)}.note .from a:hover{color:var(--pen)}.note .kind{color:var(--ink);font-weight:600}.note .side{align-items:start;gap:.25rem;display:flex}@media (max-width:560px){.note:not(.box){grid-template-columns:4px 1fr}.note .side{grid-column:2;margin-top:.5rem}}.deck{max-width:46rem;margin:1.5rem auto 0}.deck-at{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:1rem;font-size:.9rem;display:flex}.deck-at span{white-space:nowrap}.deck-at .meter{flex:1;max-width:none}.deck-at .meter>span{transition:width .2s ease-out}.flash{border:1px solid var(--line);background:var(--surface);min-height:clamp(16rem,46vh,24rem);box-shadow:var(--shadow);touch-action:pan-y;border-radius:14px;flex-direction:column;justify-content:center;margin-top:.9rem;padding:clamp(1.5rem,5vw,2.75rem);transition:transform .2s ease-out;animation:.22s ease-out deal;display:flex}@keyframes deal{0%{opacity:0;transform:translateX(calc(var(--from,1) * 2.5rem))}}.flash[data-color=yellow]{--c:var(--hl-yellow)}.flash[data-color=mint]{--c:var(--hl-mint)}.flash[data-color=coral]{--c:var(--hl-coral)}.flash[data-color=sky]{--c:var(--hl-sky)}.flash[data-color=violet]{--c:var(--hl-violet)}.flash .quote{font:clamp(1.1rem, 2.4vw, 1.3rem)/1.7 var(--font-read), serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.flash .quote span{background:color-mix(in srgb, var(--c) calc(var(--hl-mix) * 100%), transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:.08em 0}.flash .mine{background:var(--sunk);white-space:pre-wrap;border-radius:6px;margin:1.1rem 0 0;padding:.6rem .85rem;font-size:.95rem}.flash .mine:before{content:"Your note: ";font-weight:600}.flash .from{color:var(--muted);margin-top:1.4rem;font-size:.85rem}.flash .from a{color:var(--muted)}.flash .from a:hover{color:var(--pen)}.flash.end{text-align:center;box-shadow:none;background:0 0;border-style:dashed;align-items:center}.flash.end h2{font-size:1.4rem;font-weight:600}.flash.end p{max-width:34ch;color:var(--muted);font:1rem/1.55 var(--font-read), serif;margin:.6rem 0 0}.deck-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:1.1rem;display:grid}.deck-bar>:first-child{justify-self:start}.deck-bar>:last-child{justify-self:end}.deck-hint{text-align:center;color:var(--muted);margin:1rem 0 0;font-size:.85rem}.deck-hint .touch{display:none}@media (hover:none){.deck-hint .touch{display:inline}.deck-hint .keys{display:none}}@media (max-width:560px){.deck{margin-top:1rem}.flash{min-height:min(15rem,36svh);margin-top:.7rem;padding:1.4rem 1.25rem}.flash .from{margin-top:1rem}.deck-bar{margin-top:.9rem}.deck-bar .word{display:none}.deck-bar .btn{padding:.6rem .85rem}.deck-hint{margin-top:.7rem}}@media (prefers-reduced-motion:reduce){.flash{transition:none;animation:none}.deck-at .meter>span{transition:none}}.download{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-top:1rem;font-size:.9rem;display:flex}.download .btn{padding:.45rem .9rem;font-size:.92rem}.download .kept{color:var(--box-say);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.download .meter{width:100%}.download [role=alert]{width:100%;color:var(--tok-err)}.link{border-bottom:1px solid var(--line);background:var(--sunk);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem .45rem;padding:.35rem 1rem;font-size:.85rem;display:flex}.link svg{flex:none}.link button{color:var(--pen);background:0 0;border:0;align-items:center;gap:.3rem;margin-left:.3rem;padding:0;font-weight:600;display:inline-flex}.door{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.door-in{text-align:center;justify-items:center;gap:1.5rem;max-width:30rem;display:grid}.door h1{font-size:2rem;font-weight:600}.door-in>p{color:var(--muted);font:1.05rem/1.55 var(--font-read), serif;margin:0}@media print{.top,.reader-bar,.contents,.turn,.copy-btn,.floating,.ribbon,.deck-bar,.deck-hint,.link,.download{display:none!important}.reader{grid-template-columns:1fr!important}}.note .side .ask{margin:.4rem .5rem 0 0}
