@font-face{font-family:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-cyrillic-ext-wght-normal-H0EkCrRc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-cyrillic-wght-normal-BkRNFNOU.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-greek-ext-wght-normal-C8BmqigA.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-greek-wght-normal-fF26NVkV.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-vietnamese-wght-normal-BF64gvp4.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:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-latin-ext-wght-normal-DZej46sE.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:Noto Serif Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-display-latin-wght-normal-DZCd2g7q.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.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:Ephesis;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ephesis-vietnamese-400-normal-D_Xf8QaN.woff2)format("woff2"),url(/assets/ephesis-vietnamese-400-normal-C5y_CzXM.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:Ephesis;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ephesis-latin-ext-400-normal-DJrwFHmc.woff2)format("woff2"),url(/assets/ephesis-latin-ext-400-normal-Bcu7VRsB.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:Ephesis;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ephesis-latin-400-normal-DD9ASYIA.woff2)format("woff2"),url(/assets/ephesis-latin-400-normal-D0pq_F72.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{--wood:#5a3b24;--ink:#2a1f18;--ink-soft:#5e4a3a;--paper:#efe6d4;--paper-hi:#f8f2e6;--bronze:#8d673d;--ivory:#f1e6d2;--ivory-dim:#f1e6d2b8;--sun:#ffd39a;--foil:#9f7a43;--f-display:"Noto Serif Display Variable", "Noto Serif", Georgia, serif;--f-text:"Newsreader Variable", "Noto Serif", Georgia, serif;--f-ui:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--f-hand:"Ephesis", "Newsreader Variable", cursive;--sdx:.55;--sdy:.83;--slen:1;--ease-paper:cubic-bezier(.22, .61, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto;overflow-x:clip}body{min-height:100vh;background:var(--wood);min-height:100svh;color:var(--ivory);font-family:var(--f-text);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}img{max-width:100%}button{font:inherit;color:inherit}:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #ffd9a6}.nw{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--paper);color:var(--ink);font:500 14px var(--f-ui);border-radius:8px;padding:10px 14px;text-decoration:none;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}.table{background-color:var(--wood);isolation:isolate;background-image:url(/assets/go-ban-DnM1Ajx1.webp);background-repeat:repeat;background-size:min(1024px,180vw);position:relative}.table:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#ffdcaa0d,#0000 30%,#00000026);position:absolute;top:0;bottom:0;left:0;right:0}section{z-index:1;max-width:100%;position:relative}.scene{pointer-events:none;z-index:40;contain:strict;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.scene-under{pointer-events:none;z-index:0;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.lt{position:absolute;top:0;bottom:0;left:0;right:0}.lt-pool{background:radial-gradient(ellipse calc(var(--hw,62vmax) * .62) calc(var(--hh,50vmax) * .58) at var(--lx,46%) var(--ly,40%), rgba(255, 214, 150, calc(.34 * var(--sun-o,1))), rgba(255, 190, 120, calc(.1 * var(--sun-o,1))) 55%, transparent 75%)}.lt-amb{background:radial-gradient(ellipse var(--hw,62vmax) var(--hh,50vmax) at var(--lx,46%) var(--ly,40%), #0c060200 0%, #0c060200 28%, rgba(12, 6, 2, var(--amb,.55)) 100%)}.lt-sun{width:120vmax;height:120vmax;transform:translate(var(--gx,-20vmax), var(--gy,-30vmax)) rotate(var(--gr,-24deg)) skewX(var(--gs,16deg));transform-origin:50%;opacity:var(--sun-o,1);top:0;bottom:auto;left:0;right:auto}.lt-gobo{opacity:.2;filter:blur(9px);width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.lt-leaves{opacity:.22;filter:blur(6px);transform-origin:30% 20%;width:46%;height:46%;position:absolute;top:4%;left:6%}.lt-dusk{mix-blend-mode:multiply;opacity:var(--dusk,0);background:linear-gradient(#1d2240,#2f2944 70%,#3a2a2a)}.lt-vig{background:radial-gradient(90% 80% at 50% 45%,#0000 60%,#0804014d)}.lite .lt-dusk{mix-blend-mode:normal;opacity:calc(var(--dusk,0) * .55)}.fireflies{pointer-events:none;z-index:74;mix-blend-mode:screen;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.lite .fireflies{mix-blend-mode:normal}.btn{background:var(--ink);min-height:46px;color:var(--paper-hi);font:500 15px/1 var(--f-ui);letter-spacing:.01em;cursor:pointer;transition:transform .25s var(--ease-paper), background-color .25s;border:1px solid #2b201980;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;display:inline-flex;box-shadow:0 10px 22px -12px #000c}.btn:hover{background:#3a2b20;transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-quiet{color:var(--ink);background:0 0}.btn-quiet:hover{background:#2b201914}.s-letter{min-height:100vh;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100svh;padding:max(72px,min(10vh,108px)) 16px 96px;display:flex}.letter{z-index:2;width:min(100%,420px);color:var(--ink);position:relative}.panel{position:relative}html.letter-closed,.letter-closed body{overflow:hidden}.letter-closed main>section:not(#loi-moi){display:none}.letter-closed .s-letter{height:100vh;height:100svh;overflow:hidden}.face{background-color:var(--paper);background-image:linear-gradient(160deg,#ffffff38,#fff0 40%,#5a3c1e0f),url(/assets/giay-do-DNze-z98.webp);background-size:auto,384px}.face-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:30px 26px;display:flex;position:relative}.fold-shade{opacity:0;pointer-events:none;background:#1a0f06;position:absolute;top:0;bottom:0;left:0;right:0}.letter:not(.is-rigged) .face.back,.letter:not(.is-rigged) .letter-actions,.letter:not(.is-rigged) .letter-shadow{display:none}.letter:not(.is-rigged){box-shadow:0 30px 60px -20px #000c}.letter:not(.is-rigged) .p-a{order:-1}.letter:not(.is-rigged){flex-direction:column;display:flex}.js.letter-closed .letter:not(.is-rigged){box-shadow:none;margin-top:max(0px,50vh - 330px);margin-top:max(0px,50svh - 330px)}.js.letter-closed .letter:not(.is-rigged) .panel:not(.p-a),.js.letter-closed .letter:not(.is-rigged) .p-a .face.front{display:none}.js.letter-closed .letter:not(.is-rigged) .p-a .face.back{display:block;box-shadow:14px 22px 34px #08030099}.js.letter-closed .letter:not(.is-rigged) .cover-inner{min-height:500px}.letter.is-rigged{width:var(--lw);height:var(--lh)}.is-rigged .panel{width:var(--pw);height:var(--ph);transform-style:preserve-3d;position:absolute}.is-rigged .face{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.is-rigged .p-mid{z-index:1}.is-rigged .p-b{z-index:2}.is-rigged .p-a{z-index:3}.letter[data-axis=y] .p-a{transform-origin:50% 100%;top:0;left:0}.letter[data-axis=y] .p-mid{left:0;top:var(--ph)}.letter[data-axis=y] .p-b{left:0;top:calc(var(--ph) * 2);transform-origin:50% 0}.letter[data-axis=y] .face.back{transform:rotateX(180deg)}.letter[data-axis=x] .p-a{transform-origin:100%;top:0;left:0}.letter[data-axis=x] .p-mid{left:var(--pw);top:0}.letter[data-axis=x] .p-b{left:calc(var(--pw) * 2);transform-origin:0;top:0}.letter[data-axis=x] .face.back{transform:rotateY(180deg)}.letter[data-axis=y] .p-mid .front{box-shadow:inset 0 1px #ffffff80,inset 0 -1px #5a3c1e2e,inset 0 8px 10px -10px #5a3c1e59,inset 0 -8px 10px -10px #5a3c1e4d}.letter[data-axis=x] .p-mid .front{box-shadow:inset 1px 0 #ffffff80,inset -1px 0 #5a3c1e2e,inset 8px 0 10px -10px #5a3c1e59,inset -8px 0 10px -10px #5a3c1e4d}.letter-shadow{left:var(--sl,0);top:var(--st,0);width:var(--sw,100%);height:var(--sh,100%);box-shadow:calc(var(--sdx) * 18px * var(--slen)) calc(var(--sdy) * 26px * var(--slen)) 34px #0803009e, calc(var(--sdx) * 3px) calc(var(--sdy) * 4px) 6px #08030073;z-index:0;position:absolute}.cover-inner{gap:0}.cover-inner:before,.cover-inner:after{content:"";pointer-events:none;border-radius:2px;position:absolute}.cover-inner:before{top:16px;bottom:16px;left:16px;right:16px;box-shadow:inset 1px 1px #5a3e2438,inset -1px -1px #ffffffb3,1px 1px #ffffffa6,-1px -1px #5a3e2424}.cover-inner:after{top:22px;bottom:22px;left:22px;right:22px;box-shadow:inset 1px 1px #5a3e2424,inset -1px -1px #ffffff8c}.cover-cameo{aspect-ratio:.78;width:88px;box-shadow:0 0 0 3px #f6f1e6, 0 0 0 4px #8d673dbf, calc(var(--sdx) * 4px) calc(var(--sdy) * 6px) 10px #28140559;border-radius:50%;margin:0;display:block;position:relative;overflow:hidden}.cover-cameo img{object-fit:cover;object-position:50% 16%;background-size:cover;width:100%;height:100%;display:block}.cover-kicker{font:italic 400 18px/1 var(--f-text);color:var(--ink-soft);margin:0 0 4px}.cover-inner{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='132' viewBox='0 0 132 132'%3E%3Cg fill='none' stroke-width='1' stroke-linejoin='round'%3E%3Cg stroke='%23ffffff' stroke-opacity='.55' transform='translate(66 67)'%3E%3Cpath d='M0 -20 C6 -12 7 -2 0 8 C-7 -2 -6 -12 0 -20Z M-2 8 C-12 5 -17 -5 -14 -14 C-8 -9 -3 -2 -2 8Z M2 8 C12 5 17 -5 14 -14 C8 -9 3 -2 2 8Z M-24 11 C-10 16 10 16 24 11'/%3E%3C/g%3E%3Cg stroke='%235a3c1e' stroke-opacity='.08' transform='translate(66 66)'%3E%3Cpath d='M0 -20 C6 -12 7 -2 0 8 C-7 -2 -6 -12 0 -20Z M-2 8 C-12 5 -17 -5 -14 -14 C-8 -9 -3 -2 -2 8Z M2 8 C12 5 17 -5 14 -14 C8 -9 3 -2 2 8Z M-24 11 C-10 16 10 16 24 11'/%3E%3C/g%3E%3Cpath stroke='%235a3c1e' stroke-opacity='.06' d='M0 10 C4 4 12 4 14 10 M118 122 C122 116 130 116 132 122'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-size:132px 132px;padding-bottom:96px}.cameo-row{justify-content:center;align-items:center;gap:10px;margin:0 0 18px;display:flex}.orn-cloud{width:44px;height:20px;color:var(--foil);filter:drop-shadow(0 1px #ffffffb3)}.orn-cloud.r{transform:scaleX(-1)}.orn-divider{width:150px;height:16px;color:var(--foil);filter:drop-shadow(0 1px #ffffffa6);margin:6px auto 14px;display:block}.orn-lotus{width:36px;height:25px;color:var(--foil);filter:drop-shadow(0 1px #ffffffa6);margin:18px auto 0;display:block}.orn-frame{pointer-events:none;color:#8d673d80;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.orn-corner{filter:drop-shadow(0 1px #fff9);width:34px;height:34px;position:absolute}.orn-corner.tl{top:0;left:0}.orn-corner.tr{top:0;right:0;transform:scaleX(-1)}.orn-corner.bl{bottom:0;left:0;transform:scaleY(-1)}.orn-corner.br{bottom:0;right:0;transform:scale(-1)}.orn-cv{width:60px;height:60px;color:var(--foil)}.cover-inner>.orn-frame{top:14px;bottom:14px;left:14px;right:14px}.cover-seal{filter:drop-shadow(1px 3px 3px #3c0a0573);width:58px;height:58px;margin-left:-29px;position:absolute;bottom:24px;left:50%}.seal-half{position:absolute;top:0;bottom:0;left:0;right:0}.seal-half svg{width:100%;height:100%;display:block}.seal-half.l{clip-path:polygon(0 0,52% 0,46% 22%,55% 41%,47% 60%,54% 80%,49% 100%,0 100%)}.seal-half.r{clip-path:polygon(52% 0,100% 0,100% 100%,49% 100%,54% 80%,47% 60%,55% 41%,46% 22%)}.seal-broken .cover-seal{display:none}.cover-sheen{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.cover-sheen:before{content:"";mix-blend-mode:soft-light;opacity:0;background:linear-gradient(90deg,#0000,#fff8e480,#0000);width:45%;position:absolute;top:-20%;bottom:-20%;left:-60%;transform:translate(-60%)rotate(14deg)}.letter-closed .cover-sheen:before{animation:7.5s ease-in-out 2.4s infinite cover-sheen}@keyframes cover-sheen{0%{opacity:0;transform:translate(-60%)rotate(14deg)}6%{opacity:1}30%{opacity:1;transform:translate(420%)rotate(14deg)}34%,to{opacity:0;transform:translate(420%)rotate(14deg)}}.reduced .cover-sheen:before{animation:none}.cover-title{font:360 clamp(30px, 8.4vw, 38px)/1.12 var(--f-display);letter-spacing:-.005em;text-wrap:balance;max-width:9em;margin:0}.cover-name{font:400 20px/1.3 var(--f-text);margin:20px 0 0}.cover-date{font:400 13.5px/1 var(--f-ui);color:var(--ink-soft);letter-spacing:.03em;margin:10px 0 0}.back-mark{height:100%;color:var(--ink-soft);opacity:.55;font:400 14px var(--f-ui);place-items:center;display:grid}.who{gap:0;padding-top:34px}.portrait{width:min(48%,200px);box-shadow:calc(var(--sdx) * 4px) calc(var(--sdy) * 6px) 8px #28140559, 0 0 0 .5px #28140540;background:#f6f1e6;margin:0 0 22px;padding:7px;position:relative;transform:rotate(-2.2deg)}.portrait img{aspect-ratio:.74;object-fit:cover;object-position:50% 12%;background-size:cover;width:100%;height:auto;display:block}.corner{opacity:.9;z-index:2;background:linear-gradient(135deg,#2a1d14 50%,#0000 50%);width:22px;height:22px;position:absolute}.corner:after{content:"";background:linear-gradient(135deg,#ffffff2e 0 1px,#0000 2px 50%);position:absolute;top:0;bottom:0;left:0;right:0}.c1{top:-5px;left:-5px}.c2{top:-5px;right:-5px;transform:rotate(90deg)}.c3{bottom:-5px;right:-5px;transform:rotate(180deg)}.c4{bottom:-5px;left:-5px;transform:rotate(270deg)}.name{font:380 clamp(28px, 7.4vw, 36px)/1.15 var(--f-display);text-wrap:balance;margin:0}.honorific{font:italic 400 18px/1.4 var(--f-text);color:var(--ink-soft);display:block}.years{font:400 16px/1 var(--f-ui);letter-spacing:.06em;color:var(--ink-soft);font-variant-numeric:lining-nums;align-items:center;gap:12px;margin-top:12px;display:inline-flex}.years-dash{opacity:.6;background:currentColor;width:34px;height:1px;display:inline-block}.mid{gap:0}.occasion{font:360 clamp(26px, 6.8vw, 32px)/1.15 var(--f-display);text-wrap:balance;max-width:10em;margin:0 0 20px}.invite p{max-width:30ch;font:400 clamp(17px, 4.4vw, 18.5px)/1.62 var(--f-text);text-wrap:pretty;margin:0 auto}.invite p+p{color:var(--ink-soft);margin-top:14px;font-style:italic}.when{gap:0}.ev-day{font:italic 400 19px/1.3 var(--f-text);color:var(--ink-soft);margin:0}.ev-date{font:380 clamp(23px, 6vw, 27px)/1.2 var(--f-display);text-wrap:balance;margin:4px 0 0}.ev-lunar{font:italic 400 16px/1.4 var(--f-text);color:var(--ink-soft);margin:8px 0 0}.ev-time{font:500 16px var(--f-ui);margin:10px 0 0}.ev-place{font:400 15.5px/1.6 var(--f-ui);margin:4px 0 0;position:relative}.orn-mid{margin:-6px auto 18px}.orn-when{width:130px;margin:16px auto 10px}.map-link{color:var(--ink);font:500 14.5px/1 var(--f-ui);transition:background-color .25s, transform .25s var(--ease-paper);background:#fffcf48c;border:1px solid #5a3e2459;border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:8px 14px 8px 10px;text-decoration:none;display:inline-flex}.map-link:hover{background:#fffcf4f2;transform:translateY(-1px)}.map-link svg{fill:none;stroke:#8d2b1b;stroke-width:1.7px;stroke-linejoin:round;width:18px;height:18px}.signature{text-align:right;align-self:stretch;margin:26px 0 0;padding-right:6%}.sig{font:400 clamp(36px, 9vw, 44px)/1 var(--f-hand);color:#3b2a1c}.letter-actions{z-index:4;flex-direction:column;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.letter[data-axis=y] .letter-actions{top:calc(var(--ph) * 2 + 26px)}.letter[data-axis=x] .letter-actions{top:calc(var(--ph) + 28px)}.letter-actions .btn{background:var(--paper-hi);color:var(--ink);border-color:#0000;min-width:150px;font-size:16px}.letter-actions .btn:hover{background:#fff}.music-opt{font:400 13.5px var(--f-ui);color:var(--ivory-dim);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.music-opt input{accent-color:#e9c98f;width:16px;height:16px;margin:0}.letter.is-open .letter-actions{pointer-events:none}.scroll-cue{color:var(--ivory-dim);font:400 14px var(--f-ui);letter-spacing:.02em;flex-direction:column;align-items:center;gap:12px;margin-top:48px;text-decoration:none;display:inline-flex}.scroll-cue:after{content:"";background:linear-gradient(var(--ivory-dim), transparent);width:1px;height:46px;animation:cue 2.4s var(--ease-paper) infinite;transform-origin:top}@keyframes cue{0%{opacity:1;transform:scaleY(0)}70%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.scroll-cue{z-index:1;transition:opacity .6s .8s;position:relative}.letter-closed .scroll-cue{opacity:0;visibility:hidden;transition:none}.props{pointer-events:none;z-index:0;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.prop{box-shadow:calc(var(--sdx) * 12px) calc(var(--sdy) * 18px) 22px #08030099;padding:0;display:block;position:absolute}.prop img{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;display:block}.prop-1{width:min(46vw,300px);bottom:4vh;left:-6vw;transform:rotate(-9deg)}.prop-2{width:min(40vw,250px);top:14vh;right:-8vw;transform:rotate(7deg)}@media (max-width:899px){.prop-2{top:auto;bottom:22vh;right:-16vw}.prop-1{bottom:-7vh}}.fallen{width:var(--fw,48px);transform:rotate(var(--fr,0deg));display:block;position:absolute}.fallen svg{width:100%;height:auto;filter:drop-shadow(calc(var(--sdx) * 5px) calc(var(--sdy) * 7px) 3px #14080273);transition:transform 1.4s cubic-bezier(.3,.7,.3,1);display:block;overflow:visible}.gust .fallen svg{transition-duration:.5s;transform:translate(4px)rotate(7deg)}.gust .fallen:nth-child(2n) svg{transform:translate(-3px)rotate(-6deg)}.fl-1{--fw:56px;--fr:-28deg;top:13vh;left:7%}.fl-2{--fw:42px;--fr:41deg;bottom:34vh;right:8%}.fl-3{--fw:46px;--fr:112deg;bottom:3vh;left:30%}.props-close{z-index:0}.fl-4{--fw:54px;--fr:18deg;top:18%;left:9%}.fl-5{--fw:40px;--fr:-52deg;top:30%;right:11%}.fl-6{--fw:44px;--fr:140deg;bottom:14%;right:22%}@media (max-width:640px){.fl-1{--fw:44px;top:8vh;left:2%}.fl-2{--fw:34px;bottom:40vh;right:3%}.fl-3{--fw:38px;bottom:2vh;left:62%}.fl-4{--fw:40px;top:6%;left:3%}.fl-5{--fw:32px;top:64%;right:4%}.fl-6{--fw:36px;bottom:4%;right:30%}}.reduced .fallen svg{transition:none}.s-head{text-align:center;max-width:720px;margin:0 auto;padding:0 20px}.s-head h2{font:330 clamp(40px, 11vw, 74px)/1.04 var(--f-display);color:var(--ivory);letter-spacing:-.01em;text-shadow:0 2px 18px #00000073;text-wrap:balance;margin:0}.s-head p{font:italic 400 clamp(17px, 4.4vw, 20px)/1.5 var(--f-text);color:var(--ivory-dim);text-wrap:pretty;max-width:34ch;margin:14px auto 0}.s-spread{padding:14vh 0 12vh}.spread{width:min(1180px,100% - 24px);margin:56px auto 0;padding:0;list-style:none;position:relative}.spread:not(.is-laid){grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;display:grid}.spread.is-laid{height:var(--spread-h,auto)}.spread.is-laid .print{width:var(--w);transform:translate3d(var(--x), calc(var(--y) + var(--py,0px)), 0) rotate(var(--r));position:absolute;top:0;left:0}.print{--lift:0}.print-btn{cursor:zoom-in;text-align:left;background:0 0;border:0;border-radius:2px;width:100%;margin:0;padding:0;display:block;position:relative}.print-shadow{pointer-events:none;box-shadow:0 0 calc(14px + var(--lift) * 30px) rgba(8, 3, 0, calc(.62 - var(--lift) * .25));transform:translate(calc(var(--sdx) * var(--slen) * (7px + var(--lift) * 34px)), calc(var(--sdy) * var(--slen) * (10px + var(--lift) * 42px)));position:absolute;top:0;bottom:0;left:0;right:0}.print-paper{background:#f5f0e5;padding:3.4%;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 .5px #0000002e,0 1px 2px #00000059}.is-scan .print-paper{background:#d9cdb6;padding:0}.print-img{aspect-ratio:var(--ar);background-position:50%;background-size:cover;display:block;position:relative;overflow:hidden}.print-img img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;top:0;bottom:0;left:0;right:0}.print-img img.ld{opacity:1}.print-sheen{pointer-events:none;background:linear-gradient(115deg,#0000 32%,#fff8e63d 46%,#fff8e60d 54%,#0000 64%) 0 0/320% 100%;background-position:var(--shx,50%) 0;mix-blend-mode:screen;position:absolute;top:0;bottom:0;left:0;right:0}.print-btn:hover .print-sheen{--shx:30%}.s-box{padding:10vh 16px 14vh}.box-stage{perspective:1400px;place-items:center;margin-top:48px;display:grid}.box{aspect-ratio:1.5;cursor:pointer;width:min(86vw,440px);transform-style:preserve-3d;background:0 0;border:0;padding:0;display:block;position:relative}.box-shadow{box-shadow:calc(var(--sdx) * 22px * var(--slen)) calc(var(--sdy) * 30px * var(--slen)) 34px #060200b3;border-radius:3px;position:absolute;top:0;bottom:0;left:0;right:0}.box-inside{background:#3b291b;border-radius:3px;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:inset 0 0 0 6px #8e6a45,inset 0 0 0 7px #5b3f28,inset 0 14px 26px #000000b3}.peek{aspect-ratio:1.3;background-position:50%;background-size:cover;border:5px solid #f3eee2;width:42%;position:absolute;box-shadow:2px 4px 10px #0009}.peek-1{top:16%;left:10%;transform:rotate(-8deg)}.peek-2{top:22%;left:40%;transform:rotate(5deg)}.peek-3{top:40%;left:26%;transform:rotate(-2deg)}.box-lid{transform-origin:50%;background-blend-mode:normal, multiply;background-color:#a8814f;background-image:linear-gradient(150deg,#fff0d247,#fff0d200 45%,#28140038),url(/assets/giay-do-DNze-z98.webp);background-size:auto,300px;border-radius:4px;place-items:center;display:grid;position:absolute;top:-6px;bottom:-6px;left:-6px;right:-6px;box-shadow:inset 0 0 0 1px #ffe6be59,inset 0 -3px #3c230a59,inset 3px 0 #ffebc826}.box-lid:after{content:"";background:linear-gradient(#7a5632,#5a3d22 70%,#4a311b);border-radius:0 0 4px 4px;height:13px;position:absolute;top:calc(100% - 2px);left:0;right:0;box-shadow:inset 0 1px #ffdcaa2e}.box-out{aspect-ratio:1.42;width:40%;box-shadow:calc(var(--sdx) * 6px) calc(var(--sdy) * 9px) 12px #06020099;background-position:50%;background-size:cover;border:5px solid #f3eee2;position:absolute}.out-1{width:32%;top:4%;right:-4%;transform:rotate(13deg)}.out-2{width:32%;top:48%;left:-5%;transform:rotate(-9deg)}.lid-tape{clip-path:polygon(2% 8%,6% 0,12% 6%,20% 1%,30% 5%,42% 0,55% 4%,66% 0,78% 5%,88% 1%,96% 6%,100% 2%,98% 50%,100% 96%,92% 100%,84% 94%,72% 100%,60% 95%,48% 100%,36% 94%,24% 100%,14% 95%,4% 100%,0 92%,2% 50%);background:#f6efdeeb;padding:14px 30px 12px;display:block;transform:rotate(-3deg);box-shadow:0 1px 2px #0003}.lid-tape span{font:400 clamp(34px, 9vw, 44px)/1 var(--f-hand);color:#2f2117}.box-label{white-space:nowrap;background:var(--paper-hi);min-height:46px;color:var(--ink);font:500 15px/1 var(--f-ui);border-radius:999px;align-items:center;padding:0 22px;display:inline-flex;position:absolute;top:calc(100% + 30px);left:50%;transform:translate(-50%);box-shadow:0 10px 22px -12px #000c}.box:hover .box-label{background:#fff}.box[aria-expanded=true] .box-label{opacity:0}.archive{max-width:1180px;margin:120px auto 0}.archive[hidden]{display:none}.tabs{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tabs [role=tab]{cursor:pointer;min-height:44px;color:var(--ivory);font:500 15px var(--f-ui);background:#140a0459;border:1px solid #f1e6d259;border-radius:999px;padding:0 18px}.tabs [role=tab][aria-selected=true]{background:var(--paper-hi);color:var(--ink);border-color:#0000}.tabs .count{opacity:.6;margin-left:4px;font-weight:400}.group-note{text-align:center;min-height:1.5em;font:italic 400 17px/1.5 var(--f-text);color:var(--ivory-dim);margin:16px 0 0}.grid{grid-template-columns:repeat(3,1fr);gap:14px 12px;margin:24px 0 0;padding:0;list-style:none;display:grid}@media (min-width:640px){.grid{grid-template-columns:repeat(4,1fr);gap:22px 18px}}@media (min-width:1000px){.grid{grid-template-columns:repeat(6,1fr)}}.thumb{transform:rotate(var(--r,0deg))}.thumb button{cursor:zoom-in;width:100%;box-shadow:calc(var(--sdx) * 5px) calc(var(--sdy) * 8px) 12px #06020099;background:#f4efe3;border:0;padding:4%;display:block}.thumb .t-img{aspect-ratio:1;background-position:50%;background-size:cover;display:block;position:relative;overflow:hidden}.thumb img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s;display:block}.thumb img.ld{opacity:1}.thumb.guest .t-img:after{content:"Khách gửi";font:500 10.5px/1.4 var(--f-ui);color:var(--paper-hi);background:#1e120a9e;border-radius:999px;padding:2px 7px;position:absolute;bottom:6px;left:6px}#close-box{color:var(--ivory);border-color:#f1e6d266;margin:40px auto 0;display:flex}#close-box:hover{background:#f1e6d21a}.s-close{min-height:100vh;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:12vh 16px 16vh;display:flex}.thanks{text-align:center;width:min(100%,440px);color:var(--ink);background-color:var(--paper);box-shadow:calc(var(--sdx) * 16px * var(--slen)) calc(var(--sdy) * 24px * var(--slen)) 34px #060200a6, 0 1px 3px #0006;background-image:linear-gradient(160deg,#fff3,#fff0 40%,#5a3c1e14),url(/assets/giay-do-DNze-z98.webp);background-size:auto,384px;padding:40px 28px 32px;position:relative;transform:rotate(-1.2deg)}.thanks-text{font:360 clamp(26px, 7vw, 32px)/1.2 var(--f-display);text-wrap:balance;margin:0}.thanks-when{font:400 15.5px/1.6 var(--f-ui);color:var(--ink-soft);margin:18px 0 0}.map-link-thanks{margin-top:14px}.thanks-incense{font:italic 400 16.5px/1.45 var(--f-text);color:var(--ink-soft);margin:16px 0 0}.thanks-incense:before{content:"";vertical-align:middle;background:#ff8a3c;border-radius:50%;width:6px;height:6px;margin:0 8px 2px 0;display:inline-block;box-shadow:0 0 8px 2px #ff8c3c99}.thanks-incense[hidden]{display:none}.thanks-nav{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;display:flex}.epitaph{text-align:center;font:400 17px/1.5 var(--f-text);color:var(--ivory-dim);margin:56px 0 0}.epitaph .years{color:var(--ivory-dim);margin-top:8px;font-size:14px}.music,.room-pill{z-index:75;top:max(14px, env(safe-area-inset-top));cursor:pointer;height:46px;color:var(--ivory);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#180e0894;border:1px solid #f1e6d261;border-radius:999px;align-items:center;gap:10px;transition:opacity .5s,visibility .5s,background-color .25s;display:inline-flex;position:fixed}.music{right:max(14px, env(safe-area-inset-right));text-align:left;padding:0 16px 0 14px}.music:hover,.room-pill:hover{background:#301e12b8}.music-ico{flex:none;align-items:flex-end;gap:3px;height:16px;display:flex;position:relative}.music-ico i{background:currentColor;border-radius:1px;width:3px;height:5px;display:block}.music[aria-pressed=true] .music-ico i{animation:1.1s ease-in-out infinite bar}.music[aria-pressed=true] .music-ico i:nth-child(2){animation-delay:-.35s}.music[aria-pressed=true] .music-ico i:nth-child(3){animation-delay:-.7s}.music[aria-pressed=true] .music-ico i:nth-child(4){animation-delay:-.2s}.music[aria-pressed=false] .music-ico i:first-child{height:7px}.music[aria-pressed=false] .music-ico i:nth-child(2){height:11px}.music[aria-pressed=false] .music-ico i:nth-child(3){height:6px}.music[aria-pressed=false] .music-ico i:nth-child(4){height:9px}.music[aria-pressed=false] .music-ico:after{content:"";opacity:.8;background:currentColor;width:23px;height:1.5px;position:absolute;top:7px;left:-3px;transform:rotate(-40deg)}@keyframes bar{0%,to{height:4px}50%{height:16px}}.music-text{flex-direction:column;gap:2px;line-height:1.1;display:flex}.music-label{font:italic 500 15px/1.1 var(--f-text);letter-spacing:.01em;white-space:nowrap}.music-song{font:400 11.5px/1.1 var(--f-ui);color:var(--ivory-dim);white-space:nowrap}.music[aria-pressed=true] .music-label{color:#ffe2b0}.music-tip{white-space:nowrap;font:400 13px var(--f-ui);color:var(--ivory);opacity:0;pointer-events:none;background:#180e08c7;border-radius:999px;padding:7px 12px;transition:opacity .4s;position:absolute;top:calc(100% + 8px);right:0}.music-tip.show{opacity:1}.reduced .music[aria-pressed=true] .music-ico i{height:10px;animation:none}@media (max-width:380px){.music-song{display:none}.music{padding:0 14px 0 12px}}.room-pill{left:max(14px, env(safe-area-inset-left));font:500 14.5px/1 var(--f-ui);padding:0 8px 0 10px}.room-pill>span:not(.pill-count){padding-right:8px}.pill-count{color:#ffe2b0;min-width:30px;height:30px;font:500 13px/1 var(--f-ui);font-variant-numeric:tabular-nums;background:#ffc47829;border:1px solid #ffc88259;border-radius:999px;place-items:center;margin-left:-2px;padding:0 9px;display:inline-grid}.pill-count[hidden]{display:none}@media (max-width:640px){.room-pill{top:auto;bottom:max(16px, env(safe-area-inset-bottom));background:#1e120ab8;height:50px;box-shadow:0 10px 26px -10px #000c}}.letter-closed .room-pill,.room-open .room-pill{opacity:0;visibility:hidden}.ico-incense{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;flex:none;width:24px;height:24px}.ico-incense .ii-ember{fill:#ff8a3c;stroke:none;filter:drop-shadow(0 0 3px #ff8c3ce6)}.ico-incense .ii-bowl{fill:currentColor;stroke:none;opacity:.85}.ico-incense .ii-smoke{opacity:.7;stroke-width:1.2px;animation:3.2s ease-in-out infinite ii-smoke}@keyframes ii-smoke{0%,to{opacity:.25;transform:translateY(1px)}50%{opacity:.8;transform:translateY(-1px)}}.reduced .ico-incense .ii-smoke{animation:none}.btn-room .ico-incense{width:22px;height:22px;margin-left:-4px}.lightbox{z-index:76;touch-action:none;overscroll-behavior:contain;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox[hidden]{display:none}.lb-scrim{background:radial-gradient(80% 70% at 50% 45%,#2e1c0e9e,#120903cc);position:absolute;top:0;bottom:0;left:0;right:0}.lb-stage{flex-direction:column;align-items:center;gap:14px;margin:0;display:flex;position:relative}.lb-print{width:var(--lbw,80vw);position:relative}.lb-shadow{position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:30px 46px 60px -10px #000000bf}.lb-paper{background:#f6f1e6;padding:10px;display:block;position:relative}.lb-paper img{width:100%;height:auto;aspect-ratio:var(--lbar,1.33);object-fit:contain;background-color:#ddd2bf;background-position:50%;background-size:cover;display:block}.lb-status{text-align:center;font:400 15px/1.5 var(--f-ui);color:var(--ink);background:#f6f1e6db;place-items:center;padding:20px;display:none;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.lb-status.show{display:grid}.lb-status button{margin-top:10px}.lb-caption{text-align:center;max-width:min(90vw,640px);font:italic 400 17px/1.45 var(--f-text);color:var(--ivory);min-height:0}.lb-caption:empty{display:none}.lb-bar{left:0;right:0;bottom:max(18px, env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:22px;display:flex;position:absolute}.lb-count{font:400 14px var(--f-ui);color:var(--ivory-dim);text-align:center;font-variant-numeric:tabular-nums;min-width:64px}.lb-btn{cursor:pointer;width:48px;height:48px;color:var(--ivory);background:#1e120a99;border:1px solid #f1e6d266;border-radius:50%;place-items:center;padding:0;display:grid}.lb-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.lb-btn:hover{background:#3c2616cc}.lb-close{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));position:absolute}@media (min-width:900px){.lb-bar{bottom:26px}.invite p{font-size:19px}.occasion{font-size:33px}.name{font-size:38px}.ev-date{font-size:28px}.thanks{width:520px;padding:52px 44px 42px}.thanks-text{font-size:36px}}@media (prefers-reduced-motion:reduce){.scroll-cue:after{animation:none;transform:none}}.s-letter:before,.s-spread:before,.box-stage:before,.s-close:before,.archive:before{content:"";pointer-events:none;z-index:-1;position:absolute}.s-letter:before{width:min(170vw,1500px);height:115vh;background:radial-gradient(50% 46% at 50% 46%,#ffe2ac6b,#ffce8c29 52%,#0000 74%);height:115svh;top:0;left:50%;transform:translate(-50%)}.s-spread:before{background:radial-gradient(62% 48% at 50% 40%,#ffdca03d,#0000 72%);top:18vh;bottom:8vh;left:0;right:0}.spread-glow{pointer-events:none;z-index:0;list-style:none;position:absolute;top:-60px;bottom:-60px;left:-40px;right:-40px}.box-stage{position:relative}.box-stage:before{background:radial-gradient(closest-side,#ffd6964d,#ffc4821a 60%,#0000);width:min(150vw,900px);height:640px;top:50%;left:50%;transform:translate(-50%,-50%)}.archive{position:relative}.archive:before{background:radial-gradient(60% 50% at 50% 40%,#ffdca033,#0000 75%);top:-60px;bottom:-60px;left:-10vw;right:-10vw}.s-close:before{width:min(160vw,1200px);height:110vh;background:radial-gradient(ellipse 46% 40% at 50% 46%, rgba(255, 196, 112, calc(.2 + .32 * var(--lamp,0))), #ffaa5a14 58%, transparent 76%);height:110svh;top:50%;left:50%;transform:translate(-50%,-54%)}.s-head h2{text-shadow:0 2px 22px #2814068c,0 1px 2px #28140666}.s-head p{color:#f8eedcdb;text-shadow:0 1px 10px #28140699}.scroll-cue,.epitaph{text-shadow:0 1px 8px #28140699}@media (max-width:640px){.invite p{font-size:max(18px,min(4.9vw,19.5px));line-height:1.66}.invite p+p{margin-top:16px}.cover-date,.ev-place,.thanks-when{font-size:16px}.ev-lunar,.years{font-size:17px}.letter-actions .btn{min-width:210px;min-height:52px;font-size:17px}.music-opt{font-size:14.5px}.s-head p{font-size:18.5px}.tabs{grid-template-columns:1fr 1fr;gap:8px;max-width:420px;margin:0 auto;display:grid}.tabs [role=tab]{min-height:46px;padding:0 10px;font-size:15.5px}.tabs [role=tab]:last-child:nth-child(odd){grid-column:1/-1}.thanks-nav{flex-direction:column;align-items:stretch}.box-label{min-height:50px;font-size:16px}}.room{z-index:72;color:var(--ivory);position:fixed;top:0;bottom:0;left:0;right:0}.room[hidden]{display:none}.room-bg{background:radial-gradient(80% 60% at 50% 28%,#4b2e1b 0%,#2a180d 48%,#120a05 100%);position:absolute;top:0;bottom:0;left:0;right:0}.room-bg:before{content:"";opacity:.16;background:url(/assets/go-ban-DnM1Ajx1.webp) 50%/min(1024px,180vw);position:absolute;top:0;bottom:0;left:0;right:0}.room-glow{aspect-ratio:1;background:radial-gradient(closest-side,#ffc4784d,#ffa05017 55%,#0000);width:min(130vw,1100px);position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.room-floor{background:linear-gradient(#0000,#0006);height:32%;position:absolute;bottom:0;left:0;right:0}.room-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden auto}.room-bar{z-index:3;pointer-events:none;height:0;position:sticky;top:0}.room-close{left:max(14px, env(safe-area-inset-left));top:max(14px, env(safe-area-inset-top));cursor:pointer;pointer-events:auto;height:46px;color:var(--ivory);font:500 14.5px/1 var(--f-ui);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#180e0899;border:1px solid #f1e6d261;border-radius:999px;align-items:center;gap:4px;padding:0 18px 0 10px;display:inline-flex;position:absolute}.room-close:hover{background:#301e12bf}.room-close svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.room-grid{gap:64px;max-width:1240px;margin:0 auto;padding:84px 16px 12vh;display:grid;position:relative;overflow-x:clip}.room-altar{text-align:center;flex-direction:column;align-items:center;display:flex}.room-head h2{font:330 clamp(34px, 9vw, 52px)/1.06 var(--f-display);letter-spacing:-.01em;text-shadow:0 2px 20px #00000080;margin:0}.room-head p{max-width:32ch;font:italic 400 clamp(17px, 4.5vw, 19px)/1.5 var(--f-text);color:#f8eedcdb;margin:10px auto 0}.room-words{flex-direction:column;gap:64px;min-width:0;display:flex}@media (min-width:1000px){.room-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:72px;padding-top:0}.room-altar{min-height:100vh;justify-content:center;min-height:100svh;padding:70px 0 28px;position:sticky;top:0}.room-words{padding-top:150px}.room-head h2{font-size:max(40px,min(3.4vw,50px))}.room-head p{max-width:40ch}.room-glow{left:30%}}.stele{width:min(100%,470px);margin:26px 0 0;position:relative}@media (min-width:1000px){.stele{width:max(340px,min(100vh - 470px,460px));width:max(340px,min(100svh - 470px,460px));margin-top:18px}}.stele-stone{background-color:#ebe7df;background-image:linear-gradient(172deg,#fff6,#fff0 42%,#462d1424),url(/assets/da-bia-ceiUW5M3.webp);background-size:auto,420px;border-radius:7px 7px 3px 3px;padding:2.2%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8c,inset 0 2px 2px #ffffffb3,inset 0 -4px 8px #462d1438,0 2px #bdb5a6,0 5px #a0978a,0 34px 54px -16px #000c}.stele-svg{width:100%;height:auto;display:block}.st-inkwrap{color:#17130f}.st-hi{color:#ffffffb3}.st-panel{fill:#fffdf880}.st-word{font:800 54px var(--f-display)}.st-name{font:800 76px var(--f-display);letter-spacing:.005em}.st-hon{font:italic 600 42px var(--f-text)}.st-line{font:650 39px var(--f-text);font-variation-settings:"opsz" 18}.st-tiny{font:700 6.6px var(--f-ui);letter-spacing:.03em}.stele-sheen{pointer-events:none;--sx:-60%;background:linear-gradient(105deg, transparent calc(var(--sx) - 16%), #fffbee99 var(--sx), transparent calc(var(--sx) + 16%));mix-blend-mode:soft-light;position:absolute;top:0;bottom:0;left:0;right:0}.altar-table{z-index:2;justify-content:center;align-items:flex-end;gap:max(10px,min(5vw,40px));width:min(100%,470px);margin-top:34px;display:flex;position:relative}.altar-table:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#00000080,#0000);border-radius:50%;height:30%;position:absolute;bottom:2%;left:-4%;right:-4%}.censer-stage{aspect-ratio:320/300;--ember:.4;width:min(56vw,250px);position:relative}@media (min-width:1000px){.censer-stage{width:210px}}.candle{background:linear-gradient(90deg,#6d120f,#b52a22 30%,#e0574a 52%,#a7231c 80%,#5e100d);border-radius:3px 3px 2px 2px;flex:none;width:15px;height:max(70px,min(20vw,96px));margin-bottom:15%;position:relative;box-shadow:0 10px 14px -6px #0009}.candle:before{content:"";background:linear-gradient(#e2bb72,#9a6e35 70%,#6e4a20);border-radius:3px 3px 5px 5px;height:12px;position:absolute;bottom:-11px;left:-10px;right:-10px}.candle:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#ffcc8057,#ffaa5a1a 55%,#0000);width:150px;height:150px;animation:3.1s ease-in-out infinite candle-glow;position:absolute;top:-86px;left:50%;transform:translate(-50%)}.flame{transform-origin:50% 92%;background:radial-gradient(at 50% 74%,#fffbe8 0%,#ffe08a 28%,#ff9d3d 60%,#ff782800 76%);border-radius:50% 50% 45% 45%/62% 62% 38% 38%;width:12px;height:27px;margin-left:-6px;animation:2.3s ease-in-out infinite flicker;position:absolute;bottom:calc(100% + 4px);left:50%}.flame:before{content:"";background:#2a1a10;border-radius:1px;width:2px;height:8px;margin-left:-1px;position:absolute;bottom:-5px;left:50%}.candle-r .flame{animation-duration:2.9s;animation-delay:-1.2s}.candle-r:after{animation-delay:-1.4s}@keyframes flicker{0%,to{transform:scale(1)skew(0)}25%{transform:scale(1.05,.95)skew(2.5deg)}50%{transform:scale(.96,1.06)skew(-2deg)}75%{transform:scale(1.02,.98)skew(1deg)}}@keyframes candle-glow{0%,to{opacity:.8}50%{opacity:1}}.reduced .flame,.reduced .candle:after{animation:none}.censer{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.smoke{pointer-events:none;mix-blend-mode:screen;width:190%;height:190%;position:absolute;bottom:42%;left:-45%;-webkit-mask-image:linear-gradient(#0000 28%,#000 70% 100%);mask-image:linear-gradient(#0000 28%,#000 70% 100%)}.lite .smoke{mix-blend-mode:normal}.ember-pool{pointer-events:none;opacity:var(--ember);background:radial-gradient(50% 46% at 50% 52%,#ffac5c73,#ff8c3c1a 50%,#0000 72%);animation:3.6s ease-in-out infinite ember-breath;position:absolute;top:-25%;bottom:-25%;left:-45%;right:-45%}@keyframes ember-breath{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.stick .st-glow{transform-box:fill-box;transform-origin:50%;animation:1.7s ease-in-out infinite ember-flicker}.stick:nth-child(2n) .st-glow{animation-duration:2.3s;animation-delay:-.6s}.stick:nth-child(3n) .st-glow{animation-duration:1.4s;animation-delay:-1.1s}@keyframes ember-flicker{0%,to{opacity:.85;transform:scale(1)}40%{opacity:1;transform:scale(1.18)}70%{opacity:.7;transform:scale(.92)}}.reduced .ember-pool,.reduced .stick .st-glow{animation:none}.incense-count{text-align:center;font:400 17px/1.4 var(--f-text);color:var(--ivory);text-shadow:0 1px 8px #28140699;margin:22px 0 14px}.incense-count b{font:360 clamp(34px, 9vw, 44px)/1.1 var(--f-display);font-variant-numeric:lining-nums tabular-nums;display:block}.incense-last{text-align:center;min-height:1.4em;font:400 14px/1.4 var(--f-ui);color:#f8eedcb3;margin:-6px 0 16px}.incense-last:empty{display:none}.altar-actions{flex-direction:column;align-items:center;display:flex}.altar-btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn-write{color:var(--ivory);border-color:#f1e6d280;min-height:52px;font-size:16px}.btn-write:hover{background:#f1e6d21a}@media (min-width:1000px){.btn-write{display:none}}.btn-incense{background:var(--paper-hi);color:var(--ink);border-color:#0000;min-width:200px;min-height:52px;font-size:16.5px}.btn-incense:hover{background:#fff}.btn-incense:disabled{opacity:.6;cursor:default;transform:none}.incense-note{text-align:center;max-width:34ch;min-height:1.5em;font:italic 400 16.5px/1.5 var(--f-text);color:#f8eedce0;text-shadow:0 1px 8px #28140699;margin:14px 0 0}.prayer-form,.note{color:var(--ink);background-color:var(--paper);background-image:linear-gradient(160deg,#ffffff38,#fff0 40%,#5a3c1e12),url(/assets/giay-do-DNze-z98.webp);background-size:auto,384px}.prayer-form{box-shadow:calc(var(--sdx) * 16px * var(--slen)) calc(var(--sdy) * 24px * var(--slen)) 34px #06020080, 0 1px 3px #00000059;border-radius:2px;padding:28px 24px 22px;position:relative;transform:rotate(.5deg)}.prayer-form h3{font:360 clamp(26px, 6.6vw, 32px)/1.2 var(--f-display);margin:0 0 16px}.prayer-form label{display:block}.prayer-form label>span{font:500 14.5px/1.3 var(--f-ui);color:var(--ink-soft);margin-bottom:6px;display:block}.prayer-form label i{opacity:.8;font-style:normal;font-weight:400}.prayer-form textarea,.prayer-form input{resize:vertical;width:100%;color:var(--ink);font:400 17.5px/1.55 var(--f-text);background:#fffdf799;border:1px solid #5a3e2452;border-radius:6px;padding:11px 13px;display:block}.prayer-form textarea{min-height:128px}.prayer-form textarea:focus,.prayer-form input:focus{outline-offset:1px;background:#fffdf7e6;border-color:#0000;outline:2px solid #b8894f}.prayer-form ::placeholder{color:#8b7764;font-style:italic}.f-row{gap:14px;margin-top:14px;display:grid}@media (min-width:560px){.f-row{grid-template-columns:1fr 1fr}}.hp{width:1px;height:1px;left:-9999px;overflow:hidden;position:absolute!important}.f-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.f-foot .btn{min-height:50px;padding:0 24px;font-size:16px}.f-count{font:400 13.5px var(--f-ui);color:var(--ink-soft);font-variant-numeric:tabular-nums}.f-status{min-height:1.4em;font:500 15px/1.45 var(--f-ui);margin:12px 0 0}.f-status.err{color:#8d2b1b}.prayer-form textarea.f-warn{border-color:#b4462f;box-shadow:0 0 0 2px #b4462f2e}.f-status.ok{color:#2f5b2a}.f-note{font:400 13.5px/1.5 var(--f-ui);color:var(--ink-soft);margin:8px 0 0}.prayers{margin:0}.prayers-title{text-align:center;font:330 clamp(30px, 8vw, 46px)/1.1 var(--f-display);color:var(--ivory);text-shadow:0 2px 22px #2814068c;margin:0 0 28px}.notes{columns:1;column-gap:24px;margin:0;padding:0;list-style:none}@media (min-width:640px) and (max-width:999px){.notes{columns:2}}.note{break-inside:avoid;transform:rotate(var(--r,0deg));box-shadow:calc(var(--sdx) * 8px * var(--slen)) calc(var(--sdy) * 12px * var(--slen)) 18px #06020073, 0 1px 2px #0000004d;margin:0 0 24px;padding:22px 22px 16px}.note.will-appear{opacity:0;transform:translateY(-22px) rotate(calc(var(--r,0deg) - 3deg)) scale(1.03);filter:blur(3px);box-shadow:0 0 #0000}.note.will-appear.is-in{opacity:1;transform:rotate(var(--r,0deg));filter:none;box-shadow:calc(var(--sdx) * 8px * var(--slen)) calc(var(--sdy) * 12px * var(--slen)) 18px #06020073, 0 1px 2px #0000004d;transition:opacity .7s ease-out var(--d,0s), transform .95s cubic-bezier(.2, .7, .2, 1) var(--d,0s), filter .8s ease-out var(--d,0s), box-shadow 1s ease-out var(--d,0s)}.note p{font:400 17.5px/1.62 var(--f-text);white-space:pre-line;overflow-wrap:anywhere;margin:0}.note footer{font:400 13.5px/1.4 var(--f-ui);color:var(--ink-soft);border-top:1px solid #5a3e2429;flex-direction:column;gap:3px;margin-top:14px;padding-top:10px;display:flex}.note .who{color:var(--ink);font-weight:500}.note .rel{color:var(--ink-soft);font-weight:400}.note.pending{opacity:.8;outline-offset:-8px;outline:1px dashed #5a3e2466}.f-photos{margin-top:16px}.f-label{font:500 14.5px/1.3 var(--f-ui);color:var(--ink-soft);margin-bottom:8px;display:block}.f-label i{opacity:.8;font-style:normal;font-weight:400}.f-thumbs{flex-wrap:wrap;gap:14px;margin:4px 0 14px;padding:0;list-style:none;display:flex}.f-thumbs:empty{display:none}.f-thumbs li{background:#fbf8f1;width:86px;height:86px;padding:4px;position:relative;transform:rotate(-1.6deg);box-shadow:0 2px 7px #2814054d}.f-thumbs li:nth-child(2){transform:rotate(1.3deg)}.f-thumbs li:nth-child(3){transform:rotate(-.6deg)}.f-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.f-thumbs li.is-loading{background:linear-gradient(90deg,#eadfcb,#f7f0e3,#eadfcb) 0 0/200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.f-rm{cursor:pointer;background:var(--paper-hi);width:32px;height:32px;color:var(--ink);font:400 20px/1 var(--f-ui);border:1px solid #2b201966;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-12px;right:-12px}.prayer-form .btn-photo{min-height:46px;padding:0 18px 0 14px;font-size:15px;display:inline-flex;position:relative}.prayer-form .btn-photo>span{font:inherit;color:inherit;margin:0;display:inline}.prayer-form .btn-photo input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.btn-photo:focus-within{outline-offset:2px;outline:2px solid #b8894f}.btn-photo svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;width:21px;height:21px}.btn-photo.is-full{opacity:.5;pointer-events:none}.f-photo-note{font:400 13.5px/1.5 var(--f-ui);color:var(--ink-soft);margin:8px 0 0}.notes-empty{text-align:center;font:italic 400 17px/1.5 var(--f-text);color:#f8eedcdb;margin:0}.btn-more{color:var(--ivory);border-color:#f1e6d273;margin:8px auto 0;display:flex}.btn-more[hidden],.notes-empty[hidden]{display:none}.btn-more:hover{background:#f1e6d21a}.print-paper:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#fffaec8c 50%,#0000 60%) 0 0/260% 100%;background-position:var(--glint,135%) 0;mix-blend-mode:screen;position:absolute;top:0;bottom:0;left:0;right:0}.s-rule{color:#d9b27a;transform-origin:50%;width:168px;height:18px;margin:16px auto 0;display:block}.s-rule svg{width:100%;height:100%;display:block}.thanks .s-rule{color:var(--foil);filter:drop-shadow(0 1px #fff9);width:150px;margin:14px auto 0}.prayers-title+.s-rule{margin:-12px auto 30px}.orn-thanks{width:46px;height:32px;margin:0 auto 12px}.orn-room{color:#d9b27a;filter:none;width:170px;height:18px;margin:12px auto 0}.table-flowers{width:min(26vw,290px);filter:drop-shadow(calc(var(--sdx) * 10px) calc(var(--sdy) * 14px) 7px #08030080);position:absolute;bottom:6vh;right:3vw;transform:rotate(-6deg)}.table-flowers svg{width:100%;height:auto;display:block}@media (max-width:899px){.table-flowers{width:min(54vw,250px);bottom:-4vh;right:-12vw}}@supports not (aspect-ratio:1 / 1){.censer-stage:after{content:"";padding-top:93.75%;display:block}.cover-cameo{height:113px}.room-glow{height:min(130vw,1100px)}}@media (max-width:640px){.room-grid{gap:52px;padding-top:66px}.room-altar{min-height:calc(100vh - 66px);min-height:calc(100svh - 66px);padding-bottom:max(12px, env(safe-area-inset-bottom));justify-content:space-between}.room-head h2{font-size:26px}.room-head p{display:none}.orn-room{width:130px;height:14px;margin-top:6px}.stele{width:min(100%,420px,90.9091vh - 367.273px);width:min(100%,420px,90.9091svh - 367.273px);margin-top:8px}.altar-table{gap:max(14px,min(6vw,30px));margin-top:12px}.censer-stage{width:150px}.candle{width:12px;height:56px}.candle:after{width:120px;height:120px;top:-70px}.incense-count{margin:6px 0 0;font-size:15px}.incense-count b{margin-right:6px;font-size:24px;display:inline}.incense-last{margin:2px 0 8px;font-size:13px}.altar-actions{width:100%}.altar-btns{flex-wrap:nowrap;width:100%;max-width:420px}.altar-btns .btn{flex:1 1 0;min-width:0;min-height:50px;padding:0 12px;font-size:16px}.incense-note{margin-top:8px;font-size:15px}}@media (max-width:640px) and (max-height:760px){.room-head{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stele{width:min(100%,420px,90.9091vh - 320px);width:min(100%,420px,90.9091svh - 320px);margin-top:0}}.bf-layer{pointer-events:none;z-index:80;contain:strict;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.bf,.bf-shadow{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.bf{perspective:260px}.bf-3d{transform-style:preserve-3d;position:absolute;top:0;left:0}.bf-w,.bf-body,.bf-sw{position:absolute}.bf-w svg,.bf-sw svg,.bf-body svg{width:100%;height:100%;display:block;overflow:visible}.bf-l svg{transform:scaleX(-1)}.bf-w{-webkit-backface-visibility:visible;backface-visibility:visible}.bf-w .bw-sheen{opacity:var(--sheen,.3)}.bf-body{transform:translateZ(2px)}
