@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.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: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:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.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:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.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:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.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}.screen:has(.story-welcome){width:100%;max-width:none;padding:0}.screen:has(.story-welcome)>.story-welcome{width:min(100%,1440px)}.story-welcome{isolation:isolate;height:clamp(500px,100svh - 166px,820px);min-height:500px;image-rendering:pixelated;background:#edb8c5;border:4px solid #342945;position:relative;overflow:hidden;box-shadow:8px 8px #342945}.story-welcome__backdrop,.story-welcome__shade{width:100%;height:100%;position:absolute;inset:0}.story-welcome__backdrop{z-index:-2;object-fit:cover;object-position:center 51%;image-rendering:pixelated;animation:14s ease-in-out infinite alternate story-field-drift}.story-welcome__shade{z-index:-1;pointer-events:none;background:#331b2810}.story-welcome__title{z-index:1;color:#552c47;text-align:center;text-shadow:2px 2px #fff4e4,4px 4px #452d48;justify-items:center;gap:5px;margin:0;font-family:Be Vietnam Pro,sans-serif;font-weight:600;line-height:1.2;display:grid;position:absolute;top:clamp(20px,5%,54px);left:12px;right:12px}.story-welcome__title-kicker{letter-spacing:.015em;font-size:clamp(17px,2vw,25px)}.story-welcome__title-name{letter-spacing:.025em;font-size:clamp(34px,5vw,58px)}.story-welcome__heart{color:#b9435e;vertical-align:.12em;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;font-size:.7em;display:inline-block}.story-welcome__actors{pointer-events:none;height:36%;position:absolute;bottom:28%;left:0;right:0}.story-welcome__actor{object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 4px #402c4555);animation:2.3s steps(2,end) infinite story-idle;position:absolute;bottom:0}.story-welcome__actor--jonathan{width:min(14.2vh,91px);height:min(28vh,198px);animation-delay:-.8s;left:40%}.story-welcome__actor--companion{height:min(28vh,196px);left:55%}.story-welcome__actor-layer{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.story-welcome__actor-layer--body{clip-path:inset(40% 0 0)}.story-welcome__actor-layer--head{clip-path:inset(0 0 60%);transform-origin:50% 40%;transform:scale(.85)}.story-welcome__dialogue{z-index:2;color:#352842;background:#fff8ed;border:4px solid #352842;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;min-height:112px;padding:19px 24px;display:grid;position:absolute;bottom:clamp(14px,4%,36px);left:clamp(14px,8%,112px);right:clamp(14px,8%,112px);box-shadow:7px 7px #352842}.story-welcome__line{max-width:760px;margin:0;font-size:clamp(16px,1.8vw,21px);font-weight:600;line-height:1.55;animation:.18s steps(3,end) both story-line-in}.story-welcome__button{color:#352842;cursor:pointer;text-align:left;background:#f2c1a1;border:3px solid #352842;justify-content:space-between;align-items:center;gap:18px;min-width:190px;min-height:54px;padding:12px 16px;font:600 15px/1.35 Be Vietnam Pro,sans-serif;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end),background .12s;display:inline-flex;box-shadow:4px 4px #352842}.story-welcome__button:hover{background:#f7cfaf;transform:translate(-2px,-2px);box-shadow:6px 6px #352842}.story-welcome__button:active{transform:translate(2px,2px);box-shadow:1px 1px #352842}.story-welcome__button:focus-visible{outline-offset:5px;outline:3px solid #fff8ed}@keyframes story-field-drift{0%{transform:scale(1.015)translateY(0)}to{transform:scale(1.045)translateY(-.5%)}}@keyframes story-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes story-line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.story-welcome{border-width:3px;height:calc(100svh - 140px);min-height:500px;box-shadow:5px 5px #342945}.story-welcome__backdrop{object-position:center 48%}.story-welcome__title{gap:6px;top:5%}.story-welcome__title-kicker{font-size:clamp(15px,4.4vw,20px)}.story-welcome__title-name{font-size:clamp(33px,9vw,44px)}.story-welcome__actors{height:28%;bottom:34%}.story-welcome__actor--jonathan{width:min(10.1vh,69px);height:min(20vh,151px);left:26%}.story-welcome__actor--companion{height:min(20vh,150px);left:58%}.story-welcome__dialogue{border-width:3px;grid-template-columns:1fr;gap:12px;min-height:0;padding:14px;bottom:13px;left:8px;right:11px;box-shadow:4px 4px #352842}.story-welcome__line{font-size:15px;line-height:1.5}.story-welcome__button{width:100%;min-width:0;min-height:48px;padding:10px 12px;font-size:14px}}@media (prefers-reduced-motion:reduce){.story-welcome__backdrop,.story-welcome__actor,.story-welcome__line{animation:none}.story-welcome__button{transition:none}}.audio-credit{color:#352842;letter-spacing:0;max-width:min(40vw,360px);font-size:10px;position:relative}.audio-credit summary{cursor:pointer;text-underline-offset:3px;text-decoration:underline}.audio-credit[open]{z-index:10;background:#fff8ed;border:2px solid #352842;width:min(350px,100vw - 30px);max-width:none;padding:14px 16px;line-height:1.55;position:absolute;bottom:76px;right:clamp(12px,5vw,72px);box-shadow:4px 4px #352842}.audio-credit[open] summary{margin-bottom:8px}.audio-credit p{margin:0 0 8px}.audio-credit a{color:#612c48}@media (width<=760px){.audio-credit{max-width:42vw;font-size:8px}.audio-credit[open]{bottom:67px;right:14px}}.g-screen{max-width:900px;margin:0 auto}.g-heading{margin-bottom:18px}.g-heading h1{font-size:clamp(44px,5.4vw,70px)}.g-heading>p:last-child{margin-top:6px}.g-sprite,.pixel-art{image-rendering:pixelated}.g-sprite{width:var(--pw);-webkit-user-select:none;user-select:none;max-width:100%;height:auto;display:block}.pixel-art{display:block}.g-wipe{z-index:90;pointer-events:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(12,1fr);display:grid;position:fixed;inset:0}.g-wipe i{background:var(--wipe);animation:g-wipe 10ms steps(1) calc(var(--d) * .5s) forwards}@keyframes g-wipe{to{visibility:hidden}}.rm{width:100%;position:relative}.rm-viewport{aspect-ratio:16/9;isolation:isolate;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#2a1633;border:4px solid #2a1633;position:relative;overflow:clip;box-shadow:0 0 0 4px #fff7ed,8px 8px 0 4px #2a163333}.rm-viewport:focus-visible{outline-offset:6px;outline:3px solid #286354}.rm-world{will-change:transform;position:absolute;top:0;left:0}.rm-bg{z-index:0;position:absolute;inset:0}.rm-bg>svg{display:block}.rm-placed{pointer-events:none;position:absolute}.rm-person{pointer-events:none;isolation:isolate;background:0 0;border:0;margin:0;padding:0;position:absolute}button.rm-person{pointer-events:auto;cursor:pointer}.rm-sprite{width:100%;height:100%;image-rendering:pixelated;transform-origin:50% 100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;display:block}.rm-rig{transform-origin:50% 100%;display:block;position:absolute;inset:0}.rm-rig>.rm-sprite{position:absolute;inset:0}.rm-shadow{left:14%;right:14%;bottom:calc(var(--px) * -1.5);height:calc(var(--px) * 3);opacity:.22;z-index:-1;background:#1d0f2a;border-radius:50%;position:absolute}.rm-talkable:hover .rm-rig,.rm-talkable:focus-visible .rm-rig{filter:drop-shadow(0 calc(var(--px) * -1) 0 #fff) drop-shadow(var(--px) 0 0 #fff) drop-shadow(calc(var(--px) * -1) 0 0 #fff)}.rm-talkable:focus-visible{outline:none}.rm-hot{cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute}.rm-hot:before{content:"";border:calc(var(--px) * 1) dashed #fffbe8;opacity:0;transition:opacity .12s steps(2,end);position:absolute;inset:0}.rm-hot:after{content:attr(data-label);transform:translate(-50%,calc(var(--px) * -2));white-space:nowrap;padding:calc(var(--px) * .5) calc(var(--px) * 3);color:#fff7d6;font:calc(var(--px) * 9)/1.1 "VT323",monospace;opacity:0;pointer-events:none;background:#2a1633;transition:opacity .12s steps(2,end);position:absolute;bottom:100%;left:50%}.rm-hot:hover:before,.rm-hot:hover:after,.rm-hot:focus-visible:before,.rm-hot:focus-visible:after{opacity:1}.rm-hot:focus-visible{outline:none}.rm-hot:focus-visible:before{border-style:solid;border-color:#ffd23f}.rm-marker{left:50%;top:calc(var(--px) * -15);font:calc(var(--px) * 16)/1 "VT323",monospace;color:#ffd23f;pointer-events:none;text-shadow:var(--px) 0 #2a1633,calc(var(--px) * -1) 0 #2a1633,0 var(--px) #2a1633,0 calc(var(--px) * -1) #2a1633,calc(var(--px) * 1.5) calc(var(--px) * 1.5) #2a163366;position:absolute;transform:translate(-50%)}.rm-ping{border:calc(var(--px) * 1) solid #fff;pointer-events:none;opacity:0;border-radius:50%;position:absolute}.rm-float{z-index:600;white-space:nowrap;pointer-events:none;font:calc(var(--px) * 12)/1 "VT323",monospace;color:#fff7d6;text-shadow:var(--px) 0 #96364e,calc(var(--px) * -1) 0 #96364e,0 var(--px) #96364e,0 calc(var(--px) * -1) #96364e;position:absolute;transform:translate(-50%)}.rm-dialog{text-align:left;color:#2a1633;background:#fff7ed;border:4px solid #2a1633;grid-template-columns:auto 1fr;align-items:start;gap:14px;min-height:108px;margin-top:14px;padding:10px 46px 10px 12px;font-family:VT323,monospace;display:grid;position:relative;box-shadow:4px 4px #2a1633}.rm-dialog.is-talking{cursor:pointer}.rm-dialog.is-idle{background:#fdf1f2;box-shadow:4px 4px #2a163355}.rm-portrait{background:#ffd9e2;border:3px solid #2a1633;place-items:center;width:64px;height:76px;display:grid;overflow:hidden}.rm-portrait img{object-fit:cover;object-position:50% 0;width:100%;height:100%;image-rendering:pixelated}.rm-portrait.is-empty{color:#96364e;background:#fff;font-size:38px}.rm-dialog-body{min-width:0}.rm-name{color:#fff7d6;letter-spacing:.08em;background:#96364e;padding:0 8px;font-size:18px;line-height:1.3;display:inline-block}.rm-dialog p{overflow-wrap:anywhere;min-height:2.24em;margin:4px 0 0;font-size:25px;line-height:1.12}.rm-dialog .rm-idle{color:#7a5563;min-height:0;margin-top:20px;font-size:22px}.rm-caret{vertical-align:baseline;background:currentColor;width:.35em;height:.7em;margin-left:2px;display:inline-block}.rm-choices{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.rm-choices button{color:#2a1633;background:#fff;border:3px solid #2a1633;padding:6px 14px;font:22px/1 VT323,monospace;box-shadow:3px 3px #2a1633}.rm-choices button:hover,.rm-choices button:focus-visible{background:#ffd23f;outline:none}.rm-choices button:active{transform:translate(2px,2px);box-shadow:1px 1px #2a1633}.rm-next{color:#96364e;background:0 0;border:0;padding:4px;font:22px/1 VT323,monospace;position:absolute;bottom:6px;right:10px}.kitchen-invite .section-heading{margin-bottom:22px}.k-invite-layout{grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);align-items:stretch;gap:20px;max-width:820px;margin:0 auto;display:grid}.k-invite-visual{aspect-ratio:16/10;isolation:isolate;background:#fbdde3;border:4px solid #2a1633;align-self:center;position:relative;overflow:hidden;box-shadow:0 0 0 4px #fff7ed,8px 8px 0 4px #2a163333}.k-invite-visual>svg{width:100%;height:100%;display:block}.k-invite-character{object-fit:contain;object-position:center bottom;width:10%;height:60%;image-rendering:pixelated;filter:drop-shadow(2px 2px #2a163366);position:absolute;bottom:4%}.k-invite-character.em{width:11%;left:37%}.k-invite-character.anh{width:12%;left:53%}.k-invite-glint{color:#96364e;text-shadow:2px 2px #fff7ed;font:24px/1 VT323,monospace;animation:1.3s steps(2,end) infinite k-invite-pulse;position:absolute;top:43%;left:49%}.k-invite-dialogue{color:#2a1633;text-align:left;background:#fff7ed;border:4px solid #2a1633;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(16px,2.2vw,26px);display:flex;box-shadow:4px 4px #2a163366}.k-invite-speaker{color:#fff7d6;letter-spacing:.06em;background:#96364e;padding:2px 8px;font:18px/1.3 VT323,monospace}.k-invite-first-line{color:#78545e;margin-top:12px;font-size:13px;line-height:1.65}.k-invite-second-line{margin-top:8px;font:23px/1.15 VT323,monospace}.k-invite-dialogue .primary{margin-top:18px}.kitchen-room.is-baking .k-oven-window{animation:.3s step-end infinite k-oven}.k-cake .rm-sprite{animation:.45s steps(5,end) both k-pop}.k-puff .pixel-art{width:100%;height:auto;animation:.9s steps(6,end) infinite k-puff}.k-spark .pixel-art{width:100%;height:auto;animation:.9s steps(3,end) infinite sc-twinkle;position:absolute}.k-spark .pixel-art:first-child{top:200%;left:-500%}.k-spark .pixel-art:nth-child(2){animation-delay:-.3s;top:0;left:0}.k-spark .pixel-art:nth-child(3){animation-delay:-.6s;top:300%;left:500%}.k-in-bowl .pixel-art{width:100%;height:auto;animation:.35s steps(4,end) both k-drop}.k-hud{text-align:left;grid-template-columns:1fr 1fr 1.3fr;gap:14px;margin-top:14px;display:grid}.k-hud>*{background:#fffaf3;border:3px solid #2a1633;min-width:0;padding:10px 12px;box-shadow:3px 3px #e6c1ca}.k-bowl-list{align-content:center;gap:7px;margin:0;list-style:none;display:grid}.k-bowl-list li{align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.k-bowl-list small{letter-spacing:.12em;color:#937276;font-size:9px;font-weight:600;line-height:1.3;display:block}.k-slot{color:#c7a4ac;border:2px dashed #c7a4ac;flex:none;place-items:center;width:30px;height:30px;font:20px VT323,monospace;display:grid}.k-slot .pixel-art{width:20px;height:20px}.k-bowl-list li.done .k-slot{background:#ffe9ee;border-style:solid;border-color:#96364e}.k-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:128px;display:flex;position:relative}.k-result>span{color:#78545e;font-size:12px}.k-result .k-result-wait{color:#a88185;font:20px/1.1 VT323,monospace}.k-result-cake{animation:.45s steps(5,end) both k-pop}.k-new{white-space:nowrap;background:#ffd23f;border:2px solid #2a1633;width:max-content;max-width:100%;margin:0 auto;padding:0 8px;font:400 18px/1.2 VT323,monospace;animation:.4s steps(4,end) both k-pop;position:absolute;top:-14px;left:0;right:0}.k-book>p{margin-bottom:8px;font:21px/1 VT323,monospace}.k-book>p b{color:#96364e;font-weight:400}.k-book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.k-book-grid button{aspect-ratio:1;background:#fff;border:2px solid #c7a4ac;place-items:center;min-width:0;padding:3px;display:grid}.k-book-grid button:disabled{opacity:1;background:#f4ece9}.k-book-grid button:disabled img{filter:brightness(0)opacity(.18)}.k-book-grid button.on{background:#ffe9ee;border-color:#96364e}.k-book-grid button:not(:disabled):hover{border-color:#96364e}.k-book-grid img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.k-next{text-align:center;grid-column:1/-1;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}@keyframes k-oven{50%{fill:#ffc04d}}@keyframes k-invite-pulse{50%{opacity:.55;transform:translateY(-3px)}}@keyframes k-pop{0%{transform:scale(.2)translateY(30%)}60%{transform:scale(1.15)}to{transform:none}}@keyframes k-puff{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-220%)}}@keyframes k-drop{0%{transform:translateY(-300%)}70%{transform:translateY(10%)}to{transform:none}}.sr-gift .rm-sprite{transition:filter .2s steps(2,end)}.sr-gift.is-dim .rm-sprite{filter:grayscale(.75)brightness(.9)opacity(.6)}.sr-gift.is-picked .rm-sprite{filter:drop-shadow(0 calc(var(--px) * -1) 0 #ffe680) drop-shadow(var(--px) 0 0 #ffe680) drop-shadow(calc(var(--px) * -1) 0 0 #ffe680);animation:1.2s step-end infinite sr-hop}.sr-check{left:50%;top:calc(var(--px) * -18);width:calc(var(--px) * 11);position:absolute;transform:translate(-50%)}.sr-check .pixel-art{width:100%;height:auto}.sr-spark{width:calc(var(--px) * 6);height:auto;animation:1.2s steps(3,end) infinite sc-twinkle;position:absolute}.sr-spark.a{top:5%;left:-8%}.sr-spark.b{animation-delay:-.6s;top:45%;right:-6%}.sr-hud{grid-template-columns:1fr;gap:16px;margin-top:14px;display:grid}.sr-quick{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.sr-quick button{color:#2a1633;text-align:left;background:#fffaf3;border:3px solid #2a1633;align-items:center;gap:10px;min-width:0;padding:7px 10px;font-size:12px;font-weight:600;display:flex;box-shadow:3px 3px #e6c1ca}.sr-quick button .g-sprite{width:min(var(--pw),56px);flex:none}.sr-quick button:hover{border-color:#96364e}.sr-quick button.on{color:#fff7ed;background:#96364e;box-shadow:3px 3px #2a1633}.sr-num{opacity:.7;font:400 20px/1 VT323,monospace}.sr-hud .k-next{grid-column:auto}@keyframes sr-hop{50%{transform:translateY(calc(var(--px) * -2))}}.scene-screen.g-screen{text-align:center;max-width:900px}.picnic-room.night .rm-viewport{border-color:#0b061a;box-shadow:0 0 0 4px #4b3479,8px 8px 0 4px #0b061a}.picnic-room .sc-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.picnic-room .rm-viewport>.sc-layer,.picnic-room .rm-viewport>.sc-confetti{z-index:400}.picnic-room .rm-viewport>.sc-title{z-index:450}.picnic-room.night .rm-sprite{filter:brightness(.93)saturate(.92)}.picnic-room.night .pc-gift .rm-sprite{filter:brightness(1.12) drop-shadow(0 calc(var(--px) * -1) 0 #c9b8ffcc) drop-shadow(var(--px) 0 0 #c9b8ff80) drop-shadow(calc(var(--px) * -1) 0 0 #c9b8ff80)}.picnic-room.night .rm-shadow{opacity:.45}.pc-cake{isolation:isolate}.pc-gift.wiggle-a .rm-sprite{animation:.5s steps(4,end) pc-wiggle-a}.pc-gift.wiggle-b .rm-sprite{animation:.5s steps(4,end) pc-wiggle-b}.sc-candle.is-out .sc-smoke{width:140%;height:auto;margin-left:-20%;animation:1.6s steps(8,end) forwards pc-smoke}.night .rm-dialog{color:#f7e5f2;background:#2c1d4f;border-color:#0b061a;box-shadow:4px 4px #0b061a}.night .rm-dialog.is-idle{background:#251840}.night .rm-dialog .rm-idle{color:#cdbbe8}.night .rm-name{color:#2a1633;background:#ffd23f}.night .rm-next{color:#ffd23f}.night .rm-choices button{color:#fff7d6;background:#3b2470;border-color:#0b061a;box-shadow:3px 3px #0b061a}.night .rm-choices button:hover,.night .rm-choices button:focus-visible{color:#2a1633;background:#ffd23f}.pc-hint{opacity:.75;margin-top:12px;font-size:12px}@keyframes pc-wiggle-a{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg) translateY(calc(var(--px) * -2))}}@keyframes pc-wiggle-b{25%{transform:rotate(4deg)}75%{transform:rotate(-4deg) translateY(calc(var(--px) * -2))}}@keyframes pc-smoke{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-160%)}}@media (prefers-reduced-motion:no-preference){.rm-marker{animation:.8s step-end infinite rm-bounce}.rm-person:not(.is-walking) .rm-torso{animation:1.6s step-end infinite rm-breathe}.rm-em:not(.is-walking) .rm-torso{animation-delay:-.8s}.rm-ping{animation:.45s steps(4,end) forwards rm-ping}.rm-float{animation:1.4s steps(8,end) forwards rm-float}.rm-caret{animation:.8s step-end infinite rm-blink}.rm-next{animation:.8s step-end infinite rm-bounce}}@keyframes rm-bounce{50%{translate:0 -3px}}@keyframes rm-ping{0%{opacity:1;scale:.3}to{opacity:0;scale:1.6}}@keyframes rm-float{0%{opacity:0;translate:0}15%{opacity:1}to{opacity:0;translate:0 -40px}}@keyframes rm-blink{50%{opacity:0}}@keyframes rm-breathe{50%{translate:0 calc(var(--px) * -1)}}@media (prefers-reduced-motion:reduce){.g-wipe{display:none}.k-cake .rm-sprite,.k-result-cake,.k-new,.k-in-bowl .pixel-art,.k-puff .pixel-art,.sr-gift.is-picked .rm-sprite,.pc-gift .rm-sprite{animation:none!important}.rm-float{opacity:1}.sc-candle.is-out .sc-smoke{opacity:.6;animation:none}.k-invite-glint{animation:none}}@media (width<=760px){.rm-viewport{aspect-ratio:5/4;border-width:3px;box-shadow:0 0 0 3px #fff7ed,5px 5px 0 3px #2a163333}.g-heading h1{font-size:46px}.g-heading>p:last-child{display:none}.rm-dialog{gap:10px;min-height:96px;padding:8px 38px 8px 8px}.rm-portrait{width:50px;height:60px}.rm-dialog p{font-size:21px}.rm-dialog .rm-idle{margin-top:8px;font-size:19px}.rm-choices button{padding:6px 10px;font-size:20px}.rm-hot:after{display:none}.k-hud{grid-template-columns:1fr 1fr}.k-book{grid-column:1/-1}.k-book-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}.k-book-grid button{padding:1px}.k-invite-layout{grid-template-columns:1fr;gap:14px;max-width:500px}.k-invite-visual{aspect-ratio:16/9;width:100%}.k-invite-dialogue{padding:14px 16px}.k-invite-second-line{font-size:21px}.k-invite-dialogue .primary{margin-top:12px}.sr-quick{gap:8px}.sr-quick button{text-align:center;flex-direction:column;gap:4px;padding:6px 4px;font-size:11px}.sr-quick button .g-sprite{width:min(var(--pw),48px)}.sr-num{display:none}}.sc-frame{--world:400;--px:calc(100cqw / var(--world));width:100%;margin:0 auto 6px;position:relative;container-type:inline-size}.sc-board{aspect-ratio:16/9;isolation:isolate;image-rendering:pixelated;border:4px solid #2a1633;position:relative;overflow:hidden;box-shadow:0 0 0 4px #fff7ed,8px 8px 0 4px #2a163333}.sc-frame.night .sc-board{box-shadow:0 0 0 4px #4b3479,8px 8px 0 4px #0b061a}.sc-bg{object-fit:cover;opacity:0;width:100%;height:100%;image-rendering:pixelated;transition:opacity .5s steps(5,end);position:absolute;inset:0}.sc-bg.on{opacity:1}.sc-bg.night{object-position:50% 70%}.sc-layer{opacity:0;pointer-events:none;transition:opacity .5s steps(5,end);position:absolute;inset:0}.day .sc-day,.night .sc-night{opacity:1}.pixel-art{image-rendering:pixelated;display:block}.sc-cloud{width:calc(var(--px) * 42);opacity:.95;height:auto;position:absolute}.sc-cloud.c1{top:4%;left:-15%}.sc-cloud.c2{width:calc(var(--px) * 30);opacity:.85;top:15%;left:60%}.sc-glint,.sc-twinkle{width:calc(var(--px) * 5);opacity:0;height:auto;position:absolute}.sc-twinkle{width:calc(var(--px) * 4)}.sc-firefly{width:calc(var(--px) * 1.6);aspect-ratio:1;box-shadow:0 0 calc(var(--px) * 2.5) calc(var(--px) * 1) #d8ff6b99;opacity:.2;background:#eaff8f;position:absolute}.sc-stage{width:calc(var(--stage-w) * var(--px));aspect-ratio:var(--stage-ar);position:absolute;bottom:10%;left:55%;transform:translate(-50%)}.sc-actor{position:absolute}.sc-sprite{width:100%;height:auto;image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.sc-actor:before{content:"";left:10%;right:10%;bottom:calc(var(--px) * -1.5);height:calc(var(--px) * 3);opacity:.25;z-index:-1;background:#1d0f2a;border-radius:50%;position:absolute}.sc-cake:before{left:4%;right:4%}.night .sc-actor:before{opacity:.45}.night .sc-sprite{filter:brightness(.93)saturate(.92)}.night .sc-gift .sc-sprite{filter:brightness(1.12) drop-shadow(0 calc(var(--px) * -1) 0 #c9b8ffcc) drop-shadow(var(--px) 0 0 #c9b8ff80) drop-shadow(calc(var(--px) * -1) 0 0 #c9b8ff80)}.night .sc-gift:after{content:"";z-index:-2;background:radial-gradient(closest-side,#fff3c455,#fff3c400);height:45%;position:absolute;bottom:-12%;left:-15%;right:-15%}.sc-candle{z-index:2;flex-direction:column;align-items:stretch;display:flex;position:absolute}.sc-candle .pixel-art{width:100%;height:auto}.sc-glow{width:calc(var(--px) * 14);aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,#ffd86b88,#ffd86b00);position:absolute;top:0;left:50%;transform:translate(-50%,-35%)}.day .sc-glow{opacity:.5}.sc-heart{opacity:0;z-index:200;position:absolute}.sc-heart .pixel-art{width:100%;height:auto}.sc-confetti{pointer-events:none;z-index:300;position:absolute;inset:0}.sc-confetti i{width:calc(var(--px) * 2.2);aspect-ratio:1;opacity:0;position:absolute;top:-5%}.sc-title{left:0;right:0;top:calc(var(--px) * 15);text-align:center;pointer-events:none;z-index:5;position:absolute}.scene-screen .sc-frame .sc-title h1{--o:calc(var(--px) * 1.6);--ink:#5b2a8c;font-family:"Press Start 2P",VT323,monospace;font-weight:400;font-size:calc(var(--px) * 21);letter-spacing:calc(var(--px) * .5);text-transform:uppercase;color:#ffe14d;text-shadow:var(--o) 0 var(--ink),calc(var(--o) * -1) 0 var(--ink),0 var(--o) var(--ink),0 calc(var(--o) * -1) var(--ink),var(--o) var(--o) var(--ink),calc(var(--o) * -1) var(--o) var(--ink),var(--o) calc(var(--o) * -1) var(--ink),calc(var(--o) * -1) calc(var(--o) * -1) var(--ink),calc(var(--o) * 2.2) calc(var(--o) * 2.4) #2a163399;margin:0;line-height:1.18;display:inline-block}.scene-screen .sc-frame .sc-title h1 span{display:block}.scene-screen .sc-frame.night .sc-title h1{--ink:#3d2378;color:#fff}.sc-ribbon{margin-top:calc(var(--px) * 4);padding:calc(var(--px) * 2) calc(var(--px) * 8);border:calc(var(--px) * 1) solid #2a1633;font:calc(var(--px) * 7) "Press Start 2P",monospace;color:#3d2378;letter-spacing:calc(var(--px) * .5);background:#ff9fd0;display:inline-block}.sc-deco{height:auto;position:absolute}.d-heart{width:calc(var(--px) * 13);left:50%;top:calc(var(--px) * -13);margin-left:calc(var(--px) * -6.5)}.d-bolt{width:calc(var(--px) * 11);left:calc(50% + var(--px) * 92);top:calc(var(--px) * 2)}.d-star{width:calc(var(--px) * 10);left:calc(50% - var(--px) * 108);top:calc(var(--px) * 26)}.d-star2{width:calc(var(--px) * 7);left:calc(50% + var(--px) * 104);top:calc(var(--px) * 36)}.night .d-bolt{display:none}.sky-switch{background:#fff7ed;border:3px solid #2a1633;gap:0;margin-bottom:22px;display:inline-flex;box-shadow:4px 4px #2a1633}.sky-switch button{color:#5a3a4a;letter-spacing:.02em;background:0 0;border:0;align-items:center;gap:9px;padding:6px 16px 6px 11px;font:22px/1 VT323,monospace;display:inline-flex}.sky-switch button+button{border-left:3px solid #2a1633}.sky-switch .pixel-art{width:22px;height:22px}.sky-switch button[aria-pressed=false] .pixel-art{filter:grayscale()opacity(.55)}.sky-switch button[aria-pressed=true]:first-child{color:#2a1633;background:#ffd23f}.sky-switch button[aria-pressed=true]:last-child{color:#fff7d6;background:#3b2470}.sky-switch button:active{transform:translateY(2px)}.night .sky-switch{background:#2c1d4f;border-color:#0b061a;box-shadow:4px 4px #0b061a}.night .sky-switch button{color:#cdbbe8}.night .sky-switch button+button{border-color:#0b061a}@media (prefers-reduced-motion:no-preference){.sc-her{animation:1.8s steps(9,end) .35s both sc-walk}.sc-her .sc-sprite{animation:.2s step-end .35s 9 sc-hop,1.4s step-end 2.2s infinite sc-breathe}.sc-him .sc-sprite{animation:1.4s step-end -.7s infinite sc-breathe}.sc-heart{animation:4.2s steps(10,end) 2.3s infinite sc-heart}.sc-flame{transform-origin:50% 100%;animation:.36s step-end infinite sc-flicker}.sc-candle:nth-child(2) .sc-flame{animation-delay:-.17s}.sc-glow{animation:1.1s steps(2,end) infinite sc-glow}.sc-confetti i{animation:sc-confetti calc(2.1s + var(--d) * 1.6s) steps(16) calc(var(--s) * 1s) both}.scene-screen .sc-frame .sc-title h1{animation:1.3s step-end infinite sc-bounce}.sc-deco{animation:1.3s step-end -.65s infinite sc-bounce}.sc-cloud.c1{animation:80s steps(160,end) -28s infinite sc-drift}.sc-cloud.c2{animation:110s steps(220,end) -70s infinite sc-drift}.sc-glint{animation:sc-twinkle 2.4s steps(3) calc(var(--d) * -2.4s) infinite}.sc-twinkle{animation:sc-twinkle 1.9s steps(3) calc(var(--d) * -1.9s) infinite}.sc-firefly{animation:sc-float 7s steps(14) calc(var(--d) * -7s) infinite alternate,sc-blink 2.6s steps(2) calc(var(--d) * -2.6s) infinite}}@keyframes sc-walk{0%{transform:translate(-330%)}to{transform:none}}@keyframes sc-hop{50%{transform:translateY(calc(-200% / var(--h)))}}@keyframes sc-breathe{50%{transform:translateY(calc(-100% / var(--h)))}}@keyframes sc-heart{0%{opacity:0;transform:translateY(0)scale(.4)}10%{opacity:1;transform:translateY(-20%)scale(1)}55%{opacity:1;transform:translateY(-120%)}80%,to{opacity:0;transform:translateY(-200%)}}@keyframes sc-flicker{50%{transform:scaleX(-1)scaleY(1.15)}}@keyframes sc-glow{50%{transform:translate(-50%,-35%)scale(1.25)}}@keyframes sc-confetti{0%{opacity:1;transform:translate(0)rotate(0)}30%{transform:translate(calc(var(--px) * 6),calc(var(--px) * 70)) rotate(90deg)}60%{transform:translate(calc(var(--px) * -4),calc(var(--px) * 140)) rotate(180deg)}90%{opacity:1}to{opacity:0;transform:translate(calc(var(--px) * 3),calc(var(--px) * 235)) rotate(270deg)}}@keyframes sc-bounce{50%{transform:translateY(calc(var(--px) * -2))}}@keyframes sc-drift{0%{left:-18%}to{left:108%}}@keyframes sc-twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}@keyframes sc-float{0%{transform:translate(0)}50%{transform:translate(calc(var(--px) * 9),calc(var(--px) * -7))}to{transform:translate(calc(var(--px) * -6),calc(var(--px) * -14))}}@keyframes sc-blink{0%{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.sc-confetti,.sc-heart{display:none}.sc-twinkle,.sc-glint,.sc-firefly{opacity:.8}}@media (width<=760px){.sc-frame{--world:250}.sc-board{aspect-ratio:4/5;border-width:3px;box-shadow:0 0 0 3px #fff7ed,5px 5px 0 3px #2a163333}.sc-bg.day{object-position:34% 50%}.sc-stage{bottom:9%;left:50%}.sc-title{top:calc(var(--px) * 22)}.scene-screen .sc-frame .sc-title h1{font-size:calc(var(--px) * 19)}.sc-cloud.c1{top:3%}.sc-cloud.c2{top:12%}.d-bolt{left:calc(50% + var(--px) * 80);top:calc(var(--px) * -10)}.d-star{left:calc(50% - var(--px) * 98);top:calc(var(--px) * -8)}.d-star2{left:calc(50% + var(--px) * 84);top:calc(var(--px) * 46)}.sky-switch button{padding:6px 13px 6px 10px;font-size:20px}}.bc-couple-pose{position:absolute;inset:0}.bc-actor{width:auto;image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 2px #33223744);transition:left .95s steps(10,end);position:absolute;bottom:2%}.bc-actor--companion,.bc-actor--recipient,.bc-actor--couple{z-index:2}.bc-actor--couple{animation:.6s steps(6,end) both bc-arrive}@keyframes bc-arrive{0%{opacity:0}}.bc-actor.is-moving{animation:.3s step-end infinite bc-step}@keyframes bc-step{50%{transform:translateY(-3%)}}.bc-held-gift{aspect-ratio:1;z-index:3;background:#e0a43a;border:2px solid #2a1633;width:11%;transition:left .95s steps(10,end);position:absolute;top:52%;transform:translate(-50%,-50%)}.bc-held-gift:before{content:"";background:#c24a68;width:16%;position:absolute;top:0;bottom:0;left:42%}.bc-held-gift:after{content:"";background:#c24a68;height:16%;position:absolute;top:42%;left:0;right:0}@media (prefers-reduced-motion:reduce){.bc-actor,.bc-held-gift{transition:none!important}.bc-actor.is-moving,.bc-actor--couple{animation:none}}.scene-screen.g-screen.beach-celebration{text-align:center;max-width:1120px;margin:0 auto}.bc-heading{margin-bottom:8px}.scene-screen .bc-heading h1{color:#8c3654;letter-spacing:.01em;text-shadow:none;margin:0;font:700 clamp(20px,2.3vw,28px)/1.2 Be Vietnam Pro,sans-serif}.bc-theme-switch{margin-bottom:12px}.bc-stage{aspect-ratio:16/9;isolation:isolate;background:#f8a69b;border:4px solid #39274a;width:100%;position:relative;overflow:clip;box-shadow:0 0 0 4px #fff7ed,9px 9px #2a163333;container-type:inline-size}.bc-world{image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;transition:transform .95s cubic-bezier(.2,.72,.28,1),filter .7s;position:absolute;inset:0;overflow:hidden}.bc-stage--arrival .bc-world,.bc-stage--gift-offer .bc-world{transform:scale(1.025)}.bc-stage--gift-reveal .bc-world{transform:scale(1.07)translate(-.5%)}.bc-stage--gift-thanks .bc-world,.bc-stage--cake-offer .bc-world{transform:scale(1.035)translate(-.4%)}.bc-stage--cake-wish .bc-world,.bc-stage--wish .bc-world{transform:scale(1.055)}.bc-stage--celebration .bc-world{transform:scale(1.08)}.bc-stage--ending .bc-world{transform:scale(1)}.night .bc-stage{border-color:#3b2a60;box-shadow:0 0 0 4px #8776a8,9px 9px #17163255}.bc-sun-glint{z-index:1;pointer-events:none;background:linear-gradient(#39224922 0%,#0000 31%,#ffdca51a 100%);position:absolute;inset:0}.night .bc-sun-glint{background:linear-gradient(#17163225 0%,#0000 45%,#9a8bc018 100%)}.bc-couple{z-index:3;aspect-ratio:1;filter:drop-shadow(0 5px 4px #3420333d);width:36%;transition:left .9s cubic-bezier(.22,.7,.2,1),bottom .9s,width .9s,transform .9s;position:absolute;bottom:-1%;left:31%}.bc-stage--gift-reveal .bc-couple,.bc-stage--gift-thanks .bc-couple{width:36%;left:26%}.bc-stage--cake-offer .bc-couple{width:36%;left:27%}.bc-stage--cake-wish .bc-couple,.bc-stage--wish .bc-couple,.bc-stage--celebration .bc-couple{width:36%;left:32%}.bc-stage--celebration .bc-couple{transform:translateY(-2%)scale(1.025)}.bc-stage--ending .bc-couple{filter:drop-shadow(0 5px 3px #20142b50);width:32%;bottom:-5%;left:34%;transform:none}.bc-couple-pose{width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(0 1px #fff3);background-repeat:no-repeat;background-size:300% 100%}.bc-car{z-index:4;object-fit:contain;width:20%;height:30%;image-rendering:pixelated;filter:drop-shadow(0 7px 2px #3527354d);animation:.8s cubic-bezier(.18,.8,.3,1) both bc-car-arrive;position:absolute;top:53%;left:72%}.bc-car.is-parked{width:24%;height:24%;animation:.9s cubic-bezier(.16,.8,.25,1) both bc-park-car;top:70%;left:7%}.bc-stage--ending .bc-car.is-parked{filter:drop-shadow(0 6px 2px #30223850)}.bc-cake-prop{z-index:5;pointer-events:none;image-rendering:pixelated;position:absolute}.bc-cake-prop.is-held{width:13%;height:18%;transition:left .7s,top .7s,width .7s;top:76%;left:46%;transform:translate(-50%,-50%)}.bc-stage--cake-wish .bc-cake-prop.is-held,.bc-stage--wish .bc-cake-prop.is-held,.bc-stage--celebration .bc-cake-prop.is-held{width:16%;height:20%;top:76%;left:46%}.bc-cake-prop.is-parked{width:15%;height:23%;animation:.8s ease-out both bc-park-cake;bottom:5%;left:85%;transform:translate(-50%)}.bc-cake-prop>img{object-fit:contain;filter:drop-shadow(0 4px 2px #33223744);width:100%;height:100%;display:block}.bc-cake-prop.is-held>img{filter:drop-shadow(0 2px 1px #36233c44)}.bc-candles{--px:1cqw;position:absolute;inset:0}.bc-candles .sc-candle.is-out .sc-smoke{width:140%;height:auto;margin-left:-20%;animation:1.25s steps(7,end) forwards bc-smoke}.bc-cake-prop.is-blown .sc-candle{opacity:.4;filter:grayscale()}.bc-open-gift{z-index:6;aspect-ratio:1.15;width:11%;animation:.42s steps(5,end) both bc-box-open;position:absolute;top:64%;left:47.7%;transform:translate(-50%,-50%)}.bc-open-gift__body{background:#c84e70;border:3px solid #4a2b4d;height:54%;position:absolute;bottom:5%;left:8%;right:8%;box-shadow:inset 0 0 0 4px #e8858d,4px 4px #422543}.bc-open-gift__lid{z-index:2;background:#ef8c91;border:3px solid #4a2b4d;width:94%;height:21%;position:absolute;top:19%;left:3%;transform:rotate(-17deg);box-shadow:3px 3px #422543}.bc-open-gift__ribbon{z-index:3;background:#ffd970;border-inline:2px solid #4a2b4d;width:10%;height:52%;position:absolute;bottom:9%;left:45%}.bc-fireworks{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bc-fireworks i{opacity:0;width:6px;height:6px;animation:bc-firework 1.2s steps(7) var(--delay) 3 both;position:absolute;box-shadow:0 -18px,0 18px,18px 0,-18px 0,13px 13px,-13px -13px,13px -13px,-13px 13px}.bc-fireworks.is-celebration i{width:7px;height:7px;animation-duration:1.4s;animation-iteration-count:2;box-shadow:0 -24px,0 24px,24px 0,-24px 0,17px 17px,-17px -17px,17px -17px,-17px 17px}.bc-the-end{z-index:8;color:#fff4db;letter-spacing:.07em;text-shadow:2px 2px #21182e;background:#34254bbf;border:3px solid #fff4db;padding:8px 15px;font:14px/1 "Press Start 2P",VT323,monospace;position:absolute;top:8%;left:50%;transform:translate(-50%);box-shadow:4px 4px #21182e66}.bc-hotspot{z-index:12;cursor:pointer;touch-action:manipulation;background:0 0;border:2px solid #0000;position:absolute}.bc-hotspot:hover,.bc-hotspot:focus-visible{outline-offset:2px;background:#fff4c225;border-color:#fff4c2;outline:3px solid #63304e}.bc-hotspot--gift{width:16%;height:26%;top:52%;left:36%}.bc-hotspot--cake{width:18%;height:23%;top:48%;left:41%}.bc-hotspot--candles{width:17%;height:24%;top:47%;left:42%}.bc-dialogue{color:#30223d;text-align:left;background:#fff7ed;border:4px solid #342347;grid-template-columns:50px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:82px;margin-top:12px;padding:8px 10px;display:grid;box-shadow:5px 5px #30223d55}.bc-dialogue__portrait{background:#ffdce2;border:3px solid #342347;place-items:center;width:48px;height:56px;display:grid;overflow:hidden}.bc-dialogue__portrait img{object-fit:cover;object-position:50% 0;width:100%;height:100%;image-rendering:pixelated}.bc-dialogue__speaker{color:#fff6dc;letter-spacing:.04em;background:#933a5b;padding:1px 8px;font:18px/1.25 VT323,monospace;display:inline-block}.bc-dialogue__line{overflow-wrap:anywhere;min-height:2.2em;margin:5px 0 0;font:24px/1.1 VT323,monospace}.bc-dialogue__caret{vertical-align:baseline;background:currentColor;width:.34em;height:.72em;margin-left:2px;animation:.7s steps(2,end) infinite bc-caret;display:inline-block}.bc-dialogue__action{color:#fff7ed;text-align:center;background:#96364e;border:3px solid #542740;align-self:end;max-width:190px;min-height:44px;padding:9px 13px;font:20px/1.05 VT323,monospace;box-shadow:3px 3px #542740}.bc-dialogue__action:hover,.bc-dialogue__action:focus-visible,.bc-letter-link:hover,.bc-letter-link:focus-visible{color:#382443;outline-offset:2px;background:#ffd45e;outline:2px solid #382443}.bc-letter-link{color:#fff7ed;background:#96364e;border:3px solid #512941;justify-content:center;align-items:center;gap:22px;min-height:44px;margin-top:10px;padding:9px 23px;font:22px/1 VT323,monospace;display:inline-flex;box-shadow:4px 4px #512941}.bc-song-credit{color:#71545e;text-underline-offset:2px;width:fit-content;max-width:100%;margin:8px auto 0;font-size:10px;line-height:1.4;text-decoration:underline;display:block}.night .bc-heading h1{color:#f7efff}.night .bc-dialogue{color:#f8efff;background:#282047;border-color:#1b1536;box-shadow:5px 5px #17142f}.night .bc-dialogue__portrait{background:#3c2b5f;border-color:#1b1536}.night .bc-dialogue__speaker{color:#29203f;background:#ffdc72}.night .bc-dialogue__action,.night .bc-letter-link{color:#fff8e5;background:#7553a1;border-color:#17142f;box-shadow:3px 3px #17142f}.night .bc-song-credit{color:#d7c9ed}@keyframes bc-car-arrive{0%{opacity:0;transform:translateY(22%)scale(.68)}65%{opacity:1;transform:translateY(-4%)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bc-park-car{0%{transform:translate(120%,-35%)scale(.72)}to{transform:translate(0)scale(1)}}@keyframes bc-park-cake{0%{transform:translate(-50%,-65%)scale(.8)}to{transform:translate(-50%)scale(1)}}@keyframes bc-box-open{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes bc-firework{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.15)}70%{opacity:.95;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}@keyframes bc-smoke{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-145%)}}@keyframes bc-caret{50%{opacity:0}}@media (width<=760px){.scene-screen.g-screen.beach-celebration{max-width:100%}.bc-heading{margin-bottom:7px}.scene-screen .bc-heading h1{font-size:clamp(19px,5vw,22px)}.bc-theme-switch{margin-bottom:10px}.bc-stage{border-width:3px;box-shadow:0 0 0 3px #fff7ed,5px 5px #2a163333}.night .bc-stage{box-shadow:0 0 0 3px #8776a8,5px 5px #17163255}.bc-couple{width:39%;left:30%}.bc-stage--gift-reveal .bc-couple,.bc-stage--gift-thanks .bc-couple,.bc-stage--cake-offer .bc-couple{width:39%;left:23%}.bc-stage--cake-wish .bc-couple,.bc-stage--wish .bc-couple,.bc-stage--celebration .bc-couple{width:39%;left:30%}.bc-stage--ending .bc-couple{width:36%;bottom:-3%;left:32%}.bc-car{width:21%;height:28%;top:55%;left:72%}.bc-car.is-parked{width:26%;height:23%;top:72%;left:5%}.bc-cake-prop.is-held{width:14%;height:18%;top:76%;left:46%}.bc-stage--cake-wish .bc-cake-prop.is-held,.bc-stage--wish .bc-cake-prop.is-held,.bc-stage--celebration .bc-cake-prop.is-held{width:16%;height:20%;top:76%}.bc-cake-prop.is-parked{width:18%;height:21%;bottom:5%;left:86%}.bc-open-gift{width:16%;top:52%;left:48%}.bc-dialogue{border-width:3px;grid-template-columns:43px minmax(0,1fr);gap:8px;min-height:94px;margin-top:12px;padding:8px;box-shadow:4px 4px #30223d55}.bc-dialogue__portrait{border-width:2px;width:42px;height:54px}.bc-dialogue__speaker{font-size:16px}.bc-dialogue__line{min-height:2em;font-size:21px}.bc-dialogue__action{grid-column:2;justify-self:end;max-width:180px;min-height:40px;padding:7px 11px;font-size:19px}.bc-letter-link{min-height:44px;margin-top:11px;padding:8px 19px;font-size:21px}.bc-song-credit{font-size:9px}.bc-the-end{border-width:2px;padding:6px 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){.bc-world,.bc-couple,.bc-cake-prop,.bc-car,.bc-open-gift,.bc-fireworks i{transition:none!important;animation:none!important}.bc-candles .sc-candle.is-out .sc-smoke{opacity:.65}.bc-caret{animation:none}}@media (width>=761px){.bc-stage{width:min(100%,1120px,103.111dvh);margin-inline:auto}.app.screen-4 .screen:has(.beach-celebration){padding-block:14px}}@media (width>=1100px){.bc-theme-switch{z-index:12;margin:0;position:absolute;top:0;right:0}.bc-heading{margin-bottom:10px}}.beach-travel{max-width:900px;margin:0 auto}.beach-travel__frame{aspect-ratio:16/9;isolation:isolate;background:#101225;border:4px solid #221b4e;position:relative;overflow:hidden;box-shadow:0 0 0 4px #fff7ed,8px 8px 0 4px #221b4e33}.beach-travel__frame.is-failed{background:linear-gradient(#1f254d 0%,#6a487f 52%,#da855f 53%,#f6bc78 100%)}.beach-travel__image,.beach-travel__dark,.beach-travel__grain{width:100%;height:100%;position:absolute;inset:0}.beach-travel__image{object-fit:cover;image-rendering:pixelated;will-change:transform,opacity}.beach-travel__dark{pointer-events:none;background:#101225}.beach-travel__grain{pointer-events:none;opacity:.1;mix-blend-mode:screen;background-image:radial-gradient(#fff .6px,#0000 .8px);background-size:7px 7px}.beach-travel__copy{color:#2a254e;text-align:center;background:#fff7ed;border:4px solid #2a254e;margin-top:15px;padding:18px 20px;box-shadow:4px 4px #2a254e66}.beach-travel__copy p{color:#795d82;letter-spacing:.05em;margin:0 0 7px;font:18px/1.2 VT323,monospace}.scene-screen .beach-travel__copy h1{color:#2a254e;text-shadow:none;margin:0;font:600 clamp(20px,2.5vw,27px)/1.4 Be Vietnam Pro,sans-serif}.beach-travel__error{color:#2a254e;margin-top:12px}.beach-travel__error>p{color:#2a254e;letter-spacing:0;margin:0 0 9px;font:500 15px/1.5 Be Vietnam Pro,sans-serif}.beach-travel__error>div{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.beach-travel__error button{color:#2a254e;cursor:pointer;background:#fff7ed;border:2px solid #2a254e;min-height:42px;padding:9px 15px;font:600 14px/1.3 Be Vietnam Pro,sans-serif;box-shadow:3px 3px #2a254e66}.beach-travel__error button:first-child{color:#fff7ed;background:#9d3453}@media (width<=760px){.beach-travel__frame{aspect-ratio:5/4;border-width:3px;box-shadow:0 0 0 3px #fff7ed,5px 5px 0 3px #221b4e33}.beach-travel__copy{border-width:3px;margin-top:12px;padding:15px 12px}.beach-travel__copy p{font-size:16px}.scene-screen .beach-travel__copy h1{font-size:20px}}@media (prefers-reduced-motion:reduce){.beach-travel__image{will-change:auto}.beach-travel__grain{display:none}}.ready-scene{max-width:900px;margin:0 auto}.ready-scene__frame{aspect-ratio:16/9;isolation:isolate;background:#202457;border:4px solid #221b4e;position:relative;overflow:hidden;box-shadow:0 0 0 4px #fff7ed,8px 8px 0 4px #221b4e33}.ready-scene__background{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.ready-scene__pair{align-items:flex-end;gap:clamp(2px,1vw,10px);height:39%;display:flex;position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.ready-scene__pair img{object-fit:contain;width:auto;height:100%;image-rendering:pixelated;filter:drop-shadow(2px 2px #16154088);display:block}.ready-scene__companion{transform-origin:bottom;transform:scale(.9)}.ready-scene__heart{z-index:1;color:#ffd3e8;text-shadow:2px 0 #34224f,-2px 0 #34224f,0 2px #34224f,0 -2px #34224f;font:clamp(20px,3vw,30px)/1 VT323,monospace;position:absolute;top:29%;left:50%;transform:translate(-50%)}.ready-scene__copy{color:#2a254e;text-align:center;background:#fff7ed;border:4px solid #2a254e;margin-top:15px;padding:18px 20px;box-shadow:4px 4px #2a254e66}.ready-scene__copy p{color:#795d82;letter-spacing:.05em;margin:0 0 7px;font:18px/1.2 VT323,monospace}.scene-screen .ready-scene__copy h1{color:#2a254e;text-shadow:none;margin:0;font:600 clamp(19px,2.5vw,26px)/1.4 Be Vietnam Pro,sans-serif}@media (width<=760px){.ready-scene__frame{aspect-ratio:5/4;border-width:3px;box-shadow:0 0 0 3px #fff7ed,5px 5px 0 3px #221b4e33}.ready-scene__pair{height:37%;bottom:6%}.ready-scene__copy{border-width:3px;margin-top:12px;padding:15px 12px}.ready-scene__copy p{font-size:16px}.ready-scene__copy h1{font-size:20px}}@media (prefers-reduced-motion:reduce){.ready-scene__pair img{animation:none}}.close-eyes-scene{max-width:900px;margin:0 auto}.close-eyes-copy{color:#2a254e;text-align:center;background:#fff7ed;border:4px solid #2a254e;margin-top:15px;padding:18px 20px;box-shadow:4px 4px #2a254e66}.close-eyes-kicker{color:#795d82;letter-spacing:.05em;margin:0 0 7px;font:18px/1.2 VT323,monospace}.scene-screen .close-eyes-copy h1{color:#2a254e;text-shadow:none;margin:0;font:600 clamp(19px,2.5vw,26px)/1.4 Be Vietnam Pro,sans-serif}.close-eyes-prompt{margin:7px 0 0;font-size:14px;line-height:1.55}.close-eyes-helper{color:#795d82;margin:10px 0 0;font-size:12px;line-height:1.55}.close-eyes-start{justify-content:space-between;align-items:center;gap:24px;min-width:min(100%,280px);margin-top:13px;display:inline-flex}.close-eyes-count{color:#392a69;text-shadow:3px 3px #cdb7dc;margin:5px auto 0;font:clamp(76px,11vw,112px)/.95 VT323,monospace}@media (width<=760px){.close-eyes-copy{border-width:3px;margin-top:12px;padding:15px 12px}.close-eyes-kicker{font-size:16px}.scene-screen .close-eyes-copy h1{font-size:19px}.close-eyes-prompt{font-size:13px}.close-eyes-helper{font-size:11px}.close-eyes-count{font-size:86px}}.riverside-scene{text-align:center;max-width:900px;margin:0 auto}.scene-screen .riverside-kicker{color:#805663;letter-spacing:.02em;text-shadow:none;margin:0 0 12px;font:600 clamp(18px,2.1vw,24px)/1.4 Be Vietnam Pro,sans-serif}.riverside-room .rm-viewport{background:#fb9d9b}.riverside-bg{object-fit:cover;object-position:center 72%;width:100%;height:100%;image-rendering:pixelated;display:block}.riverside-room .rm-dialog{margin-top:14px}.riverside-hold{justify-content:space-between;align-items:center;gap:24px;min-width:min(100%,280px);margin-top:14px;display:inline-flex}.riverside-heart{color:#ffb9dc;font:calc(var(--px) * 14)/1 "VT323",monospace;text-shadow:var(--px) 0 #6d2b60,calc(var(--px) * -1) 0 #6d2b60,0 var(--px) #6d2b60,0 calc(var(--px) * -1) #6d2b60;animation:.3s steps(3,end) both riverside-heart-in;display:block}@keyframes riverside-heart-in{0%{opacity:0;transform:translateY(calc(var(--px) * 3)) scale(.5)}to{opacity:1;transform:none}}@media (width<=760px){.riverside-kicker{margin-bottom:9px}.riverside-room .rm-viewport{aspect-ratio:5/4}.riverside-bg{object-position:center 73%}.riverside-room .rm-dialog{margin-top:11px}}@media (prefers-reduced-motion:reduce){.riverside-heart{animation:none}}:root{color:#532d39;font-synthesis:none;--berry:#96364e;--ink:#532d39;--pink:#f8e5e9;--paper:#fffaf1;background:#f9ece9;font-family:Be Vietnam Pro,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible+span{outline-offset:5px;outline:3px solid #286354}.gift-card:has(input:focus-visible){outline-offset:5px;outline:3px solid #286354}h1:focus{outline:none}img{max-width:100%;display:block}h1,h2,p{margin:0}h1{font-family:VT323,monospace;font-size:clamp(48px,6.6vw,88px);font-weight:400;line-height:.98}p{line-height:1.8}fieldset{border:0;margin:0;padding:0}.app{background:var(--pink);flex-direction:column;min-height:100dvh;transition:background .5s,color .5s;display:flex}.topbar,.bottom-bar{justify-content:space-between;align-items:center;gap:20px;padding:25px clamp(20px,5vw,76px);display:flex}.brand{font-family:VT323,monospace;font-size:24px}.step-count{font-family:VT323,monospace;font-size:25px}.screen{flex:1;justify-content:center;align-items:center;width:100%;max-width:1240px;margin:auto;padding:30px 48px 50px;display:flex}.screen>section{width:100%;position:relative}.bottom-bar{letter-spacing:.12em;min-height:78px;font-size:10px}.bottom-bar>span:last-child{opacity:.65}.primary{color:#fffaf1;background:var(--berry);border:2px solid #6b2639;justify-content:center;align-items:center;gap:30px;min-height:52px;padding:15px 25px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:4px 4px #602b3c}.primary:not(:disabled):hover{transform:translate(-1px,-2px);box-shadow:5px 6px #602b3c}.primary:not(:disabled):active{transform:translate(3px,3px);box-shadow:1px 1px #602b3c}.back,.text-button{color:inherit;background:0 0;border:0;padding:12px 0;font-size:13px}.back:hover,.text-button:hover{text-decoration:underline}.centered{text-align:center}.chapter{letter-spacing:.18em;margin-bottom:20px;font-size:11px;font-weight:600}.section-heading{text-align:center;margin-bottom:35px}.section-heading>p:last-child{color:#78545e;margin-top:12px;font-size:14px}.center-actions{text-align:center;margin-top:34px}.quiet{color:#815461;margin-top:25px;font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.ad-screen{grid-template-columns:1.15fr 1fr;align-items:center;gap:65px;display:grid}.ad-label{letter-spacing:.12em;font-size:11px;font-weight:600}.ad-copy h1{letter-spacing:-.055em;margin:24px 0;font-family:Be Vietnam Pro,sans-serif;font-size:clamp(36px,4.6vw,62px);font-weight:600;line-height:1.22}.ad-copy p{color:#526358;margin-bottom:30px;font-size:15px}.ad-copy .primary{box-shadow:none;background:#294e3e;border-color:#294e3e;border-radius:4px}.ad-copy small{color:#6b756e;margin-top:18px;font-size:11px;display:block}.reward-art{background:#e0e7da;border-radius:50% 50% 5px 5px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;display:flex;position:relative}.reward-art>p{letter-spacing:.3em;margin-top:40px;font-size:11px}.reward-box{background:#9c3952;width:160px;height:148px;position:relative;transform:rotate(-9deg);box-shadow:14px 16px #c2cbb8}.reward-lid{background:#b54e66;width:180px;height:32px;position:absolute;top:-20px;left:-10px}.reward-ribbon{background:#efd099;width:34px;position:absolute;top:-20px;bottom:0;left:63px}.reward-box>span{color:#f9e9c7;text-shadow:3px 3px #9c3952;font:70px VT323,monospace;position:absolute;top:32px;left:62px}.reward-orbit{color:#70866d;font-size:60px;position:absolute;top:25px;right:35px}.welcome{max-width:840px;padding:30px 0}.welcome h1{color:#92364e;font-size:clamp(68px,9vw,126px);position:relative}.welcome h1 span{font-size:.83em}.welcome-stamp{justify-content:center;align-items:center;gap:18px;margin:30px 0;display:flex}.welcome-stamp img{object-fit:contain;mix-blend-mode:multiply;width:66px;height:85px;image-rendering:pixelated}.speech{text-align:left;background:var(--paper);border:2px solid #ba8997;max-width:300px;padding:15px 18px;font-size:14px;position:relative;box-shadow:4px 4px #e6bec8}.sprinkles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sprinkles i{width:6px;height:6px;left:var(--x);top:var(--y);opacity:.3;background:#b96076;position:absolute}.sprinkles i:nth-child(3n){background:#dfaa52;width:9px;height:9px}.sprinkles i:nth-child(4n){background:#9c86ac}.kitchen-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;max-width:900px;margin:auto;display:grid}.cake-preview{background-color:#fffaf3;background-image:linear-gradient(90deg,#f1e8d94d 1px,#0000 1px),linear-gradient(#f1e8d94d 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:24px 24px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:2px solid #c69a9d;flex-direction:column;align-items:center;min-height:338px;padding:22px 20px 15px;display:flex;position:relative;box-shadow:7px 7px #e6c1ca}.preview-label{letter-spacing:.2em;color:#937276;font-size:10px}.cake-preview>img{object-fit:contain;mix-blend-mode:multiply;width:270px;height:230px;image-rendering:pixelated}.empty-plate{color:#a88185;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:230px;display:flex}.empty-plate>span{font:100px/1 VT323,monospace}.empty-plate p{font-size:13px}.recipe{color:#856268;text-align:center;font-size:11px}.ingredients fieldset{margin-bottom:24px}.ingredients legend{margin-bottom:12px;font-size:15px;font-weight:600}.ingredients legend b{color:#a67884;margin-right:14px;font:23px VT323,monospace}.options{gap:12px;display:flex}.options label{flex:1;position:relative}.options input,.gift-card input{opacity:0;width:1px;height:1px;position:absolute}.options span{text-align:center;cursor:pointer;background:#fff8ef;border:2px solid #c7a4ac;padding:13px 10px;font-size:14px;display:block}.options input:checked+span{color:#fff;background:#96364e;border-color:#6b2639;box-shadow:3px 3px #d1a0ae}.options label:hover span{border-color:#96364e}.ingredients .primary{width:100%;margin-top:4px}.gift-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.gift-card{cursor:pointer;background:#fffaf2;border:2px solid #c7a4ac;flex-direction:column;align-items:center;min-width:0;padding:23px 15px;transition:transform .2s,border-color .2s;display:flex;position:relative}.gift-card:hover{transform:translateY(-4px)}.gift-card.selected{border-color:#96364e;box-shadow:5px 5px #d09aab}.gift-number{color:#a67c83;align-self:flex-start;font:24px VT323,monospace}.gift-card img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:185px;image-rendering:pixelated}.gift-name{text-align:center;font-size:14px;font-weight:600;line-height:1.6}.gift-choice{color:#946876;margin-top:13px;font-size:11px}.gift-card.selected .gift-choice{color:#96364e}.scene-screen{text-align:center;max-width:870px}.theme-toggle{background:#fff7ed;border:2px solid #a67b89;gap:3px;margin-bottom:20px;padding:3px;display:inline-flex}.theme-toggle button{color:#633342;background:0 0;border:0;padding:8px 22px;font-size:13px}.theme-toggle button[aria-pressed=true]{color:#fff;background:#96364e}.scene-screen h1{color:#ffe663;text-shadow:3px 3px #71329b,-2px -2px #71329b,2px -2px #71329b,-2px 2px #71329b;margin-bottom:22px;font-size:clamp(44px,6vw,80px)}.scene-board{aspect-ratio:16/9;isolation:isolate;border:4px solid #705059;position:relative;overflow:hidden;box-shadow:7px 7px #cda8ac}.scene-bg{object-fit:cover;opacity:0;width:100%;height:100%;image-rendering:pixelated;transition:opacity .5s;position:absolute}.scene-bg.active{opacity:1}.scene-sticker{background:#fff;border:3px solid #fff7e3;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:3px 4px #29133755}.scene-sticker img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.woman{width:15%;height:39%;bottom:17%;left:28%;transform:rotate(-3deg)}.man{width:17%;height:40%;bottom:17%;left:44%;transform:rotate(2deg)}.scene-gift{width:25%;height:25%;bottom:17%;left:65%;transform:rotate(3deg)}.scene-cake{width:15%;height:24%;bottom:4%;left:46%;transform:rotate(-4deg)}.scene-caption{margin:22px 0;font-size:13px}.night{color:#f7e5f2;background:#24183e}.night .scene-screen h1{color:#fff;text-shadow:3px 3px #7546a7}.night .scene-board{border-color:#9780af;box-shadow:7px 7px #130a25}.night .scene-caption{color:#d4bedc}.night .primary{color:#392047;background:#d8a4bc;border-color:#e6c5d6;box-shadow:4px 4px #6d487d}.letter-screen{max-width:660px}.letter-screen h1{margin-bottom:35px}.envelope{background:#efd3b7;border:3px solid #9e5768;width:280px;height:185px;margin:30px auto 35px;display:block;position:relative;overflow:hidden;box-shadow:7px 7px #d9afba}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 65%);background:#f8e7cd;position:absolute;inset:0}.seal{color:#fff1dc;background:#a23f59;border:2px solid #762c43;place-items:center;width:40px;height:40px;font-size:28px;display:grid;position:absolute;top:75px;left:118px}.letter-screen>p:not(.chapter){font-size:13px}.letter-paper{text-align:left;background:var(--paper);border:2px solid #cfa9a5;margin:0 auto 25px;padding:35px 38px;box-shadow:6px 6px #dcb7bc}.placeholder-label{letter-spacing:.09em;color:#7f572f;background:#f5e4c7;margin-bottom:12px;padding:8px 10px;font-size:10px;display:inline-block}.letter-paper p{margin:18px 0;font-size:14px}.letter-paper .signature{text-align:right;color:#93616f;font-size:12px}.screen-5{background:#efe3da}@media (prefers-reduced-motion:no-preference){.screen{animation:.4s both enter}.cake-pop{animation:.3s steps(4,end) pop}.sprinkles:not(.burst) i{animation:2s steps(3,end) infinite twinkle;animation-delay:calc(var(--i)*.11s)}.burst i{animation:1.7s ease-out both fall;animation-delay:calc(var(--i)*25ms)}.envelope:hover{animation:.4s steps(3,end) nudge}.letter-paper{animation:.5s both enter}}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes twinkle{0%,to{opacity:.1;transform:scale(.6)}50%{opacity:.6;transform:scale(1.2)}}@keyframes fall{0%{opacity:1;transform:translateY(-80px)rotate(0)}to{opacity:0;transform:translateY(220px)rotate(180deg)}}@keyframes nudge{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@media (width<=760px){.screen{padding:22px 22px 35px}.topbar,.bottom-bar{padding:20px 22px}.brand{font-size:20px}.bottom-bar{gap:12px;font-size:8px}.ad-screen{grid-template-columns:1fr;gap:35px;max-width:480px}.ad-copy h1{font-size:42px}.reward-art{border-radius:120px 120px 4px 4px;order:-1;width:100%;max-width:330px;min-height:230px;margin:auto}.reward-box{transform:scale(.7)rotate(-9deg)}.reward-art>p{margin-top:0;font-size:9px}.reward-orbit{font-size:35px;top:10px}.ad-copy{text-align:center}.ad-copy p{font-size:13px}.ad-label{font-size:9px}.screen-0 .screen{padding-top:10px}.kitchen-layout{grid-template-columns:1fr;gap:30px;max-width:440px}.cake-preview{min-height:245px;padding:15px}.cake-preview>img,.empty-plate{height:170px}.cake-preview>img{width:220px}.section-heading{margin-bottom:25px}.section-heading>p:last-child{font-size:12px}.chapter{letter-spacing:.12em;margin-bottom:14px;font-size:9px}.ingredients fieldset{margin-bottom:19px}.gift-grid{grid-template-columns:1fr;gap:15px;max-width:440px;margin:auto}.gift-card{text-align:left;grid-template-columns:125px 1fr;column-gap:16px;padding:14px;display:grid}.gift-card img{grid-area:1/1/4;height:100px}.gift-number{grid-column:2;font-size:18px}.gift-name{text-align:left;grid-column:2;font-size:13px}.gift-choice{grid-column:2;margin-top:5px}.welcome{padding:35px 0}.welcome h1{font-size:74px}.welcome-stamp{gap:10px}.speech{max-width:240px;padding:13px;font-size:12px}.quiet{font-size:10px}.scene-board{border-width:3px;box-shadow:4px 4px #cda8ac}.scene-sticker{border-width:1px;box-shadow:2px 2px #29133755}.scene-screen h1{font-size:50px}.scene-caption{max-width:290px;margin:24px auto;font-size:11px}.letter-paper{padding:22px}.letter-paper p{font-size:13px}.placeholder-label{font-size:8px}.scene-screen .primary,.center-actions .primary{font-size:13px}.screen-4 .screen{padding-left:14px;padding-right:14px}}.step-count{white-space:nowrap;flex-shrink:0}.letter-paper:focus{outline:none}.screen-0 .topbar{border-bottom:1px solid #d6d6c9;width:100%;max-width:1440px;margin:0 auto}.screen-0 .brand{letter-spacing:.12em;font:700 17px Be Vietnam Pro,sans-serif}.screen-0 .bottom-bar{width:100%;max-width:1440px;margin:0 auto}.ordinary-home{margin:auto;max-width:1120px!important}.ordinary-nav{letter-spacing:.1em;color:#59675d;border-bottom:1px solid #c7c9bb;align-items:center;gap:36px;height:62px;font-size:10px;display:flex}.ordinary-nav span:first-child{color:#34473c;font-weight:700}.ordinary-nav .nav-search{margin-left:auto}.ordinary-columns{grid-template-columns:1.15fr .7fr;align-items:start;gap:80px;padding:48px 0 25px;display:grid}.ordinary-story{max-width:620px}.ordinary-kicker,.ordinary-byline,.sponsored-tag{letter-spacing:.13em;color:#69776d;font-size:10px}.ordinary-story h1{letter-spacing:-.05em;color:#293c33;margin:18px 0;font:500 clamp(39px,5vw,61px)/1.13 Be Vietnam Pro,sans-serif}.ordinary-deck{color:#637064;max-width:530px;font-size:15px}.ordinary-byline{align-items:center;gap:13px;margin:24px 0 27px;font-weight:600;line-height:1.8;display:flex}.ordinary-byline small{letter-spacing:0;font-size:10px;font-weight:400}.byline-mark{border:1px solid #94a08e;border-radius:50%;place-items:center;width:34px;height:34px;font:18px VT323,monospace;display:grid}.ordinary-feature{color:#fff;letter-spacing:.16em;background:linear-gradient(120deg,#d2decc,#91a992 47%,#f0c99f);justify-content:space-between;align-items:flex-end;height:240px;padding:18px;font-size:10px;display:flex;position:relative}.ordinary-feature span:last-child{color:#ffe9a2;font-size:44px}.ordinary-caption{color:#758075;margin-top:8px;font-size:11px}.sponsored-card{background:#ebece3;border:1px solid #d2d3c5;padding:18px 20px 21px}.sponsored-card .ordinary-kicker{margin-bottom:16px}.coffee-art{background:#d4dfd0;place-items:center;height:170px;display:grid;position:relative;overflow:hidden}.cup-shadow{background:#9eaa98;border-radius:50%;width:142px;height:24px;position:absolute;top:125px}.cup{z-index:1;clip-path:polygon(7% 0,93% 0,84% 100%,16% 100%);text-align:center;color:#674439;background:#f2eee0;place-items:center;width:91px;height:101px;font:20px/1.15 VT323,monospace;display:grid;box-shadow:5px 6px #82907e}.coffee-sun{color:#bd8b48;font-size:32px;position:absolute;top:15px;right:30px}.coffee-leaf{background:#8ba080;border-radius:100% 0;width:70px;height:34px;position:absolute;bottom:20px;left:42px;transform:rotate(-30deg)}.sponsored-tag{margin-top:17px;font-size:9px}.sponsored-card h2{margin:12px 0;font-size:20px;font-weight:600;line-height:1.4}.sponsored-card>p:not(.ordinary-kicker,.sponsored-tag){color:#626c60;font-size:12px;line-height:1.75}.ordinary-cta{color:#fff;text-align:left;background:#344d3d;border:0;justify-content:space-between;width:100%;margin-top:17px;padding:13px 15px;font-size:12px;display:flex}.ordinary-cta:hover{background:#263a2e}.ordinary-bottom{letter-spacing:.12em;color:#687268;border-top:1px solid #c7c9bb;justify-content:space-between;padding-top:20px;font-size:9px;display:flex}.interstitial-open{color:#352c27;background:#f7f4ec}.interstitial-open .topbar{z-index:2;background:#f7f4ec;border-bottom:1px solid #ddd5c8;padding-top:18px;padding-bottom:18px;position:relative}.interstitial-open .brand{letter-spacing:.12em;color:#584033;font:700 14px Be Vietnam Pro,sans-serif}.sponsored-pill{letter-spacing:.12em;color:#766c61;white-space:nowrap;border:1px solid #c7bdae;padding:7px 10px;font-size:9px}.interstitial-open .screen{align-items:stretch;max-width:none;padding:0 48px}.interstitial-open .screen>section{width:100%;max-width:1130px;margin:auto}.sponsored-interstitial{font-family:Be Vietnam Pro,sans-serif}.ad-running-header{letter-spacing:.12em;color:#756b5e;border-bottom:1px solid #e1dacd;justify-content:space-between;align-items:center;height:48px;font-size:9px;display:flex}.ad-running-header b{color:#a45d38;margin-left:7px}.ad-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;min-height:440px;padding:46px 0;display:grid}.ad-eyebrow{letter-spacing:.14em;color:#9b6948;font-size:10px}.ad-hero h1{letter-spacing:-.045em;color:#3d3229;margin:22px 0;font:600 clamp(37px,4.5vw,59px)/1.18 Be Vietnam Pro,sans-serif}.ad-hero p:not(.ad-eyebrow){color:#71685e;max-width:510px;font-size:14px;line-height:1.95}.ad-hero a{color:#72472d;text-underline-offset:5px;margin-top:22px;font-size:12px;text-decoration-thickness:1px;display:inline-block}.ad-product-art{background:#e8dfce;place-items:center;height:330px;display:grid;position:relative;overflow:hidden}.ad-product-art:before{content:"";background:#cfb99a;border-radius:50%;width:245px;height:245px;position:absolute;top:10%;right:15%}.ad-steam{z-index:1;color:#9c8064;font:42px VT323,monospace;position:absolute;top:40px;right:36%;transform:rotate(-90deg)}.ad-product-cup{z-index:2;clip-path:polygon(4% 0,96% 0,87% 100%,13% 100%);text-align:center;color:#694738;background:#f5efe2;place-items:center;width:155px;height:183px;font:39px/1 VT323,monospace;display:grid;box-shadow:9px 12px #b3a68f}.ad-product-shadow{background:#b1a58f;border-radius:50%;width:205px;height:33px;position:absolute;bottom:59px}.ad-product-art i{z-index:1;letter-spacing:.19em;color:#66594b;font-size:9px;font-style:normal;position:absolute;bottom:19px}.ad-promo-strip{letter-spacing:.11em;color:#795b43;border-top:1px solid #ddd4c4;border-bottom:1px solid #ddd4c4;justify-content:space-between;align-items:center;gap:20px;min-height:67px;font-size:9px;display:flex}.ad-copy-block{grid-template-columns:1fr 1fr;align-items:center;gap:75px;min-height:460px;padding:96px 8%;display:grid}.ad-copy-block h2{letter-spacing:-.035em;color:#44382f;margin-top:18px;font:500 clamp(31px,4vw,47px)/1.24 Be Vietnam Pro,sans-serif}.ad-copy-block>div:last-child p{color:#736a5e;margin:12px 0 20px;font-size:14px;line-height:2}.ad-note{letter-spacing:.1em;color:#916c46;border:1px solid #d5c4a8;margin-top:6px;padding:10px 13px;font-size:9px;display:inline-block}.ad-flavor-grid{border-top:1px solid #ddd4c4;border-bottom:1px solid #ddd4c4;grid-template-columns:repeat(3,1fr);min-height:325px;display:grid}.ad-flavor-grid article{border-right:1px solid #ddd4c4;flex-direction:column;gap:17px;padding:38px 27px;display:flex}.ad-flavor-grid article:last-child{border-right:0}.ad-flavor-grid span{letter-spacing:.1em;color:#927455;font-size:9px}.ad-flavor-grid b{font-size:20px;font-weight:500}.ad-flavor-grid p{color:#766c61;font-size:12px;line-height:1.9}.ad-last-word{color:#684d39;justify-content:center;align-items:center;gap:24px;min-height:250px;font:27px VT323,monospace;display:flex}.ad-last-word span:nth-child(2){color:#ad7853}.ad-footer{border-top:1px solid #dcd3c5;padding:26px 0 45px}.ad-footer>.ad-eyebrow{font-size:9px;line-height:1.8;display:block}.ad-footer-bottom{color:#7b6c5c;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;font-size:12px;display:flex}.skip-ad:disabled{color:#74695e;opacity:1;cursor:wait;background:#dfd9cf;border-color:#c8bdae}.interstitial-open+.bottom-bar{display:none}@media (width<=760px){.screen-0 .topbar{padding:17px 20px}.screen-0 .brand{font-size:14px}.screen-0 .screen{padding:0 20px 20px}.ordinary-nav{gap:17px;height:52px;font-size:8px}.ordinary-nav .nav-search{display:none}.ordinary-columns{grid-template-columns:1fr;gap:27px;padding:28px 0 20px}.ordinary-story h1{font-size:39px}.ordinary-deck{font-size:13px}.ordinary-feature{height:170px}.sponsored-card{grid-template-columns:1fr 1fr;align-items:center;column-gap:15px;display:grid}.sponsored-card .ordinary-kicker,.sponsored-tag{grid-column:1/-1}.coffee-art{grid-row:2/5;height:150px}.sponsored-card h2{font-size:16px}.sponsored-card>p:not(.ordinary-kicker,.sponsored-tag){font-size:11px}.ordinary-cta{grid-column:1/-1}.ordinary-bottom{gap:10px;font-size:7px}.screen-0 .bottom-bar{padding:15px 20px}.interstitial-open .topbar{padding:14px 17px}.interstitial-open .brand{font-size:11px}.sponsored-pill{padding:6px;font-size:7px}.interstitial-open .screen{padding:0 20px}.ad-running-header{height:42px;font-size:8px}.ad-hero{grid-template-columns:1fr;gap:18px;min-height:auto;padding:32px 0 28px}.ad-hero h1{margin:16px 0;font-size:36px}.ad-hero p:not(.ad-eyebrow){font-size:13px}.ad-product-art{grid-row:1;height:205px}.ad-product-art:before{width:160px;height:160px;top:8%;right:19%}.ad-product-cup{width:112px;height:136px;font-size:31px}.ad-product-shadow{width:150px;height:25px;bottom:44px}.ad-product-art i{font-size:7px}.ad-promo-strip{flex-direction:column;justify-content:center;gap:10px;min-height:92px;font-size:8px}.ad-copy-block{grid-template-columns:1fr;gap:18px;min-height:auto;padding:55px 2%}.ad-copy-block h2{font-size:34px}.ad-copy-block>div:last-child p{font-size:13px}.ad-flavor-grid{grid-template-columns:1fr;min-height:auto}.ad-flavor-grid article{border-bottom:1px solid #ddd4c4;border-right:0;gap:10px;padding:25px 13px}.ad-flavor-grid article:last-child{border-bottom:0}.ad-flavor-grid b{font-size:18px}.ad-last-word{flex-direction:column;gap:5px;min-height:180px;font-size:25px}.ad-footer-bottom{flex-direction:column;align-items:flex-start;font-size:10px}.skip-ad{width:100%}}.film-ad{flex-direction:column;gap:14px;width:100%;max-width:1060px;margin:auto;font-family:Be Vietnam Pro,sans-serif;display:flex}.film-meta{justify-content:space-between;align-items:center;display:flex}.mute-toggle{color:#554538;letter-spacing:.08em;background:#f7f4ec;border:1px solid #8b7968;padding:8px 12px;font-size:10px}.film-frame{aspect-ratio:16/9;isolation:isolate;background:#171523;width:100%;min-height:250px;max-height:min(67dvh,610px);position:relative;overflow:hidden}.film-scene{opacity:0;color:#fff4da;animation:3.9s linear both film-cut;animation-delay:var(--shot-delay);isolation:isolate;align-items:center;padding:8%;display:flex;position:absolute;inset:0;overflow:hidden}.film-scene:after{content:"";z-index:-1;background:linear-gradient(90deg,#11121edb,#11121e7a 48%,#0000);position:absolute;inset:0}.shot-evening{--shot-delay:0s;--copy-delay:.35s;background:linear-gradient(#111523 0%,#292238 62%,#51404b 100%)}.shot-window{--shot-delay:3.62s;--copy-delay:3.97s;background:linear-gradient(120deg,#dfa975,#f5dbaf 44%,#c78752)}.shot-pour{--shot-delay:7.24s;--copy-delay:7.59s;background:radial-gradient(at 64% 46%,#e4bd86 0%,#87573d 40%,#342620 100%)}.shot-end{--shot-delay:10.86s;--copy-delay:11.21s;background:linear-gradient(140deg,#302423,#754b37 56%,#c49c6e)}.shot-window:after{background:linear-gradient(90deg,#443027de,#44302773 55%,#fff0d100)}.shot-pour:after{background:linear-gradient(90deg,#1b1715d9,#1b171560 62%,#0000)}.shot-end:after{background:linear-gradient(90deg,#211917d8,#21191779 70%,#0000)}.film-copy{letter-spacing:-.035em;text-shadow:0 2px 20px #0006;max-width:57%;animation:.65s cubic-bezier(.2,.8,.25,1) both copy-arrive;animation-delay:var(--copy-delay);font:500 clamp(22px,3.25vw,45px)/1.22 Be Vietnam Pro,sans-serif;display:block}.film-location{letter-spacing:.17em;color:#fff4dad1;font-size:9px;position:absolute;bottom:11%;left:8%}.film-sky{z-index:-1;clip-path:polygon(0 30%,12% 30%,12% 13%,25% 13%,25% 35%,37% 35%,37% 0,56% 0,56% 24%,69% 24%,69% 9%,87% 9%,87% 33%,100% 33%,100% 100%,0 100%);background:linear-gradient(#36334a,#1c1c2d);width:54%;height:72%;position:absolute;bottom:0;right:0}.city-window{opacity:.55;filter:drop-shadow(0 0 13px #e8ae72);background:repeating-linear-gradient(90deg,#0000 0 12%,#dfa664 12% 14%,#0000 14% 24%),repeating-linear-gradient(0deg,#0000 0 21%,#d3a16c 21% 24%,#0000 24% 43%);width:42%;height:38%;position:absolute;bottom:23%;right:8%}.window-light{background:linear-gradient(104deg,#0000 32%,#fff1c659 33%,#fff1c600 56%,#0000 57%);width:50%;height:150%;position:absolute;top:-20%;right:7%;transform:rotate(-2deg)}.film-cup{clip-path:polygon(6% 0,94% 0,81% 100%,18% 100%);color:#654638;text-align:center;letter-spacing:.08em;background:linear-gradient(90deg,#e8d7b9,#fff0d8 48%,#b89672);place-items:center;width:20%;height:48%;font:clamp(15px,2.7vw,30px)/1 VT323,monospace;display:grid;position:absolute;bottom:16%;right:21%;box-shadow:inset -14px 0 17px #70523b77}.cup-silhouette{background:linear-gradient(90deg,#e3ca9e,#fff2d4 50%,#c49a69);width:20%;height:35%;bottom:20%;right:15%}.film-cup i{font-style:normal}.film-cup b{background:#4c2b20;border:3px solid #e4c99e;border-radius:50%;width:115%;height:13%;position:absolute;top:-3%}.film-cup:after{content:"";border:7px solid #f0debd;border-left:0;border-radius:0 50% 50% 0;width:25%;height:45%;position:absolute;top:20%;right:-20%}.pour-stream{background:#e6c78a;width:5px;height:32%;animation:.55s steps(2,end) infinite pour-flow;position:absolute;top:25%;right:31%;transform:rotate(-22deg);box-shadow:0 0 11px #ffeba9}.film-end{position:absolute;inset:0}.brand-lockup{z-index:1;color:#ffecc7;letter-spacing:.09em;font:clamp(48px,9vw,110px)/.8 VT323,monospace;position:relative}.brand-lockup span{letter-spacing:.22em;margin-top:14px;font:9px Be Vietnam Pro,sans-serif;display:block}.shot-end .film-copy{text-align:right;font-size:clamp(14px,1.5vw,20px);position:absolute;bottom:18%;right:8%}.end-light{background:radial-gradient(circle,#eebd7166,#0000 70%);border-radius:50%;width:40vw;max-width:480px;height:40vw;max-height:480px;animation:3s ease-in-out infinite light-breathe;position:absolute;top:0;right:4%}.film-grain{z-index:3;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:absolute;inset:0}.film-letterbox{z-index:4;pointer-events:none;border-top:clamp(14px,3vh,30px) solid #08090dda;border-bottom:clamp(14px,3vh,30px) solid #08090dda;position:absolute;inset:0}.film-progress{z-index:5;background:#fff3;height:2px;position:absolute;bottom:clamp(14px,3vh,30px);left:0;right:0}.film-progress i{transform-origin:0;background:#f5d99c;width:100%;height:100%;animation:14.5s linear forwards film-progress;display:block}.film-footer{color:#d9cbbb;justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.film-footer p{margin:0}.skip-ad{color:#fff;background:#a15f3c;border:1px solid #b18d67;min-width:200px;padding:12px 16px;font-size:12px}.skip-ad:disabled{opacity:.55;cursor:wait;background:#76675c;border-color:#76675c}.screen-0.interstitial-open .topbar{color:#fff;background:#171523;border:0}.interstitial-open .screen:has(.film-ad){min-height:0;padding-top:12px;padding-bottom:20px}.bolt-a{top:12%;left:43%;transform:rotate(7deg)}.bolt-b{top:22%;left:54%;transform:rotate(184deg)scale(.65)}@keyframes film-cut{0%{opacity:0;transform:scale(1.08)}7%{opacity:1;transform:scale(1.04)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes copy-arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pour-flow{50%{opacity:.45;transform:translateY(5px)rotate(-20deg)}}@keyframes light-breathe{50%{opacity:.7;transform:scale(1.08)}}@keyframes film-progress{to{transform:scaleX(0)}}@keyframes lightning-hit{0%,50%,to{opacity:0}15%,35%{opacity:1}}@media (width<=760px){.film-ad{gap:12px}.film-meta{padding-top:4px}.film-frame{aspect-ratio:9/14;min-height:350px;max-height:68dvh}.film-scene{padding:9%}.film-scene:after{background:linear-gradient(#11121e21 15%,#11121edb)}.film-copy{align-self:flex-end;max-width:88%;margin-bottom:14%;font-size:clamp(20px,6vw,31px)}.film-location{font-size:7px;bottom:10%;left:9%}.film-sky{width:100%;height:62%;right:0}.city-window{width:48%;height:28%;bottom:28%;right:7%}.window-light{width:78%;top:-20%;right:0}.film-cup,.cup-silhouette{width:33%;height:42%;bottom:26%;right:15%}.cup-silhouette{width:30%;height:29%;bottom:28%;right:13%}.pour-stream{height:37%;top:24%;right:41%}.brand-lockup{font-size:64px}.shot-end .film-copy{max-width:80%;font-size:17px;bottom:13%;right:8%}.film-footer{align-items:flex-end;font-size:10px}.film-footer p{max-width:45%}.skip-ad{min-width:155px;padding:11px 10px;font-size:10px}.film-letterbox{border-top:19px solid #08090dda;border-bottom:19px solid #08090dda}}@media (prefers-reduced-motion:reduce){.film-scene{opacity:1;animation:none}.film-scene:not(.shot-evening){opacity:0}.film-progress i{animation:none;transform:scaleX(.4)}.film-cup,.end-light{animation:none}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.burst{display:none}}img.pixel{image-rendering:pixelated;image-rendering:crisp-edges;width:var(--pw);height:var(--ph);object-fit:fill;mix-blend-mode:normal;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;max-width:none}.welcome-stamp img.pixel{filter:drop-shadow(0 4px #e6bec8)}.cake-preview{justify-content:space-between}.cake-preview>img.pixel{filter:drop-shadow(0 6px #ead3cf);margin:auto}.gift-card img.pixel{filter:drop-shadow(0 5px #ecd8d2);margin:12px auto 10px}.gift-card .pixel{transition:transform .2s steps(2,end)}.gift-card.selected img.pixel{transform:translateY(-4px)}@media (width<=760px){.cake-preview>img.pixel{width:calc(var(--pw)*.72);height:calc(var(--ph)*.72)}.gift-card img.pixel{width:min(var(--pw),112px);height:auto;aspect-ratio:var(--ar);margin:0}}.pixel-actor-bounce{animation:.75s steps(2,end) infinite pixel-bounce;display:inline-block}@keyframes pixel-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.title-hb{color:#96364e;text-shadow:3px 3px #cfabb3;font-family:VT323,monospace}.title-ml{color:#632031;text-shadow:4px 4px #dfbcc3;font-family:VT323,monospace}.pixel-btn-3d{letter-spacing:.08em;color:#fffaf1;background:#96364e;border:3px solid #571e2c;padding:10px 32px;font-family:VT323,monospace;font-size:26px;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);box-shadow:5px 6px #571e2c}.pixel-btn-3d:hover{transform:translate(-1px,-2px);box-shadow:6px 8px #571e2c}.pixel-btn-3d:active{transform:translate(3px,4px);box-shadow:2px 2px #571e2c}.pixel-fireworks{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.firework-cluster{width:0;height:0;position:absolute}.cluster-left{top:30%;left:20%}.cluster-center{top:22%;left:50%}.cluster-right{top:32%;left:80%}.spark{opacity:0;width:7px;height:7px;animation:2.4s cubic-bezier(.15,.85,.35,1) infinite spark-burst;animation-delay:var(--delay);position:absolute;transform:translate(0)}.spark-0{background:#dfaa52;box-shadow:0 0 3px #dfaa52}.spark-1{background:#96364e;box-shadow:0 0 3px #96364e}.spark-2{background:#4d7c6f;box-shadow:0 0 3px #4d7c6f}.spark-3{background:#fffaf1;box-shadow:0 0 4px #fffaf1}@keyframes spark-burst{0%{opacity:1;transform:translate(0)scale(1)}60%{transform:translate(var(--tx), calc(var(--ty) - 15px)) scale(1.1);opacity:.9}to{transform:translate(var(--tx), calc(var(--ty) + 40px)) scale(.4);opacity:0}}@media (width<=760px){.cluster-left{left:12%}.cluster-right{left:88%}}.screen-0{color:#202622;background:#f1f0e9}.screen-0 .topbar{border-bottom:1px solid #d6d8d0;max-width:none;padding:22px clamp(22px,6vw,82px)}.screen-0 .brand{letter-spacing:.14em;color:#58625b;font:600 11px Be Vietnam Pro,sans-serif}.screen-0 .screen{align-items:center;max-width:1120px;padding:36px 56px 54px}.screen-0 .bottom-bar{display:none}.mystery-entry{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,7vw,100px);width:100%;max-width:1050px;min-height:66dvh;margin:auto;display:grid}.mystery-kicker{color:#626e66;letter-spacing:.16em;align-items:center;gap:11px;font-size:10px;font-weight:600;display:flex}.mystery-kicker i{background:#b37b42;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #b37b421f}.mystery-copy h1{color:#202622;letter-spacing:-.055em;margin:23px 0 18px;font:600 clamp(40px,5.3vw,68px)/1.08 Be Vietnam Pro,sans-serif}.mystery-description{color:#657069;max-width:440px;font-size:14px;line-height:1.9}.mystery-action{background:#344a3c;border-color:#26372d;margin-top:28px;box-shadow:4px 4px #b3b9af}.mystery-index{color:#778078;letter-spacing:.14em;border-top:1px solid #d1d4cb;justify-content:space-between;max-width:440px;margin-top:46px;padding-top:14px;font-size:9px;display:flex}.mystery-index span{color:#3f5947}.mystery-art{aspect-ratio:1;isolation:isolate;place-items:center;width:100%;max-width:390px;margin:auto;display:grid;position:relative}.mystery-art:before{content:"";z-index:-2;background:radial-gradient(circle,#dfe4da 0,#e9ebe3 58%,#f1f0e9 74%);border-radius:50%;position:absolute;inset:12%}.mystery-art:after{content:"";z-index:-1;border:1px solid #c9cec3;border-radius:50%;position:absolute;inset:4%}.mystery-orbit{border:1px solid #aeb9ac;border-radius:50%;position:absolute;transform:rotate(-28deg)}.orbit-outer{border-style:dashed;animation:24s linear infinite orbit-drift;inset:9% 19%}.orbit-inner{border-color:#d0b18b;inset:25% 7%;transform:rotate(38deg)}.mystery-core{aspect-ratio:1;color:#3e5b46;background:#fbfbf7;border:1px solid #bec8bb;border-radius:50%;place-items:center;width:clamp(118px,18vw,174px);font:clamp(64px,9vw,100px)/1 VT323,monospace;display:grid;box-shadow:0 18px 55px #344a3c1c}.mystery-coord{color:#68756a;letter-spacing:.12em;font:10px VT323,monospace;position:absolute}.coord-a{top:20%;right:2%}.coord-b{bottom:19%;left:5%}.reward-reading{width:100%;max-width:820px;margin:0 auto;padding:4px 0 35px}.reward-progress{color:#98a096;letter-spacing:.06em;border-bottom:1px solid #d5d8d0;justify-content:center;align-items:center;gap:clamp(10px,3vw,28px);padding:10px 0;font:16px VT323,monospace;display:flex}.reward-progress .current{color:#36513e}.reward-progress i{letter-spacing:.1em;margin-left:5px;font:600 9px Be Vietnam Pro,sans-serif}.reward-progress b{color:#b0b5ac;font:12px Be Vietnam Pro,sans-serif}.reward-intro{max-width:690px;margin:42px auto 34px}.reward-eyebrow{color:#946c3d;letter-spacing:.15em;font-size:10px;font-weight:700}.reward-intro h1{color:#202622;letter-spacing:-.05em;margin:14px 0 15px;font:600 clamp(37px,4.7vw,56px)/1.12 Be Vietnam Pro,sans-serif}.reward-intro>p:last-child{color:#657069;max-width:600px;font-size:13px;line-height:1.8}.reward-story{background:#fafaf6;border:1px solid #daddd4;max-width:690px;margin:0 auto;padding:clamp(22px,4vw,42px)}.story-meta{color:#727d73;letter-spacing:.12em;border-bottom:1px solid #dfe2db;justify-content:space-between;gap:15px;padding-bottom:13px;font-size:9px;display:flex}.story-brand{color:#47624d;letter-spacing:.15em;margin-top:24px;font-size:10px;font-weight:700}.story-brand i{color:#b77c42;padding:0 4px;font-style:normal}.reward-story h2{color:#262f29;letter-spacing:-.035em;margin:12px 0 18px;font:600 clamp(25px,3vw,36px)/1.25 Be Vietnam Pro,sans-serif}.reward-story>p:not(.story-brand){color:#5e685f;margin:13px 0;font-size:13px;line-height:1.95}.reward-story blockquote{color:#4d5a50;border-left:2px solid #b78c57;margin:24px 0;padding:4px 0 4px 17px;font-size:14px;line-height:1.85}.story-signoff{color:#526151;letter-spacing:.12em;border-top:1px solid #dfe2db;justify-content:space-between;gap:12px;margin-top:24px;padding-top:15px;font-size:9px;display:flex}.story-signoff span:first-child{font-weight:700}.reading-end-marker{height:3px}.reading-actions{grid-template-columns:1fr auto;align-items:center;gap:7px 18px;max-width:690px;margin:18px auto 0;display:grid}.reading-actions>p{color:#6d786e;font-size:11px}.reading-action{white-space:nowrap;background:#344a3c;border-color:#26372d;grid-row:span 2;box-shadow:4px 4px #b3b9af}.reading-back{color:#69746c;background:0 0;border:0;justify-self:start;padding:3px 0;font-size:11px}.screen-0 .film-ad{padding-top:10px}.screen-0 .film-meta{color:#303a33}.screen-0 .film-footer{color:#59665b}@keyframes orbit-drift{to{transform:rotate(332deg)}}@media (width<=760px){.screen-0 .topbar{padding:17px 20px}.screen-0 .brand{font-size:10px}.screen-0 .screen{padding:20px 22px 30px}.mystery-entry{grid-template-columns:1fr;gap:20px;min-height:auto;padding:10px 0 30px}.mystery-art{order:-1;max-width:210px}.mystery-coord{font-size:8px}.mystery-copy h1{margin:13px 0;font-size:clamp(39px,11vw,54px)}.mystery-description{font-size:13px}.mystery-action{justify-content:space-between;width:100%;margin-top:22px}.mystery-index{margin-top:27px}.reward-progress{gap:9px;font-size:14px}.reward-progress i{font-size:8px}.reward-intro{margin:28px auto 22px}.reward-intro h1{font-size:clamp(34px,9vw,46px)}.reward-story{padding:20px 18px}.story-meta{font-size:8px}.reward-story>p:not(.story-brand){font-size:12px}.reward-story blockquote{font-size:13px}.story-signoff{font-size:8px}.reading-actions{grid-template-columns:1fr;gap:10px}.reading-action{grid-row:auto;justify-content:space-between;width:100%}.reading-actions>p{font-size:10px}.reading-back{margin-top:3px}}.mystery-core{font:300 clamp(64px,9vw,100px)/1 Be Vietnam Pro,sans-serif}.mystery-coord{letter-spacing:.12em;font:500 8px Be Vietnam Pro,sans-serif}.reward-progress{letter-spacing:.08em;font:500 9px Be Vietnam Pro,sans-serif}.film-ad .film-cup{letter-spacing:.04em;font:600 clamp(13px,2vw,22px)/1.1 Be Vietnam Pro,sans-serif}.film-ad .brand-lockup{letter-spacing:-.045em;font:600 clamp(43px,7vw,88px)/.95 Be Vietnam Pro,sans-serif}.film-ad .brand-lockup span{letter-spacing:.18em;font:500 9px Be Vietnam Pro,sans-serif}.speech p{animation:.18s steps(3,end) both dialogue-pop}.dialogue-next,.dialogue-choice{font:inherit;cursor:pointer;color:#7d3048}.dialogue-next{text-align:left;background:0 0;border:0;margin-top:12px;padding:5px 0;font-size:11px;font-weight:700;display:block}.dialogue-next span{margin-left:5px;transition:transform .15s steps(2,end);display:inline-block}.dialogue-next:hover span{transform:translate(4px)}.dialogue-choices{gap:6px;margin-top:11px;display:grid}.dialogue-choice{text-align:left;background:#fff9f7;border:1px solid #ba8997;padding:8px 9px;font-size:10px;box-shadow:2px 2px #e6bec8}.dialogue-choice:hover,.dialogue-choice:focus-visible{background:#f8e8e9;transform:translate(-1px,-1px)}@keyframes dialogue-pop{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.flashbang-transition{z-index:120;pointer-events:none;isolation:isolate;background:0 0;position:fixed;inset:0;overflow:hidden}.flashbang-wash,.flashbang-burn{opacity:0;position:absolute;inset:0}.flashbang-wash{background:#fffdf8}.flashbang-bloom{aspect-ratio:1;filter:blur(7px);opacity:0;background:radial-gradient(circle,#fff 0 5%,#fff9e9 12%,#ffe9cf42 25%,#0000 65%);border-radius:50%;width:min(145vmax,1600px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)scale(.06)}.flashbang-burn{mix-blend-mode:screen;background:radial-gradient(at 50% 44%,#fff 0%,#fffdf8 35%,#f8f5f3 73%,#d9deeb 100%)}.flashbang-detonating .flashbang-wash{animation:.14s ease-out both flashbang-pop}.flashbang-detonating .flashbang-bloom{animation:.2s cubic-bezier(.12,.8,.2,1) both flashbang-bloom}.flashbang-detonating .flashbang-burn{animation:.14s ease-out both flashbang-hit}.flashbang-whiteout .flashbang-wash,.flashbang-whiteout .flashbang-burn{opacity:1}.flashbang-recovering{animation:3.55s linear both flashbang-vision-recovery}.flashbang-recovering .flashbang-wash{animation:3.55s linear both flashbang-reveal}.flashbang-recovering .flashbang-burn{animation:3.55s linear both flashbang-afterimage}.flashbang-recovering .flashbang-bloom{animation:2.3s ease-out both flashbang-bloom-fade}@keyframes flashbang-pop{0%{opacity:0}28%{opacity:1}to{opacity:1}}@keyframes flashbang-hit{0%{opacity:0}45%{opacity:1}to{opacity:1}}@keyframes flashbang-bloom{0%{opacity:0;transform:translate(-50%,-50%)scale(.06)}38%{opacity:.92}to{opacity:.38;transform:translate(-50%,-50%)scale(1.05)}}@keyframes flashbang-vision-recovery{0%{-webkit-backdrop-filter:blur(8px)saturate(.12)brightness(1.18);backdrop-filter:blur(8px)saturate(.12)brightness(1.18)}35%{-webkit-backdrop-filter:blur(7px)saturate(.22)brightness(1.14);backdrop-filter:blur(7px)saturate(.22)brightness(1.14)}72%{-webkit-backdrop-filter:blur(3px)saturate(.68)brightness(1.06);backdrop-filter:blur(3px)saturate(.68)brightness(1.06)}to{-webkit-backdrop-filter:blur()saturate()brightness();backdrop-filter:blur()saturate()brightness()}}@keyframes flashbang-reveal{0%{opacity:1}to{opacity:0}}@keyframes flashbang-afterimage{0%{opacity:1}to{opacity:0}}@keyframes flashbang-bloom-fade{0%{opacity:.38;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(1.1)}}@media (prefers-reduced-motion:reduce){.flashbang-transition{display:none}}.topbar>.brand{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.topbar-controls{flex:none;justify-content:flex-end;align-items:center;gap:18px;display:flex}.sound-toggle{min-height:36px;color:inherit;letter-spacing:.04em;white-space:nowrap;background:0 0;border:1px solid;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font:600 10px/1 Be Vietnam Pro,sans-serif;display:inline-flex}.sound-toggle[aria-pressed=true]{background:#ffffff1a}.sound-toggle:focus-visible{outline-offset:3px;outline:3px solid #286354}.sound-toggle-icon{font:20px/1 VT323,monospace}@media (width<=760px){.topbar{gap:10px}.topbar-controls{gap:9px}.step-count{font-size:21px}.sound-toggle{gap:5px;min-height:34px;padding:5px 7px;font-size:9px}}
