@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Variable.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--paper:#f9f7f1;--ink:#283c36;--muted:#7d8579;--sage:#527565;--coral:#ba644d;--line:#d9dcd0}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink)}body{font-family:Arial,Helvetica,sans-serif;font-size:14px}a,button,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--coral);outline-offset:5px}button{border:0;background:none}a,button{color:inherit}a{text-decoration:none}::selection{background:#e6bd9f;color:var(--ink)}.brand-dot{color:var(--coral)}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:background .2s}.icon-button:hover{background:#eeeee3}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600}.forest-art{position:absolute;inset:0;background:url(/images/forest.webp) 50%/100% 100% no-repeat}.world-paper-grain{inset:0;background:#efe7cb08}.world-object,.world-paper-grain{position:absolute;pointer-events:none}.world-object{transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column}.fish-object{color:#c19349;filter:drop-shadow(0 0 8px #f9dd9659);animation:fishbob 3s ease-in-out infinite}.fish-object:nth-child(odd){animation-delay:-1.5s}.fish-spark{position:absolute;font-size:19px;right:-7px;top:-12px;color:#cdaf74}.hazard-art{font-size:43px;line-height:1.2;filter:drop-shadow(0 2px 2px #1b2d2233)}.object-label{margin-top:3px;font-size:10px;background:#faf7ec;color:#425046;white-space:nowrap;padding:3px 7px;border:1px solid #c3c8b4;border-radius:4px;transform:rotate(-3deg)}.f88-card{display:flex;flex-direction:column;align-items:center;font-family:Georgia,serif;font-size:26px;line-height:1.2;font-weight:700;background:#f6e5a9;color:#63783e;padding:7px 12px;border:1.5px solid #63783e;border-radius:6px 2px;transform:rotate(5deg)}.f88-card>span{font:9px Arial,sans-serif;margin-top:2px}.video-card{display:flex;align-items:center;justify-content:center;width:53px;height:38px;background:#d98a74;color:#fff4e9;border:2px solid #663e32;border-radius:6px 2px;transform:rotate(-6deg);position:relative;font-size:22px}.video-card small{position:absolute;bottom:-7px;right:-5px;font-size:9px;background:#f1e8d3;color:#633c32;border:1px solid #633c32;padding:1px 4px;line-height:1.3}.smell-art{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#687a42;font-size:52px;line-height:.9}.smell-art small{font-size:11px;background:#e6e9c9;border:1px solid #727c50;padding:4px 8px;border-radius:50%}.chest-object{filter:drop-shadow(0 0 10px #dfb95133)}.chest-ready{animation:chestglow 2s infinite}.player{width:82px;height:92px;z-index:4}.player img{position:relative;width:110%;height:110%;object-fit:contain;filter:drop-shadow(0 3px 2px #16281e44)}.lantern-halo{position:absolute;inset:10px -10px;border-radius:50%;background:#f2d9a035;filter:blur(17px)}.is-hurt{animation:hurt .15s 10 alternate}.spotlight{inset:0;z-index:5}.destination,.spotlight{position:absolute;pointer-events:none}.destination{transform:translate(-50%,-50%);color:#f0d69a88;font-size:23px;z-index:6}h1,h2,p{margin:0}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:#fbf7eb;padding:17px 24px;border-radius:4px 11px 5px 9px;box-shadow:2px 3px 0 #b8c1ad;transition:transform .2s,background .2s}.primary-button:hover{background:#426453;transform:translateY(-2px)}.primary-button>span:last-child{margin-left:16px;font-size:20px}.game-hud{position:absolute;top:18px;left:20px;right:20px;display:flex;align-items:center;gap:16px;z-index:15;pointer-events:none;color:#f9f0d8}.fish-inventory,.lives{display:flex;align-items:center;gap:12px;background:#172b25de;border:1px solid #738c6a66;backdrop-filter:blur(10px);padding:11px 15px;border-radius:10px 3px;pointer-events:auto}.hud-label{font-size:8px;letter-spacing:1.5px;opacity:.65}.hearts{display:flex;gap:6px;color:#d9997b;font-size:21px;line-height:1}.heart-empty{opacity:.22}.fish-inventory{color:#e9c791}.fish-inventory strong{font-size:13px;white-space:nowrap;font-weight:400;font-variant-numeric:tabular-nums}.is-ready{border-color:#d8bf75}.restart-button{margin-left:auto;pointer-events:auto;border:1px solid #738c6a66;background:#172b25de;border-radius:7px;color:#e8ead7;display:flex;gap:7px;align-items:center;padding:11px 13px;font-size:12px}.restart-button:hover{background:#324f3f}.game-status{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#172b25e6;border:1px solid #738c6a66;color:#e5ead6;border-radius:10px 3px;z-index:10;padding:13px 20px;display:flex;gap:10px;align-items:center;font-size:12px;max-width:85%;text-align:center;pointer-events:none}.status-star{color:#e4bb76}.game-status small{font-size:9px;color:#b7c4a5}.reaction{position:absolute;z-index:22;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-4deg);background:#faf5e6;box-shadow:5px 8px 0 #0002;border:2px solid #394b3c;border-radius:6px 14px 3px 10px;padding:17px;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;animation:popin .2s ease-out}.reaction img{width:175px;height:175px;object-fit:cover;border:1px solid #394b3c;border-radius:4px}.reaction strong{font-size:14px}.reaction>span{font-size:11px;color:#86634a}.hurt-face{font-size:55px!important;color:#b5654d!important;padding:20px}.modal-backdrop{position:absolute;inset:0;z-index:30;background:#152a24a8;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px}.paper-modal{background:var(--paper);padding:36px;text-align:center;border:1px solid #b5bfa8;border-radius:18px 5px 20px 6px;max-width:420px;position:relative;box-shadow:7px 8px 0 #0002}.paper-modal svg{display:block;margin:18px auto}.paper-modal h2{font:32px Georgia,serif;letter-spacing:-1px;margin:15px 0}.paper-modal p{font-size:13px;color:var(--muted);line-height:1.8}.paper-modal .primary-button{margin:23px auto 0}.handwritten{font-family:Georgia,serif;font-style:italic;color:var(--sage);font-size:16px}.close-button{position:absolute;top:10px;right:13px;font-size:25px}.help-modal{text-align:left}.help-modal ul{list-style:none;padding:0;margin:15px 0;font-size:12px;line-height:2.2}.help-modal .primary-button{margin-left:0}.reel-page{min-height:100svh;background:var(--paper);overflow:hidden;padding:44px 0 30px}.reel-topline{display:flex;justify-content:center;align-items:center;gap:22px;color:#72806d}.small-star{font-size:18px;color:var(--coral)}.reel-heading{text-align:center;margin:36px 20px 40px}.reel-heading .handwritten{font-size:15px}.reel-heading h1{font:clamp(34px,4vw,58px)/1.2 Georgia,serif;letter-spacing:-1.5px;margin:18px 0}.reel-heading h1 em{color:var(--sage)}.reel-heading p{font-size:12px;color:var(--muted);line-height:1.7}.film-reveal{width:100%;overflow:hidden;animation:reveal 1.6s cubic-bezier(.16,1,.3,1) both;padding:12px 0;position:relative}.filmstrip{display:flex;width:max-content;will-change:transform;background:#252c25;padding:34px 0;position:relative;gap:10px;box-shadow:0 12px 25px #2537281a}.filmstrip:after,.filmstrip:before{content:"";position:absolute;left:0;right:0;height:13px;background:repeating-linear-gradient(90deg,transparent,transparent 10px,#faf7eb 0,#faf7eb 19px,transparent 0,transparent 29px);mask-image:linear-gradient(0deg,transparent,black 2px,black 11px,transparent 13px);pointer-events:none}.filmstrip:before{top:10px}.filmstrip:after{bottom:10px}.film-frame{width:clamp(270px,31vw,460px);flex:none;border-left:4px solid #141c14;border-right:4px solid #141c14;background:#fbf9f1;position:relative;overflow:hidden}.film-number{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;justify-content:space-between;background:#252c25;color:#b4b6a0;padding:4px 9px;font-size:7px;letter-spacing:1px}.memory-picture{width:100%;aspect-ratio:1.5;background-repeat:no-repeat;border-bottom:1px solid #e2e3d6;margin-top:19px}.film-caption{position:relative;padding:22px 25px 25px;min-height:117px}.film-caption>span{position:absolute;top:22px;right:22px;font-size:10px;color:#afad99}.film-caption h2{font:22px Georgia,serif;letter-spacing:-.5px;margin-bottom:9px;padding-right:22px}.film-caption p{font-size:10px;line-height:1.7;color:#828673;max-width:95%}.reel-player{max-width:640px;margin:34px auto 0;display:flex;gap:17px;align-items:center;padding:18px 24px;border:1px solid var(--line);border-radius:4px 14px 5px 12px;background:#eeeee343}.play-button{width:39px;height:39px;flex:none;border:1px solid #83927b;border-radius:50%;font-size:15px;display:grid;place-items:center}.play-button:hover{background:#dde4d3}.song-info{display:flex;flex-direction:column;gap:6px;white-space:nowrap}.song-info strong{font-family:Georgia,serif;font-size:14px;font-weight:400}.song-info>span{font-size:7px;letter-spacing:2px;color:#8b947f}.song-timeline{flex:1;min-width:60px}.song-timeline input{width:100%;height:3px;accent-color:var(--sage);cursor:pointer;display:block;margin:8px 0}.song-timeline>div{display:flex;justify-content:space-between;font-size:8px;color:#8b947f;font-variant-numeric:tabular-nums}.reel-player .icon-button{border:0;flex:none}.audio-notice{text-align:center;color:var(--coral);font-size:12px;margin:14px 20px}.reel-ending{text-align:center;margin:27px 20px 0}.reel-ending>p{font:italic 13px/1.8 Georgia,serif;color:#919780}.reel-ending>div{display:flex;justify-content:center;gap:26px;margin-top:17px}.text-button{font-size:10px;color:#7d876e;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:var(--ink)}.is-ended>p{color:var(--sage);font-size:17px}@keyframes fishbob{0%,to{transform:translate(-50%,-50%) rotate(-5deg)}50%{transform:translate(-50%,-60%) rotate(5deg)}}@keyframes chestglow{0%,to{filter:drop-shadow(0 0 7px #efc26466)}50%{filter:drop-shadow(0 0 22px #efc264bb)}}@keyframes hurt{0%{opacity:1}to{opacity:.2}}@keyframes popin{0%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) rotate(-4deg) scale(1)}}@keyframes reveal{0%{clip-path:inset(0 100% 0 0);translate:-45px 0;opacity:0}to{clip-path:inset(0 0 0 0);translate:0 0;opacity:1}}@media (max-width:700px){.eyebrow{font-size:8px;letter-spacing:1.5px}.game-hud{top:10px;left:10px;right:10px;gap:8px}.fish-inventory,.lives{padding:7px 9px;gap:6px}.hud-label{display:none}.hearts{font-size:16px;gap:4px}.fish-inventory strong{font-size:10px}.fish-inventory svg{width:17px}.restart-button{font-size:18px;padding:6px 9px}.restart-button>span{display:none}.player{width:45px;height:50px}.fish-object svg{width:20px;height:18px}.fish-spark{font-size:11px;right:-5px;top:-6px}.hazard-art{font-size:24px}.f88-card{font-size:17px;padding:4px 6px}.f88-card>span{display:none}.video-card{width:28px;height:23px;font-size:13px;border-width:1px}.video-card small{font-size:6px;bottom:-3px;right:-3px}.smell-art{font-size:28px}.smell-art small{font-size:7px;padding:2px 5px}.object-label{font-size:6px;padding:2px 4px;margin-top:2px}.chest-object svg{width:41px;height:38px}.game-status small{display:none}.reaction{padding:12px;gap:5px;top:45%}.reaction img{width:110px;height:110px}.reaction strong{font-size:11px}.reaction>span{font-size:9px}.reaction svg{width:80px;height:65px}.hurt-face{font-size:30px!important;padding:0}.paper-modal{padding:25px 20px;max-height:90%;overflow:auto}.paper-modal h2{font-size:25px}.paper-modal p{font-size:11px}.paper-modal .handwritten{font-size:12px}.paper-modal svg{height:55px;width:70px;margin:8px auto}.paper-modal .primary-button{font-size:11px;padding:12px;margin-top:15px}.help-modal ul{font-size:10px;line-height:1.9}.help-modal{max-height:100%}.modal-backdrop:has(.help-modal){position:fixed}.reel-page{padding:30px 0}.reel-topline{gap:13px}.reel-topline .eyebrow{font-size:7px}.reel-heading{margin:25px 20px 30px}.reel-heading .handwritten{font-size:12px}.reel-heading h1{font-size:36px;letter-spacing:-1px}.reel-heading p{font-size:10px}.film-frame{width:300px}.film-caption{padding:18px 19px;min-height:105px}.film-caption h2{font-size:20px}.reel-player{margin:25px 20px 0;padding:14px 12px;gap:10px}.song-info strong{font-size:12px}.song-info>span{font-size:6px;letter-spacing:1px}.play-button{width:31px;height:31px;font-size:11px}.reel-player .icon-button{width:25px}.reel-ending>p{font-size:11px}.reel-ending>div{gap:18px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.film-reveal{clip-path:none!important}}.adventure{position:relative;width:100%;height:100dvh;min-height:0;padding:0;margin:0;overflow:hidden}.game-section,.world,.world-frame{width:100%;height:100%;margin:0;max-width:none;min-height:0}.world,.world-frame{position:relative;overflow:hidden}.world-frame{border:0;border-radius:0;box-shadow:none;background:#fbfaf6}.world{aspect-ratio:auto;user-select:none}.map-actions{display:flex;align-items:center;gap:8px;margin-left:auto;pointer-events:auto}.map-actions .restart-button{margin-left:0}.map-actions .icon-button{background:#172b25de;border-color:#738c6a66;color:#e8ead7}.map-actions .icon-button:hover{background:#324f3f}.adventure .game-hud{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}.adventure .game-status{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 28px);border-radius:10px 3px}@media (max-width:700px){.map-actions{gap:6px}.map-actions .icon-button{width:31px;height:31px}.adventure .game-hud{gap:6px}.adventure .game-status{width:max-content}}.money-modal{width:min(420px,100%)}.money-reveal{min-height:130px;display:grid;place-items:center}.countdown-number{font:80px Georgia,serif;color:#63783e;animation:popin .2s ease-out}.money-punchline{font:700 27px Georgia,serif;color:#63783e}.reaction>span{max-width:260px;text-align:center;line-height:1.6}.birthday-card-page{font-family:Montserrat,Arial,sans-serif;min-height:100svh;display:grid;place-items:center;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 55%,#fff 15%,#fcf7f2 64%,#f3e6e4)}.card-sound{position:absolute;top:24px;right:24px;z-index:5}.birthday-card-scene{width:min(1000px,92vw);aspect-ratio:1.72;perspective:1800px}.birthday-card-tilt{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s ease-out}.birthday-book{width:50%;height:100%;margin-left:50%;position:relative;transform:translateX(-50%);transform-style:preserve-3d;transition:transform 1.15s cubic-bezier(.22,.7,.18,1)}.birthday-book.is-open{transform:translateX(0)}.birthday-cover,.birthday-cover-back,.birthday-cover-front,.birthday-right-page{position:absolute;inset:0;border-radius:3px 7px 7px 3px}.birthday-cover-back,.birthday-cover-front,.birthday-right-page{background-color:#e77297;background-image:radial-gradient(circle,#fff7e899 .6px,transparent 1px),radial-gradient(circle,#c9648799 .6px,transparent 1.3px),linear-gradient(110deg,#ed7fa3,#df6b90);background-size:11px 13px,17px 19px,100% 100%;box-shadow:inset 0 0 0 1px #b2557655,inset 3px 0 10px #af416c26}.birthday-right-page{box-shadow:3px 22px 28px -15px #76434466;padding:6%}.birthday-letter{width:100%;height:100%;background:#fffbf2;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(12px,1.7vw,24px) 9%;text-align:center;gap:clamp(8px,1.4vw,20px);box-shadow:0 2px 5px #88445844,inset 0 0 30px #dfc6a818;color:#58463f;background-image:repeating-linear-gradient(0deg,#cab49308,#cab49308 1px,transparent 0,transparent 4px)}.birthday-letter h1{font:600 clamp(16px,2.7vw,30px)/1.3 Montserrat,Arial,sans-serif;margin:0;color:#694945}.birthday-letter p{margin:0}.birthday-age{font:500 clamp(11px,1.65vw,19px)/1.5 Montserrat,Arial,sans-serif;color:#ad6775}.birthday-wish{font:400 clamp(10px,1.65vw,19px)/1.7 Montserrat,Arial,sans-serif}.letter-star{color:#c9a56e;font-size:clamp(16px,2vw,28px)}.letter-heart{color:#bc7682;font-size:clamp(18px,2.15vw,31px)}.birthday-cover{transform-origin:left center;transform-style:preserve-3d;transform:rotateY(0deg);transition:transform 1.15s cubic-bezier(.22,.7,.18,1)}.is-open .birthday-cover{transform:rotateY(-176deg)}.birthday-cover-back,.birthday-cover-front{backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.birthday-cover-front{transform:translateZ(2px);box-shadow:4px 22px 30px -12px #75414466,inset 0 0 0 1px #c7628355}.birthday-cover-front:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 15%,#fff3 45%,transparent 75%);background-position:var(--shine-x,50%) center;background-size:180% 100%;mix-blend-mode:soft-light}.birthday-cover-back{transform:rotateY(180deg) translateZ(1px);box-shadow:-5px 20px 28px -13px #75414455}.birthday-bear-art{width:100%;height:100%;display:block}.card-dedication{position:absolute;top:8%;left:0;width:100%;text-align:center;font:500 20px Montserrat,Arial,sans-serif;color:#fff6e7;letter-spacing:2px}@media (max-width:600px){.birthday-card-scene{width:94vw;aspect-ratio:1.14}.birthday-letter{padding:12px 7%;gap:7px}.birthday-letter h1{font-size:clamp(14px,4.3vw,22px)}.birthday-age{font-size:11px}.birthday-wish{font-size:clamp(10px,3vw,15px);line-height:1.6}.letter-star{font-size:17px}.letter-heart{font-size:23px}.card-dedication{font-size:14px}.card-sound{top:16px;right:16px}}@media (prefers-reduced-motion:reduce){.birthday-card-tilt{transform:none;transition:none}.birthday-book,.birthday-cover{transition-duration:.01s}}.bridge-lock{pointer-events:auto;padding:7px;filter:drop-shadow(0 2px 4px #313d3155)}.bridge-lock:hover{filter:drop-shadow(0 0 8px #f6d385aa)}.bridge-lock:disabled{cursor:default}.bridge-quiz{font-family:Montserrat,Arial,sans-serif;width:min(460px,100%)}.bridge-quiz h2{font:600 22px/1.4 Montserrat,Arial,sans-serif;letter-spacing:0}.bridge-quiz h3{margin:22px 0;font-size:17px;line-height:1.5}.bridge-answers{display:flex;gap:12px;justify-content:center}.quiz-answer{flex:1;padding:13px 18px;border:1px solid #b7c4ac;border-radius:9px 4px;background:#eef0e5;font-size:15px;font-weight:500}.quiz-answer:hover{background:#dce5d0}.bridge-quiz>.text-button{display:block;margin:16px auto 0}@media (max-width:600px){.bridge-quiz{padding:24px}.bridge-quiz h2{font-size:19px}.bridge-quiz h3{font-size:15px}.quiz-answer{padding:12px;font-size:14px}}.welcome-intro{min-height:100svh;display:grid;place-items:center;background:#faf7f1;opacity:1;transition:opacity .9s ease}.welcome-intro img{width:min(76vw,410px);height:auto;border-radius:18px 5px;box-shadow:0 20px 50px #51463620;animation:hello-arrive .7s ease-out both}.welcome-intro.is-leaving{opacity:0}.toothless-object{width:82px;height:82px;animation:dancer-arrive .25s ease-out}.toothless-object img{width:100%;height:100%;object-fit:contain}.reaction-toothless img{width:150px;height:200px;object-fit:contain}.reaction-hurt img{width:180px;height:160px;object-fit:contain}.treasure-reveal{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;background:#06070d}.treasure-photo{position:relative;z-index:2;width:min(82vw,700px);height:auto;border-radius:6px;animation:treasure-light 3.2s ease-in-out both;box-shadow:0 0 80px #f8cf5460}.warp-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.reveal-treasure .warp-video{visibility:hidden}.card-arrival-flash,.reveal-flash{position:absolute;inset:0;z-index:6;pointer-events:none;background:#fff;animation:flash-away .9s ease-out both}.reveal-flash.is-final{animation:flash-fill .7s ease-in both}.card-arrival-flash{z-index:4}.birthday-card-scene{animation:card-arrive 1.2s ease-out both}.birthday-cover[role=button]{cursor:pointer}.birthday-cover[role=button]:focus-visible{outline:3px solid #a85d71;outline-offset:6px}.reveal-sound{right:24px;top:24px;color:#eee;border-color:#ffffff55}.reveal-sound,.warp-play{position:absolute;z-index:7}.warp-play{padding:15px 24px;color:#fff;background:#25374ddd;border:1px solid #8b9bba;border-radius:8px}@keyframes hello-arrive{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:none}}@keyframes dancer-arrive{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}@keyframes treasure-light{0%{opacity:0;transform:scale(.9);filter:brightness(.7)}20%,65%{opacity:1;filter:brightness(1.1)}to{opacity:0;transform:scale(1.07);filter:brightness(2)}}@keyframes flash-away{0%,12%{opacity:1}to{opacity:0}}@keyframes flash-fill{0%{opacity:0}65%,to{opacity:1}}@keyframes card-arrive{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.birthday-card-scene,.toothless-object,.welcome-intro img{animation:none}.treasure-photo{animation-name:treasure-fade}.card-arrival-flash,.reveal-flash{animation-duration:1s;background:#faf7f1}}@keyframes treasure-fade{0%,to{opacity:0}20%,65%{opacity:1}}.reaction-bear img,.reaction-hurt img{width:210px;height:180px;object-fit:contain}.money-reveal img,.paper-modal>img{display:block;max-width:100%;object-fit:contain;margin:16px auto}.primary-button:disabled{opacity:.55;cursor:wait}.welcome-start{padding:0;border:0;background:none;cursor:pointer;border-radius:18px 5px}.welcome-start:focus-visible{outline:3px solid #a85d71;outline-offset:6px}.welcome-start:disabled{cursor:default}.card-close{position:absolute;right:24px;bottom:24px;z-index:5;padding:13px 22px;font-family:Montserrat,Arial,sans-serif}@media (max-width:600px){.card-close{right:16px;bottom:20px}}.reaction-bear{pointer-events:auto}