@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-italic-BTOWH4O7.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-italic-CO9zBbpA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-italic-jodr80a5.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-italic-CGHg0U1I.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-italic-ChpO6tcr.woff2) format("woff2"),url(/assets/fraunces-latin-400-italic-B7iDoVhm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-italic-C9H4s5GK.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-italic-Iu4UOzuF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-italic-D-eTYFHX.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-italic-CzWJT2mH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-italic-CjxnbVsv.woff2) format("woff2"),url(/assets/fraunces-latin-500-italic-Bp1RWfBU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,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(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,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:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brown-black: #1B1613;--brown-black-2: #241D19;--sepia: #C9A876;--sepia-dim: #9C8563;--magenta: #FF2FB0;--paper: #EFE6D3;--ink: #0C0A09;--sp-1: 8px;--sp-2: 16px;--sp-3: 24px;--sp-4: 32px;--sp-5: 48px;--sp-6: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;min-height:100%;background:var(--brown-black);overflow-x:hidden}body{font-family:Fraunces,Georgia,serif;color:var(--sepia);display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 50% 40%,#2a211b,#1b1613 60%,#100c0a)}#app{width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;z-index:5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.stage{position:relative;width:min(94vw,1180px);padding:var(--sp-5) var(--sp-3);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.book-wrap{position:relative;width:100%;max-width:1040px;aspect-ratio:8 / 5;perspective:2600px}.book{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;box-shadow:0 30px 70px #0000008c,0 4px 0 var(--ink)}.leaf{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0% 50%;transform-style:preserve-3d;backface-visibility:hidden;transition:transform .85s cubic-bezier(.61,.05,.29,.99);will-change:transform;border-radius:4px;overflow:hidden}.leaf.leaf-flipping{z-index:999!important}.leaf-inner{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brown-black-2);display:flex;align-items:center;justify-content:center;border:1px solid #362B22}.leaf-inner img{width:100%;height:100%;object-fit:contain;display:block;filter:saturate(1.05)}.leaf-sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.1) 48%,rgba(255,47,176,.08) 52%,transparent 70%);opacity:0;transition:opacity .85s ease}.leaf.leaf-flipping .leaf-sheen{opacity:1}.leaf-caption{position:absolute;left:var(--sp-3);bottom:var(--sp-3);font-style:italic;font-weight:400;font-size:clamp(13px,1.6vw,17px);color:var(--sepia);background:#0c0a098c;padding:6px 12px;border-radius:2px;max-width:70%}.leaf-cover{background:repeating-linear-gradient(135deg,#221a15,#221a15 2px,#1b1613 2px,#1b1613 4px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-4);cursor:pointer}.leaf-cover h1{font-size:clamp(28px,5vw,54px);letter-spacing:.02em;margin:0 0 var(--sp-2);color:var(--sepia);text-shadow:0 1px 0 rgba(0,0,0,.6)}.leaf-cover .sub{font-style:italic;color:var(--sepia-dim);font-size:clamp(13px,1.8vw,18px)}.leaf-cover .open-hint{margin-top:var(--sp-4);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--magenta);opacity:.85}.leaf-final{background:repeating-linear-gradient(135deg,#221a15,#221a15 2px,#1b1613 2px,#1b1613 4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-4);text-align:center}.tag{position:relative;background:var(--paper);color:var(--ink);padding:var(--sp-3) var(--sp-4);transform:rotate(-2deg);box-shadow:0 8px 18px #00000073;border-radius:2px}.tag:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:var(--brown-black);box-shadow:0 0 0 2px #7a6a50}.tag .tag-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6b5a3f;margin-bottom:6px}.tag .tag-ca{font-family:IBM Plex Mono,monospace;font-size:clamp(12px,1.6vw,16px);font-weight:600;letter-spacing:.01em;background:none;border:none;cursor:pointer;color:var(--ink);padding:4px 0}.tag .tag-ca:hover{color:var(--magenta)}.case-note{font-family:IBM Plex Mono,monospace;font-size:clamp(10px,1.3vw,12px);color:var(--sepia-dim);max-width:380px;line-height:1.6}.case-note b{color:var(--magenta);font-weight:600}.final-links{display:flex;gap:var(--sp-2);margin-top:var(--sp-1)}.final-links a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brown-black);background:var(--sepia);padding:10px 18px;border-radius:2px;text-decoration:none;transition:background .15s ease,transform .15s ease}.final-links a:hover{background:var(--magenta);color:var(--paper);transform:translateY(-1px)}.nav{display:flex;align-items:center;gap:var(--sp-3)}.nav button{font-family:IBM Plex Mono,monospace;background:transparent;border:1px solid var(--sepia-dim);color:var(--sepia);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,opacity .15s ease}.nav button:hover:not(:disabled){background:var(--sepia);color:var(--ink)}.nav button:disabled{opacity:.25;cursor:default}.page-count{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.08em;color:var(--sepia-dim);min-width:64px;text-align:center}.chrome-ca{position:fixed;left:var(--sp-2);bottom:var(--sp-2);z-index:40;background:var(--paper);color:var(--ink);padding:8px 12px;border-radius:2px;transform:rotate(-1.5deg);box-shadow:0 6px 14px #0006;max-width:min(78vw,340px)}.chrome-ca .chrome-ca-label{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6b5a3f;display:block;margin-bottom:2px}.chrome-ca button{font-family:IBM Plex Mono,monospace;font-size:clamp(10px,3vw,13px);font-weight:600;background:none;border:none;color:var(--ink);cursor:pointer;padding:0;word-break:break-all;text-align:left}.chrome-ca button:hover{color:var(--magenta)}.chrome-ca .copied-flash{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--magenta);display:none}.chrome-ca.is-copied .copied-flash{display:block}.chrome-ca.is-copied button{display:none}.chrome-socials{position:fixed;right:var(--sp-2);top:var(--sp-2);z-index:40;display:flex;gap:10px}.chrome-socials a{width:34px;height:34px;border-radius:50%;background:#efe6d3e6;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000059;transition:transform .15s ease,background .15s ease}.chrome-socials a:hover{transform:translateY(-2px);background:var(--sepia)}.chrome-socials a img{width:16px;height:16px}.chrome-socials a.buy{width:auto;border-radius:17px;padding:0 14px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none}@media (max-width: 640px){.stage{padding:var(--sp-3) var(--sp-2);gap:var(--sp-2)}.book-wrap{aspect-ratio:4 / 5}.leaf-caption{max-width:88%;font-size:13px}.chrome-ca{max-width:60vw}}@media (prefers-reduced-motion: reduce){.leaf,.leaf-sheen,.final-links a{transition:none}}
