@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-vietnamese-wght-normal.3jl0_j8w0bekq.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-ext-wght-normal.2c7zyf29vrghw.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-wght-normal.0oxh562_148qc.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}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.0sqs6uof-0amz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.1n25945oofmoi.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1nbavbgzpe520.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.13meln3u2wrw1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.13urx6ctg50nq.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.3jezoma1zzezb.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.0ai7gdju0gby9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.2u9cx6ke8pzx4.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.0ceeqphcbp8x9.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.0rj0k8-86v7v_.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1-h52z97c7bce.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.0fuh4fyjfo9ap.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.44593i8-29wbg.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.0jidoswe0j9qb.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.112yeov4xlg05.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.0ni4769h0x31g.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0ufg9694ueuse.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.1ts2y1qr3h2f8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.012d1stzl51ip.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.38v_v5lab-ej5.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-ext-500-normal.2mcl7017j3tww.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.18qmapxmuwhn3.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2broe1i9movoa.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.0f8eq302mdpld.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.16h6o2_j8rsce.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.3juwc1-_leybj.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.2tlxqadn_cmsz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.3csci4y08h_ps.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.0h_04yfamc884.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1fh4va1m5wx0j.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.0f-wuky6h_rs9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.2_uiyrwt0npgh.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-ext-600-normal.1uvdyv9iryn4j.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.01k4adpnb_n12.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.11xxlm8n0_7w8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.0o-mv26yr1hzk.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.0_q8wa_t-7-c7.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.1-h66gx1kjeux.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.2dcg25_89g34d.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.1r3eey-1tdqwh.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.40ek894ady0so.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.0blsyrk14nago.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1ih4rrmj883u6.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0hj8bqnym411c.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.19gbeb610ur4n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.3nj-glub930lh.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.2tfs-ajhr_27q.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.29wincfdhpbow.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.30hm7mcic8nak.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1g2cl4geicio1.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.400h8-n7y356b.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2w9-mj8vy__-b.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.2yypdhrkbqnza.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.3-fgi0nn_mag-.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.25_05y-blbp24.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.20ixcot5hpnm-.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(../media/newsreader-vietnamese-400-italic.10jewcswudklw.woff2)format("woff2"),url(../media/newsreader-vietnamese-400-italic.36lpxf-nvzshb.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(../media/newsreader-latin-ext-400-italic.1fz7fe9vtnwju.woff2)format("woff2"),url(../media/newsreader-latin-ext-400-italic.1v99witwbbg2c.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(../media/newsreader-latin-400-italic.02qxcef_o81-x.woff2)format("woff2"),url(../media/newsreader-latin-400-italic.2tnkq408w5chv.woff)format("woff");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}
:root{--bg:#0e1217;--fg:#ede8e0;--mute:#98a0a8;--line:#262d36;--acc:#8fa6bf;--acc2:#7aa394;--card:#141a21;--s1:#2b4a44;--s2:#4a3445;--s3:#2a3d55;--glow:#8fa6bf1a;--foil:#c9b78c;--board1:#2d353f;--board2:#1a2027;--amber:#e4b97a;--mauve:#c79aae;--font-display:"Space Grotesk Variable", "Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-serif:"Newsreader", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a{color:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.skip{background:var(--bg);border:1px solid var(--acc);z-index:10;padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:12.5px}.display{font-family:var(--font-display);font-weight:500}.acc{color:var(--acc)}.acc2{color:var(--acc2)}.mute{color:var(--mute)}.lk:hover,.ln:hover{color:var(--acc)}.ln{padding:6px 0;text-decoration:none;display:inline-block}.btn{border:1px solid var(--acc);min-height:46px;color:var(--acc);border-radius:0;align-items:center;padding:0 22px;font-weight:500;text-decoration:none;display:inline-flex}.btn.quiet{border-color:var(--line);color:var(--mute)}.btn:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:block}.dot--done{background:#9fd0bd}.dot--amber{background:var(--amber)}.dot--sage{background:var(--acc2)}.dot--mauve{background:var(--mauve)}.dot--ring{border:1.5px solid var(--mute);background:0 0}.dot--ring-amber{border:1.5px solid var(--amber);background:0 0}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rise{animation:.9s cubic-bezier(.2,.7,.2,1) both rise}.draw{transform-origin:0;animation:1.1s cubic-bezier(.2,.7,.2,1) .2s both draw}.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.wrap.wide{max-width:1180px}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 32px;padding:20px 0;display:flex}.brand{text-decoration:none}.brand span{color:var(--acc)}.nav{flex-wrap:wrap;gap:0 28px;display:flex}.nav a{color:var(--mute);padding:12px 0;text-decoration:none;display:inline-block}.nav a:hover{color:var(--acc)}.hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 48px;padding:44px 0 72px;display:flex}.hero-main{flex:480px;min-width:0}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;max-width:20em;margin:0 0 14px;font-size:clamp(28px,3.4vw,42px);font-weight:500;line-height:1.15}.hero p{max-width:46ch;color:var(--mute);margin:0;font-size:17px}.avail{border-left:2px solid var(--acc2);flex:0 280px;padding:2px 0 2px 18px}.avail-title{color:var(--acc2);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:12px;font-size:22px;font-weight:500;display:flex}.avail-title .dot{background:var(--acc2);flex-basis:10px;width:10px;height:10px}.avail-where{color:var(--mute);margin-top:8px;font-size:11.5px}.shelf-sec{background:radial-gradient(ellipse 55% 42% at 28% 58%, var(--glow), transparent 100%);padding:0 0 24px}.books{flex-wrap:wrap;align-items:flex-end;gap:9px;padding:56px 12px 0;display:flex}.spine{color:#f2ede4;cursor:pointer;font:inherit;background-image:linear-gradient(90deg,#0000006b 0%,#ffffff21 16%,#ffffff08 42%,#0000001f 74%,#00000075 100%),repeating-linear-gradient(0deg,#ffffff05 0 1px,#00000008 1px 3px);border:0;border-radius:2px 2px 0 0;flex-direction:column;justify-content:space-between;align-items:center;padding:82px 0 14px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff24,inset 2px 0 1px #ffffff0d,inset -2px 0 3px #0000004d}.spine:before,.spine:after{content:"";border-top:1px solid var(--foil);border-bottom:1px solid var(--foil);opacity:.75;pointer-events:none;position:absolute;left:0;right:0}.spine:before{height:5px;top:62px}.spine:after{height:5px;bottom:64px}.spine.v2:before{height:9px;top:56px}.spine.v2:after{display:none}.spine.v3:before{height:2px;top:58px}.spine.v3:after{height:2px;box-shadow:0 8px 0 -1px var(--foil);bottom:70px}.spine:hover{transform:translateY(-10px)}.spine.on{box-shadow:inset 0 2px 0 #ffffff24, inset -2px 0 3px #0000004d, 0 0 0 1.5px var(--acc), 0 20px 26px -12px #0000008c;transform:translateY(-18px)}.ttl{writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:.02em;color:var(--foil);text-shadow:0 1px #00000073;font-size:17px;font-weight:500}.ttl.ivory{color:#f2ede4}.stt{flex-direction:column;align-items:center;gap:6px;display:flex}.stt .dot{flex-basis:8px;width:8px;height:8px}.stt .mono{font-size:10.5px}.ghost-1{border:1px dashed var(--line);border-bottom:0;border-radius:2px 2px 0 0;justify-content:center;align-items:center;width:52px;height:280px;margin-left:24px;display:flex}.ghost-1 span{writing-mode:vertical-rl;color:var(--mute);font-size:11px}.ghost-2{margin-left:10px}.ghost-2 div{border:1px dashed var(--line);transform-origin:0 100%;border-bottom:0;border-radius:2px 2px 0 0;width:36px;height:220px;transform:rotate(-7deg)}.count{color:var(--mute);text-align:right;margin-bottom:22px;margin-left:auto;font-size:11.5px;line-height:1.7}.board{background:linear-gradient(180deg, var(--board1), var(--board2));border-top:1px solid #ffffff24;border-radius:0 0 2px 2px;height:16px;box-shadow:0 16px 22px -12px #0000008c}.board.sm{height:14px;box-shadow:0 14px 20px -12px #0000008c}.ruler{background-image:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 12px);height:9px;margin-top:8px}.panel{flex-wrap:wrap;gap:24px 48px;padding:40px 0 8px;display:flex}.panel-call{flex:0 0 120px}.panel-main{flex:380px;min-width:0}.panel-main h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 12px;font-size:34px;font-weight:500;line-height:1.1}.panel-main p{max-width:52ch;color:var(--mute);margin:0 0 14px}.panel-links{flex-wrap:wrap;flex:0 260px;align-content:flex-start;gap:10px;display:flex}.now{border-top:1px dashed var(--line);flex-wrap:wrap;flex:100%;gap:20px 48px;margin-top:8px;padding-top:28px;display:flex}.now-label{color:var(--acc2);flex:0 0 120px}.now-body{flex:380px;min-width:0}.commits{border:1px solid var(--line);background:var(--card);padding:4px 18px}.commits.on-card{background:var(--bg)}.commit{border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:4px 20px;padding:12px 0;display:flex}.commit:last-child{border-bottom:0}.commit .when{color:var(--mute);flex:0 0 90px}.commit .msg{min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;flex:220px;font-size:14px}.commits-note{color:var(--mute);margin:10px 0 0}.tools-sec{padding:72px 0 64px}.sec-label{color:var(--acc);margin-bottom:28px}.tools-grid{flex-wrap:wrap;gap:40px 64px;padding-bottom:56px;display:flex}.tools-col{flex:380px;min-width:0}.h3d{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 16px;font-size:26px;font-weight:500}.list{border-top:1px dashed var(--line)}.kv{border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:2px 20px;padding:12px 0;display:flex}.kv .k{color:var(--mute);flex:0 0 110px}.kv .v{flex:200px}.now-item{border-bottom:1px dashed var(--line);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.ring{border:1.5px solid var(--acc2);border-radius:50%;flex:0 0 8px;height:8px;margin-top:9px}.sub{color:var(--mute);font-size:14.5px}.cred-head{border-bottom:2px solid var(--acc);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:36px;padding-bottom:14px;display:flex}.cred-head h3{margin:0}@property --k{syntax:"<color>";inherits:true;initial-value:#97a1a9}.cd{filter:drop-shadow(0 -3px 4px #00000061);margin-top:-36px;transition:--k .4s;position:relative}.cd:first-child{margin-top:0}.k1{--k:#97a1a9}.k2{--k:#ada595}.k3{--k:#9aa79c}.k4{--k:#a89ca5}.cd.on{--k:#e7e1d3}.ctab{background-color:var(--k);color:#16191d;width:30%;height:36px;font:inherit;cursor:pointer;text-align:left;border:0;border-radius:14px 14px 0 0;align-items:center;gap:12px;padding:0 18px;transition:filter .2s;display:flex;position:relative}.ctab:before,.ctab:after{content:"";pointer-events:none;width:14px;height:14px;position:absolute;bottom:0}.ctab:before{background:radial-gradient(circle at 0 0, transparent 13.5px, var(--k) 14px);left:-14px}.ctab:after{background:radial-gradient(circle at 100% 0, transparent 13.5px, var(--k) 14px);right:-14px}.ctab:hover{filter:brightness(1.1)}.ctab .y{font-family:var(--font-mono);letter-spacing:.06em;opacity:.62;flex:none;font-size:11.5px}.ctab .t{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:500;overflow:hidden}.p0{margin-left:18px}.p1{margin-left:35%}.p2{margin-left:calc(70% - 18px)}.sheet{background-color:var(--k);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");border-top:0 solid #9a5f72;border-radius:0 4px 4px;min-height:48px;padding:0 clamp(18px,3vw,36px);transition:padding .45s cubic-bezier(.2,.7,.2,1),border-top-width .3s;position:relative;box-shadow:inset 0 1px #ffffff59}.sheet:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;background-image:repeating-linear-gradient(#0000 0 38px,#283c5a21 38px 39px);transition:opacity .4s;position:absolute;inset:0}.cd.on .sheet{border-top-width:2px;padding-top:24px;padding-bottom:62px}.cd.on .sheet:before{opacity:1}.det-wrap{grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1);display:grid}.cd.on .det-wrap{grid-template-rows:1fr}.det{color:#16191d;visibility:hidden;opacity:0;flex-wrap:wrap;align-items:baseline;gap:10px 40px;min-height:0;transition:opacity .25s,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s .45s;display:flex;position:relative;overflow:hidden;transform:translateY(-6px)}.cd.on .det{visibility:visible;opacity:1;transition:opacity .35s .12s,transform .45s cubic-bezier(.2,.7,.2,1) 80ms,visibility;transform:none}.det .no{opacity:.6;flex:0 0 120px}.det .main{flex:300px;min-width:0}.det .name{font-family:var(--font-display);letter-spacing:-.01em;font-size:24px;font-weight:500;line-height:1.3;display:block}.det .issuer{opacity:.65;margin-top:6px;display:block}.det .verify{color:#16191d;text-underline-offset:4px;margin-left:auto;text-decoration:underline}.about-sec{padding:8px 0 72px}.about-grid{flex-wrap:wrap;align-items:flex-start;gap:36px 64px;display:flex}.about{flex:420px;min-width:0;max-width:38em;font-size:20px;line-height:1.65}.about-gif{border:1px solid var(--line);background:var(--card);flex:0 300px;min-width:0;margin:0;padding:10px}.about-gif img{width:100%;height:auto;display:block}.about p{margin:0 0 22px}.about p.quiet{color:var(--mute);margin:0}.contact{flex-wrap:wrap;gap:44px 72px;padding:64px 0 56px;display:flex}.contact-main{flex:440px;min-width:0}.contact h2{font-family:var(--font-display);letter-spacing:-.02em;max-width:13em;margin:0 0 20px;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.08}.contact h2 em{font-family:var(--font-serif);color:var(--acc);font-style:italic;font-weight:400}.contact-main>p{max-width:46ch;color:var(--mute);margin:0 0 32px}.mail-btn{border:0;border-bottom:2px dashed var(--acc);font-family:var(--font-display);color:var(--fg);cursor:pointer;background:0 0;padding:6px 0;font-size:clamp(22px,2.6vw,30px);display:inline-block}.mail-btn span{color:var(--acc)}.elsewhere{border:1px solid var(--line);background:var(--card);flex:0 300px;align-self:flex-end;padding:14px 20px 8px}.elsewhere-head{justify-content:space-between;padding-bottom:10px;display:flex}.elsewhere a{border-top:1px dashed var(--line);justify-content:space-between;gap:16px;padding:12px 0;text-decoration:none;display:flex}.elsewhere a:hover{color:var(--acc)}.elsewhere a .mono{color:var(--mute)}.foot-bottom{border-top:1px dashed var(--line);color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:20px 0 48px;display:flex}.case-hero{padding:48px 0 40px}.back{color:var(--mute);margin-bottom:28px;padding:8px 0;text-decoration:none;display:inline-block}.case-status{color:var(--acc2);align-items:center;gap:10px;margin-bottom:20px;display:flex}.case-status.amber{color:var(--amber)}.case-title{font-family:var(--font-display);letter-spacing:-.03em;max-width:12em;margin:0 0 28px;font-size:clamp(38px,6vw,76px);font-weight:500;line-height:1.02}.case-title.tight{margin-bottom:12px}.case-tag{color:var(--acc);margin-bottom:24px}.case-intro{max-width:46ch;color:var(--mute);margin:0 0 36px;font-size:20px;line-height:1.55}.case-links{flex-wrap:wrap;gap:12px;margin-bottom:44px;display:flex}.meta{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:0 32px;display:flex}.meta>div{flex:200px;padding:16px 0}.meta .mono{color:var(--mute)}.case-note{max-width:64ch;color:var(--mute);margin:20px 0 0;font-size:15.5px}.fig{border:1px solid var(--line);background:var(--card);margin:0 0 56px}.fig img{width:100%;height:auto;display:block}.fig-gif{justify-content:center;padding:clamp(14px,3vw,28px);display:flex}.fig-gif img{width:100%;max-width:520px;height:auto;display:block}.fig figcaption,.diagram figcaption{color:var(--mute);font-size:11.5px}.fig figcaption{border-top:1px dashed var(--line);padding:10px 14px}.diagram{border:1px solid var(--line);background:var(--card);margin:24px 0 28px;padding:20px 20px 12px}.diagram .scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.diagram svg{width:100%;min-width:720px;height:auto;display:block}.diagram figcaption{border-top:1px dashed var(--line);padding-top:10px}.mw-now{border:1px solid var(--line);background:var(--card);margin-bottom:56px;padding:26px clamp(18px,3vw,36px)}.mw-now .inner{flex-wrap:wrap;gap:20px 48px;display:flex}.case-grid{flex-wrap:wrap;align-items:flex-start;gap:0 72px;display:flex}.toc{flex:0 0 210px;padding-top:48px;position:sticky;top:24px}.toc-head{color:var(--acc);border-bottom:2px solid var(--acc);padding-bottom:10px}.toc a{color:var(--mute);border-bottom:1px dashed var(--line);gap:14px;padding:9px 0;font-size:15px;text-decoration:none;display:flex}.toc a:hover{color:var(--fg)}.toc .n{color:var(--acc);flex:0 0 22px}@media (max-width:900px){.toc{display:none}}.case-main{flex:560px;min-width:0}.h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 22px;font-size:clamp(28px,3.4vw,40px);font-weight:500;line-height:1.12}.h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 10px;font-size:21px;font-weight:500;line-height:1.25}.sec{border-top:1px dashed var(--line);padding:56px 0;scroll-margin-top:24px}.sec.first{border-top:0}.sec.last{padding-bottom:24px}.sec-n{color:var(--acc);margin-bottom:14px}.body p{max-width:64ch;margin:0 0 16px;font-size:18px;line-height:1.7}.body p.muted{color:var(--mute);font-size:16px}.body p.pull{font-family:var(--font-serif);color:var(--acc);max-width:28em;margin:28px 0 24px;font-size:26px;font-style:italic;line-height:1.4}.body ul{max-width:64ch;margin:0 0 16px;padding:0;list-style:none}.body li{padding:6px 0 6px 28px;font-size:18px;line-height:1.6;position:relative}.body li:before{content:"";border-top:1px solid var(--acc);width:14px;position:absolute;top:19px;left:0}.body b,.row b{font-weight:600}.rows{border-top:1px dashed var(--line);margin:8px 0 28px}.row{border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:6px 24px;padding:16px 0;font-size:17.5px;line-height:1.6;display:flex}.row.lead{align-items:baseline}.row .k{font-family:var(--font-display);flex:0 0 190px;font-size:18px;font-weight:500}.row .k.dotted{align-items:center;gap:12px;display:flex}.row .num{color:var(--acc);flex:0 0 40px}.row .v{flex:320px;min-width:0;max-width:62ch}.row .k .num-inline{color:var(--acc);margin-right:14px}.block{border-top:1px dashed var(--line);padding:28px 0}.h2+.block{border-top:0;padding-top:8px}.block:last-child{padding-bottom:0}.bars{border-top:1px dashed var(--line);max-width:64ch;margin:8px 0 32px}.bar-row{border-bottom:1px dashed var(--line);align-items:center;gap:16px;padding:11px 0;display:flex}.bar-row .name{flex:0 0 210px;font-size:16.5px}.bar-row .track{flex:auto}.bar-row .bar{background:var(--acc);opacity:.55;height:10px}.bar-row .count-n{text-align:right;flex:0 0 34px}.sv{fill:var(--fg);font:500 15px var(--font-display)}.ss{fill:var(--mute);font:11.5px var(--font-mono);letter-spacing:.04em}.bx{fill:var(--card);stroke:var(--line);stroke-width:1.4px}.ar{stroke:var(--acc);stroke-width:1.5px;fill:none}.case-foot{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:56px;padding:32px 0 56px;display:flex}.case-foot a{color:var(--acc)}.lost{padding:96px 0}.lost h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(34px,5vw,56px);font-weight:500}html{-webkit-text-size-adjust:100%}img,svg{max-width:100%}@media (max-width:900px){.hero{padding:32px 0 56px}.case-grid{gap:0}}@media (max-width:640px){body{font-size:16px}.site-header{padding:14px 0 8px}.nav{gap:0 20px}.hero{gap:24px}.avail{flex-basis:100%}.books{gap:7px;padding:44px 0 0}.ghost-1,.ghost-2{display:none}.count{text-align:left;flex-basis:100%;margin:6px 0 0}.panel{padding-top:28px}.panel-call{flex-basis:100%}.panel-main h2{font-size:28px}.now-label,.commit .when{flex-basis:100%}.tools-sec{padding:56px 0 48px}.kv .k{flex-basis:100%}.cred-head{margin-bottom:28px}.ctab{width:58%;padding:0 12px}.ctab .t{font-size:13.5px}.ctab .y{display:none}.p0{margin-left:10px}.p1{margin-left:21%}.p2{margin-left:calc(42% - 10px)}.det .no{flex-basis:100%}.det .name{font-size:20px}.det .verify{margin-left:0}.about{font-size:18px}.about-sec{padding-bottom:56px}.contact{padding:48px 0 40px}.elsewhere{flex-basis:100%}.case-hero{padding:32px 0 28px}.case-intro{font-size:18px}.case-links{margin-bottom:32px}.meta>div{border-bottom:1px dashed var(--line);flex-basis:100%;padding:12px 0}.meta>div:last-child{border-bottom:0}.sec{padding:44px 0}.body p,.body li{font-size:17px}.body p.pull{font-size:22px}.row .k,.row .v,.row .num{flex-basis:100%}.bar-row .name{flex-basis:120px;font-size:15px}.diagram{padding:14px 14px 10px}.fig,.mw-now{margin-bottom:40px}.case-foot{margin-top:40px}}@media (max-width:380px){.spine{padding-top:72px}.ttl{font-size:15px}}@media (min-width:1500px){body{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise,.draw{animation:none}.spine,.ctab,.cd,.sheet,.sheet:before,.det-wrap,.det{transition:none}}
