@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-cyrillic-500-normal-GO7-LTbC.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-500-normal-DmDODJdV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-vietnamese-500-normal-Jyt54flB.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-500-normal-_Z41d-72.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:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-ext-500-normal-DE-Iylxw.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-500-normal-CFxFMdkY.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:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-normal-DIxvyhka.woff2) format("woff2"),url(/assets/playfair-display-latin-500-normal-BScSeVwi.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:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-cyrillic-500-italic-BS1KjYIg.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-500-italic-_V8ZrpNH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-vietnamese-500-italic-xd_fw9iO.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-500-italic-0BOUNE9g.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:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-ext-500-italic-CJ9rSulQ.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-500-italic-CJ9UIoiM.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:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-italic-BFrGFGAj.woff2) format("woff2"),url(/assets/playfair-display-latin-500-italic-CRSb1Pyp.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:Playfair Display;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/playfair-display-cyrillic-600-italic-DsJAm2wE.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-600-italic-D0MPwuIc.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/playfair-display-vietnamese-600-italic-CM5tQ_QU.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-600-italic-DzX7eaGQ.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:Playfair Display;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-ext-600-italic-Bg2sus4m.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-600-italic-Bkjhfatk.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:Playfair Display;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-italic-Bvp5b4iR.woff2) format("woff2"),url(/assets/playfair-display-latin-600-italic-BFV_U8S6.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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2) format("woff2"),url(/assets/outfit-latin-ext-400-normal-DHm7mdGe.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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2) format("woff2"),url(/assets/outfit-latin-ext-500-normal-DrCvqoFD.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2) format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2) format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.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{--paper: #fbf3e4;--ink: #4a2a1e;--rose: #c2476a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:Outfit,system-ui,sans-serif;background:#2a1a12;color:var(--ink);overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.stage{position:relative;height:100dvh;width:100%;display:grid;place-items:center;overflow:hidden;background:#2a1a12}.stage{background:#6b3d22 url(/pages/table-bg.webp) center / cover no-repeat}.book-area{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100dvh;box-sizing:border-box}.book-holder{position:relative}.book{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;perspective:1700px;perspective-origin:0% 50%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.book:active{cursor:grabbing}.book img{pointer-events:none;-webkit-user-drag:none;user-drag:none}.pg{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:3px 8px 8px 3px;overflow:hidden;transition:transform .75s cubic-bezier(.45,.05,.25,1),filter .3s ease;will-change:transform}.pg.is-gone{visibility:hidden;transition:transform .75s cubic-bezier(.45,.05,.25,1),visibility 0s linear .75s}.pg.is-hide{visibility:hidden;transition:none}.pg.no-anim{transition:none}.pg.is-lifting{filter:drop-shadow(16px 0 20px rgba(0,0,0,.38))}.pg-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;background:#1c0e08;opacity:var(--shade, 0)}.book-board{position:absolute;z-index:0;top:-10px;right:-12px;bottom:-14px;left:-8px;border-radius:10px 16px 16px 10px;background:linear-gradient(90deg,#00000059,#0000 8%),linear-gradient(135deg,#9a3f55,#5e2030);box-shadow:0 2px #ffffff1f inset,0 30px 50px -8px #000000a6,0 12px 18px #00000059}.book-edge{position:absolute;z-index:1;top:3px;right:-6px;bottom:-8px;left:2px;border-radius:3px 8px 8px 3px;background:#f4e9d2;box-shadow:1px 1px #d9c7a2,2px 2px #f7eedb,3px 3px #d3bf98,4px 4px #f4e9d2,5px 5px #c9b48b}.book-floor{position:absolute;z-index:0;left:-6%;right:-6%;bottom:-34px;height:46px;background:radial-gradient(ellipse at 50% 50%,#0009,#0000 68%);filter:blur(6px)}.mini-logo{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 8px);left:50%;width:clamp(72px,22vw,96px);height:auto;transform:translate(-50%);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 3px rgba(255,255,255,.85)) drop-shadow(0 3px 6px rgba(0,0,0,.5));animation:fade-in .6s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.counter{position:absolute;z-index:6;left:4px;top:calc(100% + 14px);padding:5px 14px;border-radius:999px;background:#fff3df29;border:1px solid rgba(255,243,223,.38);color:#fff3df;font-weight:600;font-size:14px;letter-spacing:.06em;pointer-events:none}.page{position:relative;width:100%;height:100%;overflow:hidden;background:var(--paper);container-type:inline-size;user-select:none;-webkit-user-select:none}.page-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:calc(var(--fx, .5) * 100%) 50%;pointer-events:none}.page-img.is-contain{object-fit:contain;object-position:50% 50%;top:4%;height:92%}.bg-blur{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background-size:cover;background-position:center;filter:blur(28px) saturate(1.1)}.page-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#28140a61,#28140a1f 3.5%,#28140a00 9%),linear-gradient(270deg,#28140a2e,#28140a00 2.5%)}.caption{position:absolute;left:5%;right:5%;bottom:4%;padding:3.6cqw 4.6cqw;background:#fff9eef0;border-radius:4.4cqw;box-shadow:0 .8cqw 3cqw #3c1e0a47;font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:500;font-size:5cqw;line-height:1.32;text-align:center;color:var(--ink);opacity:0;transform:translateY(2cqw);transition:opacity .35s ease,transform .35s ease}.caption.is-on{opacity:1;transform:none}.caption .word{display:inline-block;white-space:nowrap}.caption .ch{display:inline-block;opacity:0}.caption.is-on .ch{animation:letter-in .42s var(--d, 0ms) cubic-bezier(.3,1.7,.5,1) both}@keyframes letter-in{0%{opacity:0;transform:translateY(.45em) scale(.3)}55%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.bubble{--left: calc((var(--bx) * 1% - (1 - var(--f, 1)) * var(--fx, .5) * 100%) / var(--f, 1));position:absolute;left:max(2.5%,var(--left));top:calc(var(--by) * 1%);width:min(calc(var(--bw) * 1% / var(--f, 1)),94%);padding:2.4cqw 3cqw;background:#fff;color:#2d1a12;border:.7cqw solid #2d1a12;border-radius:5cqw;font-family:Outfit,system-ui,sans-serif;font-weight:600;font-size:4.6cqw;line-height:1.15;text-align:center;box-shadow:0 .8cqw 2cqw #0003;opacity:0;transform:scale(.4)}.bubble.is-on{animation:pop .5s var(--delay, 0s) cubic-bezier(.3,1.6,.5,1) both}.bubble:after{content:"";position:absolute;top:100%;left:var(--tail-x);width:4cqw;height:4cqw;margin-left:-2cqw;margin-top:-2.2cqw;background:#fff;border-right:.7cqw solid #2d1a12;border-bottom:.7cqw solid #2d1a12;transform:rotate(45deg)}.bubble--left:after{top:50%;left:0;margin:-2cqw 0 0 -2.2cqw;border:0;border-left:.7cqw solid #2d1a12;border-bottom:.7cqw solid #2d1a12}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.page--cover{background:linear-gradient(90deg,#0000006b,#00000024 4%,#0000 10%),linear-gradient(270deg,#00000038,#0000 3%),radial-gradient(ellipse at 35% 22%,#ffffff24,#fff0 55%),linear-gradient(135deg,#9a3f55,#5e2030)}.page--cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.32;mix-blend-mode:multiply;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='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .05  0 0 0 0 .08  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.cover-frame{position:absolute;top:5%;right:5%;bottom:5%;left:9%;border:.55cqw solid rgba(240,207,138,.75);border-radius:3cqw;box-shadow:inset 0 0 0 1.4cqw #0000,inset 0 0 0 1.5cqw #f0cf8a00,0 .3cqw .8cqw #00000059 inset;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5cqw;padding:6cqw;text-align:center}.cover-frame:after{content:"";position:absolute;top:1.6cqw;right:1.6cqw;bottom:1.6cqw;left:1.6cqw;border-radius:2cqw;border:.3cqw dashed rgba(240,207,138,.4);pointer-events:none}.title-logo{width:100%;height:auto;filter:drop-shadow(0 0 1cqw rgba(255,243,220,.55)) drop-shadow(0 1.2cqw 1.6cqw rgba(0,0,0,.4))}.title-sub{margin:0;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:5.2cqw;color:#f0cf8a;text-shadow:0 .2cqw .5cqw rgba(0,0,0,.4)}.back h2{margin:0;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:9cqw;color:#f0cf8a;font-weight:600}.back-text,.back-from{margin:0;white-space:pre-line;font-family:Playfair Display,Georgia,serif;font-style:italic;color:#f7e6c4}.back-text{font-size:5.4cqw;line-height:1.5}.back-from{font-size:5.2cqw;font-weight:600;color:#f0cf8a}.back-heart{font-size:12cqw;color:#ff7b96;animation:beat 1.4s ease-in-out infinite}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}}.turn-icon{position:absolute;z-index:8;right:4px;top:calc(100% + 8px);width:38px;height:38px;border-radius:50%;background:#fff3df29;border:1px solid rgba(255,243,223,.38);color:#fff3df;display:grid;place-items:center;overflow:hidden;pointer-events:none}.turn-arrow{position:absolute;left:5px;top:20px;width:15px;height:15px;opacity:.6}.turn-hand{position:absolute;left:10px;top:4px;width:20px;height:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));animation:turn-swipe 1.8s ease-in-out infinite}.turn-icon--label{width:auto;height:38px;padding:0 14px 0 40px;border-radius:999px;display:flex;align-items:center;overflow:hidden}.turn-label{font-size:13.5px;font-weight:500;white-space:nowrap}@keyframes turn-swipe{0%{transform:translate(7px) rotate(8deg);opacity:0}20%{opacity:1}70%{transform:translate(-7px) rotate(-8deg);opacity:1}to{transform:translate(-7px) rotate(-8deg);opacity:0}}.hearts{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hearts span{position:absolute;bottom:-8%;color:#ff5b83;opacity:0;text-shadow:0 0 8px rgba(255,255,255,.6);animation-name:rise;animation-iteration-count:infinite;animation-timing-function:ease-in}@keyframes rise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.95}to{transform:translateY(-165cqw) translate(4cqw) scale(1.2);opacity:0}}
